зеркало из https://github.com/mozilla/gecko-dev.git
merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JHQqk6AeBy4
This commit is contained in:
Коммит
995c3fbe93
|
@ -61,36 +61,8 @@ FormAutofillHandler.prototype = {
|
|||
* Set fieldDetails from the form about fields that can be autofilled.
|
||||
*/
|
||||
collectFormFields() {
|
||||
this.fieldDetails = [];
|
||||
|
||||
for (let element of this.form.elements) {
|
||||
// Exclude elements to which no autocomplete field has been assigned.
|
||||
let info = FormAutofillHeuristics.getInfo(element);
|
||||
if (!info) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Store the association between the field metadata and the element.
|
||||
if (this.fieldDetails.some(f => f.section == info.section &&
|
||||
f.addressType == info.addressType &&
|
||||
f.contactType == info.contactType &&
|
||||
f.fieldName == info.fieldName)) {
|
||||
// A field with the same identifier already exists.
|
||||
log.debug("Not collecting a field matching another with the same info:", info);
|
||||
continue;
|
||||
}
|
||||
|
||||
let formatWithElement = {
|
||||
section: info.section,
|
||||
addressType: info.addressType,
|
||||
contactType: info.contactType,
|
||||
fieldName: info.fieldName,
|
||||
elementWeakRef: Cu.getWeakReference(element),
|
||||
};
|
||||
|
||||
this.fieldDetails.push(formatWithElement);
|
||||
}
|
||||
|
||||
let fieldDetails = FormAutofillHeuristics.getFormInfo(this.form);
|
||||
this.fieldDetails = fieldDetails ? fieldDetails : [];
|
||||
log.debug("Collected details on", this.fieldDetails.length, "fields");
|
||||
},
|
||||
|
||||
|
|
|
@ -12,6 +12,11 @@ this.EXPORTED_SYMBOLS = ["FormAutofillHeuristics"];
|
|||
|
||||
const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
|
||||
|
||||
Cu.import("resource://formautofill/FormAutofillUtils.jsm");
|
||||
|
||||
this.log = null;
|
||||
FormAutofillUtils.defineLazyLogGetter(this, this.EXPORTED_SYMBOLS[0]);
|
||||
|
||||
/**
|
||||
* Returns the autocomplete information of fields according to heuristics.
|
||||
*/
|
||||
|
@ -34,6 +39,39 @@ this.FormAutofillHeuristics = {
|
|||
"email",
|
||||
],
|
||||
|
||||
getFormInfo(form) {
|
||||
let fieldDetails = [];
|
||||
for (let element of form.elements) {
|
||||
// Exclude elements to which no autocomplete field has been assigned.
|
||||
let info = this.getInfo(element);
|
||||
if (!info) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Store the association between the field metadata and the element.
|
||||
if (fieldDetails.some(f => f.section == info.section &&
|
||||
f.addressType == info.addressType &&
|
||||
f.contactType == info.contactType &&
|
||||
f.fieldName == info.fieldName)) {
|
||||
// A field with the same identifier already exists.
|
||||
log.debug("Not collecting a field matching another with the same info:", info);
|
||||
continue;
|
||||
}
|
||||
|
||||
let formatWithElement = {
|
||||
section: info.section,
|
||||
addressType: info.addressType,
|
||||
contactType: info.contactType,
|
||||
fieldName: info.fieldName,
|
||||
elementWeakRef: Cu.getWeakReference(element),
|
||||
};
|
||||
|
||||
fieldDetails.push(formatWithElement);
|
||||
}
|
||||
|
||||
return fieldDetails;
|
||||
},
|
||||
|
||||
getInfo(element) {
|
||||
if (!(element instanceof Ci.nsIDOMHTMLInputElement)) {
|
||||
return null;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Form Autofill Demo Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Form Autofill Demo Page</h1>
|
||||
<form id="form">
|
||||
<p><label>organization: <input type="text" id="organization" name="organization" autocomplete="organization" /></label></p>
|
||||
<p><label>streetAddress: <input type="text" id="street-address" name="street-address" autocomplete="street-address" /></label></p>
|
||||
<p><label>addressLevel2: <input type="text" id="address-level2" name="address-level2" autocomplete="address-level2" /></label></p>
|
||||
<p><label>addressLevel1: <input type="text" id="address-level1" name="address-level1" autocomplete="address-level1" /></label></p>
|
||||
<p><label>postalCode: <input type="text" id="postal-code" name="postal-code" autocomplete="postal-code" /></label></p>
|
||||
<p><label>country: <input type="text" id="country" name="country" autocomplete="country" /></label></p>
|
||||
<p><label>tel: <input type="text" id="tel" name="tel" autocomplete="tel" /></label></p>
|
||||
<p><label>email: <input type="text" id="email" name="email" autocomplete="email" /></label></p>
|
||||
<p><input type="submit" /></p>
|
||||
<p><button type="reset">Reset</button></p>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
283
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/Checkout_Payment.html
поставляемый
Normal file
283
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/Checkout_Payment.html
поставляемый
Normal file
|
@ -0,0 +1,283 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Checkout – Best Buy</title>
|
||||
</head>
|
||||
<body>
|
||||
<form name="frmSearch" action="https://www.bestbuy.com/site/searchpage.jsp" method="GET">
|
||||
<input type="text" value="" name="st" maxlength="90" placeholder="Search Best Buy" id="gh-search-input" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
|
||||
<input type="hidden" value="UTF-8" name="_dyncharset">
|
||||
<input type="hidden" value="pcat17071" name="id">
|
||||
<input type="hidden" value="page" name="type">
|
||||
<input type="hidden" value="Global" name="sc">
|
||||
<input type="hidden" value="1" name="cp">
|
||||
<input type="hidden" value="" name="nrp">
|
||||
<input type="hidden" value="" name="sp">
|
||||
<input type="hidden" value="" name="qp">
|
||||
<input type="hidden" value="n" name="list">
|
||||
<input type="hidden" value="true" name="af">
|
||||
<input type="hidden" value="y" name="iht">
|
||||
<input type="hidden" value="All Categories" name="usc">
|
||||
<input type="hidden" value="960" name="ks">
|
||||
<input type="hidden" id="keys" value="keys" name="keys">
|
||||
</form>
|
||||
<form action="https://www-ssl.bestbuy.com/site/olspage.jsp?id=pcat17009&type=page&fastTrack=true" id="footer-email-form">
|
||||
<label for="footerEmailSignup">GET THE LATEST DEALS & MORE</label>
|
||||
<input type="text" id="footerEmailSignup" name="email" placeholder="Enter E-Mail Address">
|
||||
<input type="submit" value="Sign Up"
|
||||
title="Sign Up">
|
||||
</form>
|
||||
<form action="javascript://">
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.firstName">
|
||||
<span>
|
||||
<p>First Name</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.firstName" name="firstName" maxlength="29" value="Tester">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.lastName">
|
||||
<span>
|
||||
<p>Last Name</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.lastName" name="lastName" maxlength="30" value="Mo">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.street">
|
||||
<span>
|
||||
<p>Address</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.street" name="street" maxlength="35" value="331 E EVELYN AVE">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label id="fulfillment.fulfillmentGroups.0.fulfillment.address.city" for="fulfillment.fulfillmentGroups.0.fulfillment.address.city">
|
||||
<span>
|
||||
<p>City</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.city" name="city" maxlength="30" value="MOUNTAIN VIEW">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.state">
|
||||
<span>
|
||||
<p>State</p>
|
||||
</span>
|
||||
<div>
|
||||
<select id="fulfillment.fulfillmentGroups.0.fulfillment.address.state" name="state">
|
||||
<option value="">Select a state</option>
|
||||
<option value="AL">AL - Alabama</option>
|
||||
<option value="AK">AK - Alaska</option>
|
||||
<option value="AP">AP - Armed Forces Pacific</option>
|
||||
<option value="AE">AE - Armed Force Europe</option>
|
||||
<option value="AA">AA - Armed Forces America</option>
|
||||
<option value="AZ">AZ - Arizona</option>
|
||||
<option value="AR">AR - Arkansas</option>
|
||||
<option value="CA">CA - California</option>
|
||||
<option value="CO">CO - Colorado</option>
|
||||
<option value="CT">CT - Connecticut</option>
|
||||
<option value="DC">DC - Washington D.C.</option>
|
||||
<option value="DE">DE - Delaware</option>
|
||||
<option value="FL">FL - Florida</option>
|
||||
<option value="GA">GA - Georgia</option>
|
||||
<option value="GU">GU - Guam</option>
|
||||
<option value="HI">HI - Hawaii</option>
|
||||
<option value="ID">ID - Idaho</option>
|
||||
<option value="IL">IL - Illinois</option>
|
||||
<option value="IN">IN - Indiana</option>
|
||||
<option value="IA">IA - Iowa</option>
|
||||
<option value="KS">KS - Kansas</option>
|
||||
<option value="KY">KY - Kentucky</option>
|
||||
<option value="LA">LA - Louisiana</option>
|
||||
<option value="ME">ME - Maine</option>
|
||||
<option value="MD">MD - Maryland</option>
|
||||
<option value="MA">MA - Massachusetts</option>
|
||||
<option value="MI">MI - Michigan</option>
|
||||
<option value="MN">MN - Minnesota</option>
|
||||
<option value="MS">MS - Mississippi</option>
|
||||
<option value="MO">MO - Missouri</option>
|
||||
<option value="MT">MT - Montana</option>
|
||||
<option value="NE">NE - Nebraska</option>
|
||||
<option value="NV">NV - Nevada</option>
|
||||
<option value="NH">NH - New Hampshire</option>
|
||||
<option value="NJ">NJ - New Jersey</option>
|
||||
<option value="NM">NM - New Mexico</option>
|
||||
<option value="NY">NY - New York</option>
|
||||
<option value="NC">NC - North Carolina</option>
|
||||
<option value="ND">ND - North Dakota</option>
|
||||
<option value="OH">OH - Ohio</option>
|
||||
<option value="OK">OK - Oklahoma</option>
|
||||
<option value="OR">OR - Oregon</option>
|
||||
<option value="PA">PA - Pennsylvania</option>
|
||||
<option value="RI">RI - Rhode Island</option>
|
||||
<option value="SC">SC - South Carolina</option>
|
||||
<option value="SD">SD - South Dakota</option>
|
||||
<option value="TN">TN - Tennessee</option>
|
||||
<option value="TX">TX - Texas</option>
|
||||
<option value="UT">UT - Utah</option>
|
||||
<option value="VT">VT - Vermont</option>
|
||||
<option value="VA">VA - Virginia</option>
|
||||
<option value="VI">VI - Virgin Islands</option>
|
||||
<option value="WA">WA - Washington</option>
|
||||
<option value="WV">WV - West Virginia</option>
|
||||
<option value="WI">WI - Wisconsin</option>
|
||||
<option value="WY">WY - Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.zipcode">
|
||||
<span>
|
||||
<p>ZIP Code</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="tel" id="fulfillment.fulfillmentGroups.0.fulfillment.address.zipcode" name="zipcode" maxlength="5" value="94041">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<div role="search">
|
||||
<div id="app">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<section>
|
||||
<div>
|
||||
<div>
|
||||
<section>
|
||||
<section>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="ispu-fulfillmentci779178028329">
|
||||
<div>
|
||||
<input type="radio" id="ispu-fulfillmentci779178028329" name="fulfillment-options-list__radio_0" value="on">
|
||||
<i>
|
||||
</i>
|
||||
</div>
|
||||
<strong>
|
||||
<span>Tomorrow</span>
|
||||
<span>
|
||||
<p> at a Best Buy store</p>
|
||||
</span>
|
||||
</strong>
|
||||
<div>
|
||||
<span>
|
||||
<p>Store pick ups are usually ready within one hour and held for up to 8 days</p>
|
||||
</span>
|
||||
</div>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="0losTwo Day">
|
||||
<div>
|
||||
<input type="radio" id="0losTwo Day" name="fulfillment-options-list__radio_0" value="on">
|
||||
<i>
|
||||
</i>
|
||||
</div>
|
||||
<strong>
|
||||
<span>Wed, Mar 22</span>
|
||||
</strong>- Two Day Shipping
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="0losOne Day">
|
||||
<div>
|
||||
<input type="radio" id="0losOne Day" name="fulfillment-options-list__radio_0" value="on">
|
||||
<i>
|
||||
</i>
|
||||
</div>
|
||||
<strong>
|
||||
<span>Tue, Mar 21</span>
|
||||
</strong>- One Day Shipping
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="0losSame Day">
|
||||
<div>
|
||||
<input type="radio" id="0losSame Day" name="fulfillment-options-list__radio_0" value="on">
|
||||
<i>
|
||||
</i>
|
||||
</div>
|
||||
<strong>
|
||||
<span>Tomorrow</span>
|
||||
</strong>- Same Day Shipping
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<label for="save-for-billing-address-0">
|
||||
<div>
|
||||
<input type="checkbox" id="save-for-billing-address-0" value="on">
|
||||
<i>
|
||||
</i>
|
||||
</div>
|
||||
<span>
|
||||
<p>Save this as my billing address</p>
|
||||
</span>
|
||||
</label>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div>
|
||||
<section>
|
||||
<div>
|
||||
<label for="user.emailAddress">
|
||||
<span>
|
||||
<p>E-mail Address</p>
|
||||
</span>
|
||||
<div>
|
||||
<input id="user.emailAddress" name="emailAddress" value="formautofilltester@dummy.com">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="user.phone">
|
||||
<span>
|
||||
<p>Phone Number</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="tel" id="user.phone" name="phone" maxlength="12" value="732 222 3232">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="text-updates">
|
||||
<div>
|
||||
<input type="checkbox" id="text-updates" value="on">
|
||||
</div>
|
||||
<span>
|
||||
<p>Send me text notifications for my order</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
326
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/Checkout_ShippingAddress.html
поставляемый
Normal file
326
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/Checkout_ShippingAddress.html
поставляемый
Normal file
|
@ -0,0 +1,326 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Checkout – Best Buy</title>
|
||||
</head>
|
||||
<body>
|
||||
<form name="frmSearch" action="https://www.bestbuy.com/site/searchpage.jsp" method="GET">
|
||||
<label for="gh-search-input">Search Best Buy</label>
|
||||
<input type="text" value="" name="st" maxlength="90" placeholder="Search Best Buy" id="gh-search-input" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
|
||||
<input type="hidden" value="UTF-8" name="_dyncharset" />
|
||||
<input type="hidden" value="pcat17071" name="id" />
|
||||
<input type="hidden" value="page" name="type" />
|
||||
<input type="hidden" value="Global" name="sc" />
|
||||
<input type="hidden" value="1" name="cp" />
|
||||
<input type="hidden" value="" name="nrp" />
|
||||
<input type="hidden" value="" name="sp" />
|
||||
<input type="hidden" value="" name="qp" />
|
||||
<input type="hidden" value="n" name="list" />
|
||||
<input type="hidden" value="true" name="af" />
|
||||
<input type="hidden" value="y" name="iht" />
|
||||
<input type="hidden" value="All Categories" name="usc" />
|
||||
<input type="hidden" value="960" name="ks" />
|
||||
<input type="hidden" id="keys" value="keys" name="keys" />
|
||||
</form>
|
||||
<form action="javascript://">
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.firstName">
|
||||
<span>
|
||||
<p>First Name</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.firstName" name="firstName" maxlength="29" value=""
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: First Name
|
||||
parseable name: firstName
|
||||
field signature: 1855613035
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
/>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.lastName">
|
||||
<span>
|
||||
<p>Last Name</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.lastName" name="lastName" maxlength="30" value=""
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: Last Name
|
||||
parseable name: lastName
|
||||
field signature: 4163345999
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="NAME_LAST"
|
||||
/>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.street">
|
||||
<span>
|
||||
<p>Address</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.street" name="street" maxlength="35" value=""
|
||||
title="overall type: ADDRESS_HOME_STREET_ADDRESS
|
||||
server type: ADDRESS_HOME_STREET_ADDRESS
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address
|
||||
parseable name: street
|
||||
field signature: 3370790275
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="ADDRESS_HOME_STREET_ADDRESS"
|
||||
/>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label id="fulfillment.fulfillmentGroups.0.fulfillment.address.city" for="fulfillment.fulfillmentGroups.0.fulfillment.address.city">
|
||||
<span>
|
||||
<p>City</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text" id="fulfillment.fulfillmentGroups.0.fulfillment.address.city" name="city" maxlength="30" value=""
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City
|
||||
parseable name: city
|
||||
field signature: 2098554694
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
/>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.state">
|
||||
<span>
|
||||
<p>State</p>
|
||||
</span>
|
||||
<div>
|
||||
<select id="fulfillment.fulfillmentGroups.0.fulfillment.address.state" name="state"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: ADDRESS_HOME_STATE
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State
|
||||
parseable name: state
|
||||
field signature: 1878375253
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
/>
|
||||
<option value="">Select a state</option>
|
||||
<option value="AL">AL - Alabama</option>
|
||||
<option value="AK">AK - Alaska</option>
|
||||
<option value="AP">AP - Armed Forces Pacific</option>
|
||||
<option value="AE">AE - Armed Forces Europe</option>
|
||||
<option value="AA">AA - Armed Forces America</option>
|
||||
<option value="AZ">AZ - Arizona</option>
|
||||
<option value="AR">AR - Arkansas</option>
|
||||
<option value="CA">CA - California</option>
|
||||
<option value="CO">CO - Colorado</option>
|
||||
<option value="CT">CT - Connecticut</option>
|
||||
<option value="DC">DC - Washington D.C.</option>
|
||||
<option value="DE">DE - Delaware</option>
|
||||
<option value="FL">FL - Florida</option>
|
||||
<option value="GA">GA - Georgia</option>
|
||||
<option value="GU">GU - Guam</option>
|
||||
<option value="HI">HI - Hawaii</option>
|
||||
<option value="ID">ID - Idaho</option>
|
||||
<option value="IL">IL - Illinois</option>
|
||||
<option value="IN">IN - Indiana</option>
|
||||
<option value="IA">IA - Iowa</option>
|
||||
<option value="KS">KS - Kansas</option>
|
||||
<option value="KY">KY - Kentucky</option>
|
||||
<option value="LA">LA - Louisiana</option>
|
||||
<option value="ME">ME - Maine</option>
|
||||
<option value="MD">MD - Maryland</option>
|
||||
<option value="MA">MA - Massachusetts</option>
|
||||
<option value="MI">MI - Michigan</option>
|
||||
<option value="MN">MN - Minnesota</option>
|
||||
<option value="MS">MS - Mississippi</option>
|
||||
<option value="MO">MO - Missouri</option>
|
||||
<option value="MT">MT - Montana</option>
|
||||
<option value="NE">NE - Nebraska</option>
|
||||
<option value="NV">NV - Nevada</option>
|
||||
<option value="NH">NH - New Hampshire</option>
|
||||
<option value="NJ">NJ - New Jersey</option>
|
||||
<option value="NM">NM - New Mexico</option>
|
||||
<option value="NY">NY - New York</option>
|
||||
<option value="NC">NC - North Carolina</option>
|
||||
<option value="ND">ND - North Dakota</option>
|
||||
<option value="OH">OH - Ohio</option>
|
||||
<option value="OK">OK - Oklahoma</option>
|
||||
<option value="OR">OR - Oregon</option>
|
||||
<option value="PA">PA - Pennsylvania</option>
|
||||
<option value="RI">RI - Rhode Island</option>
|
||||
<option value="SC">SC - South Carolina</option>
|
||||
<option value="SD">SD - South Dakota</option>
|
||||
<option value="TN">TN - Tennessee</option>
|
||||
<option value="TX">TX - Texas</option>
|
||||
<option value="UT">UT - Utah</option>
|
||||
<option value="VT">VT - Vermont</option>
|
||||
<option value="VA">VA - Virginia</option>
|
||||
<option value="VI">VI - Virgin Islands</option>
|
||||
<option value="WA">WA - Washington</option>
|
||||
<option value="WV">WV - West Virginia</option>
|
||||
<option value="WI">WI - Wisconsin</option>
|
||||
<option value="WY">WY - Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="fulfillment.fulfillmentGroups.0.fulfillment.address.zipcode">
|
||||
<span>
|
||||
<p>ZIP Code</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="tel" id="fulfillment.fulfillmentGroups.0.fulfillment.address.zipcode" name="zipcode" maxlength="5" value=""
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP Code
|
||||
parseable name: zipcode
|
||||
field signature: 390262106
|
||||
form signature: 670076259790528644"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
/>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://www-ssl.bestbuy.com/site/olspage.jsp?id=pcat17009&type=page&fastTrack=true" id="footer-email-form">
|
||||
<label for="footerEmailSignup">GET THE LATEST DEALS & MORE</label>
|
||||
<input type="text" id="footerEmailSignup" name="email" placeholder="Enter E-Mail Address" />
|
||||
<input type="submit" value="Sign Up"
|
||||
title="Sign Up" />
|
||||
</form>
|
||||
<div id="checkout-container">
|
||||
<div id="app">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<section>
|
||||
<div>
|
||||
<div>
|
||||
<section>
|
||||
<section>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="ispu-fulfillmentci779178028329">
|
||||
<div>
|
||||
<input type="radio" id="ispu-fulfillmentci779178028329" name="fulfillment-options-list__radio_0" value="on" />
|
||||
</div>
|
||||
<strong>
|
||||
<span>Tomorrow</span>
|
||||
<span>
|
||||
<p> at a Best Buy store</p>
|
||||
</span>
|
||||
</strong>
|
||||
<div>
|
||||
<span>
|
||||
<p>Store pick ups are usually ready within one hour and held for up to 8 days</p>
|
||||
</span>
|
||||
</div>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="0losTwo Day">
|
||||
<div>
|
||||
<input type="radio" id="0losTwo Day" name="fulfillment-options-list__radio_0" value="on" />
|
||||
</div>
|
||||
<strong>
|
||||
<span>Wed, Mar 22</span>
|
||||
</strong> - Two Day Shipping
|
||||
<p>
|
||||
Some items may arrive slower. See
|
||||
<span>
|
||||
<span>
|
||||
<p>Order Summary</p>
|
||||
</span>
|
||||
</span> for details.
|
||||
</p>
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="0losOne Day">
|
||||
<div>
|
||||
<input type="radio" id="0losOne Day" name="fulfillment-options-list__radio_0" value="on" />
|
||||
</div>
|
||||
<strong>
|
||||
<span>Tue, Mar 21</span>
|
||||
</strong> - One Day Shipping
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<label for="save-for-billing-address-0">
|
||||
<div>
|
||||
<input type="checkbox" id="save-for-billing-address-0" value="on" />
|
||||
</div>
|
||||
<span>
|
||||
<p>Save this as my billing address</p>
|
||||
</span>
|
||||
</label>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div>
|
||||
<section>
|
||||
<div>
|
||||
<label for="user.emailAddress">
|
||||
<span>
|
||||
<p>E-mail Address</p>
|
||||
</span>
|
||||
<div>
|
||||
<input id="user.emailAddress" name="emailAddress" value="" />
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="user.phone">
|
||||
<span>
|
||||
<p>Phone Number</p>
|
||||
</span>
|
||||
<div>
|
||||
<input type="tel" id="user.phone" name="phone" maxlength="12" value="" />
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="text-updates">
|
||||
<div>
|
||||
<input type="checkbox" id="text-updates" value="on" />
|
||||
</div>
|
||||
<span>
|
||||
<p>Send me text notifications for my order</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
21
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/SignIn.html
поставляемый
Normal file
21
browser/extensions/formautofill/test/fixtures/third_party/BestBuy/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Sign In to BestBuy.com</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="https://www-ssl.bestbuy.com/" name="ciaSignOn" >
|
||||
<div>
|
||||
<label for="fld-e">E-Mail Address</label>
|
||||
<input type="email" name="email_MAGIC_HASH_1" id="fld-e" required="" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="fld-p1">Password</label>
|
||||
<div>
|
||||
<input type="password" name="password_MAGIC_HASH_2" id="fld-p1" required="" />
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="Salmon" value="MAGIC_HASH_3" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
515
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_BillingPaymentInfo.html
поставляемый
Normal file
515
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_BillingPaymentInfo.html
поставляемый
Normal file
|
@ -0,0 +1,515 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>
|
||||
Checkout
|
||||
</title>
|
||||
</head>
|
||||
<body id="MasterPageBodyTag">
|
||||
<form name="form1" method="post" action="https://www.cdw.com/shop/checkout/guest/BillingAndPayment.aspx" id="form1">
|
||||
<div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="669B25B9">
|
||||
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
<div id="newBillingAddressOptions">
|
||||
<div>
|
||||
<div>
|
||||
<input value="same" name="ctl00$ctl00$MainContentRoot$Body$addressOption" type="radio" id="sameAsShippingAddress" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Use my Shipping Address as my Billing Address
|
||||
parseable name: addressOption
|
||||
field signature: 825932642
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label id="lbl1" for="sameAsShippingAddress">Use my Shipping Address as my Billing Address</label>
|
||||
</div>
|
||||
<div id="sameShippingAddress">
|
||||
<div>
|
||||
<span id="shippingAddressFirstName">Tester</span>
|
||||
<span id="shippingAddressLastName">Mo</span>
|
||||
</div>
|
||||
<div>
|
||||
<span id="shippingCompany">Mozilla</span>
|
||||
</div>
|
||||
<div id="shippingAddressLine1">331 E. Evelyn Avenue</div>
|
||||
<div>
|
||||
<span id="shippingAddressCity">Mountain View</span>,
|
||||
<span id="shippingAddressState">CA</span>
|
||||
<span id="shippingAddressPostalCode">94041</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input value="new" name="ctl00$ctl00$MainContentRoot$Body$addressOption" type="radio" id="createNewAddress"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Enter Billing Address
|
||||
parseable name: addressOption
|
||||
field signature: 825932642
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label id="lbl2" for="createNewAddress">Enter Billing Address</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="newBillingAddress">
|
||||
<fieldset>
|
||||
<div>
|
||||
<label for="firstName">First Name (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$firstName" type="text" id="firstName" maxlength="75"
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: First Name (required)
|
||||
parseable name: ctl00$firstName
|
||||
field signature: 759447197
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="lastName">Last Name (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$lastName" type="text" id="lastName" maxlength="75"
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: Last Name (required)
|
||||
parseable name: ctl00$lastName
|
||||
field signature: 2226109235
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="company">Company</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$company" type="text" id="company" maxlength="100"
|
||||
title="overall type: COMPANY_NAME
|
||||
server type: COMPANY_NAME
|
||||
heuristic type: COMPANY_NAME
|
||||
label: Company
|
||||
parseable name: ctl00$company
|
||||
field signature: 474096225
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address1">Address Line 1 (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$address1" type="text" id="address1" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address Line 1 (required)
|
||||
parseable name: ctl00$address1
|
||||
field signature: 3936848337
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address2">Address Line 2 </label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$address2" type="text" id="address2" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address Line 2
|
||||
parseable name: ctl00$address2
|
||||
field signature: 3389805014
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="city">City (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$city" type="text" id="city" maxlength="25"
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City (required)
|
||||
parseable name: ctl00$city
|
||||
field signature: 794505091
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="stateProvince">State (required)</label>
|
||||
<select name="ctl00$ctl00$MainContentRoot$Body$ctl00$stateProvince" id="stateProvince"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State (required)
|
||||
parseable name: ctl00$stateProvince
|
||||
field signature: 548222440
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option selected="selected" value="">Choose a state</option>
|
||||
<option value="AL-US">AL-Alabama</option>
|
||||
<option value="AK-US">AK-Alaska</option>
|
||||
<option value="AS-AS">AS-American Samoa</option>
|
||||
<option value="AZ-US">AZ-Arizona</option>
|
||||
<option value="AR-US">AR-Arkansas</option>
|
||||
<option value="AE-US">AE-Armed Forces Africa</option>
|
||||
<option value="AA-US">AA-Armed Forces Americas</option>
|
||||
<option value="AE-US">AE-Armed Forces Canada</option>
|
||||
<option value="AE-US">AE-Armed Forces Europe</option>
|
||||
<option value="AE-US">AE-Armed Forces Middle East</option>
|
||||
<option value="AP-US">AP-Armed Forces Pacific</option>
|
||||
<option value="CA-US">CA-California</option>
|
||||
<option value="CO-US">CO-Colorado</option>
|
||||
<option value="CT-US">CT-Connecticut</option>
|
||||
<option value="DE-US">DE-Delaware</option>
|
||||
<option value="DC-US">DC-District of Columbia</option>
|
||||
<option value="FM-FM">FM-Federated States of Micronesia</option>
|
||||
<option value="FL-US">FL-Florida</option>
|
||||
<option value="GA-US">GA-Georgia</option>
|
||||
<option value="GU-GU">GU-Guam</option>
|
||||
<option value="HI-US">HI-Hawaii</option>
|
||||
<option value="ID-US">ID-Idaho</option>
|
||||
<option value="IL-US">IL-Illinois</option>
|
||||
<option value="IN-US">IN-Indiana</option>
|
||||
<option value="IA-US">IA-Iowa</option>
|
||||
<option value="KS-US">KS-Kansas</option>
|
||||
<option value="KY-US">KY-Kentucky</option>
|
||||
<option value="LA-US">LA-Louisiana</option>
|
||||
<option value="ME-US">ME-Maine</option>
|
||||
<option value="MH-MH">MH-Marshall Islands</option>
|
||||
<option value="MD-US">MD-Maryland</option>
|
||||
<option value="MA-US">MA-Massachusetts</option>
|
||||
<option value="MI-US">MI-Michigan</option>
|
||||
<option value="MN-US">MN-Minnesota</option>
|
||||
<option value="MS-US">MS-Mississippi</option>
|
||||
<option value="MO-US">MO-Missouri</option>
|
||||
<option value="MT-US">MT-Montana</option>
|
||||
<option value="NE-US">NE-Nebraska</option>
|
||||
<option value="NV-US">NV-Nevada</option>
|
||||
<option value="NH-US">NH-New Hampshire</option>
|
||||
<option value="NJ-US">NJ-New Jersey</option>
|
||||
<option value="NM-US">NM-New Mexico</option>
|
||||
<option value="NY-US">NY-New York</option>
|
||||
<option value="NC-US">NC-North Carolina</option>
|
||||
<option value="ND-US">ND-North Dakota</option>
|
||||
<option value="MP-MP">MP-Norther Mariana Islands</option>
|
||||
<option value="OH-US">OH-Ohio</option>
|
||||
<option value="OK-US">OK-Oklahoma</option>
|
||||
<option value="OR-US">OR-Oregon</option>
|
||||
<option value="PA-US">PA-Pennsylvania</option>
|
||||
<option value="PR-PR">PR-Puerto Rico</option>
|
||||
<option value="PW-PW">PW-Palau</option>
|
||||
<option value="RI-US">RI-Rhode Island</option>
|
||||
<option value="SC-US">SC-South Carolina</option>
|
||||
<option value="SD-US">SD-South Dakota</option>
|
||||
<option value="TN-US">TN-Tennessee</option>
|
||||
<option value="TX-US">TX-Texas</option>
|
||||
<option value="UT-US">UT-Utah</option>
|
||||
<option value="VT-US">VT-Vermont</option>
|
||||
<option value="VI-US">VI-Virgin Islands</option>
|
||||
<option value="VA-US">VA-Virginia</option>
|
||||
<option value="WA-US">WA-Washington</option>
|
||||
<option value="WV-US">WV-West Virginia</option>
|
||||
<option value="WI-US">WI-Wisconsin</option>
|
||||
<option value="WY-US">WY-Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="zipCode">ZIP Code (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$zipCode" type="text" id="zipCode" maxlength="5"
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP Code (required)
|
||||
parseable name: ctl00$zipCode
|
||||
field signature: 4227103349
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="zipCodeExtn">ZIP Extn</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$zipCodeExtn" type="text" id="zipCodeExtn" maxlength="4"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: ZIP Extn
|
||||
parseable name: ctl00$zipCodeExtn
|
||||
field signature: 2328453303
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div> The billing address above must match what appears on this credit card's statement.</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="creditCardType">Card Type (required)</label>
|
||||
<select name="ctl00$ctl00$MainContentRoot$Body$creditCardType" id="creditCardType"
|
||||
title="overall type: CREDIT_CARD_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_TYPE
|
||||
label: Card Type (required)
|
||||
parseable name: creditCardType
|
||||
field signature: 4008988516
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="CREDIT_CARD_TYPE"
|
||||
>
|
||||
<option value="Select Type">Select Type</option>
|
||||
<option value="American Express">American Express</option>
|
||||
<option value="Discover Network">Discover Network</option>
|
||||
<option value="MasterCard">MasterCard</option>
|
||||
<option value="Visa">Visa</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="creditCardNumber">Credit Card Number (req)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$creditCardNumber" type="text" id="creditCardNumber" maxlength="16" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_NUMBER
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_NUMBER
|
||||
label: Credit Card Number (req)
|
||||
parseable name: creditCardNumber
|
||||
field signature: 466166649
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$creditCardNumber_en" type="hidden" id="creditCardNumber_en" keydelimiter="**" exponent="010001" clearonsubmit="true" >
|
||||
</div>
|
||||
<div>
|
||||
<label for="expiryMonth">Expiration Date (req)</label>
|
||||
<span>
|
||||
<select name="ctl00$ctl00$MainContentRoot$Body$expiryMonth" id="expiryMonth"
|
||||
title="overall type: CREDIT_CARD_EXP_MONTH
|
||||
server type: CREDIT_CARD_EXP_MONTH
|
||||
heuristic type: CREDIT_CARD_EXP_MONTH
|
||||
label: Expiration Date (req) CVV (req)
|
||||
parseable name: expiryMonth
|
||||
field signature: 1744226145
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="CREDIT_CARD_EXP_MONTH"
|
||||
>
|
||||
<option value="">mm</option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
<select name="ctl00$ctl00$MainContentRoot$Body$expiryYear" id="expiryYear"
|
||||
title="overall type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
label: Expiration Date (req)
|
||||
parseable name: expiryYear
|
||||
field signature: 3338586057
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="CREDIT_CARD_EXP_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="">yy</option>
|
||||
<option value="2017">17</option>
|
||||
<option value="2018">18</option>
|
||||
<option value="2019">19</option>
|
||||
<option value="2020">20</option>
|
||||
<option value="2021">21</option>
|
||||
<option value="2022">22</option>
|
||||
<option value="2023">23</option>
|
||||
<option value="2024">24</option>
|
||||
<option value="2025">25</option>
|
||||
<option value="2026">26</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<label for="expiryMonth">CVV (req)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$CreditCardCvvText" type="text" id="CreditCardCvvText" maxlength="4"
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_VERIFICATION_CODE
|
||||
label: CVV (req)
|
||||
parseable name: CreditCardCvvText
|
||||
field signature: 2577719477
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
>
|
||||
<div>
|
||||
<i>
|
||||
</i>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<span>What is a CVV?</span>
|
||||
<br>
|
||||
<span>For Visa, MasterCard & Discover, the three digits on the back of your card.</span>
|
||||
<br>
|
||||
<span> For American Express, the 4 digits on the front of your card.</span>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="submit" name="ctl00$ctl00$MainContentRoot$Body$saveButton" value="Next" id="saveButton">
|
||||
<div>
|
||||
<a
|
||||
title="Go to Verisign">
|
||||
<img src="./Checkout-BillingPaymentInfo_files/verisign.gif" alt="Verisign Secured" border="0">
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a target="_blank"
|
||||
title="Go to BBB">
|
||||
<img src="./Checkout-BillingPaymentInfo_files/BetterBusinessBureau-horizontal" alt="BBB Accredited Busines">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li id="shippingAddressStep">
|
||||
<a id="shippingAddressEdit">Edit</a>
|
||||
<div id="shippingAddressStepDetails">
|
||||
<div>
|
||||
Address:
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="shippingAddressFirstName">Tester</span>
|
||||
<span id="shippingAddressLastName">Mo</span>
|
||||
</div>
|
||||
<div>
|
||||
<span id="shippingCompany">Mozilla</span>
|
||||
</div>
|
||||
<div id="shippingAddressLine1">331 E. Evelyn Avenue</div>
|
||||
<div>
|
||||
<span id="shippingAddressCity">Mountain View</span>,
|
||||
<span id="shippingAddressState">CA</span>
|
||||
<span id="shippingAddressPostalCode">94041</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
Contact Info:
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="contactEmail">formautofilltester@gmail.com</span>
|
||||
</div>
|
||||
<div>
|
||||
<span id="contactPhone">650-903-0800 650</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li id="shippingMethodStep">
|
||||
<a id="shippingMethodEdit">Edit</a>
|
||||
<div id="shippingMethodStepDetails">
|
||||
<div>Shipping Method</div>
|
||||
<div>
|
||||
<div id="shippingMethodName">UPS Ground (2-3 days)</div>
|
||||
<div id="shippingMethodDesc">2-3 business days</div>
|
||||
<div id="shippingMethodCost">$19.99</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li id="billingAndPaymentStep">
|
||||
<a id="billingAndPaymentEdit">Edit</a>
|
||||
<div id="billingAndPaymentStepDetails">
|
||||
<div>
|
||||
Billing Address
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="billingAddressFirstName">
|
||||
</span>
|
||||
<span id="billingAddressLastName">
|
||||
</span>
|
||||
</div>
|
||||
<div id="billingAddressEmail">
|
||||
</div>
|
||||
<div id="billingAddressLine1">
|
||||
</div>
|
||||
<div id="billingAddressLine2">
|
||||
</div>
|
||||
<div>
|
||||
<span id="billingAddressCity">
|
||||
</span>,
|
||||
<span id="billingAddressState">
|
||||
</span>
|
||||
<span id="billingAddressPostalCode">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>Payment Method</div>
|
||||
<div id="paymentMethod">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="text" name="Representative" id="Representative" value=""
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Billing and Payment
|
||||
parseable name: Representative
|
||||
field signature: 716948211
|
||||
form signature: 11231346808802434240"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<input id="__RequestVerificationTokencw" name="__RequestVerificationTokencw" type="hidden" >
|
||||
</form>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<a id="button-log-on">Account Log On</a>
|
||||
<span> or </span>
|
||||
<a tabindex="2" id="button-create-account">Create Account</a>
|
||||
</li>
|
||||
<li>
|
||||
<a id="button-cart">
|
||||
<i>
|
||||
</i> Cart (<span id="headerCartCount">1</span>)
|
||||
<span id="headerCartTotal"> - $6,568.99</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="hidden" id="HdnFreeShippingProductCartIndicator" clientidmode="static" value="0">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
118
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_Logon.html
поставляемый
Normal file
118
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_Logon.html
поставляемый
Normal file
|
@ -0,0 +1,118 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>
|
||||
Logon Checkout
|
||||
</title>
|
||||
</head>
|
||||
<body id="MasterPageBodyTag">
|
||||
<form name="LogonFormServer" method="post" action="https://www.cdw.com/shop/eaccount/logon/logon.aspx?site=" id="LogonFormServer" autocomplete="off">
|
||||
<div>
|
||||
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
|
||||
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
|
||||
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE">
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="C774B3FE">
|
||||
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="">
|
||||
</div>
|
||||
<p>You don't need an account to place an order but you will have the option to create one after completing your purchase.</p>
|
||||
<div id="gcoVisualCaptchaContainer">
|
||||
<div id="divCaptcha" valign="top">
|
||||
<div id="VisualCaptchaContainer">
|
||||
<p>Click or touch the <span>House</span>
|
||||
</p>
|
||||
<div>
|
||||
<div>
|
||||
<img >
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
title="Refresh">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="ctl01$ctl00$MainContentRoot$Body$guestCheckoutButton$hidVisualCaptchaToken" id="hidVisualCaptchaToken" value="72fcbb43-d2de-4d9f-8ba3-17d3df45888e">
|
||||
<input type="hidden" name="ctl01$ctl00$MainContentRoot$Body$guestCheckoutButton$hidVisualCaptchaSelectedXAxis" id="hidVisualCaptchaSelectedXAxis" value="">
|
||||
<input type="hidden" name="ctl01$ctl00$MainContentRoot$Body$guestCheckoutButton$hidVisualCaptchaSelectedYAxis" id="hidVisualCaptchaSelectedYAxis" value="">
|
||||
<div>
|
||||
<span id="valVisualCaptchaInvalid">
|
||||
<span>!</span> The validation code entered is incorrect</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a id="guestbutton">Checkout as Guest</a>
|
||||
<input type="submit" name="ctl01$ctl00$MainContentRoot$Body$guestCheckoutButton$guestCheckOutButton" value="Continue" id="guestCheckOutButton" disabled="disabled">
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div id="sitePolicy">
|
||||
<div>
|
||||
<a
|
||||
title="Go to Privacy Policy" target="_blank">Privacy Policy</a> | <a title="Go to Terms and Conditions" target="_blank">Terms and Conditions</a>
|
||||
</div>
|
||||
<a
|
||||
title="Go to Verisign">
|
||||
<img src="./Logon Checkout_files/verisign.gif" border="0">
|
||||
</a>
|
||||
</div>
|
||||
<input id="__RequestVerificationTokencw" name="__RequestVerificationTokencw" type="hidden">
|
||||
</form>
|
||||
<form name="LogonForm" id="LogonForm" method="post" action="https://www.cdw.com/shop/Eaccount/logon/LogOnProcessor.aspx?UI=CheckoutSimplifiedUI" autocomplete="off">
|
||||
<div id="divLogon">
|
||||
<section>
|
||||
<div>
|
||||
<span id="lblUserName">User Name</span>
|
||||
<a tabindex="70">Forgot user name?</a>
|
||||
<div id="divUserName">
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$UserName" type="text" id="UserName" tabindex="10" maxlength="50">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$SavePassword" type="checkbox" id="SavePassword" tabindex="12" value="1">
|
||||
<label for="SavePassword">
|
||||
Remember my user name on this computer
|
||||
<img id="question-image" src="./Logon Checkout_files/tooltip-question-mark.jpg"
|
||||
title="">
|
||||
</label>
|
||||
<div id="remember-tooltip">
|
||||
<img src="./Logon Checkout_files/remember-me-tooltip.jpg" usemap="#closepopup">
|
||||
<map name="closepopup" id="closepopup">
|
||||
<area alt=""
|
||||
title="" shape="circle" coords="368,23,15.5">
|
||||
</map>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span id="lblUserPass">Password</span>
|
||||
<a tabindex="80">Forgot password?</a>
|
||||
<div id="divPassword">
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$UserPassword" type="password" id="UserPassword" tabindex="11" maxlength="50">
|
||||
</div>
|
||||
</div>
|
||||
<div id="divCaptcha" valign="top">
|
||||
</div>
|
||||
<div id="DivInvalidCredentialsErrorMessage">
|
||||
<span>!</span> You have entered an invalid username and/or password. Please re-enter your information.
|
||||
</div>
|
||||
<div id="DivInvalidCaptcha">
|
||||
<span>!</span>
|
||||
<span id="CaptchaErrorMessage">
|
||||
</span>
|
||||
</div>
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$LogOnButton" type="submit" id="LogOnButton" tabindex="13" value="Log On" border="0">
|
||||
</section>
|
||||
</div>
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$WebSite" type="hidden" id="WebSite">
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$Target" type="hidden" id="Target" value="/shop/Checkout/ValidateCheckout.aspx?Standard=1&cm_re=CRT-_-PZ-_-SC+Standard+Checkout+Button">
|
||||
<input name="ctl01$ctl00$MainContentRoot$Body$LogonControl$ErrorCount" type="hidden" id="ErrorCount">
|
||||
<span id="tagManEventControl">
|
||||
</span>
|
||||
</form>
|
||||
<div>
|
||||
<input type="hidden" id="HdnFreeShippingProductCartIndicator" clientidmode="static" value="0">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
376
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_ShippingInfo.html
поставляемый
Normal file
376
browser/extensions/formautofill/test/fixtures/third_party/CDW/Checkout_ShippingInfo.html
поставляемый
Normal file
|
@ -0,0 +1,376 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>
|
||||
Checkout
|
||||
</title>
|
||||
</head>
|
||||
<body id="MasterPageBodyTag">
|
||||
<form name="form1" method="post" action="https://www.cdw.com/shop/checkout/guest/ShippingAddress.aspx" id="form1">
|
||||
<div>
|
||||
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
|
||||
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
|
||||
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE">
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR">
|
||||
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="firstName">First Name (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$firstName" type="text" id="firstName" maxlength="75"
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: First Name (required)
|
||||
parseable name: tl00$firstName
|
||||
field signature: 759447197
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="lastName">Last Name (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$lastName" type="text" id="lastName" maxlength="75"
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: Last Name (required)
|
||||
parseable name: tl00$lastName
|
||||
field signature: 2226109235
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="company">Company</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$company" type="text" id="company" maxlength="100"
|
||||
title="overall type: COMPANY_NAME
|
||||
server type: COMPANY_NAME
|
||||
heuristic type: COMPANY_NAME
|
||||
label: Company
|
||||
parseable name: tl00$company
|
||||
field signature: 474096225
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address1">Address Line 1 (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$address1" type="text" id="address1" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address Line 1 (required)
|
||||
parseable name: tl00$address1
|
||||
field signature: 3936848337
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address2">Address Line 2 </label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$address2" type="text" id="address2" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address Line 2
|
||||
parseable name: tl00$address2
|
||||
field signature: 3389805014
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="city">City (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$city" type="text" id="city" maxlength="25"
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City (required)
|
||||
parseable name: tl00$city
|
||||
field signature: 794505091
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="stateProvince">State (required)</label>
|
||||
<select name="ctl00$ctl00$MainContentRoot$Body$ctl00$stateProvince" id="stateProvince"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State (required)
|
||||
parseable name: tl00$stateProvince
|
||||
field signature: 548222440
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option selected="selected" value="">Choose a state</option>
|
||||
<option value="AL-US">AL-Alabama</option>
|
||||
<option value="AK-US">AK-Alaska</option>
|
||||
<option value="AS-AS">AS-American Samoa</option>
|
||||
<option value="AZ-US">AZ-Arizona</option>
|
||||
<option value="AR-US">AR-Arkansas</option>
|
||||
<option value="AE-US">AE-Armed Forces Africa</option>
|
||||
<option value="AA-US">AA-Armed Forces Americas</option>
|
||||
<option value="AE-US">AE-Armed Forces Canada</option>
|
||||
<option value="AE-US">AE-Armed Forces Europe</option>
|
||||
<option value="AE-US">AE-Armed Forces Middle East</option>
|
||||
<option value="AP-US">AP-Armed Forces Pacific</option>
|
||||
<option value="CA-US">CA-California</option>
|
||||
<option value="CO-US">CO-Colorado</option>
|
||||
<option value="CT-US">CT-Connecticut</option>
|
||||
<option value="DE-US">DE-Delaware</option>
|
||||
<option value="DC-US">DC-District of Columbia</option>
|
||||
<option value="FM-FM">FM-Federated States of Micronesia</option>
|
||||
<option value="FL-US">FL-Florida</option>
|
||||
<option value="GA-US">GA-Georgia</option>
|
||||
<option value="GU-GU">GU-Guam</option>
|
||||
<option value="HI-US">HI-Hawaii</option>
|
||||
<option value="ID-US">ID-Idaho</option>
|
||||
<option value="IL-US">IL-Illinois</option>
|
||||
<option value="IN-US">IN-Indiana</option>
|
||||
<option value="IA-US">IA-Iowa</option>
|
||||
<option value="KS-US">KS-Kansas</option>
|
||||
<option value="KY-US">KY-Kentucky</option>
|
||||
<option value="LA-US">LA-Louisiana</option>
|
||||
<option value="ME-US">ME-Maine</option>
|
||||
<option value="MH-MH">MH-Marshall Islands</option>
|
||||
<option value="MD-US">MD-Maryland</option>
|
||||
<option value="MA-US">MA-Massachusetts</option>
|
||||
<option value="MI-US">MI-Michigan</option>
|
||||
<option value="MN-US">MN-Minnesota</option>
|
||||
<option value="MS-US">MS-Mississippi</option>
|
||||
<option value="MO-US">MO-Missouri</option>
|
||||
<option value="MT-US">MT-Montana</option>
|
||||
<option value="NE-US">NE-Nebraska</option>
|
||||
<option value="NV-US">NV-Nevada</option>
|
||||
<option value="NH-US">NH-New Hampshire</option>
|
||||
<option value="NJ-US">NJ-New Jersey</option>
|
||||
<option value="NM-US">NM-New Mexico</option>
|
||||
<option value="NY-US">NY-New York</option>
|
||||
<option value="NC-US">NC-North Carolina</option>
|
||||
<option value="ND-US">ND-North Dakota</option>
|
||||
<option value="MP-MP">MP-Norther Mariana Islands</option>
|
||||
<option value="OH-US">OH-Ohio</option>
|
||||
<option value="OK-US">OK-Oklahoma</option>
|
||||
<option value="OR-US">OR-Oregon</option>
|
||||
<option value="PA-US">PA-Pennsylvania</option>
|
||||
<option value="PR-PR">PR-Puerto Rico</option>
|
||||
<option value="PW-PW">PW-Palau</option>
|
||||
<option value="RI-US">RI-Rhode Island</option>
|
||||
<option value="SC-US">SC-South Carolina</option>
|
||||
<option value="SD-US">SD-South Dakota</option>
|
||||
<option value="TN-US">TN-Tennessee</option>
|
||||
<option value="TX-US">TX-Texas</option>
|
||||
<option value="UT-US">UT-Utah</option>
|
||||
<option value="VT-US">VT-Vermont</option>
|
||||
<option value="VI-US">VI-Virgin Islands</option>
|
||||
<option value="VA-US">VA-Virginia</option>
|
||||
<option value="WA-US">WA-Washington</option>
|
||||
<option value="WV-US">WV-West Virginia</option>
|
||||
<option value="WI-US">WI-Wisconsin</option>
|
||||
<option value="WY-US">WY-Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="zipCode">ZIP Code (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$zipCode" type="text" id="zipCode" maxlength="5"
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP Code (required)
|
||||
parseable name: tl00$zipCode
|
||||
field signature: 4227103349
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="zipCodeExtn">ZIP Extn</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$ctl00$zipCodeExtn" type="text" id="zipCodeExtn" maxlength="4"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: ZIP Extn
|
||||
parseable name: tl00$zipCodeExtn
|
||||
field signature: 2328453303
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>We will only contact you about your order and shipping.</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="contactEmail">Email (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$contactEmail" type="text" id="contactEmail" maxlength="75"
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: Email (required)
|
||||
parseable name: ontactEmail
|
||||
field signature: 123947042
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="contactPhoneNumber">Phone (required)</label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$contactPhoneNumber" type="text" id="contactPhoneNumber" maxlength="15"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER
|
||||
server type: PHONE_HOME_CITY_AND_NUMBER
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: Phone (required)
|
||||
parseable name: ontactPhoneNumber
|
||||
field signature: 1588916982
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="contactPhoneExtension">Extn </label>
|
||||
<input name="ctl00$ctl00$MainContentRoot$Body$contactPhoneExtension" type="text" id="contactPhoneExtension" maxlength="5"
|
||||
title="overall type: PHONE_HOME_CITY_CODE
|
||||
server type: PHONE_HOME_CITY_CODE
|
||||
heuristic type: PHONE_HOME_EXTENSION
|
||||
label: Extn
|
||||
parseable name: ontactPhoneExtension
|
||||
field signature: 1782290665
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="PHONE_HOME_CITY_CODE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button id="saveButton" type="button">Next</button>
|
||||
<input type="text" name="Representative" id="Representative" value=""
|
||||
title="overall type: ADDRESS_HOME_STREET_ADDRESS
|
||||
server type: ADDRESS_HOME_STREET_ADDRESS
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Shipping Address Next
|
||||
parseable name: Representative
|
||||
field signature: 716948211
|
||||
form signature: 7628530229511417656"
|
||||
autofill-prediction="ADDRESS_HOME_STREET_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li id="shippingAddressStep">
|
||||
<a id="shippingAddressEdit">Edit</a>
|
||||
<div id="shippingAddressStepDetails">
|
||||
<div>
|
||||
Address:
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="shippingAddressFirstName">
|
||||
</span>
|
||||
<span id="shippingAddressLastName">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span id="shippingCompany">
|
||||
</span>
|
||||
</div>
|
||||
<div id="shippingAddressLine1">
|
||||
</div>
|
||||
<div id="shippingAddressLine2">
|
||||
</div>
|
||||
<div>
|
||||
<span id="shippingAddressCity">
|
||||
</span>,
|
||||
<span id="shippingAddressState">
|
||||
</span>
|
||||
<span id="shippingAddressPostalCode">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
Contact Info:
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="contactEmail">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span id="contactPhone">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li id="shippingMethodStep">
|
||||
<a id="shippingMethodEdit">Edit</a>
|
||||
<div id="shippingMethodStepDetails">
|
||||
<div>Shipping Method</div>
|
||||
<div>
|
||||
<div id="shippingMethodName">-</div>
|
||||
<div id="shippingMethodDesc">-</div>
|
||||
<div id="shippingMethodCost">-</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li id="billingAndPaymentStep">
|
||||
<a id="billingAndPaymentEdit">Edit</a>
|
||||
<div id="billingAndPaymentStepDetails">
|
||||
<div>
|
||||
Billing Address
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span id="billingAddressFirstName">
|
||||
</span>
|
||||
<span id="billingAddressLastName">
|
||||
</span>
|
||||
</div>
|
||||
<div id="billingAddressEmail">
|
||||
</div>
|
||||
<div id="billingAddressLine1">
|
||||
</div>
|
||||
<div id="billingAddressLine2">
|
||||
</div>
|
||||
<div>
|
||||
<span id="billingAddressCity">
|
||||
</span>,
|
||||
<span id="billingAddressState">
|
||||
</span>
|
||||
<span id="billingAddressPostalCode">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>Payment Method</div>
|
||||
<div id="paymentMethod">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<input id="__RequestVerificationTokencw" name="__RequestVerificationTokencw" type="hidden">
|
||||
</form>
|
||||
<div>
|
||||
<input type="hidden" id="HdnFreeShippingProductCartIndicator" clientidmode="static" value="0">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
892
browser/extensions/formautofill/test/fixtures/third_party/CostCo/Payment.html
поставляемый
Normal file
892
browser/extensions/formautofill/test/fixtures/third_party/CostCo/Payment.html
поставляемый
Normal file
|
@ -0,0 +1,892 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta feature="9.1.4">
|
||||
<title>Costco - Payment</title>
|
||||
<meta name="currentBuildNumber" content="3.0.29057.0">
|
||||
<meta name="ServerName" content="www.costco.com ">
|
||||
<meta name="LocalAddress" content="xxx.xxx.xxx.48">
|
||||
<meta name="LocalName" content="TP26">
|
||||
</head>
|
||||
<body>
|
||||
<form name="CheckoutPaymentForm" id="CheckoutPaymentForm" method="post" action="https://www.costco.com/CostcoBillingPayment">
|
||||
<input type="hidden" name="selfAddressId" id="hiddenSelfAddressId" value="">
|
||||
<input type="hidden" id="billHiddenInput0" name="billHideenInput" value="">
|
||||
<input type="hidden" id="billAddrId" name="billAddrId" value="">
|
||||
<input type="hidden" id="membershipNumber" name="membershipNum">
|
||||
<input type="hidden" name="orderItemsCount" value="1">
|
||||
<input type="hidden" value="" id="selectedAddressId" name="selectedAddressId">
|
||||
<input type="hidden" name="orderId" value="644156669" id="WC_CheckoutPaymentsAndBillingAddressf_orderId">
|
||||
<input type="hidden" name="storeId" value="10301" id="CheckoutPayment_inputs_1">
|
||||
<input type="hidden" name="catalogId" value="10701" id="CheckoutPayment_inputs_2">
|
||||
<input type="hidden" name="langId" value="-1" id="CheckoutPayment_inputs_3">
|
||||
<input type="hidden" name="curr_year" value="2017" id="CheckoutPayment_inputs_5">
|
||||
<input type="hidden" name="curr_month" value="3" id="CheckoutPayment_inputs_6">
|
||||
<input type="hidden" name="curr_date" value="19" id="CheckoutPayment_inputs_7">
|
||||
<input type="hidden" name="URL" value="OrderPrepare?URL=CheckoutReviewView">
|
||||
<input type="hidden" name="xCreditCardId" value="">
|
||||
<input type="hidden" name="ccLastFour" value="">
|
||||
<input type="hidden" name="checkCCValue" value="false">
|
||||
<input type="hidden" name="backURL" value="">
|
||||
<input type="hidden" name="piAmount" value="84.99000">
|
||||
<input type="hidden" name="cardNumberValueHolder" value="">
|
||||
<input type="hidden" name="authToken" value="312">
|
||||
<div>
|
||||
<label for="billMeLater">
|
||||
<input type="radio" checked="checked" id="billMeLater" name="billMeLater" value="no"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Payment Method
|
||||
parseable name: billMeLater
|
||||
field signature: 1700925171
|
||||
form signature: 4979691664972472743"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</label>
|
||||
<br>
|
||||
<div>
|
||||
<div>
|
||||
<label for="payMethodId">Card Type</label>
|
||||
<select name="payMethodId" id="payMethodId"
|
||||
title="overall type: CREDIT_CARD_TYPE
|
||||
server type: CREDIT_CARD_TYPE
|
||||
heuristic type: CREDIT_CARD_TYPE
|
||||
label: Card Type
|
||||
parseable name: payMethodId
|
||||
field signature: 3668211827
|
||||
form signature: 4979691664972472743"
|
||||
autofill-prediction="CREDIT_CARD_TYPE"
|
||||
>
|
||||
<option value="Costco Credit Card">Costco Credit Card</option>
|
||||
<option value="Discover">Discover</option>
|
||||
<option value="Master Card">MasterCard</option>
|
||||
<option value="VISA" selected="selected">VISA</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="account">Card number</label>
|
||||
<input
|
||||
title="overall type: CREDIT_CARD_NUMBER
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_NUMBER
|
||||
label: Card number
|
||||
parseable name: account
|
||||
field signature: 3715653537
|
||||
form signature: 4979691664972472743" type="text" id="account" name="account" value="" autocomplete="off"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="expire_month">Expiration Date</label>
|
||||
<select
|
||||
title="overall type: CREDIT_CARD_EXP_MONTH
|
||||
server type: CREDIT_CARD_EXP_MONTH
|
||||
heuristic type: CREDIT_CARD_EXP_MONTH
|
||||
label: Expiration Date
|
||||
parseable name: expire_month
|
||||
field signature: 3078539387
|
||||
form signature: 4979691664972472743" id="expire_month" name="expire_month"
|
||||
autofill-prediction="CREDIT_CARD_EXP_MONTH"
|
||||
>
|
||||
<option value="Month">Month</option>
|
||||
<option value="01">1</option>
|
||||
<option value="02">2</option>
|
||||
<option value="03">3</option>
|
||||
<option value="04">4</option>
|
||||
<option value="05">5</option>
|
||||
<option value="06">6</option>
|
||||
<option value="07">7</option>
|
||||
<option value="08">8</option>
|
||||
<option value="09">9</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
<select
|
||||
title="overall type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
server type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
heuristic type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
label: Expiration Date
|
||||
parseable name: expire_year
|
||||
field signature: 2521850425
|
||||
form signature: 4979691664972472743" name="expire_year"
|
||||
autofill-prediction="CREDIT_CARD_EXP_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="Year">Year</option>
|
||||
<option value="2017">2017</option>
|
||||
<option value="2018">2018</option>
|
||||
<option value="2019">2019</option>
|
||||
<option value="2020">2020</option>
|
||||
<option value="2021">2021</option>
|
||||
<option value="2022">2022</option>
|
||||
<option value="2023">2023</option>
|
||||
<option value="2024">2024</option>
|
||||
<option value="2025">2025</option>
|
||||
<option value="2026">2026</option>
|
||||
<option value="2027">2027</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="cc_cvc">CVV Code</label>
|
||||
<input
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_VERIFICATION_CODE
|
||||
label: CVV Code
|
||||
parseable name: cc_cvc
|
||||
field signature: 1956128288
|
||||
form signature: 4979691664972472743" type="text" id="cc_cvc" name="cc_cvc" value="" maxlength="4" autocomplete="off"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="cc_nameoncard">Cardholder Name</label>
|
||||
<input
|
||||
title="overall type: CREDIT_CARD_NAME_FULL
|
||||
server type: CREDIT_CARD_NAME_FULL
|
||||
heuristic type: CREDIT_CARD_NAME_FULL
|
||||
label: Cardholder Name
|
||||
parseable name: cc_nameoncard
|
||||
field signature: 1086986730
|
||||
form signature: 4979691664972472743" type="text" id="cc_nameoncard" name="cc_nameoncard" value="" autocomplete="off"
|
||||
autofill-prediction="CREDIT_CARD_NAME_FULL"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<input
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Save this as my default payment card
|
||||
parseable name: save_CC
|
||||
field signature: 3060743727
|
||||
form signature: 4979691664972472743" type="checkbox" name="save_CC" id="save_CC"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="save_CC">Save this as my default payment card</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form name="CashCardForm" method="post" action="https://www.costco.com/CostcoCashCardProcess" id="CashCardForm">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="orderId" value="644156669">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="addressId" value="">
|
||||
<input type="hidden" name="cc_payMethodId" value="CostcoCashCard">
|
||||
<input type="hidden" name="action" value="">
|
||||
<input type="hidden" name="URL" value="CheckoutPaymentView">
|
||||
<input type="hidden" name="account" value="">
|
||||
<input type="hidden" name="expire_month" value="">
|
||||
<input type="hidden" name="expire_year" value="">
|
||||
<input type="hidden" name="cc_nameoncard" value="">
|
||||
<input type="hidden" name="payMethodId" value="">
|
||||
<input type="hidden" name="xCreditCardId" value="">
|
||||
<input type="hidden" name="ccLastFour" value="">
|
||||
<input type="hidden" name="authToken" value="312404731%2cKsqvty%2bpMJ%2bCAl3XeIkCxSEgLa4%3d">
|
||||
<div>
|
||||
<div>
|
||||
<label for="cash_account">Costco Cash Card Number</label>
|
||||
<input
|
||||
title="Costco Cash Card Number" type="text" id="cash_account" name="cash_account" value="" maxlength="19" autocomplete="off">
|
||||
</div>
|
||||
<div>
|
||||
<label for="cash_pin">PIN</label>
|
||||
<input
|
||||
title="PIN" type="password" id="cash_pin" name="cash_pin" value="" maxlength="8" autocomplete="off">
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<div>
|
||||
<span> More Info - Costco Cash Card</span>
|
||||
<span>
|
||||
<i>Costco Cash</i> Card Number</span>
|
||||
<span>This image highlights the unique number</span>
|
||||
<img src="./Costco - Payment_files/cashcard-us.gif" alt="cashcard-us.gif">
|
||||
<span>used to identify your <i>Costco Cash</i> card.</span>
|
||||
<span> Pin Number</span>
|
||||
<span>This number is used to access your</span>
|
||||
<span>
|
||||
<i>Costco Cash</i> card. The image shows</span>
|
||||
<span>where this number is located.</span>
|
||||
<span>@ 1998-2016 Costco Wholesale Corporation. All rights reserved.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form name="RefreshBilling" method="post" action="https://www.costco.com/CostcoBillingPayment" id="RefreshBilling">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="orderId" value="644156669">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="actionType" value="refresh">
|
||||
<input type="hidden" name="authToken" value="312404731%2cKsqvty%2bpMJ%2bCAl3XeIkCxSEgLa4%3d">
|
||||
<input type="hidden" name="deviceId" value="">
|
||||
</form>
|
||||
<form name="PromotionCodeForm" method="post" action="https://www.costco.com/CostcoManagePromotionCmd" id="PromotionCodeForm">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="orderId" value="644156669">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="taskType" value="A">
|
||||
<input type="hidden" name="URL" value="OrderCalculate?updatePrices=1&calculationUsageId=-1&URL=OrderPrepare?URL=CostcoPostPromotionCodeAddRemove&orderId=.">
|
||||
<input type="hidden" name="errorViewName" value="CheckoutPaymentView">
|
||||
<input type="hidden" name="account" value="">
|
||||
<input type="hidden" name="expire_month" value="">
|
||||
<input type="hidden" name="expire_year" value="">
|
||||
<input type="hidden" name="cc_nameoncard" value="">
|
||||
<input type="hidden" name="payMethodId" value="">
|
||||
<input type="hidden" name="xCreditCardId" value="">
|
||||
<input type="hidden" name="ccLastFour" value="">
|
||||
<input type="hidden" name="checkCCValue" value="false">
|
||||
<input type="hidden" id="billHiddenInput0" name="billHideenInput" value="">
|
||||
<input type="hidden" id="billAddrId" name="billAddrId" value="">
|
||||
<input type="hidden" name="addressId" value="">
|
||||
<input type="hidden" name="cc_cvc" value="">
|
||||
<input type="hidden" name="piAmount" value="84.99000">
|
||||
<div>
|
||||
<label for="PromotionCodeForm_1">Promo Code</label>
|
||||
<input
|
||||
title="Promo Code" type="text" size="10" name="promoCode" id="PromotionCodeForm_1" value="">
|
||||
</div>
|
||||
</form>
|
||||
<form id="AddressFormModal-Form" name="AddressFormModal-Form" autocomplete="on" method="post">
|
||||
<div>
|
||||
<input type="hidden" name="addressType" value="B">
|
||||
<p id="addressFormModalRequired" tabindex="-1">
|
||||
<span>*</span> Required fields</p>
|
||||
<div id="personName">
|
||||
<div>
|
||||
<label for="addressFormModalFirstName">FIRST NAME<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalFirstName" name="addressFormModalFirstName"
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: FIRST NAME*
|
||||
parseable name: addressFormModalFirstName
|
||||
field signature: 2222266781
|
||||
form signature: 8397269939060577503" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalMiddleInitial">M.I.</label>
|
||||
<input id="addressFormModalMiddleInitial" name="addressFormModalMiddleInitial"
|
||||
title="overall type: NAME_MIDDLE_INITIAL
|
||||
server type: NAME_MIDDLE_INITIAL
|
||||
heuristic type: NAME_MIDDLE_INITIAL
|
||||
label: M.I.
|
||||
parseable name: addressFormModalMiddleInitial
|
||||
field signature: 3540652809
|
||||
form signature: 8397269939060577503" type="text" maxlength="1"
|
||||
autofill-prediction="NAME_MIDDLE_INITIAL"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalLastName">LAST NAME<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalLastName" name="addressFormModalLastName"
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: LAST NAME*
|
||||
parseable name: addressFormModalLastName
|
||||
field signature: 4218996568
|
||||
form signature: 8397269939060577503" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalCompany">COMPANY NAME</label>
|
||||
<input id="addressFormModalCompany" name="addressFormModalCompany" type="text" maxlength="40"
|
||||
title="overall type: COMPANY_NAME
|
||||
server type: COMPANY_NAME
|
||||
heuristic type: COMPANY_NAME
|
||||
label: COMPANY NAME
|
||||
parseable name: addressFormModalCompany
|
||||
field signature: 1845178698
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalCountry">COUNTRY<span>*</span>
|
||||
</label>
|
||||
<select id="addressFormModalCountry" name="addressFormModalCountry"
|
||||
title="overall type: ADDRESS_HOME_COUNTRY
|
||||
server type: ADDRESS_HOME_COUNTRY
|
||||
heuristic type: ADDRESS_HOME_COUNTRY
|
||||
label: COUNTRY*
|
||||
parseable name: addressFormModalCountry
|
||||
field signature: 4052501735
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_COUNTRY"
|
||||
>
|
||||
<option value="CA">Canada</option>
|
||||
<option value="US">United States</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="streetAddress">
|
||||
<legend>
|
||||
<label for="addressFormModalAddressLine1">STREET ADDRESS<span>*</span>
|
||||
</label>
|
||||
</legend>
|
||||
<div>
|
||||
<input id="addressFormModalAddressLine1" name="addressFormModalAddressLine1" placeholder="Address Line 1" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: STREET ADDRESS*
|
||||
parseable name: addressFormModalAddressLine1
|
||||
field signature: 1532865404
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<input id="addressFormModalAddressLine2" name="addressFormModalAddressLine2" placeholder="Address Line 2" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address Line 2
|
||||
parseable name: addressFormModalAddressLine2
|
||||
field signature: 2315514959
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormModalCity">CITY<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalCity" name="addressFormModalCity" type="text" maxlength="40"
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: CITY*
|
||||
parseable name: addressFormModalCity
|
||||
field signature: 4130865920
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
<div id="stateAndZip">
|
||||
<div>
|
||||
<label for="addressFormModalState">STATE / PROVINCE<span>*</span>
|
||||
</label>
|
||||
<select id="addressFormModalState" name="addressFormModalState"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: ADDRESS_HOME_STATE
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: STATE / PROVINCE*
|
||||
parseable name: addressFormModalState
|
||||
field signature: 4026908515
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="NO_STATE_TYPE_SELECTED" selected="selected">* Select</option>
|
||||
<option value="Aa">AA - Armed Forces America</option>
|
||||
<option value="Ae">AE - Armed Forces Europe</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="Ap">AP - Armed Forces Pacific</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="CA">California</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="DC">District of Columbia</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalZip">ZIP / POSTAL CODE<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalZip" name="addressFormModalZip" type="text" maxlength="10"
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP / POSTAL CODE*
|
||||
parseable name: addressFormModalZip
|
||||
field signature: 2383002781
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="phoneNumber">
|
||||
<label for="addressFormModalPhoneNumber">PHONE NUMBER<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalPhoneNumber" name="addressFormModalPhoneNumber" type="text" maxlength="32"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER
|
||||
server type: PHONE_HOME_CITY_AND_NUMBER
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: PHONE NUMBER*
|
||||
parseable name: addressFormModalPhoneNumber
|
||||
field signature: 1884423068
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</div>
|
||||
<div id="email">
|
||||
<label for="addressFormModalEmail" id="addressFormModalEmailLabel">EMAIL<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalEmail" name="addressFormModalEmail" type="text" maxlength="40"
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: EMAIL*
|
||||
parseable name: addressFormModalEmail
|
||||
field signature: 1977954575
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div id="addressNickname">
|
||||
<label for="addressFormModalAddressNickName">ADDRESS NICKNAME<span>*</span>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<span>The Address Nickname is a short name you create to help you easily identify this address within your address book.</span>
|
||||
</label>
|
||||
<input id="addressFormModalAddressNickName" name="addressFormModalAddressNickName" type="text" maxlength="35" placeholder="Holly at school, Mom, etc."
|
||||
title="overall type: ADDRESS_HOME_STREET_ADDRESS
|
||||
server type: ADDRESS_HOME_STREET_ADDRESS
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: ADDRESS NICKNAME* The Address Nickname is a short name you create to help you easily identify this a
|
||||
parseable name: addressFormModalAddressNickName
|
||||
field signature: 605446661
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_STREET_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<input name="saveAddressCheckbox" id="saveAddressCheckbox" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Add to address book.
|
||||
parseable name: saveAddressCheckbox
|
||||
field signature: 784127875
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="saveAddressCheckbox">Add to address book. </label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="setDefaultCheckbox" id="setDefaultCheckbox" type="checkbox" disabled="true"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Save as default shipping address in Address Book
|
||||
parseable name: setDefaultCheckbox
|
||||
field signature: 1479095059
|
||||
form signature: 8397269939060577503"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="setDefaultCheckbox" id="setDefaultCheckboxModalLabel">Save as default billing address in Address Book</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="AddressFormInline-Form" name="AddressFormInline-Form" autocomplete="on" method="post">
|
||||
<div>
|
||||
<input type="hidden" name="addressType" value="B">
|
||||
<p id="addressFormInlineRequired" tabindex="-1">
|
||||
<span>*</span> Required fields</p>
|
||||
<div id="personName">
|
||||
<div>
|
||||
<label for="addressFormInlineFirstName">FIRST NAME<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineFirstName" name="addressFormInlineFirstName"
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: FIRST NAME*
|
||||
parseable name: addressFormInlineFirstName
|
||||
field signature: 3938958812
|
||||
form signature: 16870043504464996221" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineMiddleInitial">M.I.</label>
|
||||
<div>
|
||||
<input id="addressFormInlineMiddleInitial" name="addressFormInlineMiddleInitial"
|
||||
title="overall type: NAME_MIDDLE_INITIAL
|
||||
server type: NAME_MIDDLE_INITIAL
|
||||
heuristic type: NAME_MIDDLE_INITIAL
|
||||
label: M.I.
|
||||
parseable name: addressFormInlineMiddleInitial
|
||||
field signature: 3429701181
|
||||
form signature: 16870043504464996221" type="text" maxlength="1"
|
||||
autofill-prediction="NAME_MIDDLE_INITIAL"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineLastName">LAST NAME<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineLastName" name="addressFormInlineLastName"
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: LAST NAME*
|
||||
parseable name: addressFormInlineLastName
|
||||
field signature: 2108416564
|
||||
form signature: 16870043504464996221" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormInlineCompany">COMPANY NAME</label>
|
||||
<div>
|
||||
<input id="addressFormInlineCompany" name="addressFormInlineCompany" type="text" maxlength="40"
|
||||
title="overall type: COMPANY_NAME
|
||||
server type: COMPANY_NAME
|
||||
heuristic type: COMPANY_NAME
|
||||
label: COMPANY NAME
|
||||
parseable name: addressFormInlineCompany
|
||||
field signature: 4087238350
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineCountry">COUNTRY<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<select id="addressFormInlineCountry" name="addressFormInlineCountry"
|
||||
title="overall type: ADDRESS_HOME_COUNTRY
|
||||
server type: ADDRESS_HOME_COUNTRY
|
||||
heuristic type: ADDRESS_HOME_COUNTRY
|
||||
label: COUNTRY*
|
||||
parseable name: addressFormInlineCountry
|
||||
field signature: 695762362
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_COUNTRY"
|
||||
>
|
||||
<option value="CA">Canada</option>
|
||||
<option value="US">United States</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="streetAddress">
|
||||
<legend>
|
||||
<label for="addressFormInlineAddressLine1">STREET ADDRESS<span>*</span>
|
||||
</label>
|
||||
</legend>
|
||||
<div>
|
||||
<input id="addressFormInlineAddressLine1" name="addressFormInlineAddressLine1" placeholder="Address Line 1" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: STREET ADDRESS*
|
||||
parseable name: addressFormInlineAddressLine1
|
||||
field signature: 1040409778
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<input id="addressFormInlineAddressLine2" name="addressFormInlineAddressLine2" placeholder="Address Line 2" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address Line 2
|
||||
parseable name: addressFormInlineAddressLine2
|
||||
field signature: 1640842807
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormInlineCity">CITY<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineCity" name="addressFormInlineCity" type="text" maxlength="40"
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: CITY*
|
||||
parseable name: addressFormInlineCity
|
||||
field signature: 2829321141
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="state">
|
||||
<div>
|
||||
<label for="addressFormInlineState">STATE / PROVINCE<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<select id="addressFormInlineState" name="addressFormInlineState"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: ADDRESS_HOME_STATE
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: STATE / PROVINCE*
|
||||
parseable name: addressFormInlineState
|
||||
field signature: 3295167441
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="NO_STATE_TYPE_SELECTED" selected="selected">* Select</option>
|
||||
<option value="Aa">AA - Armed Forces America</option>
|
||||
<option value="Ae">AE - Armed Forces Europe</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="Ap">AP - Armed Forces Pacific</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="CA">California</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="DC">District of Columbia</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineZip">ZIP / POSTAL CODE<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineZip" name="addressFormInlineZip" type="text" maxlength="10"
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP / POSTAL CODE*
|
||||
parseable name: addressFormInlineZip
|
||||
field signature: 3060672026
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="phoneNumber">
|
||||
<label for="addressFormInlinePhoneNumber">PHONE NUMBER<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlinePhoneNumber" name="addressFormInlinePhoneNumber" type="text" maxlength="32"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER
|
||||
server type: PHONE_HOME_CITY_AND_NUMBER
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: PHONE NUMBER*
|
||||
parseable name: addressFormInlinePhoneNumber
|
||||
field signature: 1198968276
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email">
|
||||
<label for="addressFormInlineEmail" id="addressFormInlineEmailLabel">EMAIL<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineEmail" name="addressFormInlineEmail" type="text" maxlength="40" value="formautofilltester@gmail.com"
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: EMAIL*
|
||||
parseable name: addressFormInlineEmail
|
||||
field signature: 2460631353
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="addressNickname">
|
||||
<label for="addressFormInlineAddressNickName">ADDRESS NICKNAME<span>*</span>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<span>The Address Nickname is a short name you create to help you easily identify this address within your address book.</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineAddressNickName" name="addressFormInlineAddressNickName" type="text" maxlength="35" placeholder="Holly at school, Mom, etc."
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: ADDRESS NICKNAME* The Address Nickname is a short name you create to help you easily identify this a
|
||||
parseable name: addressFormInlineAddressNickName
|
||||
field signature: 2948011243
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input name="saveAddressCheckboxInline" id="saveAddressCheckboxInline" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Add to address book.
|
||||
parseable name: saveAddressCheckboxInline
|
||||
field signature: 3323717546
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="UNKNOWN_TYPE" checked="checked"
|
||||
>
|
||||
<label for="saveAddressCheckboxInline">Add to address book. </label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="setDefaultCheckboxInline" id="setDefaultCheckboxInline" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Save as default shipping address in Address Book
|
||||
parseable name: setDefaultCheckboxInline
|
||||
field signature: 2923970107
|
||||
form signature: 16870043504464996221"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="setDefaultCheckboxInline" id="setDefaultCheckboxInlineLabel">Save as default billing address in Address Book</label>
|
||||
</div>
|
||||
<div id="defaultAddressChangeInline">
|
||||
<div id="WC_ContentAreaESpot_div_1_rx-DefaultAddrConfirm">
|
||||
<div id="WC_ContentAreaESpot_div_2_rx-DefaultAddrConfirm">[rx-DefaultAddrConfirm]</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li value="1">
|
||||
You are changing your Costco Default Shipping Address. All future orders from Costco.com, including Pharmacy Prescription Orders, will be sent to this Address.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="button-container">
|
||||
<div>
|
||||
<div>
|
||||
<button id="addressFormInlineButton" type="button">
|
||||
<span>
|
||||
<span>Save Address</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div id="footer-find-warehouse-block">
|
||||
<label for="footer-search-field">Find a Warehouse</label>
|
||||
<form id="WarehouseSearchForm" action="https://www.costco.com/warehouse-locations" novalidate="novalidate">
|
||||
<div>
|
||||
<input id="footer-search-field" type="search" name="location" tabindex="1" placeholder="City, state or zip" value=""
|
||||
title="Search">
|
||||
<input type="submit" id="searchClear" value="Clear">
|
||||
<input type="hidden" id="fromWLocSubmit" name="fromWLocSubmit" value="true">
|
||||
<input type="hidden" id="numOfWarehouses" name="numOfWarehouses" value="10">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="footer-email-offers-block">
|
||||
<label for="footer-email-offers">Get Email Offers</label>
|
||||
<form
|
||||
title="" action="https://www.costco.com/EmailSubscription" id="EmailOffersForm">
|
||||
<div>
|
||||
<input type="text" name="emailSignUp" id="footer-email-offers" placeholder="Enter your email">
|
||||
<span>
|
||||
<button type="submit" alt="Go">Go</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<input type="hidden" name="typeAheadDisabled" id="typeAheadDisabled" value="false">
|
||||
</body>
|
||||
</html>
|
527
browser/extensions/formautofill/test/fixtures/third_party/CostCo/ShippingAddress.html
поставляемый
Normal file
527
browser/extensions/formautofill/test/fixtures/third_party/CostCo/ShippingAddress.html
поставляемый
Normal file
|
@ -0,0 +1,527 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta feature="9.1.2">
|
||||
<title>Shipping</title>
|
||||
<meta name="currentBuildNumber" content="3.0.29057.0">
|
||||
<meta name="ServerName" content="www.costco.com">
|
||||
<meta name="LocalAddress" content="xxx.xxx.xxx.48">
|
||||
<meta name="LocalName" content="TP26">
|
||||
</head>
|
||||
<body>
|
||||
<form name="ShipAsCompleteForm" method="post" action="https://www.costco.com/CostcoMultiShippingCmd" id="ShipAsCompleteForm">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="orderId" value="644156669">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="multiAddressShipping" value="false">
|
||||
<input type="hidden" name="URL" value="CheckoutPaymentView">
|
||||
</form>
|
||||
<form name="NewAddressSingleShippingForm" method="post" action="https://www.costco.com/CostcoSelectShippingCmd" id="NewAddressSingleShippingForm">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="action" value="SingleShipping">
|
||||
<input type="hidden" name="addressId" value="">
|
||||
<input type="hidden" name="authToken" value="">
|
||||
</form>
|
||||
<form id="AddressFormModal-Form" name="AddressFormModal-Form" autocomplete="on" method="post">
|
||||
<div>
|
||||
<input type="hidden" name="addressType" value="S">
|
||||
<p id="addressFormModalRequired" tabindex="-1">
|
||||
<span>*</span> Required fields</p>
|
||||
<div id="personName">
|
||||
<div>
|
||||
<label for="addressFormModalFirstName">FIRST NAME<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalFirstName" name="addressFormModalFirstName"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: FIRST NAME* parseable name: addressFormModalFirstName field signature: 2222266781 form signature: 8397269939060577503" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalMiddleInitial">M.I.</label>
|
||||
<input id="addressFormModalMiddleInitial" name="addressFormModalMiddleInitial"
|
||||
title="overall type: NAME_MIDDLE_INITIAL server type: NAME_MIDDLE_INITIAL heuristic type: NAME_MIDDLE_INITIAL label: M.I. parseable name: addressFormModalMiddleInitial field signature: 3540652809 form signature: 8397269939060577503" type="text" maxlength="1"
|
||||
autofill-prediction="NAME_MIDDLE_INITIAL"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalLastName">LAST NAME<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalLastName" name="addressFormModalLastName"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: LAST NAME* parseable name: addressFormModalLastName field signature: 4218996568 form signature: 8397269939060577503" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalCompany">COMPANY NAME</label>
|
||||
<input id="addressFormModalCompany" name="addressFormModalCompany" type="text" maxlength="40"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: COMPANY_NAME label: COMPANY NAME parseable name: addressFormModalCompany field signature: 1845178698 form signature: 8397269939060577503"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalCountry">COUNTRY<span>*</span>
|
||||
</label>
|
||||
<select id="addressFormModalCountry" name="addressFormModalCountry"
|
||||
title="overall type: ADDRESS_HOME_COUNTRY server type: ADDRESS_HOME_COUNTRY heuristic type: ADDRESS_HOME_COUNTRY label: COUNTRY* parseable name: addressFormModalCountry field signature: 4052501735 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_COUNTRY"
|
||||
>
|
||||
<option value="US">United States</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="streetAddress">
|
||||
<legend>
|
||||
<label for="addressFormModalAddressLine1">STREET ADDRESS<span>*</span>
|
||||
</label>
|
||||
</legend>
|
||||
<div>
|
||||
<input id="addressFormModalAddressLine1" name="addressFormModalAddressLine1" placeholder="Address Line 1" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: STREET ADDRESS* parseable name: addressFormModalAddressLine1 field signature: 1532865404 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<input id="addressFormModalAddressLine2" name="addressFormModalAddressLine2" placeholder="Address Line 2" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Address Line 2 parseable name: addressFormModalAddressLine2 field signature: 2315514959 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormModalCity">CITY<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalCity" name="addressFormModalCity" type="text" maxlength="40"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: CITY* parseable name: addressFormModalCity field signature: 4130865920 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
<div id="stateAndZip">
|
||||
<div>
|
||||
<label for="addressFormModalState">STATE / PROVINCE<span>*</span>
|
||||
</label>
|
||||
<select id="addressFormModalState" name="addressFormModalState"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: STATE / PROVINCE* parseable name: addressFormModalState field signature: 4026908515 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="NO_STATE_TYPE_SELECTED" selected="selected">* Select</option>
|
||||
<option value="Aa">AA - Armed Forces America</option>
|
||||
<option value="Ae">AE - Armed Forces Europe</option>
|
||||
<option value="AL"> Alabama</option>
|
||||
<option value="AK"> Alaska</option>
|
||||
<option value="Ap">AP - Armed Forces Pacific</option>
|
||||
<option value="AZ"> Arizona</option>
|
||||
<option value="AR"> Arkansas</option>
|
||||
<option value="CA"> California</option>
|
||||
<option value="CO"> Colorado</option>
|
||||
<option value="CT"> Connecticut</option>
|
||||
<option value="DE"> Delaware</option>
|
||||
<option value="DC"> District of Columbia</option>
|
||||
<option value="FL"> Florida</option>
|
||||
<option value="GA"> Georgia</option>
|
||||
<option value="HI"> Hawaii</option>
|
||||
<option value="ID"> Idaho</option>
|
||||
<option value="IL"> Illinois</option>
|
||||
<option value="IN"> Indiana</option>
|
||||
<option value="IA"> Iowa</option>
|
||||
<option value="KS"> Kansas</option>
|
||||
<option value="KY"> Kentucky</option>
|
||||
<option value="LA"> Louisiana</option>
|
||||
<option value="ME"> Maine</option>
|
||||
<option value="MD"> Maryland</option>
|
||||
<option value="MA"> Massachusetts</option>
|
||||
<option value="MI"> Michigan</option>
|
||||
<option value="MN"> Minnesota</option>
|
||||
<option value="MS"> Mississippi</option>
|
||||
<option value="MO"> Missouri</option>
|
||||
<option value="MT"> Montana</option>
|
||||
<option value="NE"> Nebraska</option>
|
||||
<option value="NV"> Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH"> Ohio</option>
|
||||
<option value="OK"> Oklahoma</option>
|
||||
<option value="OR"> Oregon</option>
|
||||
<option value="PA"> Pennsylvania</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN"> Tennessee</option>
|
||||
<option value="TX"> Texas</option>
|
||||
<option value="UT"> Utah</option>
|
||||
<option value="VT"> Vermont</option>
|
||||
<option value="VA"> Virginia</option>
|
||||
<option value="WA"> Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI"> Wisconsin</option>
|
||||
<option value="WY"> Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormModalZip">ZIP / POSTAL CODE<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalZip" name="addressFormModalZip" type="text" maxlength="10"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: ZIP / POSTAL CODE* parseable name: addressFormModalZip field signature: 2383002781 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="phoneNumber">
|
||||
<label for="addressFormModalPhoneNumber">PHONE NUMBER<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalPhoneNumber" name="addressFormModalPhoneNumber" type="text" maxlength="32"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: PHONE NUMBER* parseable name: addressFormModalPhoneNumber field signature: 1884423068 form signature: 8397269939060577503"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</div>
|
||||
<div id="email">
|
||||
<label for="addressFormModalEmail" id="addressFormModalEmailLabel">EMAIL<span>*</span>
|
||||
</label>
|
||||
<input id="addressFormModalEmail" name="addressFormModalEmail" type="text" maxlength="40"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: EMAIL* parseable name: addressFormModalEmail field signature: 1977954575 form signature: 8397269939060577503"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div id="addressNickname">
|
||||
<label for="addressFormModalAddressNickName">ADDRESS NICKNAME<span>*</span>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<span>The Address Nickname is a short name you create to help you easily identify this address within your address book.</span>
|
||||
</label>
|
||||
<input id="addressFormModalAddressNickName" name="addressFormModalAddressNickName" type="text" maxlength="35" placeholder="Holly at school, Mom, etc."
|
||||
title="overall type: ADDRESS_HOME_STREET_ADDRESS server type: ADDRESS_HOME_STREET_ADDRESS heuristic type: UNKNOWN_TYPE label: ADDRESS NICKNAME* The Address Nickname is a short name you create to help you easily identify this a parseable name: addressFormModalAddressNickName field signature: 605446661 form signature: 8397269939060577503"
|
||||
autofill-prediction="ADDRESS_HOME_STREET_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<input name="saveAddressCheckbox" id="saveAddressCheckbox" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Add to address book. parseable name: saveAddressCheckbox field signature: 784127875 form signature: 8397269939060577503"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="saveAddressCheckbox">Add to address book.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="setDefaultCheckbox" id="setDefaultCheckbox" type="checkbox" disabled="true"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Save as default shipping address in Address Book parseable name: setDefaultCheckbox field signature: 1479095059 form signature: 8397269939060577503"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="setDefaultCheckbox" id="setDefaultCheckboxModalLabel">Save as default shipping address in Address Book</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="AddressFormInline-Form" name="AddressFormInline-Form" autocomplete="on" method="post">
|
||||
<div>
|
||||
<input type="hidden" name="addressType" value="S">
|
||||
<p id="addressFormInlineRequired" tabindex="-1">
|
||||
<span>*</span> Required fields</p>
|
||||
<div id="personName">
|
||||
<div>
|
||||
<label for="addressFormInlineFirstName">FIRST NAME<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineFirstName" name="addressFormInlineFirstName"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: FIRST NAME* parseable name: addressFormInlineFirstName field signature: 3938958812 form signature: 9207149805122018522" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineMiddleInitial">M.I.</label>
|
||||
<div>
|
||||
<input id="addressFormInlineMiddleInitial" name="addressFormInlineMiddleInitial"
|
||||
title="overall type: NAME_MIDDLE_INITIAL server type: NAME_MIDDLE_INITIAL heuristic type: NAME_MIDDLE_INITIAL label: M.I. parseable name: addressFormInlineMiddleInitial field signature: 3429701181 form signature: 9207149805122018522" type="text" maxlength="1"
|
||||
autofill-prediction="NAME_MIDDLE_INITIAL"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineLastName">LAST NAME<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineLastName" name="addressFormInlineLastName"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: LAST NAME* parseable name: addressFormInlineLastName field signature: 2108416564 form signature: 9207149805122018522" type="text" maxlength="40"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormInlineCompany">COMPANY NAME</label>
|
||||
<div>
|
||||
<input id="addressFormInlineCompany" name="addressFormInlineCompany" type="text" maxlength="40"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: COMPANY_NAME label: COMPANY NAME parseable name: addressFormInlineCompany field signature: 4087238350 form signature: 9207149805122018522"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineCountry">COUNTRY<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<select id="addressFormInlineCountry" name="addressFormInlineCountry"
|
||||
title="overall type: ADDRESS_HOME_COUNTRY server type: ADDRESS_HOME_COUNTRY heuristic type: ADDRESS_HOME_COUNTRY label: COUNTRY* parseable name: addressFormInlineCountry field signature: 695762362 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_COUNTRY"
|
||||
>
|
||||
<option value="US">United States</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="streetAddress">
|
||||
<legend>
|
||||
<label for="addressFormInlineAddressLine1">STREET ADDRESS<span>*</span>
|
||||
</label>
|
||||
</legend>
|
||||
<div>
|
||||
<input id="addressFormInlineAddressLine1" name="addressFormInlineAddressLine1" placeholder="Address Line 1" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: STREET ADDRESS* parseable name: addressFormInlineAddressLine1 field signature: 1040409778 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<input id="addressFormInlineAddressLine2" name="addressFormInlineAddressLine2" placeholder="Address Line 2" type="text" maxlength="30"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Address Line 2 parseable name: addressFormInlineAddressLine2 field signature: 1640842807 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div id="city">
|
||||
<label for="addressFormInlineCity">CITY<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineCity" name="addressFormInlineCity" type="text" maxlength="40"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: CITY* parseable name: addressFormInlineCity field signature: 2829321141 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="state">
|
||||
<div>
|
||||
<label for="addressFormInlineState">STATE / PROVINCE<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<select id="addressFormInlineState" name="addressFormInlineState"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: STATE / PROVINCE* parseable name: addressFormInlineState field signature: 3295167441 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="NO_STATE_TYPE_SELECTED" selected="selected">* Select</option>
|
||||
<option value="Aa">AA - Armed Forces America</option>
|
||||
<option value="Ae">AE - Armed Forces Europe</option>
|
||||
<option value="AL"> Alabama</option>
|
||||
<option value="AK"> Alaska</option>
|
||||
<option value="Ap">AP - Armed Forces Pacific</option>
|
||||
<option value="AZ"> Arizona</option>
|
||||
<option value="AR"> Arkansas</option>
|
||||
<option value="CA"> California</option>
|
||||
<option value="CO"> Colorado</option>
|
||||
<option value="CT"> Connecticut</option>
|
||||
<option value="DE"> Delaware</option>
|
||||
<option value="DC"> District of Columbia</option>
|
||||
<option value="FL"> Florida</option>
|
||||
<option value="GA"> Georgia</option>
|
||||
<option value="HI"> Hawaii</option>
|
||||
<option value="ID"> Idaho</option>
|
||||
<option value="IL"> Illinois</option>
|
||||
<option value="IN"> Indiana</option>
|
||||
<option value="IA"> Iowa</option>
|
||||
<option value="KS"> Kansas</option>
|
||||
<option value="KY"> Kentucky</option>
|
||||
<option value="LA"> Louisiana</option>
|
||||
<option value="ME"> Maine</option>
|
||||
<option value="MD"> Maryland</option>
|
||||
<option value="MA"> Massachusetts</option>
|
||||
<option value="MI"> Michigan</option>
|
||||
<option value="MN"> Minnesota</option>
|
||||
<option value="MS"> Mississippi</option>
|
||||
<option value="MO"> Missouri</option>
|
||||
<option value="MT"> Montana</option>
|
||||
<option value="NE"> Nebraska</option>
|
||||
<option value="NV"> Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH"> Ohio</option>
|
||||
<option value="OK"> Oklahoma</option>
|
||||
<option value="OR"> Oregon</option>
|
||||
<option value="PA"> Pennsylvania</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN"> Tennessee</option>
|
||||
<option value="TX"> Texas</option>
|
||||
<option value="UT"> Utah</option>
|
||||
<option value="VT"> Vermont</option>
|
||||
<option value="VA"> Virginia</option>
|
||||
<option value="WA"> Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI"> Wisconsin</option>
|
||||
<option value="WY"> Wyoming</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="addressFormInlineZip">ZIP / POSTAL CODE<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineZip" name="addressFormInlineZip" type="text" maxlength="10"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: ZIP / POSTAL CODE* parseable name: addressFormInlineZip field signature: 3060672026 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="phoneNumber">
|
||||
<label for="addressFormInlinePhoneNumber">PHONE NUMBER<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlinePhoneNumber" name="addressFormInlinePhoneNumber" type="text" maxlength="32"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: PHONE NUMBER* parseable name: addressFormInlinePhoneNumber field signature: 1198968276 form signature: 9207149805122018522"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email">
|
||||
<label for="addressFormInlineEmail" id="addressFormInlineEmailLabel">EMAIL<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineEmail" name="addressFormInlineEmail" type="text" maxlength="40" value="formautofilltester@gmail.com"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: EMAIL* parseable name: addressFormInlineEmail field signature: 2460631353 form signature: 9207149805122018522"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="addressNickname">
|
||||
<label for="addressFormInlineAddressNickName">ADDRESS NICKNAME<span>*</span>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<span>The Address Nickname is a short name you create to help you easily identify this address within your address book.</span>
|
||||
</label>
|
||||
<div>
|
||||
<input id="addressFormInlineAddressNickName" name="addressFormInlineAddressNickName" type="text" maxlength="35" placeholder="Holly at school, Mom, etc."
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: ADDRESS NICKNAME* ?The Address Nickname is a short name you create to help you easily identify this parseable name: addressFormInlineAddressNickName field signature: 2948011243 form signature: 9207149805122018522"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input name="saveAddressCheckboxInline" id="saveAddressCheckboxInline" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Add to address book. parseable name: saveAddressCheckboxInline field signature: 3323717546 form signature: 9207149805122018522"
|
||||
autofill-prediction="UNKNOWN_TYPE" checked="checked"
|
||||
>
|
||||
<label for="saveAddressCheckboxInline">Add to address book.</label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="setDefaultCheckboxInline" id="setDefaultCheckboxInline" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Save as default shipping address in Address Book parseable name: setDefaultCheckboxInline field signature: 2923970107 form signature: 9207149805122018522"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="setDefaultCheckboxInline" id="setDefaultCheckboxInlineLabel">Save as default shipping address in Address Book</label>
|
||||
</div>
|
||||
<div id="defaultAddressChangeInline">
|
||||
<div id="WC_ContentAreaESpot_div_1_rx-DefaultAddrConfirm">
|
||||
<div id="WC_ContentAreaESpot_div_2_rx-DefaultAddrConfirm">
|
||||
[rx-DefaultAddrConfirm]
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li value="1"> You are changing your Costco Default Shipping Address. All future orders from Costco.com, including Pharmacy Prescription Orders, will be sent to this Address.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input name="copyShippingCheckboxInline" id="copyShippingCheckboxInline" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Use as my default billing address parseable name: copyShippingCheckboxInline field signature: 1184640612 form signature: 9207149805122018522"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="copyShippingCheckboxInline" id="copyShippingCheckboxInlineLabel">Use as my default billing address</label>
|
||||
</div>
|
||||
<div id="billingNicknameDiv">
|
||||
<label>Billing Address Nickname
|
||||
<span>*</span>
|
||||
<span> <span>?</span>
|
||||
</span>
|
||||
<span>The Address Nickname is a short name you create to help you easily identify this address within your address book.</span>
|
||||
</label>
|
||||
<input type="text" id="billingNickname" name="billingNickname" maxlength="40" value="New Billing"
|
||||
title="overall type: ADDRESS_HOME_STREET_ADDRESS server type: ADDRESS_HOME_STREET_ADDRESS heuristic type: UNKNOWN_TYPE label: Billing Address Nickname * ?The Address Nickname is a short name you create to help you easily ident parseable name: billingNickname field signature: 4200328961 form signature: 9207149805122018522"
|
||||
autofill-prediction="ADDRESS_HOME_STREET_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div id="button-container">
|
||||
<div>
|
||||
<div>
|
||||
<button id="addressFormInlineButton" type="button">
|
||||
<span>
|
||||
<span>Ship to this Address</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div id="footer-find-warehouse-block">
|
||||
<label for="footer-search-field" >Find a Warehouse</label>
|
||||
<form id="WarehouseSearchForm" action="https://www.costco.com/warehouse-locations" novalidate="novalidate" name="WarehouseSearchForm">
|
||||
<div>
|
||||
<input id="footer-search-field" type="search" name="location" tabindex="1" placeholder="City, state or zip" value=""
|
||||
title="Search">
|
||||
<input type="submit" id="searchClear" value="Clear">
|
||||
<input type="hidden" id="fromWLocSubmit" name="fromWLocSubmit" value="true">
|
||||
<input type="hidden" id="numOfWarehouses" name="numOfWarehouses" value="10">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="footer-email-offers-block">
|
||||
<label for="footer-email-offers">Get Email Offers</label>
|
||||
<form
|
||||
title="" action="https://www.costco.com/EmailSubscription" id="EmailOffersForm" name="EmailOffersForm">
|
||||
<div>
|
||||
<input type="text" name="emailSignUp" id="footer-email-offers" placeholder="Enter your email">
|
||||
<span>
|
||||
<button type="submit" alt="Go">
|
||||
<span>
|
||||
<span>Go</span>
|
||||
</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<label>Follow Us</label>
|
||||
<ul>
|
||||
<li>
|
||||
<a>
|
||||
<label>facebook</label>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a>
|
||||
<label>pinterest</label>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<form name="SingleShippingForm" method="post" action="https://www.costco.com/CostcoSelectShippingCmd" id="SingleShippingForm">
|
||||
<input type="hidden" name="storeId" value="10301">
|
||||
<input type="hidden" name="langId" value="-1">
|
||||
<input type="hidden" name="catalogId" value="10701">
|
||||
<input type="hidden" name="action" value="SingleShipping">
|
||||
<input type="hidden" name="addressId" value="">
|
||||
<input type="hidden" name="authToken" value="">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
374
browser/extensions/formautofill/test/fixtures/third_party/CostCo/SignIn.html
поставляемый
Normal file
374
browser/extensions/formautofill/test/fixtures/third_party/CostCo/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,374 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Sign In</title>
|
||||
<meta name="currentBuildNumber" content="3.0.29057.0">
|
||||
<meta name="ServerName" content="www.costco.com">
|
||||
<meta name="LocalAddress" content="xxx.xxx.xxx.48">
|
||||
<meta name="LocalName" content="TP26">
|
||||
</head>
|
||||
<body waid71fa0d88-5390-4b5b-a2f4-e45fa93d85e2="SA password protect entry checker">
|
||||
<form action="https://www.costco.com/CatalogSearch">
|
||||
<input type="submit" value="Submit">
|
||||
<label for="search-field">Search</label>
|
||||
<div>
|
||||
<label>Search Icon</label>
|
||||
<span style=/"position: relative; display: inline-block;">
|
||||
<input type="text" tabindex="-1"
|
||||
title="Search" readonly autocomplete="off" spellcheck="false" dir="ltr">
|
||||
<input id="search-field" type="text" name="keyword" tabindex="1" placeholder="Search Costco"
|
||||
title="Search" autocomplete="off" spellcheck="false" dir="auto" >
|
||||
</span>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" value="Submit" tabindex="-1">
|
||||
</form>
|
||||
<form id="warehouse_locator_search" action='https://www.costco.com/warehouse-locations'>
|
||||
<div>
|
||||
<input id="warehouse-search-field"
|
||||
title="Warehouse Search Field" name="location" type="search" value=""/>
|
||||
</div>
|
||||
<input type="hidden" name="tiresCheckout" value="" />
|
||||
<input type="hidden" name="orderitemId" value="" />
|
||||
<input type="hidden" name="storeId" value="10301" />
|
||||
<input type="hidden" name="catalogId" value="10701" />
|
||||
<input type="hidden" name="fromPage" value="" />
|
||||
<label for="locator_search_filters">Show Warehouses with:</label>
|
||||
<div id="locator_search_filters">
|
||||
<div>
|
||||
<div>
|
||||
<input id="hasGas" type="checkbox" name="hasGas" value="true"
|
||||
title="Gas Station" />
|
||||
<label for="hasGas"
|
||||
title="Gas Station">
|
||||
<i>
|
||||
</i>
|
||||
<span>Gas Station</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input id="hasTires" type="checkbox" name="hasTires" value="true"
|
||||
title="Tire Service" />
|
||||
<label for="hasTires"
|
||||
title="Tire Service">
|
||||
<i>
|
||||
</i>
|
||||
<span>Tire Center</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input id="hasFood" type="checkbox" name="hasFood" value="true"
|
||||
title="Food Court" />
|
||||
<label for="hasFood"
|
||||
title="Food Court">
|
||||
<i>
|
||||
</i>
|
||||
<span>Food Court</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input id="hasHearing" type="checkbox" name="hasHearing" value="true"
|
||||
title="Hearing Aids" />
|
||||
<label for="hasHearing"
|
||||
title="Hearing Aids">
|
||||
<i>
|
||||
</i>
|
||||
<span>Hearing Aids</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input id="hasOptical" type="checkbox" name="hasOptical" value="true"
|
||||
title="Optical Dept" />
|
||||
<label for="hasOptical"
|
||||
title="Optical Dept">
|
||||
<i>
|
||||
</i>
|
||||
<span>Optical</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input id="hasPharmacy" type="checkbox" name="hasPharmacy" value="true"
|
||||
title="Pharmacy" />
|
||||
<label for="hasPharmacy"
|
||||
title="Pharmacy">
|
||||
<i>
|
||||
</i>
|
||||
<span>Pharmacy</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input id="hasBusiness" type="checkbox" name="hasBusiness" value="true"
|
||||
title="Business" />
|
||||
<label for="hasBusiness"
|
||||
title="Business">
|
||||
<i>
|
||||
</i>
|
||||
<span>Business Center</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="fromWLocSubmit" name="fromWLocSubmit" value="true" />
|
||||
<input type="hidden" id="numOfWarehouses" name="numOfWarehouses" value="10" />
|
||||
<input type="submit" value="Find a Warehouse"/>
|
||||
</form>
|
||||
<div id="email-offer-popover-container">
|
||||
<label for="header_emailSignUpEmail">Get Email Offers</label>
|
||||
<label>Sign up for great offers from Costco.com!</label>
|
||||
<form
|
||||
title="" action="/EmailSubscription" id="header_emailSignup">
|
||||
<div>
|
||||
<input id="header_emailSignUpEmail" type="text" name="emailSignUp" placeholder="Enter your email">
|
||||
<span>
|
||||
<button type="submit" alt="Go">Go</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<form action="https://www.costco.com/Logoff?URL=TopCategoriesDisplay">
|
||||
<li>
|
||||
<input type="submit" value="Sign Out"/>
|
||||
</li>
|
||||
</form>
|
||||
<form action="/EmailSubscription">
|
||||
<div>
|
||||
<label for="modal_email_offers">Sign up for great offers from Costco.com!</label>
|
||||
<input type="text" id="modal_email_offers" name="emailSignUp" placeholder="Enter your email"/>
|
||||
</div>
|
||||
</form>
|
||||
<form
|
||||
title="" name="LogonForm" method="post" action="https://www.costco.com/Logon" id="LogonForm">
|
||||
<input type="hidden" name="storeId" value="10301" id="WC_AccountDisplay_FormInput_storeId_In_Logon_1">
|
||||
<input type="hidden" name="catalogId" value="10701" id="WC_AccountDisplay_FormInput_catalogId_In_Logon_1">
|
||||
<input type="hidden" name="langId" value="-1" id="WC_AccountDisplay_FormInput_langId_In__1">
|
||||
<input type="hidden" name="reLogonURL" value="LogonForm" id="WC_AccountDisplay_FormInput_reLogonURL_In_Logon_1">
|
||||
<input type="hidden" name="isPharmacy" value="" id="WC_AccountDisplay_FormInput_isPharmacy_In_Logon_1">
|
||||
<input type="hidden" name="authToken" value="312404731%2cKsqvty%2bpMJ%2bCAl3XeIkCxSEgLa4%3d">
|
||||
<input type="hidden" name="URL" value="CheckOutCmd?orderId=644156669&storeId=10301&storeId=10301&authToken=312404731%252cKsqvty%252bpMJ%252bCAl3XeIkCxSEgLa4%253d&authToken=312404731%252cKsqvty%252bpMJ%252bCAl3XeIkCxSEgLa4%253d&orderErrMsgObj=%7B%7D&itemMessage=1.0&langId=-1&langId=-1&catalogId=10701&catalogId=10701" id="WC_AccountDisplay_FormInput_URL_In_Logon_1">
|
||||
<p>Please provide your email address and password to access your account.†
|
||||
</p>
|
||||
<div>
|
||||
<label for="logonId">Email Address<span>*</span>
|
||||
</label>
|
||||
<input id="logonId" name="logonId" maxlength="254" type="text"
|
||||
title="Email Address" value="">
|
||||
<br>
|
||||
</div>
|
||||
<div>
|
||||
<label for="logonPassword">Password:<span>*</span>
|
||||
</label>
|
||||
<input name="logonPassword" id="logonPassword" maxlength="40" type="password" autocomplete="off"
|
||||
title="Password:">
|
||||
<p>Passwords are case sensitive.</p>
|
||||
<br>
|
||||
</div>
|
||||
<div>
|
||||
<input id="option1" name="option1" type="checkbox">
|
||||
<label for="option1">Remember me</label>
|
||||
</div>
|
||||
<input type="hidden" name="submitButton" value="signIn">
|
||||
<div>
|
||||
<button type="submit"
|
||||
title="Sign in">
|
||||
<span>
|
||||
<span>Sign in</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form
|
||||
title="Reset password" name="ResetPasswordForm" method="post" action="https://www.costco.com/ResetPassword" id="ResetPasswordForm">
|
||||
<input type="hidden" name="challengeAnswer" value="-" id="WC_PasswordResetForm_FormInput_challengeAnswer_In__1">
|
||||
<input type="hidden" name="storeId" value="10301" id="WC_PasswordResetForm_FormInput_storeId_In__1">
|
||||
<input type="hidden" name="catalogId" value="10701" id="WC_PasswordResetForm_FormInput_catalogId_In__1">
|
||||
<input type="hidden" name="langId" value="-1" id="WC_PasswordResetForm_FormInput_langId_In__1">
|
||||
<input type="hidden" name="state" value="passwdconfirm" id="WC_PasswordResetForm_FormInput_state_In__1">
|
||||
<input type="hidden" name="URL" value="ResetPasswordSuccessView" id="WC_PasswordResetForm_FormInput_URL_In__1">
|
||||
<input type="hidden" name="errorViewName" value="RememberMeLogonFormView" id="WC_PasswordResetForm_FormInput_errorViewName_In__1">
|
||||
<input type="hidden" name="subject" value="New Costco.com Password" id="WC_PasswordResetForm_FormInput_subject_In__1">
|
||||
<input type="hidden" name="sender" value="no-reply@costco.com" id="WC_PasswordResetForm_FormInput_sender_In__1">
|
||||
<input type="hidden" name="isPharmacy" value="" id="WC_PasswordResetForm_FormInput_isPharmacy_In_Logon_1">
|
||||
<p>To reset your password, enter the email address associated with your Costco.com account. Instructions to create a new password will be sent to your address.
|
||||
</p>
|
||||
<div>
|
||||
<label for="forgotPassword_email">Email address<span>*</span>
|
||||
</label>
|
||||
<input id="forgotPassword_email" name="logonId" type="text"
|
||||
title="Email address">
|
||||
</div>
|
||||
<input type="hidden" name="submitButton" value="forgotPassword">
|
||||
<div>
|
||||
<button type="submit"
|
||||
title="Reset password">
|
||||
<span>
|
||||
<span>Reset password</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form
|
||||
title="" name="RegisterForm" method="post" action="https://www.costco.com/UserRegistrationAdd" id="RegisterForm">
|
||||
<input type="hidden" name="new" value="Y" id="WC_UserRegistrationAddForm_FormInput_new_In_Register_1">
|
||||
<input type="hidden" name="storeId" value="10301" id="WC_UserRegistrationAddForm_FormInput_storeId_In_Register_1">
|
||||
<input type="hidden" name="catalogId" value="10701" id="WC_UserRegistrationAddForm_FormInput_catalogId_In_Register_1">
|
||||
<input type="hidden" name="langId" value="-1" id="WC_UserRegistrationAddForm_FormInput_langId_In__1">
|
||||
<input type="hidden" name="URL" value="CheckOutCmd?orderId=644156669&storeId=10301&storeId=10301&authToken=312404731%252cKsqvty%252bpMJ%252bCAl3XeIkCxSEgLa4%253d&authToken=312404731%252cKsqvty%252bpMJ%252bCAl3XeIkCxSEgLa4%253d&orderErrMsgObj=%7B%7D&itemMessage=1.0&langId=-1&langId=-1&catalogId=10701&catalogId=10701" id="WC_UserRegistrationAddForm_FormInput_URL_In_Register_1">
|
||||
<input type="hidden" name="userField1" value="" id="WC_UserRegistrationAddForm_FormInput_userField1_In_Register_1">
|
||||
<input type="hidden" name="addressField1" value="" id="WC_UserRegistrationAddForm_FormInput_addressField1_In_Register_1">
|
||||
<input type="hidden" name="addressType" value="B" id="WC_UserRegistrationAddForm_FormInput_addressType_In_Register_1">
|
||||
<input type="hidden" name="nickName" value="Self Address" id="WC_UserRegistrationAddForm_FormInput_nickName_In_Register_1">
|
||||
<input type="hidden" name="errorViewName" value="LogonForm" id="WC_UserRegistrationAddForm_FormInput_errorViewName_In_Register_1">
|
||||
<input type="hidden" name="validated" id="validated" value="true">
|
||||
<input type="hidden" name="primary" value="false" id="WC_UserRegistrationAddForm_FormInput_primary_In_Register_1">
|
||||
<input type="hidden" name="challengeQuestion" value="-" id="WC_UserRegistrationAddForm_FormInput_challengeQuestion_In_Register_1">
|
||||
<input type="hidden" name="challengeAnswer" value="-" id="WC_UserRegistrationAddForm_FormInput_challengeAnswer_In_Register_1">
|
||||
<input type="hidden" name="fromPage" value="LogonForm" id="WC_UserRegistrationAddForm_FormInput_fromPage_In_Register_1">
|
||||
<input type="hidden" name="isPharmacy" value="" id="WC_UserRegistrationAddForm_FormInput_isPharmacy_In_Logon_1">
|
||||
<input type="hidden" name="page" value="account" id="WC_UserRegistrationAddForm_FormInput_page_In_Register_1">
|
||||
<input type="hidden" name="parentMember" value="o=costco us bc sellers,o=costco na sellers,o=extended sites seller organization,o=root organization">
|
||||
<p>Enter your email address and create a password below to register.†
|
||||
</p>
|
||||
<div>
|
||||
<span>*</span> Required fields
|
||||
</div>
|
||||
<div>
|
||||
<label for="register_email1">Email Address<span>*</span>
|
||||
</label>
|
||||
<input id="register_email1" name="email1" type="text" maxlength="40"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: Email Address* parseable name: email1 field signature: 1119374200 form signature: 14385182823106756929" value=""
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
<div id="passwordField">
|
||||
<label for="register_logonPassword">Password:</label>
|
||||
<input id="register_logonPassword" name="logonPassword" maxlength="20" type="password" value=""
|
||||
title="overall type: ACCOUNT_CREATION_PASSWORD server type: ACCOUNT_CREATION_PASSWORD heuristic type: UNKNOWN_TYPE label: Password: parseable name: logonPassword field signature: 354853082 form signature: 14385182823106756929"
|
||||
autofill-prediction="ACCOUNT_CREATION_PASSWORD"
|
||||
>
|
||||
<div id="PasswordStrength">
|
||||
<img src="./Sign%20In_files/Password_Strength_Arrow.png">
|
||||
<div>
|
||||
<p>Password must meet the following:</p>
|
||||
<div>
|
||||
<ul>
|
||||
<li>Use between 8 and 20 characters</li>
|
||||
<li>Include at least one letter</li>
|
||||
<li>Does not contain blank spaces or the following special characters: < > " \ .
|
||||
</li>
|
||||
<li>Passwords match</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>Password Strength : <span id="strengthText">
|
||||
</span>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Too Short</li>
|
||||
<li>Weak</li>
|
||||
<li>Fair</li>
|
||||
<li>Good</li>
|
||||
<li>Strong</li>
|
||||
</ul>
|
||||
<p id="passwordStrengthBar">
|
||||
</p>
|
||||
<p>To improve strength, increase password length and use capital letters, numbers, and special characters
|
||||
(except < > " \ .)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="register_logonPasswordVerify">Confirm Password<span>*</span>
|
||||
</label>
|
||||
<input id="register_logonPasswordVerify" name="logonPasswordVerify" maxlength="20" type="password" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Confirm Password* parseable name: logonPasswordVerify field signature: 1976176530 form signature: 14385182823106756929"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="register_userField2">Costco Membership Number</label>
|
||||
<input id="register_userField2" name="userField2" type="text" maxlength="16"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Costco Membership Number parseable name: userField2 field signature: 1051463506 form signature: 14385182823106756929" value=""
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<p>
|
||||
<b>Non-members may be assessed an additional surcharge. The surcharge does not apply to prescription items. Executive Members need to provide a membership number to receive credit for their 2% rebate.</b>
|
||||
</p>
|
||||
<div>
|
||||
<input id="register_sendMeEmail" name="sendMeEmail" type="checkbox" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Yes, I would like to receive emails about special offers and new product information from Costco. Co parseable name: sendMeEmail field signature: 3147026083 form signature: 14385182823106756929"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="register_sendMeEmail">Yes, I would like to receive emails about special offers and new product information from Costco. Costco will not rent or sell your email address.</label>
|
||||
</div>
|
||||
<input name="submitButton" value="Register" type="hidden">
|
||||
<div>
|
||||
<button type="submit"
|
||||
title="Register">
|
||||
<span>
|
||||
<span>Register</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://www.costco.com/EmailSubscription" id="footer_emailSignup" name="footer_emailSignup">
|
||||
<input id="footer_emailSignUpEmail" name="emailSignUp" type="text">
|
||||
</form>
|
||||
<div id="language-region-modal-container">
|
||||
<div>
|
||||
???LANGUAGE_REGION_MODAL_TITLE???
|
||||
</div>
|
||||
<div>
|
||||
<div id="language-radio-buttons">
|
||||
<p>???LANGUAGE_REGION_MODAL_CHOOSE_LANGUAGE???</p>
|
||||
<label>
|
||||
<input type="radio" name="language" value="-1">???HEADER_LANGUAGE_NAME_-1???</label>
|
||||
</div>
|
||||
<hr>
|
||||
<div id="region-radio-buttons">
|
||||
<p>???LANGUAGE_REGION_MODAL_CHOOSE_REGION???</p>
|
||||
<div>
|
||||
<label>
|
||||
<input type="radio" name="region" value="AB">Alberta - AB</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="BC">British Columbia - BC</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="MB">Manitoba - MB</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="NB">New Brunswick - NB</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="NL">Newfoundland and Labrador - NL</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="NT">Northwest Territories - NT</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="NS">Nova Scotia - NS</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<input type="radio" name="region" value="NU">Nunavut - NU</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="ON">Ontario - ON</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="PE">Prince Edward Island - PE</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="QC">Quebec - QC</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="SK">Saskatchewan - SK</label>
|
||||
<label>
|
||||
<input type="radio" name="region" value="YT">Yukon - YT</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input id="language-region-set" type="submit" value="???LANGUAGE_REGION_MODAL_SUBMIT???">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
381
browser/extensions/formautofill/test/fixtures/third_party/HomeDepot/Checkout_ShippingPayment.html
поставляемый
Normal file
381
browser/extensions/formautofill/test/fixtures/third_party/HomeDepot/Checkout_ShippingPayment.html
поставляемый
Normal file
|
@ -0,0 +1,381 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>The Home Depot - Checkout</title>
|
||||
</head>
|
||||
<body>
|
||||
<checkout-form name="pickupDetailsSection">
|
||||
<shipping>
|
||||
<div>
|
||||
<hd-address type="shipping">
|
||||
<hd-address-field label="Shipping Address" type="type">
|
||||
<div name="addressFieldForm">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<hd-name-field name="firstName" label="First Name" analytics-tag="pickup options">
|
||||
<span name="firstName">
|
||||
<label for="inputField">
|
||||
<span>First Name</span>
|
||||
</label>
|
||||
<input type="text" id="firstName" name="inputField" maxlength="30" placeholder="" required="required">
|
||||
</span>
|
||||
</hd-name-field>
|
||||
</div>
|
||||
<div>
|
||||
<hd-name-field name="lastName" label="Last Name" analytics-tag="pickup options">
|
||||
<span name="lastName">
|
||||
<label for="inputField">
|
||||
<span>Last Name</span>
|
||||
</label>
|
||||
<input type="text" id="lastName" name="inputField" maxlength="30" placeholder="" required="required">
|
||||
</span>
|
||||
</hd-name-field>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<hd-email-field name="emailInput" label="Email" placeholder="you@domain.com" analytics-tag="pickup options">
|
||||
<span name="emailInput">
|
||||
<label for="inputField">
|
||||
<span>Email</span>
|
||||
</label>
|
||||
<input id="emailInput" type="email" name="inputField" placeholder="you@domain.com" required="required">
|
||||
</span>
|
||||
</hd-email-field>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<create-account>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<span role="button" tabindex="0">Create an account</span> to track your order history and check out faster - all we need is a password.</div>
|
||||
<div>
|
||||
<p>Check out faster, access past orders, and organize products into lists.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<hd-password-field label="Password" name="password">
|
||||
<span name="hdPasswordField">
|
||||
<label for="textPasswordInput">
|
||||
<span>Password</span>
|
||||
</label>
|
||||
<input type="password" name="inputField">
|
||||
<span>
|
||||
</span>
|
||||
</span>
|
||||
</hd-password-field>
|
||||
</div>
|
||||
<div>
|
||||
<hd-password-field name="confirmPassword" label="Confirm Password">
|
||||
<span name="hdPasswordField">
|
||||
<label for="textPasswordInput">
|
||||
<span>Confirm Password</span>
|
||||
</label>
|
||||
<input type="password" name="inputField">
|
||||
<span>
|
||||
</span>
|
||||
</span>
|
||||
</hd-password-field>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<hd-check-box field-value="" label="SHOW PASSWORD" tab-index-hd="-1">
|
||||
<div>
|
||||
<div>
|
||||
<input tabindex="-1" type="checkbox" name="hdCheckBox_3" id="hdCheckBox_3">
|
||||
<label for="hdCheckBox_3">SHOW PASSWORD</label>
|
||||
</div>
|
||||
</div>
|
||||
</hd-check-box>
|
||||
</div>
|
||||
<div>
|
||||
<span>Passwords are case sensitive and must be at least 8 characters.</span>
|
||||
<div>
|
||||
<span>Create a strong password by:</span>
|
||||
<ul>
|
||||
<li>Including numbers or symbols</li>
|
||||
<li>Mixing upper/lowercase</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a target="_blank">Terms & Conditions</a> | <a target="_blank">Privacy & Security</a>
|
||||
</div>
|
||||
</div>
|
||||
<create-account-button>
|
||||
</create-account-button>
|
||||
</div>
|
||||
</div>
|
||||
</create-account>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<hd-phone-field name="phone" label="Phone" analytics-tag="pickup options">
|
||||
<span name="phone">
|
||||
<label for="inputField">
|
||||
<span>Phone</span>
|
||||
</label>
|
||||
<input id="phone" name="inputField" type="tel" inputmode="numeric" placeholder="(___) ___-____" required="required">
|
||||
</span>
|
||||
</hd-phone-field>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="billingAddress">
|
||||
<span>Shipping Address</span>
|
||||
</label>
|
||||
</div>
|
||||
<span name="streetInput">
|
||||
<hd-type-ahead id="billingAddress" name="billingAddress" label="Billing Street Address" placeholder="Address Line 1" pause="700" input-class="form-input__field">
|
||||
<div>
|
||||
<input id="billingAddress_value" name="billingAddress" type="text" maxlength="30" placeholder="Address Line 1" required="">
|
||||
</div>
|
||||
</hd-type-ahead>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span role="button" tabindex="0">Add an apartment, suite, building, etc.</span>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span name="zipInput">
|
||||
<label for="zip">
|
||||
<span>ZIP Code</span>
|
||||
</label>
|
||||
<input type="tel" name="zip" maxlength="5" required="">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
<span>City, State</span>
|
||||
</label>
|
||||
<span>
|
||||
<b>MOUNTAIN VIEW, CA</b>
|
||||
</span>
|
||||
<div>
|
||||
<span name="stateInput">
|
||||
<select id="cityStateListSelector" autocomplete="billing street-address" name="pickupLocation">
|
||||
<option value="? object:null ?" selected="selected">
|
||||
</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</hd-address-field>
|
||||
</hd-address>
|
||||
<div>
|
||||
<hd-check-box field-value="checkoutFlags.hideBillingAddress" label="Use as Billing Address" checked="checked">
|
||||
<div>
|
||||
<div>
|
||||
<input tabindex="" type="checkbox" name="hdCheckBox_1" id="hdCheckBox_1" checked="checked">
|
||||
<label for="hdCheckBox_1">Use as Billing Address</label>
|
||||
</div>
|
||||
</div>
|
||||
</hd-check-box>
|
||||
</div>
|
||||
</div>
|
||||
</shipping>
|
||||
</checkout-form>
|
||||
<card-field form-is-valid="formIsValid">
|
||||
<div name="cardForm">
|
||||
<div>
|
||||
<input name="expiryMonth" type="tel" autocomplete="cc-exp-month" tabindex="-1">
|
||||
<input name="expiryYear" type="tel" autocomplete="cc-exp-year" tabindex="-1">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span>Payment</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="radio" value="PayPal" id="payPal" name="paymentOptions">
|
||||
<label for="payPal" tabindex="10">
|
||||
<span>
|
||||
</span>
|
||||
<div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" select-payment="" value="creditCard" id="creditCard" name="paymentOptions" checked="checked">
|
||||
<label for="creditCard" tabindex="10">
|
||||
<span>
|
||||
</span>Credit Card</label>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
</label>
|
||||
<input id="cardNumber" name="cardNumber" type="tel" mask-field="" mask="0000 0000 0000 0000 0000 0" maxlength="26" placeholder="Enter credit card number" required="required">
|
||||
<span id="ccIcon" tabindex="-1" role="button">
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<span>Expiration</span>
|
||||
<span>
|
||||
<select id="ccMonth" name="ccMonth" required="">
|
||||
<option value="" selected="selected">Month</option>
|
||||
<option label="01 - January" value="object:17">01 - January</option>
|
||||
<option label="02 - February" value="object:18">02 - February</option>
|
||||
<option label="03 - March" value="object:19">03 - March</option>
|
||||
<option label="04 - April" value="object:20">04 - April</option>
|
||||
<option label="05 - May" value="object:21">05 - May</option>
|
||||
<option label="06 - June" value="object:22">06 - June</option>
|
||||
<option label="07 - July" value="object:23">07 - July</option>
|
||||
<option label="08 - August" value="object:24">08 - August</option>
|
||||
<option label="09 - September" value="object:25">09 - September</option>
|
||||
<option label="10 - October" value="object:26">10 - October</option>
|
||||
<option label="11 - November" value="object:27">11 - November</option>
|
||||
<option label="12 - December" value="object:28">12 - December</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span>
|
||||
<select id="ccYear" name="ccYear" required="">
|
||||
<option value="" selected="selected">Year</option>
|
||||
<option label="2017" value="object:29">2017</option>
|
||||
<option label="2018" value="object:30">2018</option>
|
||||
<option label="2019" value="object:31">2019</option>
|
||||
<option label="2020" value="object:32">2020</option>
|
||||
<option label="2021" value="object:33">2021</option>
|
||||
<option label="2022" value="object:34">2022</option>
|
||||
<option label="2023" value="object:35">2023</option>
|
||||
<option label="2024" value="object:36">2024</option>
|
||||
<option label="2025" value="object:37">2025</option>
|
||||
<option label="2026" value="object:38">2026</option>
|
||||
<option label="2027" value="object:39">2027</option>
|
||||
<option label="2028" value="object:40">2028</option>
|
||||
<option label="2029" value="object:41">2029</option>
|
||||
<option label="2030" value="object:42">2030</option>
|
||||
<option label="2031" value="object:43">2031</option>
|
||||
<option label="2032" value="object:44">2032</option>
|
||||
<option label="2033" value="object:45">2033</option>
|
||||
<option label="2034" value="object:46">2034</option>
|
||||
<option label="2035" value="object:47">2035</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
<span>
|
||||
CVV (on back)
|
||||
</span>
|
||||
</label>
|
||||
<input id="cvv" name="cvv" type="tel" placeholder="ñññ" minlength="3" required="">
|
||||
<span id="ccIcon">
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span role="button" tabindex="0">Apply a Gift Card</span>
|
||||
<span> | </span>
|
||||
<span role="button" tabindex="0">Have a PO/Job Code for this order?</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</card-field>
|
||||
<base>
|
||||
<div>
|
||||
<ui-view>
|
||||
<div id="checkout" analytics="">
|
||||
<div name="checkout">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<myapron-display>
|
||||
<div>
|
||||
<div>
|
||||
<span name="myApronID">
|
||||
<label for="myapron">
|
||||
<span>myApron ID (Optional)</span>
|
||||
</label>
|
||||
<input type="tel" name="myapron" maxlength="10">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</myapron-display>
|
||||
<email-subscribe>
|
||||
<div>
|
||||
<div>
|
||||
<hd-check-box field-value="user.emailSubscribed" name="emailSubscribed" label="Yes, I would like to receive emails about unadvertised & online only specials, new products and store promotions." checked="true">
|
||||
<div>
|
||||
<div>
|
||||
<input tabindex="" type="checkbox" name="emailSubscribed" id="hdCheckBox_2" checked="checked">
|
||||
<label for="hdCheckBox_2">Yes, I would like to receive emails about unadvertised & online only specials, new products and store promotions.</label>
|
||||
</div>
|
||||
</div>
|
||||
</hd-check-box>
|
||||
</div>
|
||||
</div>
|
||||
</email-subscribe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<right-rail pick-up-options="pickUpOptions" messages="checkoutModel.messagesSummary">
|
||||
<div>
|
||||
<div>
|
||||
<promotions-summary promotions="order.promotionsModel" messages="messages">
|
||||
<div name="promoForm">
|
||||
<div>
|
||||
<span role="button" tabindex="0">Have a promo code?</span>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span>
|
||||
<span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<input id="promoId" name="promoId" type="text">
|
||||
</span>
|
||||
<span>
|
||||
<a>
|
||||
<span>Apply</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</promotions-summary>
|
||||
</div>
|
||||
</div>
|
||||
</right-rail>
|
||||
</div>
|
||||
</div>
|
||||
</ui-view>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
83
browser/extensions/formautofill/test/fixtures/third_party/HomeDepot/SignIn.html
поставляемый
Normal file
83
browser/extensions/formautofill/test/fixtures/third_party/HomeDepot/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>The Home Depot - SignIn</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content=" at The Home Depot - Tablet" name="description">
|
||||
<meta content="" name="keywords">
|
||||
</head>
|
||||
<body>
|
||||
<form name="shoppingCartForm" id="shopCartForm" method="post">
|
||||
<input type="hidden" id="lineItemId" name="lineItemId" value="480de313-1be8-41ed-b8f9-1b1e371a7eb9_480de313-1be8-41ed-b8f9-1b1e371a7eb9">
|
||||
<input type="hidden" id="quantity" name="quantity" value="">
|
||||
<input type="hidden" id="fulfillmentMethod" name="fulfillmentMethod" value="ShipToHome">
|
||||
<input type="hidden" id="fulfillmentLocation" name="fulfillmentLocation" value="">
|
||||
<input type="hidden" id="LOCAL_STORE_ID" name="LOCAL_STORE_ID" value="">
|
||||
<input type="hidden" id="orderId" name="orderId" value="711220840">
|
||||
<input type="hidden" name="proceedAsGuest" value="yes">
|
||||
<input type="hidden" id="currentPage" name="currentPage" value="LogonPage">
|
||||
<input type="hidden" id="cartVisited" name="cartVisited" value="false">
|
||||
<input type="hidden" id="isEligibleForOPC" name="isEligibleForOPC" value="true">
|
||||
<input type="hidden" id="paymentType" name="paymentType" value="regularCheckout">
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
<span>Email Address:</span>
|
||||
</label>
|
||||
<input type="email" placeholder="you@domain.com" id="guestEmail" name="guestLoginValue" value="" required="" errorkey="email">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<p>You will have the opportunity to create an account and track your order once you complete your checkout.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<button>
|
||||
<span>Continue</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form name="checkOutLogonForm" id="checkOutLogonForm" method="post" action="https://secure2.homedepot.com/MCCCheckout/Checkout/checkoutLogon.do">
|
||||
<input type="hidden" name="dologin" value="yes">
|
||||
<input type="hidden" id="orderId" name="orderId" value="711220840">
|
||||
<h3>I'm a Returning Customer
|
||||
</h3>
|
||||
<div>
|
||||
<span>Your sign in is incorrect. Please enter your email address or password. Note: One more invalid attempt will lock your account.</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>We periodically require password updates. Please <a>reset your password</a> or continue as a guest.</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
<span>Email Address:</span>
|
||||
</label>
|
||||
<input type="email" placeholder="you@domain.com" name="logonId" id="email">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<label>
|
||||
<span>Password:</span>
|
||||
</label>
|
||||
<label id="toogleBtn">Show</label>
|
||||
<input type="password" name="logonPassword" id="password">
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div id="SignInPart">
|
||||
<input id="signInNow" type="submit" value="Sign In">
|
||||
</div>
|
||||
<div>
|
||||
<a>Reset Password</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
478
browser/extensions/formautofill/test/fixtures/third_party/Macys/Checkout_Payment.html
поставляемый
Normal file
478
browser/extensions/formautofill/test/fixtures/third_party/Macys/Checkout_Payment.html
поставляемый
Normal file
|
@ -0,0 +1,478 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Macy's Checkout</title>
|
||||
<meta http-equiv="generator" content="JACPKMALPHTCSJDTCR">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
</head>
|
||||
<body>
|
||||
<form id="rc-payment-info-form" novalidate="">
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-payment-selection-row">
|
||||
<div>
|
||||
<input type="radio" id="rc-creditcard" for="rc-creditcard-label" name="payment.type" checked="checked" value="CREDITCARD"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Credit card
|
||||
parseable name: payment.type
|
||||
field signature: 2449554739
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label id="rc-creditcard-label" for="rc-creditcard">Credit card</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" id="rc-paypal" name="payment.type" value="PAYPAL"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Choose payment method
|
||||
parseable name: payment.type
|
||||
field signature: 2449554739
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<span for="rc-paypal">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-paypal-disclaimer-cc-row">
|
||||
<div id="rc-paypal-disclaimer">
|
||||
<b>Note: </b>PayPal can't be used with Gift Cards, Reward Cards and Credit Cards.
|
||||
Plenti points can be earned but not used with PayPal.
|
||||
</div>
|
||||
</div>
|
||||
<fieldset id="rc-credit-card-container">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<p>Secure payment
|
||||
<a target="_blank">more info</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-card-type">Card type</label>
|
||||
<select name="creditCard.cardType.code" id="rc-payment-card-type" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_TYPE
|
||||
label: Card type
|
||||
parseable name: creditCard.cardType.code
|
||||
field signature: 1958753038
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_TYPE"
|
||||
>
|
||||
<option value="-1">Select</option>
|
||||
<option value="Y">Macy's</option>
|
||||
<option value="B">Macy's American Express</option>
|
||||
<option value="A">American Express</option>
|
||||
<option value="V">Visa</option>
|
||||
<option value="M">MasterCard</option>
|
||||
<option value="O">Discover</option>
|
||||
<option value="F">Employee Card</option>
|
||||
</select>
|
||||
<div id="payment-aria-info" tabindex="-1">Your Shipping, Plenti, and Gift Card information can be found and verified at the top of this page"</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-payment-card-number-row">
|
||||
<div>
|
||||
<label for="rc-payment-card-number">Card number</label>
|
||||
<input type="text" maxlength="20" pattern="\d*" name="creditCard.cardNumber" id="rc-payment-card-number" value="" autocomplete="off" autocorrect="off"
|
||||
title="overall type: CREDIT_CARD_NUMBER
|
||||
server type: CREDIT_CARD_NUMBER
|
||||
heuristic type: CREDIT_CARD_NUMBER
|
||||
label: Card number
|
||||
parseable name: creditCard.cardNumber
|
||||
field signature: 2117159926
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
>
|
||||
<input type="hidden" name="creditCard.maskedCreditCardNumber" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label id="rc-payment-expiration-label">Expiration date</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<select name="creditCard.expMonth" id="rc-payment-card-month" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_EXP_MONTH
|
||||
server type: CREDIT_CARD_EXP_MONTH
|
||||
heuristic type: CREDIT_CARD_EXP_MONTH
|
||||
label: Expiration date
|
||||
parseable name: creditCard.expMonth
|
||||
field signature: 989675451
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_EXP_MONTH"
|
||||
>
|
||||
<option>01</option>
|
||||
<option>02</option>
|
||||
<option>03</option>
|
||||
<option>04</option>
|
||||
<option>05</option>
|
||||
<option>06</option>
|
||||
<option>07</option>
|
||||
<option>08</option>
|
||||
<option>09</option>
|
||||
<option>10</option>
|
||||
<option>11</option>
|
||||
<option>12</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<select name="creditCard.expYear" id="rc-payment-card-year" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
server type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
heuristic type: CREDIT_CARD_EXP_4_DIGIT_YEAR
|
||||
label: Expiration date
|
||||
parseable name: creditCard.expYear
|
||||
field signature: 891328465
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_EXP_4_DIGIT_YEAR"
|
||||
>
|
||||
<option>2017</option>
|
||||
<option>2018</option>
|
||||
<option>2019</option>
|
||||
<option>2020</option>
|
||||
<option>2021</option>
|
||||
<option>2022</option>
|
||||
<option>2023</option>
|
||||
<option>2024</option>
|
||||
<option>2025</option>
|
||||
<option>2026</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-scode" id="rc-payment-scode-label">Security code</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-payment-scode-row">
|
||||
<div>
|
||||
<input type="text" name="fake-password" id="rc-fake-password" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_VERIFICATION_CODE
|
||||
label: Please enter the 4 digit security code on the front of your credit card Please enter the 3 digit sec
|
||||
parseable name: fake-password
|
||||
field signature: 3761992124
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
>
|
||||
<input type="text" maxlength="4" pattern="\d*" name="creditCard.securityCode" id="rc-payment-scode" autocomplete="off"
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: CREDIT_CARD_VERIFICATION_CODE
|
||||
label: Security code
|
||||
parseable name: creditCard.securityCode
|
||||
field signature: 789650537
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
>
|
||||
</div>
|
||||
<div id="amex-cvv-info" tabindex="-1">Please enter the 4 digit security code on the front of your credit card</div>
|
||||
<div id="not-amex-cvv-info" tabindex="-1">Please enter the 3 digit security code on the back of your credit card</div>
|
||||
<div id="rc-cvv-icon-row">
|
||||
<div id="rc-cvv-icon">
|
||||
<span id="rc-cvv-img">
|
||||
</span>
|
||||
<span id="rc-cvv-hint">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<section id="rc-paypal-container">
|
||||
<div>
|
||||
<div id="rc-paypal-disclaimer">
|
||||
<b>Note: </b>PayPal can't be used with Gift Cards, Reward Cards and Credit Cards.
|
||||
Plenti points can be earned but not used with PayPal.
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-paypal-login-disclaimer">
|
||||
<div>
|
||||
You will login on PayPal's site on the next page and review your order, then you will finish the transaction at macy's.com
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<fieldset id="rc-billing-address-container">
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-use-shipping-container">
|
||||
<div>
|
||||
<input type="checkbox" id="rc-use-shipping" name="useMyShippingAddress" value="true" checked=""
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Use my shipping address
|
||||
parseable name: useMyShippingAddress
|
||||
field signature: 1490259836
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label id="rc-use-shipping-label" for="rc-use-shipping">Use my shipping address</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="co-useshippingAddress-summary">
|
||||
<div>
|
||||
<p>Vance Chen</p>
|
||||
<p>1099 Maiden Lane</p>
|
||||
<p>102</p>
|
||||
<p>Ann Arbor, MI 48105</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-billing-address">
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-firstName">First name</label>
|
||||
<input type="text" maxlength="20" name="billingContact.firstName" id="rc-payment-firstName" value="Vance" autocorrect="off" autocomplete="given-name"
|
||||
title="overall type: HTML_TYPE_GIVEN_NAME
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: First name
|
||||
parseable name: billingContact.firstName
|
||||
field signature: 1110479879
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_GIVEN_NAME"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-lastName">Last name</label>
|
||||
<input type="text" maxlength="30" name="billingContact.lastName" id="rc-payment-lastName" value="Chen" autocorrect="off" autocomplete="family-name"
|
||||
title="overall type: HTML_TYPE_FAMILY_NAME
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: Last name
|
||||
parseable name: billingContact.lastName
|
||||
field signature: 724121833
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_FAMILY_NAME"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-line1">Address line 1</label>
|
||||
<input type="text" maxlength="35" name="billingAddress.addressLine1" id="rc-payment-line1" value="1099 Maiden Lane" autocorrect="off" autocomplete="address-line1"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address line 1
|
||||
parseable name: billingAddress.addressLine1
|
||||
field signature: 3436138513
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LINE1"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-line2">Address line 2 (optional)</label>
|
||||
<input type="text" maxlength="35" name="billingAddress.addressLine2" id="rc-payment-line2" autocorrect="off" autocomplete="address-line2" value="102"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address line 2 (optional)
|
||||
parseable name: billingAddress.addressLine2
|
||||
field signature: 3817149136
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LINE2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-city">City</label>
|
||||
<input type="text" maxlength="25" name="billingAddress.city" id="rc-payment-city" value="Ann Arbor" autocorrect="off" autocomplete="address-level2"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LEVEL2
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City
|
||||
parseable name: billingAddress.city
|
||||
field signature: 2433902552
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LEVEL2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-paystateZipRow">
|
||||
<div>
|
||||
<label for="rc-payment-state">State</label>
|
||||
<select name="billingAddress.state" id="rc-payment-state" autocomplete="address-level1"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LEVEL1
|
||||
server type: ADDRESS_HOME_STATE
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State
|
||||
parseable name: billingAddress.state
|
||||
field signature: 333754698
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LEVEL1"
|
||||
>
|
||||
<option value="-1">Select</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AS">AS</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FM">FM</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MH">MH</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI" selected="">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="MP">MP</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PW">PW</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="rc-payment-zipCode">ZIP code</label>
|
||||
<input type="text" maxlength="5" pattern="\d*" name="billingAddress.zipCode" id="rc-payment-zipCode" value="48105" autocorrect="off" autocomplete="postal-code"
|
||||
title="overall type: HTML_TYPE_POSTAL_CODE
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP code
|
||||
parseable name: billingAddress.zipCode
|
||||
field signature: 837276327
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_POSTAL_CODE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
We'll only contact you if we have questions about this order.
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-phone">Phone number</label>
|
||||
<input type="text" maxlength="14" pattern="\d*" name="billingAddress.phone" id="rc-payment-phone" value="(734) 111-2132" autocorrect="off" autocomplete="tel"
|
||||
title="overall type: HTML_TYPE_TEL
|
||||
server type: PHONE_HOME_CITY_AND_NUMBER
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: Phone number
|
||||
parseable name: billingAddress.phone
|
||||
field signature: 2467847771
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_TEL"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-payment-email">Email address</label>
|
||||
<input type="email" maxlength="75" name="billingContact.email" id="rc-payment-email" value="" autocapitalize="off" autocorrect="off" autocomplete="email"
|
||||
title="overall type: HTML_TYPE_EMAIL
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: Email address
|
||||
parseable name: billingContact.email
|
||||
field signature: 4157735572
|
||||
form signature: 4053649612452005841"
|
||||
autofill-prediction="HTML_TYPE_EMAIL"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<fieldset>
|
||||
<div id="rc-paypalcontinue-row">
|
||||
<div>
|
||||
<button type="button" id="rc-paypal-continue">Continue to Paypal</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-normalpaycontinue-row">
|
||||
<div>
|
||||
<button type="submit" id="rc-payment-continue">Continue</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<input type="hidden" id="gmeUrl" value="https://www.googleapis.com/mapsengine/v1/tables/06739517320133004748-11853667273131550346/features?version=published&key=AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmClientId" value="gme-macysinc">
|
||||
<input type="hidden" id="gmeAPIKey" value="AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmeTableId" value="06739517320133004748-11853667273131550346">
|
||||
<input type="hidden" id="gmeToSdpEnabled" value="true">
|
||||
<input type="hidden" id="macysCookieDomain" value=".macys.com">
|
||||
<input type="hidden" id="MACYS_secureHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_baseHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_assetsHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_imageHostName" value="/img/ts/is/image/MCY">
|
||||
<input type="hidden" id="AKAMAI_LOGIC" value="hybrid">
|
||||
<input type="hidden" id="searchBoxPlaceholderGuest" value="Search or enter web ID">
|
||||
<input type="hidden" id="searchBoxPlaceholderUser" value="[userName], Search or enter web ID">
|
||||
</body>
|
||||
</html>
|
439
browser/extensions/formautofill/test/fixtures/third_party/Macys/Checkout_ShippingAddress.html
поставляемый
Normal file
439
browser/extensions/formautofill/test/fixtures/third_party/Macys/Checkout_ShippingAddress.html
поставляемый
Normal file
|
@ -0,0 +1,439 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Macy's Checkout</title>
|
||||
<meta http-equiv="generator" content="JACPKMALPHTCSJDTCR">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
</head>
|
||||
<body>
|
||||
<form id="rc-shipping-info-form">
|
||||
<fieldset>
|
||||
<fieldset id="rc-shipping-address-wrapper">
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-firstName">First name</label>
|
||||
<input type="text" maxlength="20" name="contact.firstName" id="rc-shipping-firstName" value="" autocorrect="off" autocomplete="given-name"
|
||||
title="overall type: HTML_TYPE_GIVEN_NAME
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: NAME_FIRST
|
||||
label: First name
|
||||
parseable name: contact.firstName
|
||||
field signature: 2682246885
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_GIVEN_NAME"
|
||||
>
|
||||
<small>Please enter a first name.</small>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-lastName">Last name</label>
|
||||
<input type="text" maxlength="30" name="contact.lastName" id="rc-shipping-lastName" value="" autocorrect="off" autocomplete="family-name"
|
||||
title="overall type: HTML_TYPE_FAMILY_NAME
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: NAME_LAST
|
||||
label: Last name
|
||||
parseable name: contact.lastName
|
||||
field signature: 4271897545
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_FAMILY_NAME"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-line1">Address line 1</label>
|
||||
<input type="text" maxlength="35" name="address.addressLine1" id="rc-shipping-line1" value="" autocorrect="off" autocomplete="address-line1"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LINE1
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address line 1
|
||||
parseable name: address.addressLine1
|
||||
field signature: 2758559035
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LINE1"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-line2">Address line 2 (optional)</label>
|
||||
<input type="text" maxlength="35" name="address.addressLine2" id="rc-shipping-line2" value="" autocorrect="off" autocomplete="address-line2" placeholder="Apt, Suite, Bldg, Floor, etc"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LINE2
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address line 2 (optional)
|
||||
parseable name: address.addressLine2
|
||||
field signature: 1355777065
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LINE2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-city">City</label>
|
||||
<input type="text" maxlength="25" name="address.city" id="rc-shipping-city" value="" autocorrect="off" autocomplete="address-level2"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LEVEL2
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City
|
||||
parseable name: address.city
|
||||
field signature: 242591127
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LEVEL2"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-stateZipRow">
|
||||
<div>
|
||||
<label for="rc-shipping-state">State</label>
|
||||
<select name="address.state" id="rc-shipping-state" autocomplete="address-level1"
|
||||
title="overall type: HTML_TYPE_ADDRESS_LEVEL1
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State
|
||||
parseable name: address.state
|
||||
field signature: 1305630158
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_ADDRESS_LEVEL1"
|
||||
>
|
||||
<option value="-1">Select</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AS">AS</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FM">FM</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MH">MH</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="MP">MP</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PW">PW</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label for="rc-shipping-postal-code">ZIP code</label>
|
||||
<input type="text" maxlength="5" name="address.zipCode" id="rc-shipping-postal-code" value="" autocorrect="off" autocomplete="postal-code" pattern="\d*"
|
||||
title="overall type: HTML_TYPE_POSTAL_CODE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: ZIP code
|
||||
parseable name: address.zipCode
|
||||
field signature: 1541909938
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_POSTAL_CODE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-shipping-phone">Phone number</label>
|
||||
<input type="text" maxlength="14" pattern="\d*" name="address.phone" id="rc-shipping-phone" autocomplete="tel" value="" autocorrect="off"
|
||||
title="overall type: HTML_TYPE_TEL
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: Phone number
|
||||
parseable name: address.phone
|
||||
field signature: 3405332267
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="HTML_TYPE_TEL"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<fieldset id="rc-shipping-method-set">
|
||||
<div>
|
||||
<div>
|
||||
<legend tabindex="-1">Shipping method</legend>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="radio" name="shippingMethod.methodCode" value="G" id="rc-shipping-shipping-methodG" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Standard Transit time: 3-6 business days
|
||||
parseable name: shippingMethod.methodCode
|
||||
field signature: 1185913307
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="rc-shipping-shipping-methodG">Standard
|
||||
<br>
|
||||
Transit time: 3-6 business days
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>$10.95
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="radio" name="shippingMethod.methodCode" value="2" id="rc-shipping-shipping-method2" disabled=""
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Premium Transit time: 2-3 business days
|
||||
parseable name: shippingMethod.methodCode
|
||||
field signature: 1185913307
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="rc-shipping-shipping-method2">Premium
|
||||
<br>
|
||||
Transit time: 2-3 business days
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>$19.95
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="radio" name="shippingMethod.methodCode" value="O" id="rc-shipping-shipping-methodO" disabled=""
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Express Transit time: 1-2 business days
|
||||
parseable name: shippingMethod.methodCode
|
||||
field signature: 1185913307
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="rc-shipping-shipping-methodO">Express
|
||||
<br>
|
||||
Transit time: 1-2 business days
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>$29.95
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
<b>Note: We'll send you an email to schedule your delivery.</b>
|
||||
</p>
|
||||
<p>
|
||||
<b>Note: Some items in your order may ship separately. Transit time is the time between leaving our fulfillment center & delivery to you.</b>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<div>
|
||||
<div>
|
||||
<legend tabindex="-1">
|
||||
Gift Options
|
||||
</legend>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="checkbox" name="giftOrder" id="rc-giftoption-isgift" value="true"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: This order contains a gift
|
||||
parseable name: giftOrder
|
||||
field signature: 2509042763
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<div id="aria-giftcardinfo" tabindex="-1">
|
||||
"Selecting this checkbox will expand additional gift options"
|
||||
</div>
|
||||
<label for="rc-giftoption-isgift">This order contains a gift</label>
|
||||
<input type="hidden" value="true" name="_giftOrder">
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-giftoptions-additional">
|
||||
<div>
|
||||
<div>
|
||||
<input type="checkbox" name="giftOptions.haveGiftMessage" value="true" id="rc-giftoption-giftMsg"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Gift message (optional)
|
||||
parseable name: giftOptions.haveGiftMessage
|
||||
field signature: 1542269083
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="rc-giftoption-giftMsg">Gift message (optional)</label>
|
||||
<input type="hidden" value="true" name="_giftOptions.haveGiftMessage">
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rc-giftmsg-text">
|
||||
<div>
|
||||
<div>
|
||||
<span id="rc-giftmsg-additional-info">Write a personal message. We'll print it on a card & send it along with the order.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-gift-msg1">Message line 1 (max 45 characters)</label>
|
||||
<input type="text" maxlength="45" name="giftOptions.senderName" id="rc-gift-msg1" value="" autocomplete="off" placeholder="Message line 1 (max 45 characters)"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Message line 1 (max 45 characters)
|
||||
parseable name: giftOptions.senderName
|
||||
field signature: 851756973
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-gift-msg2">Message line 2 (max 45 characters)</label>
|
||||
<input type="text" maxlength="45" name="giftOptions.giftMessage1" id="rc-gift-msg2" value="" autocomplete="off" placeholder="Message line 2 (max 45 characters)"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Message line 2 (max 45 characters)
|
||||
parseable name: giftOptions.giftMessage1
|
||||
field signature: 893448548
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="rc-gift-msg3">Message line 3 (max 45 characters)</label>
|
||||
<input type="text" maxlength="45" name="giftOptions.giftMessage2" id="rc-gift-msg3" value="" autocomplete="off" placeholder="Message line 3 (max 45 characters)"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Message line 3 (max 45 characters)
|
||||
parseable name: giftOptions.giftMessage2
|
||||
field signature: 3147898435
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="checkbox" name="giftOptions.packageInGiftBox" value="true" id="rc-giftoption-giftBox"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Send in a gift box ($6.00 per order)
|
||||
parseable name: giftOptions.packageInGiftBox
|
||||
field signature: 1556860808
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="rc-giftoption-giftBox">Send in a gift box ($6.00 per order)</label>
|
||||
<input type="hidden" value="true" name="_giftOptions.packageInGiftBox">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="checkbox" name="giftOptions.sendGiftReceipt" value="true" id="rc-giftoption-packingSlip" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Hide prices on the packing slip
|
||||
parseable name: giftOptions.sendGiftReceipt
|
||||
field signature: 367416642
|
||||
form signature: 6571413743856647727"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<label for="rc-giftoption-packingSlip">Hide prices on the packing slip</label>
|
||||
<input type="hidden" value="true" name="_giftOptions.sendGiftReceipt">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<input type="hidden" id="gmeUrl" value="https://www.googleapis.com/mapsengine/v1/tables/06739517320133004748-11853667273131550346/features?version=published&key=AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmClientId" value="gme-macysinc">
|
||||
<input type="hidden" id="gmeAPIKey" value="AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmeTableId" value="06739517320133004748-11853667273131550346">
|
||||
<input type="hidden" id="gmeToSdpEnabled" value="true">
|
||||
<input type="hidden" id="macysCookieDomain" value=".macys.com">
|
||||
<input type="hidden" id="MACYS_secureHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_baseHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_assetsHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_imageHostName" value="/img/ts/is/image/MCY">
|
||||
<input type="hidden" id="AKAMAI_LOGIC" value="hybrid">
|
||||
<input type="hidden" id="searchBoxPlaceholderGuest" value="Search or enter web ID">
|
||||
<input type="hidden" id="searchBoxPlaceholderUser" value="[userName], Search or enter web ID">
|
||||
</body>
|
||||
</html>
|
208
browser/extensions/formautofill/test/fixtures/third_party/Macys/SignIn.html
поставляемый
Normal file
208
browser/extensions/formautofill/test/fixtures/third_party/Macys/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,208 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="yui_3_8_1_1_1489978541398_168">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Sign In - Macy's Checkout</title>
|
||||
<meta http-equiv="generator" content="JACPKMALPHTCSJDTCR">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
</head>
|
||||
<body id="yui_3_8_1_1_1489978541398_167">
|
||||
<form id="signInForm" action="https://www.macys.com/account/signin?fromCheckout=fromCheckout" method="post">
|
||||
<div id="yui_3_8_1_1_1489978541398_165">
|
||||
<ul id="yui_3_8_1_1_1489978541398_164">
|
||||
<li id="yui_3_8_1_1_1489978541398_163">
|
||||
<div>
|
||||
<label for="emailAddr">Email address:</label>
|
||||
</div>
|
||||
<div id="yui_3_8_1_1_1489978541398_162">
|
||||
<input id="emailAddr" name="email" type="text" value="" maxlength="75">
|
||||
</div>
|
||||
<div> </div>
|
||||
</li>
|
||||
<li id="yui_3_8_1_1_1489978541398_175">
|
||||
<div>
|
||||
<label for="password">
|
||||
Password:
|
||||
</label>
|
||||
</div>
|
||||
<div id="yui_3_8_1_1_1489978541398_174">
|
||||
<input id="password" name="password" type="password" value="" maxlength="16">
|
||||
</div>
|
||||
<div> </div>
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<div>
|
||||
<span>Password is case sensitive</span>
|
||||
</div>
|
||||
<div>
|
||||
<a id="frgtPwd">Forgot Your Password?</a>
|
||||
</div>
|
||||
<div>
|
||||
<button type="submit" id="isnormalcheckout" name="accountSignIn">
|
||||
<span>checkout</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="emailForm" action="https://www.macys.com/account/signin?fromCheckout=fromCheckout" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li id="overlaySubmitDiv">
|
||||
<label name="" for="forgotEmail" csserrorclass="error">
|
||||
Get started by entering the email address you use to sign in:
|
||||
</label>
|
||||
<input id="forgotEmail" name="passwordRecovery.email" type="text" value="">
|
||||
</li>
|
||||
<li id="overlaySubmitbtnDiv">
|
||||
<button id="verifySubmitBtn" type="submit">
|
||||
<span>continue </span>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="capthaForm" action="https://www.macys.com/account/signin?fromCheckout=fromCheckout" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<label name="email" for="email" csserrorclass="error">
|
||||
Your email address:
|
||||
</label>
|
||||
<span>
|
||||
<span id="emailID">
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li id="Captchapart">
|
||||
<img id="captchaImg" alt="enter the letters in the below field">
|
||||
<div>
|
||||
<a>
|
||||
<img id="refreshbtn" src="./Sign In - Macy's Checkout_files/new_image.gif" alt="new_image">
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label path="securityCode" for="securityCode" csserrorclass="error">
|
||||
Please enter the characters shown above and we'll email you a link to reset your password:
|
||||
</label>
|
||||
<input id="securityCode" name="passwordRecovery.securityCode" type="text" value="" maxlength="50">
|
||||
<input id="refreshCaptcha" name="passwordRecovery.refreshCaptcha" type="hidden" value="">
|
||||
</li>
|
||||
<li>
|
||||
<input id="verifyCaptchaBtn" type="submit" value="submit">
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="securityQAForm" action="https://www.macys.com/account/signin?fromCheckout=fromCheckout" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<label name="email" for="email" csserrorclass="error">
|
||||
Your email address:
|
||||
<span>
|
||||
<div id="secureEmailID">
|
||||
</div>
|
||||
</span>
|
||||
</label>
|
||||
<input id="hiddenEmail" name="passwordRecovery.email" type="hidden" value="">
|
||||
<input id="hiddenSecQue" name="passwordRecovery.question" type="hidden" value="">
|
||||
</li>
|
||||
<li>
|
||||
<div id="question">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<input id="secureAnswer" name="passwordRecovery.secureAnswer" type="text" value="">
|
||||
</li>
|
||||
<li>
|
||||
<button type="submit" id="verifysecurityBtn">
|
||||
<span>continue </span>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="resetPasswordForm" action="https://www.macys.com/account/signin?fromCheckout=fromCheckout" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<div>
|
||||
<div>
|
||||
<label name="password" for="passwordfield" csserrorclass="error inline" id="resetPasswordLabel">
|
||||
Enter new password: </label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input id="passwordfield" name="passwordRecovery.password"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Enter new password:
|
||||
parseable name: passwordRecovery.password
|
||||
field signature: 457433414
|
||||
form signature: 10250648745005274367" type="password" value="" maxlength="16"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>
|
||||
<label path="verifyPassword" for="verifyPassword" csserrorclass="error inline" id="confirmPasswordLabel">
|
||||
Confirm password:
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input id="verifyPasswordfield" name="passwordRecovery.verifyPassword"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Confirm password:
|
||||
parseable name: passwordRecovery.verifyPassword
|
||||
field signature: 1462365960
|
||||
form signature: 10250648745005274367" type="password" value="" maxlength="16"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<button id="verifyResetPasswordBtn" type="submit">
|
||||
<span>Save & SignIn</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</form>
|
||||
<input type="hidden" id="gmeUrl" value="https://www.googleapis.com/mapsengine/v1/tables/06739517320133004748-11853667273131550346/features?version=published&key=AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmClientId" value="gme-macysinc">
|
||||
<input type="hidden" id="gmeAPIKey" value="AIzaSyCzwiHW1tSp_4FXaFuORRffbxBzQUN1qs4">
|
||||
<input type="hidden" id="gmeTableId" value="06739517320133004748-11853667273131550346">
|
||||
<input type="hidden" id="gmeToSdpEnabled" value="true">
|
||||
<input type="hidden" id="macysCookieDomain" value=".macys.com">
|
||||
<input type="hidden" id="MACYS_secureHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_baseHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_assetsHostName" value="https://www.macys.com">
|
||||
<input type="hidden" id="MACYS_imageHostName" value="/img/ts/is/image/MCY">
|
||||
<input type="hidden" id="AKAMAI_LOGIC" value="hybrid">
|
||||
<input type="hidden" id="searchBoxPlaceholderGuest" value="Search or enter web ID">
|
||||
<input type="hidden" id="searchBoxPlaceholderUser" value="[userName], Search or enter web ID">
|
||||
</body>
|
||||
</html>
|
1083
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/BillingInfo.html
поставляемый
Normal file
1083
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/BillingInfo.html
поставляемый
Normal file
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
156
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/Login.html
поставляемый
Normal file
156
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/Login.html
поставляемый
Normal file
|
@ -0,0 +1,156 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Newegg.com - Login</title>
|
||||
<meta name="keywords" content="Newegg.com - Once You Know, You Newegg">
|
||||
<meta name="description" content="Newegg.com offers the best prices on computer parts, laptop computers, digital cameras, electronics and more with fast shipping and top-rated customer service. Once you know, you Newegg!">
|
||||
<meta name="google-translate-customization" content="d08b8c829bab9a46-ac914e23c0a3607a-g7fba27d07436db8a-e">
|
||||
<meta name="language" content="english">
|
||||
<meta name="copyright" content="© 2000-2017 Newegg Inc.">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="robots" content="index,follow">
|
||||
</head>
|
||||
<body>
|
||||
<form method="post" action="https://secure.newegg.com/Shopping/ShoppingLogin.aspx" name="loginForm" id="loginForm" novalidate="novalidate">
|
||||
<span id="CaptchaS">
|
||||
</span>
|
||||
<input type="hidden" name="nextpage" value="https://secure.newegg.com/GlobalShopping/CheckoutStep1.aspx?CartID=797%2b903ZRCECSZWBJE0&PaymentType=SIMPLECHECKOUT&IsFromCart=1">
|
||||
<input type="hidden" name="StuTargetPage" value="">
|
||||
<input type="hidden" name="action" value="login">
|
||||
<input type="hidden" name="ShoppingLoginFlag" value="0">
|
||||
<input type="hidden" name="SPSign" value="">
|
||||
<input type="hidden" name="LoginAppendix" value="x0kFyaA7FPQ7xpTt6JRs7tjF3jD2dY/TYhVkLYYFvo6cyOJwvqVUNlxxUjSZYUB0">
|
||||
<ul>
|
||||
<li>
|
||||
<label for="UserName">
|
||||
Newegg ID
|
||||
<span>
|
||||
(Typically your email address)
|
||||
</span>
|
||||
</label>
|
||||
<input type="text" tabindex="5" maxlength="128" size="15"
|
||||
title="Email Address" id="UserName" name="UserName" value="">
|
||||
</li>
|
||||
<li>
|
||||
<label for="UserPwd">
|
||||
Password
|
||||
</label>
|
||||
<input type="password" tabindex="6" maxlength="30" size="17"
|
||||
title="Password" id="UserPwd" name="UserPwd">
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" value="1" id="IsRemember" name="IsRemember" tabindex="8">
|
||||
<label for="IsRemember">Remember Me</label>
|
||||
</li>
|
||||
<li id="guestloginforgot">
|
||||
<a
|
||||
title="Forgot your Newegg ID or Password?">
|
||||
Forgot your Newegg ID or Password?
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>
|
||||
</div>
|
||||
<a tabindex="7" id="submit">
|
||||
SIGN IN <span>►</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" value="1" id="IsSubscribe" name="Newsletter" tabindex="9">
|
||||
<label for="IsSubscribe">Subscribe for exclusive e-mail offers and discounts</label>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" id="cfAppendix" name="cfAppendix">
|
||||
<input type="hidden" name="LoginAdditional" value="V6QdNc8GTJxKoxj5ef1cRLAlFLzcWhGcVj7od0iDpBUAd2FabNw7ApfN0g6LtbiB7EHyhgAaqpOdFbyt3NLuwPc9y1fkPs72+5qzSWHzJu19uWH+4mAefmVtLbXxTeIyGjEzvpanJrgib/dw61t1qZBot9DAigxz">
|
||||
<input type="hidden" name="IsPrevCaptcha" value="False">
|
||||
<input type="hidden" id="GoogleReCAPTCHA" name="GoogleReCAPTCHA" value="False">
|
||||
<input type="hidden" id="hiddenServerDateTimeNow" value="Mon, 20 Mar 2017 03:43:47 GMT">
|
||||
<input type="hidden" id="hiddenAllowClientTimeDiffInMinute" value="10">
|
||||
</form>
|
||||
<form method="post" action="https://secure.newegg.com/Shopping/ShoppingLogin.aspx" name="guestCheckOutForm" id="guestCheckOutForm" novalidate="novalidate">
|
||||
<input type="hidden" name="action" value="guestckeckout">
|
||||
<a rel="">CONTINUE AS A GUEST <span>►</span>
|
||||
</a>
|
||||
</form>
|
||||
<form name="registerForm" id="registerForm" method="post" action="https://secure.newegg.com/Shopping/ShoppingLogin.aspx" novalidate="novalidate">
|
||||
<input type="hidden" value="https://secure.newegg.com/GlobalShopping/CheckoutStep1.aspx?CartID=797%2b903ZRCECSZWBJE0&PaymentType=SIMPLECHECKOUT&IsFromCart=1" name="NextPage">
|
||||
<input type="hidden" name="ShoppingLoginFlag" value="0">
|
||||
<input type="hidden" name="action" value="register">
|
||||
<input type="hidden" name="SPSign" value="">
|
||||
<input type="hidden" name="LoginAppendix" id="LoginAppendix" value="x0kFyaA7FPQ7xpTt6JRs7tjF3jD2dY/TYhVkLYYFvo6cyOJwvqVUNlxxUjSZYUB0">
|
||||
<input type="hidden" name="IsPrevCaptcha" value="False">
|
||||
<ul>
|
||||
<li>
|
||||
<label for="LoginName">Email Address</label>
|
||||
<input name="LoginName" id="LoginName" tabindex="10" maxlength="128"
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: Email Address
|
||||
parseable name: LoginName
|
||||
field signature: 1679789274
|
||||
form signature: 17613573414325428514" value="" type="text"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label for="Password">Password</label>
|
||||
<input name="Password" id="Password" tabindex="12" type="password"
|
||||
title="overall type: ACCOUNT_CREATION_PASSWORD
|
||||
server type: ACCOUNT_CREATION_PASSWORD
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Password
|
||||
parseable name: Password
|
||||
field signature: 3935904101
|
||||
form signature: 17613573414325428514"
|
||||
autofill-prediction="ACCOUNT_CREATION_PASSWORD"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label for="LoginName1">Confirm Email Address</label>
|
||||
<input name="LoginName1" tabindex="11" maxlength="128" id="LoginName1"
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: Confirm Email Address
|
||||
parseable name: LoginName1
|
||||
field signature: 2268781658
|
||||
form signature: 17613573414325428514" value="" type="text"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label for="Password1">Confirm Password</label>
|
||||
<input name="Password1" id="Password1" tabindex="13"
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Confirm Password
|
||||
parseable name: Password1
|
||||
field signature: 1108250005
|
||||
form signature: 17613573414325428514" type="password"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
</li>
|
||||
<li>
|
||||
<input id="IsSubscribe2" type="checkbox" value="1" name="Newsletter" tabindex="15" checked=""
|
||||
title="overall type: UNKNOWN_TYPE
|
||||
server type: NO_SERVER_DATA
|
||||
heuristic type: UNKNOWN_TYPE
|
||||
label: Subscribe for exclusive e-mail offers and discounts
|
||||
parseable name: Newsletter
|
||||
field signature: 2681942707
|
||||
form signature: 17613573414325428514"
|
||||
autofill-prediction="UNKNOWN_TYPE">
|
||||
<label for="IsSubscribe2"
|
||||
>Subscribe for exclusive e-mail offers and discounts</label>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
270
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/ShippingInfo.html
поставляемый
Normal file
270
browser/extensions/formautofill/test/fixtures/third_party/NewEgg/ShippingInfo.html
поставляемый
Normal file
|
@ -0,0 +1,270 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Newegg.com - Shipping Info</title>
|
||||
<meta name="keywords" content="Newegg.com - Once You Know, You Newegg">
|
||||
<meta name="description" content="Newegg.com offers the best prices on computer parts, laptop computers, digital cameras, electronics and more with fast shipping and top-rated customer service. Once you know, you Newegg!">
|
||||
<meta name="google-translate-customization" content="d08b8c829bab9a46-ac914e23c0a3607a-g7fba27d07436db8a-e">
|
||||
<meta name="language" content="english">
|
||||
<meta name="copyright" content="© 2000-2017 Newegg Inc.">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="robots" content="index,follow">
|
||||
</head>
|
||||
<body>
|
||||
<form id="checkout-shipping" action="https://secure.newegg.com/GlobalShopping/CheckoutStep1.aspx?CartID=415%2b903ZRCECSZWBJE0&IsCombineGuest=1" method="POST" novalidate="novalidate">
|
||||
<input type="hidden" name="SubmitFlag" value="true">
|
||||
<input type="hidden" name="STransNumber" value="0">
|
||||
<input type="hidden" name="action" value="">
|
||||
<input type="hidden" name="OldContactWith" value="">
|
||||
<ul>
|
||||
<li>
|
||||
<label>
|
||||
First Name
|
||||
</label>
|
||||
<input validgroup="g1"
|
||||
title="overall type: NAME_FIRST
|
||||
server type: NAME_FIRST
|
||||
heuristic type: NAME_FIRST
|
||||
label: First Name
|
||||
parseable name: SFirstName
|
||||
field signature: 3883597444
|
||||
form signature: 7987654844929240962" type="text" name="SFirstName" id="SFirstName" maxlength="80" value=""
|
||||
autofill-prediction="NAME_FIRST" enablevalid="true"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Last Name
|
||||
</label>
|
||||
<input validgroup="g1"
|
||||
title="overall type: NAME_LAST
|
||||
server type: NAME_LAST
|
||||
heuristic type: NAME_LAST
|
||||
label: Last Name
|
||||
parseable name: SLastName
|
||||
field signature: 1256168210
|
||||
form signature: 7987654844929240962" type="text" name="SLastName" id="SLastName" maxlength="80" value=""
|
||||
autofill-prediction="NAME_LAST" enablevalid="true"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Country
|
||||
</label>
|
||||
<select name="SCountry_Option" selectcountry="USA" id="countryOption" tabindex="0" size="1"
|
||||
title="overall type: ADDRESS_HOME_COUNTRY
|
||||
server type: ADDRESS_HOME_COUNTRY
|
||||
heuristic type: ADDRESS_HOME_COUNTRY
|
||||
label: Country
|
||||
parseable name: SCountry_Option
|
||||
field signature: 3459145984
|
||||
form signature: 7987654844929240962"
|
||||
autofill-prediction="ADDRESS_HOME_COUNTRY"
|
||||
>
|
||||
<option value="USA">United States</option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<label>Address</label>
|
||||
<input
|
||||
title="overall type: ADDRESS_HOME_LINE1
|
||||
server type: ADDRESS_HOME_LINE1
|
||||
heuristic type: ADDRESS_HOME_LINE1
|
||||
label: Address
|
||||
parseable name: SAddress1
|
||||
field signature: 328501296
|
||||
form signature: 7987654844929240962" type="text" name="SAddress1" id="SAddress1" maxlength="100" value="" placeholder=""
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Address 2
|
||||
<span>
|
||||
<strong>(OPTIONAL)</strong>
|
||||
<em>Apartment, suite, floor, etc.</em>
|
||||
</span>
|
||||
</label>
|
||||
<input
|
||||
title="overall type: ADDRESS_HOME_LINE2
|
||||
server type: ADDRESS_HOME_LINE2
|
||||
heuristic type: ADDRESS_HOME_LINE2
|
||||
label: Address 2 (OPTIONAL) Apartment, suite, floor, etc.
|
||||
parseable name: SAddress2
|
||||
field signature: 26232370
|
||||
form signature: 7987654844929240962" type="text" name="SAddress2" id="SAddress2" maxlength="100" value="" placeholder=""
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>
|
||||
<div>
|
||||
<label id="lblCity">City</label>
|
||||
<input
|
||||
title="overall type: ADDRESS_HOME_CITY
|
||||
server type: ADDRESS_HOME_CITY
|
||||
heuristic type: ADDRESS_HOME_CITY
|
||||
label: City
|
||||
parseable name: SCity
|
||||
field signature: 1173963820
|
||||
form signature: 7987654844929240962" type="text" name="SCity" id="SCity" maxlength="45" value=""
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<label for="stateDropDownList" id="lblState">State/Province/Region</label>
|
||||
<div>
|
||||
<select selectstate="" name="SState_Option" id="SState_Option_USA" tabindex="0" size="1"
|
||||
title="overall type: ADDRESS_HOME_STATE
|
||||
server type: ADDRESS_HOME_STATE
|
||||
heuristic type: ADDRESS_HOME_STATE
|
||||
label: State/Province/Region
|
||||
parseable name: SState_Option
|
||||
field signature: 3077158397
|
||||
form signature: 7987654844929240962"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AL">ALABAMA</option>
|
||||
<option value="AK">ALASKA</option>
|
||||
<option value="AS">AMERICAN SAMOA</option>
|
||||
<option value="AZ">ARIZONA</option>
|
||||
<option value="AR">ARKANSAS</option>
|
||||
<option value="CA">CALIFORNIA</option>
|
||||
<option value="CO">COLORADO</option>
|
||||
<option value="CT">CONNECTICUT</option>
|
||||
<option value="DE">DELAWARE</option>
|
||||
<option value="DC">DISTRICT OF COLUMBIA</option>
|
||||
<option value="FL">FLORIDA</option>
|
||||
<option value="GA">GEORGIA</option>
|
||||
<option value="HI">HAWAII</option>
|
||||
<option value="ID">IDAHO</option>
|
||||
<option value="IL">ILLINOIS</option>
|
||||
<option value="IN">INDIANA</option>
|
||||
<option value="IA">IOWA</option>
|
||||
<option value="KS">KANSAS</option>
|
||||
<option value="KY">KENTUCKY</option>
|
||||
<option value="LA">LOUISIANA</option>
|
||||
<option value="ME">MAINE</option>
|
||||
<option value="MD">MARYLAND</option>
|
||||
<option value="MA">MASSACHUSETTS</option>
|
||||
<option value="MI">MICHIGAN</option>
|
||||
<option value="MN">MINNESOTA</option>
|
||||
<option value="MS">MISSISSIPPI</option>
|
||||
<option value="MO">MISSOURI</option>
|
||||
<option value="MT">MONTANA</option>
|
||||
<option value="NE">NEBRASKA</option>
|
||||
<option value="NV">NEVADA</option>
|
||||
<option value="NH">NEW HAMPSHIRE</option>
|
||||
<option value="NJ">NEW JERSEY</option>
|
||||
<option value="NM">NEW MEXICO</option>
|
||||
<option value="NY">NEW YORK</option>
|
||||
<option value="NC">NORTH CAROLINA</option>
|
||||
<option value="ND">NORTH DAKOTA</option>
|
||||
<option value="OH">OHIO</option>
|
||||
<option value="OK">OKLAHOMA</option>
|
||||
<option value="OR">OREGON</option>
|
||||
<option value="PA">PENNSYLVANIA</option>
|
||||
<option value="PR">PUERTO RICO</option>
|
||||
<option value="RI">RHODE ISLAND</option>
|
||||
<option value="SC">SOUTH CAROLINA</option>
|
||||
<option value="SD">SOUTH DAKOTA</option>
|
||||
<option value="TN">TENNESSEE</option>
|
||||
<option value="TX">TEXAS</option>
|
||||
<option value="VI">U.S. Virgin Islands</option>
|
||||
<option value="UT">UTAH</option>
|
||||
<option value="VT">VERMONT</option>
|
||||
<option value="VA">VIRGINIA</option>
|
||||
<option value="WA">WASHINGTON</option>
|
||||
<option value="WV">WEST VIRGINIA</option>
|
||||
<option value="WI">WISCONSIN</option>
|
||||
<option value="WY">WYOMING</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label id="lblZip">Zip/Postal Code</label>
|
||||
<input
|
||||
title="overall type: ADDRESS_HOME_ZIP
|
||||
server type: ADDRESS_HOME_ZIP
|
||||
heuristic type: ADDRESS_HOME_ZIP
|
||||
label: Zip/Postal Code
|
||||
parseable name: SZip
|
||||
field signature: 3887080504
|
||||
form signature: 7987654844929240962" maxlength="20" size="20" type="text" name="SZip" id="SZip" value=""
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Phone
|
||||
</label>
|
||||
<input
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER
|
||||
server type: PHONE_HOME_CITY_AND_NUMBER
|
||||
heuristic type: PHONE_HOME_WHOLE_NUMBER
|
||||
label: Phone
|
||||
parseable name: ShippingPhone
|
||||
field signature: 3574122515
|
||||
form signature: 7987654844929240962" type="text" name="ShippingPhone" maxlength="30" id="ShippingPhone" value=""
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Email
|
||||
</label>
|
||||
<input
|
||||
title="overall type: EMAIL_ADDRESS
|
||||
server type: EMAIL_ADDRESS
|
||||
heuristic type: EMAIL_ADDRESS
|
||||
label: Email
|
||||
parseable name: GuestEmail
|
||||
field signature: 658796670
|
||||
form signature: 7987654844929240962" type="text" name="GuestEmail" id="email" value="" maxlength="128"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<span>
|
||||
<strong>NOTE:</strong> Your phone number is needed to contact you for shipping-related questions and your email address will be used only to send you information about your order.
|
||||
</span>
|
||||
<p>
|
||||
<span>
|
||||
Please visit our <a>Privacy Policy</a> for more information.</span>
|
||||
</p>
|
||||
</label>
|
||||
</li>
|
||||
<input type="hidden" id="IsDefault" name="IsDefault">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" value="True" id="CheckGuestEmail" name="CheckGuestEmail">
|
||||
</form>
|
||||
<input type="hidden" id="FedExShippingIsDefault" value="False">
|
||||
<input type="hidden" id="CanadaPostIsDefault" value="False">
|
||||
<input type="hidden" id="IsBrowserBack" value="false">
|
||||
<ul>
|
||||
<li>
|
||||
<input type="radio" name="shippingAddressPanel" value="creditcard" id="shippingAddressAdd">
|
||||
<label for="shippingAddressAdd">
|
||||
<strong>Enter a new shipping address</strong>
|
||||
</label>
|
||||
<div id="checkoutShippingAddPanel">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<input type="checkbox" id="makeDefaultOption" name="makeDefaultOption">
|
||||
<label for="makeDefaultOption">Set as default credit card</label>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
672
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/Payment.html
поставляемый
Normal file
672
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/Payment.html
поставляемый
Normal file
|
@ -0,0 +1,672 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="pragma-directive" content="no-cache">
|
||||
<meta http-equiv="cache-directive" content="no-cache">
|
||||
<meta name="robots" content="NOODP, NOYDIR">
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<meta name="apple-itunes-app" content="app-id=471037434">
|
||||
<title>Office Supplies, Furniture, Technology at Offic Depot</title>
|
||||
<meta name="description" content="Shop office supplies, furniture & technology at Office Depot. For paper, ink, toner & more, find trusted brands at everyday low prices.">
|
||||
<meta name="keywords" content="office supplies, office furniture, technology, electronics">
|
||||
<meta property="og:image" content="https://secure.www.odcdn.com/images/us/od/brand.png">
|
||||
<form name="anonymousConfirmForm" method="post" action="https://www.officedepot.com/checkout/anonymousConfirmRouter.do" id="confirmFormId" novalidate="novalidate">
|
||||
<input type="hidden" name="partialReg" value="false">
|
||||
<input type="hidden" name="cartIsNotAllPickup" value="true">
|
||||
<input type="hidden" name="step" value="bill">
|
||||
<input type="hidden" name="orderNumber" value="914646582" id="orderNumber">
|
||||
<input type="hidden" name="orderSubNumber" value="001" id="orderSubNumber">
|
||||
<input type="hidden" name="linked" value="false">
|
||||
<input type="hidden" name="billToID" value="">
|
||||
<input type="hidden" name="requestFromPage" value="true">
|
||||
<input type="hidden" name="nececessaryToRevalidate" id="nececessaryToRevalidate" value="false">
|
||||
<input type="hidden" name="revalidateTrigger" id="revalidateTrigger" value="">
|
||||
<input type="submit" name="cmd_confirm" tabindex="1">
|
||||
<input type="hidden" name="proceedFromBill" value="true">
|
||||
<input type="hidden" name="flowMode" id="flowMode" value="ANONYMOUS">
|
||||
<div id="checkoutBillingV3">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="hidden" name="guestEmailOptIn" value="true">
|
||||
<input type="hidden" id="isAnonCheckout" value="true">
|
||||
<div>
|
||||
<input type="hidden" name="payWithSavedCard" id="payWithSavedCard" value="false">
|
||||
<input type="hidden" id="cardTypeForMaskedValue" value="">
|
||||
<input type="hidden" id="showCardList" value="false">
|
||||
<div id="payWithCreditCard">
|
||||
<div id="iFrameFields">
|
||||
<div id="creditCardIframe">
|
||||
<div id="cardValidationError">
|
||||
</div>
|
||||
<div id="preventFlicker">
|
||||
<div id="creditCardFrame">
|
||||
<div id="iFrameExpDateFields">
|
||||
<label>Expiration Date</label>
|
||||
<select name="paymentFormInfo.payPageFormInfo.creditCardExpMonth"
|
||||
title="overall type: CREDIT_CARD_EXP_MONTH server type: CREDIT_CARD_EXP_MONTH heuristic type: UNKNOWN_TYPE label: Expiration Date parseable name: paymentFormInfo.payPageFormInfo.creditCardExpMonth field signature: 1909413716 form signature: 4882000530220881601" tabindex="2"
|
||||
autofill-prediction="CREDIT_CARD_EXP_MONTH"
|
||||
>
|
||||
<option value=" ">
|
||||
--
|
||||
</option>
|
||||
<option value="01">
|
||||
01
|
||||
</option>
|
||||
<option value="02">
|
||||
02
|
||||
</option>
|
||||
<option value="03">
|
||||
03
|
||||
</option>
|
||||
<option value="04">
|
||||
04
|
||||
</option>
|
||||
<option value="05">
|
||||
05
|
||||
</option>
|
||||
<option value="06">
|
||||
06
|
||||
</option>
|
||||
<option value="07">
|
||||
07
|
||||
</option>
|
||||
<option value="08">
|
||||
08
|
||||
</option>
|
||||
<option value="09">
|
||||
09
|
||||
</option>
|
||||
<option value="10">
|
||||
10
|
||||
</option>
|
||||
<option value="11">
|
||||
11
|
||||
</option>
|
||||
<option value="12">
|
||||
12
|
||||
</option>
|
||||
</select>
|
||||
<select name="paymentFormInfo.payPageFormInfo.creditCardExpYear"
|
||||
title="overall type: CREDIT_CARD_EXP_4_DIGIT_YEAR server type: CREDIT_CARD_EXP_4_DIGIT_YEAR heuristic type: CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR label: Expiration Date parseable name: paymentFormInfo.payPageFormInfo.creditCardExpYear field signature: 884603578 form signature: 4882000530220881601" tabindex="3"
|
||||
autofill-prediction="CREDIT_CARD_EXP_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="">
|
||||
--
|
||||
</option>
|
||||
<option value="17">
|
||||
2017
|
||||
</option>
|
||||
<option value="18">
|
||||
2018
|
||||
</option>
|
||||
<option value="19">
|
||||
2019
|
||||
</option>
|
||||
<option value="20">
|
||||
2020
|
||||
</option>
|
||||
<option value="21">
|
||||
2021
|
||||
</option>
|
||||
<option value="22">
|
||||
2022
|
||||
</option>
|
||||
<option value="23">
|
||||
2023
|
||||
</option>
|
||||
<option value="24">
|
||||
2024
|
||||
</option>
|
||||
<option value="25">
|
||||
2025
|
||||
</option>
|
||||
<option value="26">
|
||||
2026
|
||||
</option>
|
||||
<option value="27">
|
||||
2027
|
||||
</option>
|
||||
<option value="28">
|
||||
2028
|
||||
</option>
|
||||
<option value="29">
|
||||
2029
|
||||
</option>
|
||||
<option value="30">
|
||||
2030
|
||||
</option>
|
||||
<option value="31">
|
||||
2031
|
||||
</option>
|
||||
<option value="32">
|
||||
2032
|
||||
</option>
|
||||
<option value="33">
|
||||
2033
|
||||
</option>
|
||||
<option value="34">
|
||||
2034
|
||||
</option>
|
||||
<option value="35">
|
||||
2035
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="frameFields">
|
||||
<input type="hidden" id="getMerchantIdPrefix" value="CKWWW">
|
||||
<input type="hidden" id="paypageRegistrationId" name="paymentFormInfo.payPageFormInfo.payPageRegistrationId" >
|
||||
<input type="hidden" id="bin" name="paymentFormInfo.payPageFormInfo.binRange">
|
||||
<input type="hidden" id="merchantTxnId" name="paymentFormInfo.payPageFormInfo.merchantTxnId" value="CKWWW-201732012117">
|
||||
<input type="hidden" id="orderId" name="paymentFormInfo.payPageFormInfo.orderId" value="914646582-001">
|
||||
<input type="hidden" id="code" name="paymentFormInfo.payPageFormInfo.code">
|
||||
<input type="hidden" id="responseTime" name="paymentFormInfo.payPageFormInfo.responseTime" >
|
||||
<input type="hidden" id="message" name="paymentFormInfo.payPageFormInfo.message" size="100">
|
||||
<input type="hidden" id="litleTxnId" name="paymentFormInfo.payPageFormInfo.litleTxnId">
|
||||
<input type="hidden" id="type" name="paymentFormInfo.payPageFormInfo.cardType">
|
||||
<input type="hidden" id="firstSix" name="paymentFormInfo.payPageFormInfo.firstSix">
|
||||
<input type="hidden" id="lastFour" name="paymentFormInfo.payPageFormInfo.lastFour">
|
||||
<input type="hidden" id="timeoutMessage" name="paymentFormInfo.payPageFormInfo.timeoutMessage" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="paymentFormInfo.tenderType" >
|
||||
<input type="radio" name="paymentFormInfo.tenderType" value="CR" checked
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Credit Card parseable name: paymentFormInfo.tenderType field signature: 920121368 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
> Credit Card</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="payWithPayPal">
|
||||
<input type="hidden" name="paypalInfoInSession" id="paypalInfoInSession" value="false">
|
||||
<div>
|
||||
<label for="paymentFormInfo.tenderType" >
|
||||
<input type="radio" name="paymentFormInfo.tenderType" value="PL"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Pay with PayPal You'll be redirected to the PayPal site to sign in and confirm your payment. You wil parseable name: paymentFormInfo.tenderType field signature: 920121368 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="payWithMasterPass">
|
||||
<div>
|
||||
<label for="paymentFormInfo.tenderType" >
|
||||
<input type="radio" name="paymentFormInfo.tenderType" value="MS"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Pay with MasterPass You'll be redirected to the MasterPass site to sign in and confirm your payment. parseable name: paymentFormInfo.tenderType field signature: 920121368 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="checkoutBillingAddressSection">
|
||||
<div id="shippingInfo">
|
||||
<input type="hidden" name="addrsForm[2].firstName" value="Tester" id="firstName-2">
|
||||
<input type="hidden" name="addrsForm[2].lastName" value="Mo" id="lastName-2">
|
||||
<input type="hidden" name="addrsForm[2].shiptoName" value="Mozilla" id="shiptoName-2">
|
||||
<input type="hidden" name="addrsForm[2].address1" value="331 E. Evelyn Avenue" id="address1-2">
|
||||
<input type="hidden" name="addrsForm[2].address2" value="" id="address2-2">
|
||||
<input type="hidden" name="addrsForm[2].city" value="MOUNTAIN VIEW" id="city-2">
|
||||
<input type="hidden" name="addrsForm[2].state" value="CA" id="state-2">
|
||||
<input type="hidden" name="addrsForm[2].postalCode1" value="94041" id="postalCode1-2">
|
||||
<input type="hidden" name="addrsForm[2].country" value="USA" id="country-2">
|
||||
<input type="hidden" name="addrsForm[2].phoneNumber1" value="650" id="phoneNumber1-2">
|
||||
<input type="hidden" name="addrsForm[2].phoneNumber2" value="903" id="phoneNumber2-2">
|
||||
<input type="hidden" name="addrsForm[2].phoneNumber3" value="0800" id="phoneNumber3-2">
|
||||
<input type="hidden" name="addrsForm[2].phoneNumber4" value="0800" id="phoneNumber4-2">
|
||||
<input type="hidden" name="addrsForm[2].email" value="formautofilltester@gmail.com" id="email-2">
|
||||
<input type="hidden" name="shippingEmailPreferences.optInSelected" value="true">
|
||||
</div>
|
||||
<div id="billingInfo">
|
||||
<div>
|
||||
<label>
|
||||
<input type="checkbox" name="sameAsBilling" id="billingAddressSameAsShipping" checked tabindex="4"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Same as Shipping parseable name: sameAsBilling field signature: 2684212655 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
> Same as Shipping</label>
|
||||
</div>
|
||||
<div id="reg_billingInfo">
|
||||
<div id="anonymousBillingInfoForm">
|
||||
<input type="hidden" id="country-0" name="addrsForm[0].country" value="USA">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="firstName-0">
|
||||
<em>*</em>First Name:</label>
|
||||
<input type="text" id="firstName-0" name="addrsForm[0].firstName" value="" maxlength="30"
|
||||
title="overall type: CREDIT_CARD_NAME_FIRST server type: NAME_FIRST heuristic type: CREDIT_CARD_NAME_FIRST label: *First Name: parseable name: addrsForm[0].firstName field signature: 923482701 form signature: 4882000530220881601"
|
||||
autofill-prediction="CREDIT_CARD_NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="lastName-0">
|
||||
<em>*</em>Last Name:</label>
|
||||
<input type="text" id="lastName-0" name="addrsForm[0].lastName" value="" maxlength="30"
|
||||
title="overall type: CREDIT_CARD_NAME_LAST server type: NAME_LAST heuristic type: CREDIT_CARD_NAME_LAST label: *Last Name: parseable name: addrsForm[0].lastName field signature: 3226352217 form signature: 4882000530220881601"
|
||||
autofill-prediction="CREDIT_CARD_NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="shipToName-0">Company Name:</label>
|
||||
<input type="text" id="shipToName-0" name="addrsForm[0].shiptoName" value="" maxlength="30"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: COMPANY_NAME label: Company Name: parseable name: addrsForm[0].shiptoName field signature: 2508018426 form signature: 4882000530220881601"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address1-0">
|
||||
<em>*</em>Address:</label>
|
||||
<input type="text" id="address1-0" name="addrsForm[0].address1" value="" maxlength="25"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: *Address: parseable name: addrsForm[0].address1 field signature: 3908367322 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address2-0">Address Line 2: <span>(optional)</span>
|
||||
</label>
|
||||
<input type="text" id="address2-0" name="addrsForm[0].address2" value="" maxlength="25"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Address Line 2: (optional) parseable name: addrsForm[0].address2 field signature: 3866764654 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="postalCode1-0">
|
||||
<em>*</em>Postal Code:</label>
|
||||
<input type="text" id="postalCode1-0" name="addrsForm[0].postalCode1" value="" maxlength="9"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: *Postal Code: parseable name: addrsForm[0].postalCode1 field signature: 1708240695 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="checkoutCityAndState">
|
||||
<em>*</em>City & State</label>
|
||||
<select id="checkoutCityAndState"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: NO_SERVER_DATA heuristic type: ADDRESS_HOME_CITY label: *City & State parseable name: checkoutCityAndState field signature: 3899416585 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="city-0">
|
||||
<em>*</em>City:</label>
|
||||
<input type="text" id="city-0" name="addrsForm[0].city" value=""
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: *City: parseable name: addrsForm[0].city field signature: 1634404945 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="state-0">
|
||||
<em>*</em>State:</label>
|
||||
<select name="addrsForm[0].state" id="state-0" size="1"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: *State: parseable name: addrsForm[0].state field signature: 3377657622 form signature: 4882000530220881601"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="{blank}"> Select a state
|
||||
</option>
|
||||
<option value="AK"> AK - Alaska
|
||||
</option>
|
||||
<option value="AL"> AL - Alabama
|
||||
</option>
|
||||
<option value="AR"> AR - Arkansas
|
||||
</option>
|
||||
<option value="AZ"> AZ - Arizona
|
||||
</option>
|
||||
<option value="CA"> CA - California
|
||||
</option>
|
||||
<option value="CO"> CO - Colorado
|
||||
</option>
|
||||
<option value="CT"> CT - Connecticut
|
||||
</option>
|
||||
<option value="DC"> DC - District of Columbia
|
||||
</option>
|
||||
<option value="DE"> DE - Delaware
|
||||
</option>
|
||||
<option value="FL"> FL - Florida
|
||||
</option>
|
||||
<option value="GA"> GA - Georgia
|
||||
</option>
|
||||
<option value="HI"> HI - Hawaii
|
||||
</option>
|
||||
<option value="IA"> IA - Iowa
|
||||
</option>
|
||||
<option value="ID"> ID - Idaho
|
||||
</option>
|
||||
<option value="IL"> IL - Illinois
|
||||
</option>
|
||||
<option value="IN"> IN - Indiana
|
||||
</option>
|
||||
<option value="KS"> KS - Kansas
|
||||
</option>
|
||||
<option value="KY"> KY - Kentucky
|
||||
</option>
|
||||
<option value="LA"> LA - Louisiana
|
||||
</option>
|
||||
<option value="MA"> MA - Massachusetts
|
||||
</option>
|
||||
<option value="MD"> MD - Maryland
|
||||
</option>
|
||||
<option value="ME"> ME - Maine
|
||||
</option>
|
||||
<option value="MI"> MI - Michigan
|
||||
</option>
|
||||
<option value="MN"> MN - Minnesota
|
||||
</option>
|
||||
<option value="MO"> MO - Missouri
|
||||
</option>
|
||||
<option value="MS"> MS - Mississippi
|
||||
</option>
|
||||
<option value="MT"> MT - Montana
|
||||
</option>
|
||||
<option value="NC"> NC - North Carolina
|
||||
</option>
|
||||
<option value="ND"> ND - North Dakota
|
||||
</option>
|
||||
<option value="NE"> NE - Nebraska
|
||||
</option>
|
||||
<option value="NH"> NH - New Hampshire
|
||||
</option>
|
||||
<option value="NJ"> NJ - New Jersey
|
||||
</option>
|
||||
<option value="NM"> NM - New Mexico
|
||||
</option>
|
||||
<option value="NV"> NV - Nevada
|
||||
</option>
|
||||
<option value="NY"> NY - New York
|
||||
</option>
|
||||
<option value="OH"> OH - Ohio
|
||||
</option>
|
||||
<option value="OK"> OK - Oklahoma
|
||||
</option>
|
||||
<option value="OR"> OR - Oregon
|
||||
</option>
|
||||
<option value="PA"> PA - Pennsylvania
|
||||
</option>
|
||||
<option value="PR"> PR - Puerto Rico
|
||||
</option>
|
||||
<option value="RI"> RI - Rhode Island
|
||||
</option>
|
||||
<option value="SC"> SC - South Carolina
|
||||
</option>
|
||||
<option value="SD"> SD - South Dakota
|
||||
</option>
|
||||
<option value="TN"> TN - Tennessee
|
||||
</option>
|
||||
<option value="TX"> TX - Texas
|
||||
</option>
|
||||
<option value="UT"> UT - Utah
|
||||
</option>
|
||||
<option value="VA"> VA - Virginia
|
||||
</option>
|
||||
<option value="VI"> VI - US Virgin Islands
|
||||
</option>
|
||||
<option value="VT"> VT - Vermont
|
||||
</option>
|
||||
<option value="WA"> WA - Washington
|
||||
</option>
|
||||
<option value="WI"> WI - Wisconsin
|
||||
</option>
|
||||
<option value="WV"> WV - West Virginia
|
||||
</option>
|
||||
<option value="WY"> WY - Wyoming
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<em>*</em>Phone:</label>
|
||||
<input type="tel" id="phoneNumber1-0" name="addrsForm[0].phoneNumber1" value="" maxlength="3"
|
||||
title="overall type: PHONE_HOME_CITY_CODE server type: PHONE_HOME_CITY_CODE heuristic type: PHONE_HOME_CITY_CODE label: *Phone: parseable name: addrsForm[0].phoneNumber1 field signature: 1254557631 form signature: 4882000530220881601"
|
||||
autofill-prediction="PHONE_HOME_CITY_CODE"
|
||||
>
|
||||
<input type="tel" id="phoneNumber2-0" name="addrsForm[0].phoneNumber2" value="" maxlength="3"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_NUMBER label: *Phone: parseable name: addrsForm[0].phoneNumber2 field signature: 1999321122 form signature: 4882000530220881601"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
<input type="tel" id="phoneNumber3-0" name="addrsForm[0].phoneNumber3" value="" maxlength="4"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_NUMBER label: *Phone: parseable name: addrsForm[0].phoneNumber3 field signature: 348537713 form signature: 4882000530220881601"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneNumber4-0">Ext</label>
|
||||
<input type="tel" id="phoneNumber4-0" name="addrsForm[0].phoneNumber4" value="" maxlength="4"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_EXTENSION label: Ext parseable name: addrsForm[0].phoneNumber4 field signature: 3060772033 form signature: 4882000530220881601"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div id="addressChangeEmailConfirm">
|
||||
<label for="email-0">
|
||||
<em>*</em>Email Address:</label>
|
||||
<input type="email" id="email-0" name="addrsForm[0].email" value="" maxlength="40"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: *Email Address: parseable name: addrsForm[0].email field signature: 1389763646 form signature: 4882000530220881601"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="billingEmailPreferences.emailHtml" value="true">
|
||||
<div>
|
||||
<input type="hidden" name="billingEmailPreferences.optInSelected" value="true">
|
||||
<a target="_blank">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div id="checkoutBillLoyalty">
|
||||
<div id="rewardsSections">
|
||||
<div id="noWorkLifeRewards">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="text" name="loyaltyID"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: UNKNOWN_TYPE label: Apply parseable name: loyaltyID field signature: 1222391720 form signature: 4882000530220881601" maxlength="10" value=""
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
>
|
||||
<p>
|
||||
<a
|
||||
>Member number lookup</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="checkoutBillingGiftCards">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="gcInput">Gift card or certificate number</label>
|
||||
<input type="tel" name="paymentFormInfo.storedValueCardNumber" maxlength="19" value="" id="gcInput"
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: UNKNOWN_TYPE label: Gift card or certificate number parseable name: paymentFormInfo.storedValueCardNumber field signature: 2610516022 form signature: 4882000530220881601"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="gcPinInput">PIN</label>
|
||||
<input type="tel" name="paymentFormInfo.storedValueCardPin" maxlength="4" value="" id="gcPinInput"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: PIN parseable name: paymentFormInfo.storedValueCardPin field signature: 3801610036 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE">
|
||||
<img src="./Office%20Supplies,%20Furniture,%20Technology%20at%20Office%20Depot%20-%20Payment_files/info-blue.png" alt="Need Help?" title="Need Help?" id="giftCardPinTooltipTarget"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="hidden" id="couponCount" value="0">
|
||||
<input type="hidden" id="invalidCouponNumber" value="">
|
||||
<input type="hidden" id="couponInWhichStep" value="checkoutV2">
|
||||
<input type="hidden" id="couponRemove" value="Remove Coupon">
|
||||
<input type="hidden" id="close" value="Close">
|
||||
<input type="hidden" id="invalidCouponCode" value="<p>Invalid Coupon Code</p>">
|
||||
<input type="hidden" id="validCouponCode" value="<p>Coupon Code Applied</p>">
|
||||
<input type="hidden" id="validCouponPrompt" value="This coupon has been applied to your order.">
|
||||
<input type="hidden" id="couponRemoveFailHeader" value="Remove Coupon Fail">
|
||||
<input type="hidden" name="offer.x" value="y">
|
||||
<div>
|
||||
<div id="couponDialog"
|
||||
title="Coupon Offer">
|
||||
<div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="button" value="Skip and Continue">
|
||||
</li>
|
||||
<li>
|
||||
<input type="button" value="See Offer Details">
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="referralCode">Coupon Code:</label>
|
||||
<input type="tel" name="referralCode" id="referralCode" size="14" maxlength="14"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Coupon Code: parseable name: referralCode field signature: 2314309716 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" name="customLabelsPermissionsForm.requestor" value="confirm">
|
||||
<input type="hidden" name="modifyFormDataWithBackendData" value="true">
|
||||
<div id="checkoutBillingAdditionalInfo">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="sourceCode">Catalog/source code, Federal government code <img src="./Office%20Supplies,%20Furniture,%20Technology%20at%20Office%20Depot%20-%20Payment_files/info-blue.png" alt="What is a Catalog or Source Code, Federal Government Code?"
|
||||
title="What is a Catalog or Source Code, Federal Government Code?">
|
||||
</label>
|
||||
<input type="text" name="sourceCode" maxlength="5" size="22" autocomplete="" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Catalog/source code, Federal government code parseable name: sourceCode field signature: 1650657570 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>Customer PO#</label>
|
||||
<input type="text" name="poName" maxlength="22" size="22" autocomplete="" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Customer PO# parseable name: poName field signature: 330999673 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>Comments</label>
|
||||
<p>
|
||||
<label>Informational purposes only. Not utilized by our delivery carriers.</label>
|
||||
</p>
|
||||
<textarea name="commentText" cols="30" rows="3" maxlength="87"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Comments Informational purposes only. Not utilized by our delivery carriers. parseable name: commentText field signature: 2293147818 form signature: 4882000530220881601"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
</textarea>
|
||||
<span id="">87</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="paymentsButtonsMainBilling">
|
||||
<input type="hidden" id="showPayPalCheckoutButton_toggleCheck" name="showPayPalCheckoutButton_toggleCheck" value="true">
|
||||
<input type="hidden" id="showMasterPassCheckoutButton_toggleCheck" name="showMasterPassCheckoutButton_toggleCheck" value="true">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<input type="hidden" name="cartRow[0].cartEntryId" value="0">
|
||||
<input type="hidden" name="cartRow[0].minQty" value="0">
|
||||
<input type="hidden" name="cartRow[0].originalQty" value="0">
|
||||
<input type="hidden" name="cartRow[0].skuNoEffort" value="510493">
|
||||
<input type="hidden" name="cartRow[0].qtyMinimumLimitation" value="1">
|
||||
<input type="hidden" name="cartRow[0].qtyIncrementLimitation" value="1">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="paymentsOrderSummary">
|
||||
<input type="hidden" id="showPayPalCheckoutButton_toggleCheck" name="showPayPalCheckoutButton_toggleCheck" value="true">
|
||||
<input type="hidden" id="showMasterPassCheckoutButton_toggleCheck" name="showMasterPassCheckoutButton_toggleCheck" value="true">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
347
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/ShippingAddress.html
поставляемый
Normal file
347
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/ShippingAddress.html
поставляемый
Normal file
|
@ -0,0 +1,347 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="pragma-directive" content="no-cache">
|
||||
<meta http-equiv="cache-directive" content="no-cache">
|
||||
<meta name="robots" content="NOODP, NOYDIR">
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<meta name="apple-itunes-app" content="app-id=471037434">
|
||||
<title>Office Supplies, Furniture, Technology at Office Depot</title>
|
||||
<meta name="description" content="Shop office supplies, furniture & technology at Office Depot. For paper, ink, toner & more, find trusted brands at everyday low prices.">
|
||||
<meta name="keywords" content="office supplies, office furniture, technology, electronics">
|
||||
<meta property="og:image" content="https://secure.www.odcdn.com/images/us/od/brand.png">
|
||||
<form name="anonymousConfirmForm" method="post" action="https://www.officedepot.com/checkout/anonymousConfirmRouter.do" id="confirmFormId" novalidate="novalidate">
|
||||
<input type="hidden" name="partialReg" value="false">
|
||||
<input type="hidden" name="cartIsNotAllPickup" value="true">
|
||||
<input type="hidden" name="returnurl" value="/checkout/checkout/anonymousConfirmRouter.do">
|
||||
<div id="shipPageV2">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div id="reg_shippingInfo">
|
||||
<input id="skipGroup1ShippingAddress" type="hidden" name="skipGroup1ShippingAddress" value="false">
|
||||
<div>
|
||||
<input type="hidden" id="country-2" name="addrsForm[2].country" value="USA">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="firstName-2" >
|
||||
<em>*</em>First Name:</label>
|
||||
<input type="text" id="firstName-2" name="addrsForm[2].firstName" value="" maxlength="30" tabindex="1"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: *First Name: parseable name: addrsForm[2].firstName field signature: 3337773590 form signature: 5001876119589580889"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="lastName-2">
|
||||
<em>*</em>Last Name:</label>
|
||||
<input type="text" id="lastName-2" name="addrsForm[2].lastName" value="" maxlength="30" tabindex="2"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: *Last Name: parseable name: addrsForm[2].lastName field signature: 3075576638 form signature: 5001876119589580889"
|
||||
autofill-prediction="NAME_LAST"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="shipToName-2"> Company Name:</label>
|
||||
<input type="text" id="shipToName-2" name="addrsForm[2].shiptoName" value="" maxlength="30" tabindex="3"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: COMPANY_NAME label: Company Name: parseable name: addrsForm[2].shiptoName field signature: 2052742641 form signature: 5001876119589580889"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
</div>
|
||||
<div >
|
||||
<label for="address1-2">
|
||||
<em>*</em>Address:</label>
|
||||
<input type="text" id="address1-2" name="addrsForm[2].address1" value="" maxlength="25" tabindex="4"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: *Address: parseable name: addrsForm[2].address1 field signature: 2660215956 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="address2-2"> Address Line 2:
|
||||
<span>(optional)</span>
|
||||
</label>
|
||||
<input type="text" id="address2-2" name="addrsForm[2].address2" value="" maxlength="25" tabindex="5"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Address Line 2: (optional) parseable name: addrsForm[2].address2 field signature: 2293911247 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="postalCode1-2">
|
||||
<em>*</em>Postal Code:</label>
|
||||
<input type="text" id="postalCode1-2" name="addrsForm[2].postalCode1" value="" maxlength="9" tabindex="6"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: *Postal Code: parseable name: addrsForm[2].postalCode1 field signature: 1044898225 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="checkoutCityAndState">
|
||||
<em>*</em>
|
||||
</em>City & State</label>
|
||||
<select id="checkoutCityAndState"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: NO_SERVER_DATA heuristic type: ADDRESS_HOME_CITY label: *City & State parseable name: checkoutCityAndState field signature: 3899416585 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
<option value="0"> MOUNTAIN VIEW, CA
|
||||
</option>
|
||||
<option value="other"> Other City and State
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="city-2">
|
||||
<em>*</em>City:</label>
|
||||
<input type="text" id="city-2" name="addrsForm[2].city" value=""
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: *City: parseable name: addrsForm[2].city field signature: 2341281094 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div >
|
||||
<label for="state-2">
|
||||
<em>*</em>State:</label>
|
||||
<select name="addrsForm[2].state" id="state-2" size="1"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: *State: parseable name: addrsForm[2].state field signature: 3265256938 form signature: 5001876119589580889"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="{blank}"> Select a state
|
||||
</option>
|
||||
<option value="AK"> AK - Alaska
|
||||
</option>
|
||||
<option value="AL"> AL - Alabama
|
||||
</option>
|
||||
<option value="AR"> AR - Arkansas
|
||||
</option>
|
||||
<option value="AZ"> AZ - Arizona
|
||||
</option>
|
||||
<option value="CA"> CA - California
|
||||
</option>
|
||||
<option value="CO"> CO - Colorado
|
||||
</option>
|
||||
<option value="CT"> CT - Connecticut
|
||||
</option>
|
||||
<option value="DC"> DC - District of Columbia
|
||||
</option>
|
||||
<option value="DE"> DE - Delaware
|
||||
</option>
|
||||
<option value="FL"> FL - Florida
|
||||
</option>
|
||||
<option value="GA"> GA - Georgia
|
||||
</option>
|
||||
<option value="HI"> HI - Hawaii
|
||||
</option>
|
||||
<option value="IA"> IA - Iowa
|
||||
</option>
|
||||
<option value="ID"> ID - Idaho
|
||||
</option>
|
||||
<option value="IL"> IL - Illinois
|
||||
</option>
|
||||
<option value="IN"> IN - Indiana
|
||||
</option>
|
||||
<option value="KS"> KS - Kansas
|
||||
</option>
|
||||
<option value="KY"> KY - Kentucky
|
||||
</option>
|
||||
<option value="LA"> LA - Louisiana
|
||||
</option>
|
||||
<option value="MA"> MA - Massachusetts
|
||||
</option>
|
||||
<option value="MD"> MD - Maryland
|
||||
</option>
|
||||
<option value="ME"> ME - Maine
|
||||
</option>
|
||||
<option value="MI"> MI - Michigan
|
||||
</option>
|
||||
<option value="MN"> MN - Minnesota
|
||||
</option>
|
||||
<option value="MO"> MO - Missouri
|
||||
</option>
|
||||
<option value="MS"> MS - Mississippi
|
||||
</option>
|
||||
<option value="MT"> MT - Montana
|
||||
</option>
|
||||
<option value="NC"> NC - North Carolina
|
||||
</option>
|
||||
<option value="ND"> ND - North Dakota
|
||||
</option>
|
||||
<option value="NE"> NE - Nebraska
|
||||
</option>
|
||||
<option value="NH"> NH - New Hampshire
|
||||
</option>
|
||||
<option value="NJ"> NJ - New Jersey
|
||||
</option>
|
||||
<option value="NM"> NM - New Mexico
|
||||
</option>
|
||||
<option value="NV"> NV - Nevada
|
||||
</option>
|
||||
<option value="NY"> NY - New York
|
||||
</option>
|
||||
<option value="OH"> OH - Ohio
|
||||
</option>
|
||||
<option value="OK"> OK - Oklahoma
|
||||
</option>
|
||||
<option value="OR"> OR - Oregon
|
||||
</option>
|
||||
<option value="PA"> PA - Pennsylvania
|
||||
</option>
|
||||
<option value="PR"> PR - Puerto Rico
|
||||
</option>
|
||||
<option value="RI"> RI - Rhode Island
|
||||
</option>
|
||||
<option value="SC"> SC - South Carolina
|
||||
</option>
|
||||
<option value="SD"> SD - South Dakota
|
||||
</option>
|
||||
<option value="TN"> TN - Tennessee
|
||||
</option>
|
||||
<option value="TX"> TX - Texas
|
||||
</option>
|
||||
<option value="UT"> UT - Utah
|
||||
</option>
|
||||
<option value="VA"> VA - Virginia
|
||||
</option>
|
||||
<option value="VI"> VI - US Virgin Islands
|
||||
</option>
|
||||
<option value="VT"> VT - Vermont
|
||||
</option>
|
||||
<option value="WA"> WA - Washington
|
||||
</option>
|
||||
<option value="WI"> WI - Wisconsin
|
||||
</option>
|
||||
<option value="WV"> WV - West Virginia
|
||||
</option>
|
||||
<option value="WY"> WY - Wyoming
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<em>*</em>Phone:</label>
|
||||
<input type="tel" id="phoneNumber1-2" name="addrsForm[2].phoneNumber1" value="" maxlength="3"
|
||||
title="overall type: PHONE_HOME_CITY_CODE server type: PHONE_HOME_CITY_CODE heuristic type: PHONE_HOME_CITY_CODE label: *Phone: parseable name: addrsForm[2].phoneNumber1 field signature: 3051888398 form signature: 5001876119589580889" tabindex="7"
|
||||
autofill-prediction="PHONE_HOME_CITY_CODE"
|
||||
>
|
||||
<input type="tel" id="phoneNumber2-2" name="addrsForm[2].phoneNumber2" value="" maxlength="3"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_NUMBER label: *Phone: parseable name: addrsForm[2].phoneNumber2 field signature: 4001233923 form signature: 5001876119589580889" tabindex="8"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
<input type="tel" id="phoneNumber3-2" name="addrsForm[2].phoneNumber3" value="" maxlength="4"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_NUMBER label: *Phone: parseable name: addrsForm[2].phoneNumber3 field signature: 3507119292 form signature: 5001876119589580889" tabindex="9"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneNumber4-2"> Ext</label>
|
||||
<input type="tel" id="phoneNumber4-2" name="addrsForm[2].phoneNumber4" value="" maxlength="4" tabindex="10"
|
||||
title="overall type: PHONE_HOME_NUMBER server type: PHONE_HOME_NUMBER heuristic type: PHONE_HOME_EXTENSION label: Ext parseable name: addrsForm[2].phoneNumber4 field signature: 2592995828 form signature: 5001876119589580889"
|
||||
autofill-prediction="PHONE_HOME_NUMBER"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div id="addressChangeEmailConfirm" >
|
||||
<label for="email-2">
|
||||
<em>*</em>Email Address:</label>
|
||||
<input type="email" id="email-2" name="addrsForm[2].email" value="" maxlength="40" tabindex="11"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: *Email Address: parseable name: addrsForm[2].email field signature: 3353412459 form signature: 5001876119589580889"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="guestEmailOptIn" name="guestEmailOptIn" checked="checked" tabindex="12"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Send me exclusive coupons and special offers to my inbox. parseable name: guestEmailOptIn field signature: 2624588538 form signature: 5001876119589580889"
|
||||
autofill-prediction="UNKNOWN_TYPE">
|
||||
<input type="hidden" name="guestEmailOptIn" value="false">
|
||||
<label for="guestEmailOptIn"
|
||||
>Send me exclusive coupons and special offers to my inbox.</label>
|
||||
</div>
|
||||
<input type="hidden" name="shippingEmailPreferences.emailHtml" value="true">
|
||||
<input type="hidden" name="shippingEmailPreferences.optInSelected" value="true">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<input type="hidden" name="cartRow[0].cartEntryId" value="0">
|
||||
<input type="hidden" name="cartRow[0].minQty" value="0">
|
||||
<input type="hidden" name="cartRow[0].originalQty" value="0">
|
||||
<input type="hidden" name="cartRow[0].skuNoEffort" value="510493">
|
||||
<input type="hidden" name="cartRow[0].qtyMinimumLimitation" value="1">
|
||||
<input type="hidden" name="cartRow[0].qtyIncrementLimitation" value="1">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="step" value="ship">
|
||||
<input type="hidden" name="orderNumber" value="914646582">
|
||||
<input type="hidden" name="orderSubNumber" value="001">
|
||||
<input type="hidden" name="sameAsBilling" value="true">
|
||||
<input type="hidden" name="linked" value="false">
|
||||
<input type="hidden" name="billToID" value="">
|
||||
<input type="hidden" name="nececessaryToRevalidate" id="nececessaryToRevalidate" value="false">
|
||||
<input type="hidden" name="revalidateTrigger" id="revalidateTrigger" value="">
|
||||
<input type="hidden" name="group1Error" id="group1Error" value="false">
|
||||
<input type="hidden" name="flowMode" id="flowMode" value="ANONYMOUS">
|
||||
<div id="skipGroupOne">
|
||||
<div>
|
||||
<input type="submit" value="Edit" name="cmd_edit" id="editShipping"
|
||||
title="Edit">
|
||||
<button type="submit" name="cmd_confirm" id="continue">Continue</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<input type="hidden" name="enableGoogleAddr" id="enableGoogleAddr" value="true">
|
||||
</body>
|
||||
</html>
|
44
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/SignIn.html
поставляемый
Normal file
44
browser/extensions/formautofill/test/fixtures/third_party/OfficeDepot/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="pragma-directive" content="no-cache">
|
||||
<meta http-equiv="cache-directive" content="no-cache">
|
||||
<meta name="robots" content="NOODP, NOYDIR">
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<meta name="apple-itunes-app" content="app-id=471037434">
|
||||
<title>Office Supplies, Furniture, Technology at Office Depot</title>
|
||||
<meta name="description" content="Shop office supplies, furniture & technology at Office Depot. For paper, ink, toner & more, find trusted brands at everyday low prices.">
|
||||
<meta name="keywords" content="office supplies, office furniture, technology, electronics">
|
||||
<meta property="og:image" content="https://secure.www.odcdn.com/images/us/od/brand.png">
|
||||
<form name="loginForm" method="post" action="https://www.officedepot.com/account/loginAccountSet.do" autocomplete="off" id="loginForm">
|
||||
<input type="hidden" name="confirmationRequired" value="false">
|
||||
<input type="hidden" name="requestor" value="accountSummary">
|
||||
<input type="hidden" name="loginDestination" value="">
|
||||
<input type="hidden" id="isLoginFromRewardsModal" name="isLoginFromRewardsModal">
|
||||
<input type="hidden" name="reqLevel" value="ACCOUNT">
|
||||
<div>
|
||||
<label for="loginName-0">Login name or email address</label>
|
||||
<label>Logging in as a different user may cause pricing changes</label>
|
||||
<input type="text" name="loginName" maxlength="100" size="10" autocomplete="" value="" id="loginName-0" tabindex="1">
|
||||
</div>
|
||||
<div>
|
||||
<label for="loginPassword">Password</label>
|
||||
<input type="password" name="password" maxlength="50" size="10" value="" id="loginPassword" tabindex="2">
|
||||
<span id="forgotPasswordLink">
|
||||
<a >Forgot login name/password?</a>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="autoLogin" tabindex="3" value="on"> Keep me logged in
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
527
browser/extensions/formautofill/test/fixtures/third_party/QVC/PaymentMethod.html
поставляемый
Normal file
527
browser/extensions/formautofill/test/fixtures/third_party/QVC/PaymentMethod.html
поставляемый
Normal file
|
@ -0,0 +1,527 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta property="fb:app_id" content="105047196722" />
|
||||
<meta property="fb:page_id" content="23797290954" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="viewport" content="width=919" />
|
||||
<title>Payment Method</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="frmEditPaymentMethod" name="frmEditPaymentMethod" method="post" action="https://www.qvc.com/webapp/wcs/stores/servlet/NPOOrderAddPaymentMethods">
|
||||
<input type="hidden" name="csrfToken" value="M1E1cTBwME9saUVZaU9iNUdJVnZqSm9JQThHM3gwSUt0elROSE9oSDJaST0=" />
|
||||
<input type="hidden" name="ccId" value="" />
|
||||
<input type="hidden" name="payMethodExpireMonth" value="" />
|
||||
<input type="hidden" name="payMethodExpireYear" value="" />
|
||||
<input type="hidden" name="ccDtime" value="" />
|
||||
<input type="hidden" name="payMethodNewCard" value="N" />
|
||||
<input type="hidden" name="payMethodExpiryEdited" value="N" />
|
||||
<input type="hidden" name="payMethodCVV" value="" />
|
||||
<input type="hidden" name="orderId" value="476661567" />
|
||||
<input type="hidden" name="langId" value="-1" />
|
||||
<input type="hidden" name="catalogId" value="10151" />
|
||||
<input type="hidden" name="storeId" value="10251" />
|
||||
<input type="hidden" name="dummydata" value="" />
|
||||
<input type="hidden" id="currentPaymentMethod" name="currentPaymentMethod" value="VI" />
|
||||
<input type="hidden" name="checkoutStep" value="3" />
|
||||
<input type="hidden" name="fromPaymentPage" value="Y" />
|
||||
<input type="hidden" name="URL" value="" />
|
||||
<input type="hidden" id="addAnotherGC" name="addAnotherGC" value="N" />
|
||||
<input type="hidden" name="BMLFilePath" id="BMLFilePath" value="https://www.qvc.com/wcsstore/US/content/html/popups/BillMeLaterTermsandConditions.html" />
|
||||
<div id="divTotalPurchaseSummary">
|
||||
<fieldset>
|
||||
<label id="lblTotalPurchaseAmount" for="spanTotalPurchaseAmount">Total Purchase
|
||||
<span>(including tax and S&H)</span>:</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div id="divEasyPayOptions">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="radio" value="Z" id="rb1PaymentsItem_1" name="rbItemEasyPayOption_1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: 4 Easy Pays of $39.74 parseable name: rbItemEasyPayOption_1 field signature: 915844214 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rb1PaymentsItem_1">4 Easy Pays of $39.74</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" value="N" id="rb2PaymentsItem_1" name="rbItemEasyPayOption_1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: 1 payment of $158.96 parseable name: rbItemEasyPayOption_1 field signature: 915844214 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rb2PaymentsItem_1">1 payment of $158.96</label>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" name="hItemEasyPayOptionPayMthd_1" id="hItemEasyPayOptionPayMthd_1" value="QVAXCBDCSIMCVIBL " />
|
||||
<input type="hidden" name="orderItemId_1" id="orderItemId_1" value="660521668" />
|
||||
</fieldset>
|
||||
</div>
|
||||
<div id="divNewPaymentMethod">
|
||||
<input id="ccId_1" type="hidden" name="ccId_1" value="" />
|
||||
<table id="tblNewPaymentMethod" border="0" cellspacing="0" cellpadding="0" width="100%" summary="Payment methods available for Checkout">
|
||||
<tbody>
|
||||
<tr id="trBillMeLaterRow-1">
|
||||
<td>
|
||||
<input type="radio" name="rbNewPaymentMethod" id="rbBillLater" value="rbBillLater"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: PayPal Credit parseable name: rbNewPaymentMethod field signature: 95492298 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rbBillLater">PayPal Credit</label>
|
||||
<span>(formerly Bill Me Later®)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trBillMeLaterRow-2">
|
||||
<td colspan="5">
|
||||
<div id="divBillMeLater">
|
||||
<fieldset>
|
||||
<label id="lblPrimaryPhone" for="txtPrimaryPhone">Home Phone:</label>
|
||||
<input id="txtPrimaryPhone" type="tel" name="txtPrimaryPhone" autocomplete="off" autocorrect="off" value="" maxlength="14" size="14"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: Home Phone: parseable name: txtPrimaryPhone field signature: 918983855 form signature: 12190733459375771907"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblEmailAddress" for="txtEmailAddress">Email Address:</label>
|
||||
<input id="txtEmailAddress" type="email" name="txtEmailAddress" autocomplete="on" autocorrect="off" value="formautofilltester@gmail.com"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: Email Address: parseable name: txtEmailAddress field signature: 653947670 form signature: 12190733459375771907"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblSsn" for="txtSsn">Social Security Number:</label>XXX-XX-<input id="txtSsn" type="text" pattern="[0-9]*" autocomplete="off" autocorrect="off" maxlength="4" size="4" name="txtLast4SSN" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Social Security Number: parseable name: txtLast4SSN field signature: 598258955 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblDateOfBirthMonth" for="selDobMonth">Date of Birth:</label>
|
||||
<select id="selDobMonth" name="dobMonth" size="1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Date of Birth: parseable name: dobMonth field signature: 3916402925 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="month" selected="selected">Month</option>
|
||||
<option value="01">January</option>
|
||||
<option value="02">February</option>
|
||||
<option value="03">March</option>
|
||||
<option value="04">April</option>
|
||||
<option value="05">May</option>
|
||||
<option value="06">June</option>
|
||||
<option value="07">July</option>
|
||||
<option value="08">August</option>
|
||||
<option value="09">September</option>
|
||||
<option value="10">October</option>
|
||||
<option value="11">November</option>
|
||||
<option value="12">December</option>
|
||||
</select>
|
||||
<label id="lblDateOfBirthDay" for="selDobDay">Day of Birth:</label>
|
||||
<select id="selDobDay" name="dobDay" size="1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Day of Birth: parseable name: dobDay field signature: 4127787517 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="day" selected="selected">Day</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
<option value="9">9</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
</select>
|
||||
<label id="lblDateOfBirthYear" for="selDobYear">Year of Birth:</label>
|
||||
<select id="selDobYear" name="dobYear" size="1"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: UNKNOWN_TYPE label: Year of Birth: parseable name: dobYear field signature: 3750696607 form signature: 12190733459375771907"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
<option value="year" selected="selected">Year</option>
|
||||
<option value="1927">1927</option>
|
||||
<option value="1928">1928</option>
|
||||
<option value="1929">1929</option>
|
||||
<option value="1930">1930</option>
|
||||
<option value="1931">1931</option>
|
||||
<option value="1932">1932</option>
|
||||
<option value="1933">1933</option>
|
||||
<option value="1934">1934</option>
|
||||
<option value="1935">1935</option>
|
||||
<option value="1936">1936</option>
|
||||
<option value="1937">1937</option>
|
||||
<option value="1938">1938</option>
|
||||
<option value="1939">1939</option>
|
||||
<option value="1940">1940</option>
|
||||
<option value="1941">1941</option>
|
||||
<option value="1942">1942</option>
|
||||
<option value="1943">1943</option>
|
||||
<option value="1944">1944</option>
|
||||
<option value="1945">1945</option>
|
||||
<option value="1946">1946</option>
|
||||
<option value="1947">1947</option>
|
||||
<option value="1948">1948</option>
|
||||
<option value="1949">1949</option>
|
||||
<option value="1950">1950</option>
|
||||
<option value="1951">1951</option>
|
||||
<option value="1952">1952</option>
|
||||
<option value="1953">1953</option>
|
||||
<option value="1954">1954</option>
|
||||
<option value="1955">1955</option>
|
||||
<option value="1956">1956</option>
|
||||
<option value="1957">1957</option>
|
||||
<option value="1958">1958</option>
|
||||
<option value="1959">1959</option>
|
||||
<option value="1960">1960</option>
|
||||
<option value="1961">1961</option>
|
||||
<option value="1962">1962</option>
|
||||
<option value="1963">1963</option>
|
||||
<option value="1964">1964</option>
|
||||
<option value="1965">1965</option>
|
||||
<option value="1966">1966</option>
|
||||
<option value="1967">1967</option>
|
||||
<option value="1968">1968</option>
|
||||
<option value="1969">1969</option>
|
||||
<option value="1970">1970</option>
|
||||
<option value="1971">1971</option>
|
||||
<option value="1972">1972</option>
|
||||
<option value="1973">1973</option>
|
||||
<option value="1974">1974</option>
|
||||
<option value="1975">1975</option>
|
||||
<option value="1976">1976</option>
|
||||
<option value="1977">1977</option>
|
||||
<option value="1978">1978</option>
|
||||
<option value="1979">1979</option>
|
||||
<option value="1980">1980</option>
|
||||
<option value="1981">1981</option>
|
||||
<option value="1982">1982</option>
|
||||
<option value="1983">1983</option>
|
||||
<option value="1984">1984</option>
|
||||
<option value="1985">1985</option>
|
||||
<option value="1986">1986</option>
|
||||
<option value="1987">1987</option>
|
||||
<option value="1988">1988</option>
|
||||
<option value="1989">1989</option>
|
||||
<option value="1990">1990</option>
|
||||
<option value="1991">1991</option>
|
||||
<option value="1992">1992</option>
|
||||
<option value="1993">1993</option>
|
||||
<option value="1994">1994</option>
|
||||
<option value="1995">1995</option>
|
||||
<option value="1996">1996</option>
|
||||
<option value="1997">1997</option>
|
||||
<option value="1998">1998</option>
|
||||
<option value="1999">1999</option>
|
||||
<option value="2000">2000</option>
|
||||
<option value="2001">2001</option>
|
||||
<option value="2002">2002</option>
|
||||
<option value="2003">2003</option>
|
||||
<option value="2004">2004</option>
|
||||
<option value="2005">2005</option>
|
||||
<option value="2006">2006</option>
|
||||
<option value="2007">2007</option>
|
||||
<option value="2008">2008</option>
|
||||
<option value="2009">2009</option>
|
||||
<option value="2010">2010</option>
|
||||
<option value="2011">2011</option>
|
||||
<option value="2012">2012</option>
|
||||
<option value="2013">2013</option>
|
||||
<option value="2014">2014</option>
|
||||
<option value="2015">2015</option>
|
||||
<option value="2016">2016</option>
|
||||
<option value="2017">2017</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
<div id="monetate_selectorHTML_b234e9d_0">
|
||||
<div>
|
||||
<label for="cbBillMeLaterElectronicConsent" id="lblBillMeLaterElectronicConsent"> <input id="cbBillMeLaterElectronicConsent" name="bmlAcceptTerms" type="checkbox" />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="BMLScroll">
|
||||
<input name="bmlAcceptTermsTemp" id="cbBillMeLaterElectronicConsentTemp" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Note: After scrolling, please remain at the bottom of the Terms and Conditions section to continue. parseable name: bmlAcceptTermsTemp field signature: 1379157860 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="cbBillMeLaterElectronicConsent" id="lblBillMeLaterElectronicConsent"> <input name="bmlAcceptTerms" id="cbBillMeLaterElectronicConsent" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Note: After scrolling, please remain at the bottom of the Terms and Conditions section to continue. parseable name: bmlAcceptTerms field signature: 4275106371 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trEnterNewCard-1">
|
||||
<td colspan="5">
|
||||
<input type="radio" name="rbNewPaymentMethod" id="rbNewCard" value="rbNewCard" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Enter New Card parseable name: rbNewPaymentMethod field signature: 95492298 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rbNewCard"> Enter New Card</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trEnterNewCard-2">
|
||||
<td colspan="5">
|
||||
<div id="divEnterNewCard">
|
||||
<fieldset>
|
||||
<label id="lblNewCardType" for="selNewCardType">Type</label>
|
||||
<select name="NewCardType" id="selNewCardType" size="1"
|
||||
title="overall type: CREDIT_CARD_TYPE server type: CREDIT_CARD_TYPE heuristic type: CREDIT_CARD_TYPE label: Type parseable name: NewCardType field signature: 3035337803 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_TYPE"
|
||||
>
|
||||
<option value="AX">American Express</option>
|
||||
<option value="CB">Carte Blanc</option>
|
||||
<option value="DC">Diners Club</option>
|
||||
<option value="SI">Discover</option>
|
||||
<option value="MC">MasterCard</option>
|
||||
<option value="QV">QCard</option>
|
||||
<option value="VI" selected="selected">Visa</option>
|
||||
</select>
|
||||
<label id="lblNewCardNumber" for="txtNewCardNumber">Number:</label>
|
||||
<input id="txtNewCardNumber" name="NewCardNumber" type="text" maxlength="20" size="21" autocomplete="off" autocorrect="off" value="" pattern="[0-9]*"
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: CREDIT_CARD_NUMBER label: Number: parseable name: NewCardNumber field signature: 2370218454 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
/>
|
||||
<input id="hidNewLastCC" name="hidNewLastCC" type="hidden" value="" />
|
||||
<fieldset id="fldExpireDateNewCard">
|
||||
<label id="lblNewCard" for="selNewCard">Expiration Date:</label>
|
||||
<select name="selNewCard" id="selNewCard" size="1"
|
||||
title="overall type: CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR server type: NO_SERVER_DATA heuristic type: CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR label: Expiration Date: parseable name: selNewCard field signature: 2308816317 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="03/2017" selected="selected">03/2017</option>
|
||||
<option value="04/2017">04/2017</option>
|
||||
<option value="05/2017">05/2017</option>
|
||||
<option value="06/2017">06/2017</option>
|
||||
<option value="07/2017">07/2017</option>
|
||||
<option value="08/2017">08/2017</option>
|
||||
<option value="09/2017">09/2017</option>
|
||||
<option value="10/2017">10/2017</option>
|
||||
<option value="11/2017">11/2017</option>
|
||||
<option value="12/2017">12/2017</option>
|
||||
<option value="01/2018">01/2018</option>
|
||||
<option value="02/2018">02/2018</option>
|
||||
<option value="03/2018">03/2018</option>
|
||||
<option value="04/2018">04/2018</option>
|
||||
<option value="05/2018">05/2018</option>
|
||||
<option value="06/2018">06/2018</option>
|
||||
<option value="07/2018">07/2018</option>
|
||||
<option value="08/2018">08/2018</option>
|
||||
<option value="09/2018">09/2018</option>
|
||||
<option value="10/2018">10/2018</option>
|
||||
<option value="11/2018">11/2018</option>
|
||||
<option value="12/2018">12/2018</option>
|
||||
<option value="01/2019">01/2019</option>
|
||||
<option value="02/2019">02/2019</option>
|
||||
<option value="03/2019">03/2019</option>
|
||||
<option value="04/2019">04/2019</option>
|
||||
<option value="05/2019">05/2019</option>
|
||||
<option value="06/2019">06/2019</option>
|
||||
<option value="07/2019">07/2019</option>
|
||||
<option value="08/2019">08/2019</option>
|
||||
<option value="09/2019">09/2019</option>
|
||||
<option value="10/2019">10/2019</option>
|
||||
<option value="11/2019">11/2019</option>
|
||||
<option value="12/2019">12/2019</option>
|
||||
<option value="01/2020">01/2020</option>
|
||||
<option value="02/2020">02/2020</option>
|
||||
<option value="03/2020">03/2020</option>
|
||||
<option value="04/2020">04/2020</option>
|
||||
<option value="05/2020">05/2020</option>
|
||||
<option value="06/2020">06/2020</option>
|
||||
<option value="07/2020">07/2020</option>
|
||||
<option value="08/2020">08/2020</option>
|
||||
<option value="09/2020">09/2020</option>
|
||||
<option value="10/2020">10/2020</option>
|
||||
<option value="11/2020">11/2020</option>
|
||||
<option value="12/2020">12/2020</option>
|
||||
<option value="01/2021">01/2021</option>
|
||||
<option value="02/2021">02/2021</option>
|
||||
<option value="03/2021">03/2021</option>
|
||||
<option value="04/2021">04/2021</option>
|
||||
<option value="05/2021">05/2021</option>
|
||||
<option value="06/2021">06/2021</option>
|
||||
<option value="07/2021">07/2021</option>
|
||||
<option value="08/2021">08/2021</option>
|
||||
<option value="09/2021">09/2021</option>
|
||||
<option value="10/2021">10/2021</option>
|
||||
<option value="11/2021">11/2021</option>
|
||||
<option value="12/2021">12/2021</option>
|
||||
<option value="01/2022">01/2022</option>
|
||||
<option value="02/2022">02/2022</option>
|
||||
<option value="03/2022">03/2022</option>
|
||||
<option value="04/2022">04/2022</option>
|
||||
<option value="05/2022">05/2022</option>
|
||||
<option value="06/2022">06/2022</option>
|
||||
<option value="07/2022">07/2022</option>
|
||||
<option value="08/2022">08/2022</option>
|
||||
<option value="09/2022">09/2022</option>
|
||||
<option value="10/2022">10/2022</option>
|
||||
<option value="11/2022">11/2022</option>
|
||||
<option value="12/2022">12/2022</option>
|
||||
<option value="01/2023">01/2023</option>
|
||||
<option value="02/2023">02/2023</option>
|
||||
<option value="03/2023">03/2023</option>
|
||||
<option value="04/2023">04/2023</option>
|
||||
<option value="05/2023">05/2023</option>
|
||||
<option value="06/2023">06/2023</option>
|
||||
<option value="07/2023">07/2023</option>
|
||||
<option value="08/2023">08/2023</option>
|
||||
<option value="09/2023">09/2023</option>
|
||||
<option value="10/2023">10/2023</option>
|
||||
<option value="11/2023">11/2023</option>
|
||||
<option value="12/2023">12/2023</option>
|
||||
<option value="01/2024">01/2024</option>
|
||||
<option value="02/2024">02/2024</option>
|
||||
<option value="03/2024">03/2024</option>
|
||||
<option value="04/2024">04/2024</option>
|
||||
<option value="05/2024">05/2024</option>
|
||||
<option value="06/2024">06/2024</option>
|
||||
<option value="07/2024">07/2024</option>
|
||||
<option value="08/2024">08/2024</option>
|
||||
<option value="09/2024">09/2024</option>
|
||||
<option value="10/2024">10/2024</option>
|
||||
<option value="11/2024">11/2024</option>
|
||||
<option value="12/2024">12/2024</option>
|
||||
<option value="01/2025">01/2025</option>
|
||||
<option value="02/2025">02/2025</option>
|
||||
<option value="03/2025">03/2025</option>
|
||||
<option value="04/2025">04/2025</option>
|
||||
<option value="05/2025">05/2025</option>
|
||||
<option value="06/2025">06/2025</option>
|
||||
<option value="07/2025">07/2025</option>
|
||||
<option value="08/2025">08/2025</option>
|
||||
<option value="09/2025">09/2025</option>
|
||||
<option value="10/2025">10/2025</option>
|
||||
<option value="11/2025">11/2025</option>
|
||||
<option value="12/2025">12/2025</option>
|
||||
<option value="01/2026">01/2026</option>
|
||||
<option value="02/2026">02/2026</option>
|
||||
<option value="03/2026">03/2026</option>
|
||||
<option value="04/2026">04/2026</option>
|
||||
<option value="05/2026">05/2026</option>
|
||||
<option value="06/2026">06/2026</option>
|
||||
<option value="07/2026">07/2026</option>
|
||||
<option value="08/2026">08/2026</option>
|
||||
<option value="09/2026">09/2026</option>
|
||||
<option value="10/2026">10/2026</option>
|
||||
<option value="11/2026">11/2026</option>
|
||||
<option value="12/2026">12/2026</option>
|
||||
<option value="01/2027">01/2027</option>
|
||||
<option value="02/2027">02/2027</option>
|
||||
<option value="03/2027">03/2027</option>
|
||||
<option value="04/2027">04/2027</option>
|
||||
<option value="05/2027">05/2027</option>
|
||||
<option value="06/2027">06/2027</option>
|
||||
<option value="07/2027">07/2027</option>
|
||||
<option value="08/2027">08/2027</option>
|
||||
<option value="09/2027">09/2027</option>
|
||||
<option value="10/2027">10/2027</option>
|
||||
<option value="11/2027">11/2027</option>
|
||||
<option value="12/2027">12/2027</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<fieldset id="fldSecurityCodeNewCard">
|
||||
<div id="fldSecurityCode">
|
||||
<label for="txtSecurityCode">Security Code:</label> <input id="txtSecurityCode" name="SecurityCode" type="text" pattern="[0-9]*" maxlength="5" size="5" value=""
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE server type: NO_SERVER_DATA heuristic type: CREDIT_CARD_VERIFICATION_CODE label: Security Code: parseable name: SecurityCode field signature: 4107652875 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
/>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div id="divQButton">
|
||||
<span>
|
||||
<input type="button" id="btnQCard" value="Add My QCard" />
|
||||
</span>
|
||||
<input type="hidden" id="addMyQCard" name="addMyQCard" value="false" />
|
||||
<input type="hidden" id="isNPO" name="isNPO" value="true" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="divQvcGiftCardsMethod">
|
||||
<div>
|
||||
<div id="divGiftCardPaymentOption">
|
||||
<input type="checkbox" name="cbGiftCard" id="cbGiftCard"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Use a Gift Card parseable name: cbGiftCard field signature: 2461714937 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="cbGiftCard">Use a Gift Card</label>
|
||||
<div id="divQvcGiftCardEntry">
|
||||
<fieldset>
|
||||
<label for="txtQvcGiftCardNumber">Card Number:</label>
|
||||
<input id="txtQvcGiftCardNumber" name="txtQvcGiftCardNumber" type="tel" autocomplete="off" autocorrect="off" maxlength="19" size="19" value=""
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: CREDIT_CARD_NUMBER label: Card Number: parseable name: txtQvcGiftCardNumber field signature: 375442765 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
/>
|
||||
<label for="txtQvcGiftCardSecurityIdNumber">Security ID Number:</label>
|
||||
<input id="txtQvcGiftCardSecurityIdNumber" name="txtQvcGiftCardSecurityIdNumber" type="text" autocomplete="off" autocorrect="off" maxlength="12" size="19" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Security ID Number: parseable name: txtQvcGiftCardSecurityIdNumber field signature: 383370886 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<span>
|
||||
<input type="button" id="btnQvcGiftCardEnterAnotherCard" name="btnQvcGiftCardEnterAnotherCard" value="Enter Another Card" />
|
||||
<span>Enter Another Card</span>
|
||||
</span>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="monetate_selectorHTML_c937b2dd_0">
|
||||
<div id="mainVoucherCodeDiv">
|
||||
<input id="txtQvcApplyCodeNumber" name="txtQvcApplyCodeNumber" type="text" autocomplete="off" autocorrect="off" maxlength="25" size="19" value="" />
|
||||
<input type="button" id="btnApplyCode" value="Apply Code" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="divButtons">
|
||||
<span>
|
||||
<input type="button" id="btnSubmitChanges" value="Continue Checkout" />
|
||||
<span>Continue Checkout</span>
|
||||
</span>
|
||||
<span>
|
||||
<span>Continue Checkout</span>
|
||||
<input type="button" id="btnQCard2" value="Continue Checkout" />
|
||||
</span>
|
||||
<span>
|
||||
<input type="button" id="btnReturnToOrder" value="EDIT SHOPPING CART" />
|
||||
<span>Edit Shopping cart</span>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<form id="captureFormFooter" method="post" name="captureFormFooter">
|
||||
<div id="divEmailFormFooter">
|
||||
<label for="emailAddress1Footer">Get sneak previews of special offers and upcoming events delivered to your inbox.</label>
|
||||
<span id="emailAddressErrorFooter">*</span>
|
||||
<input id="emailAddress1Footer" type="text" value="Enter email" />
|
||||
<input id="emailAddress2Footer" type="text" value="Confirm email" />
|
||||
<input id="signUpFooter" type="submit" value="Sign Up" />
|
||||
<span id="disclaimerTextFooter">*You're signing up to receive QVC promotional email.</span>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
80
browser/extensions/formautofill/test/fixtures/third_party/QVC/SignIn.html
поставляемый
Normal file
80
browser/extensions/formautofill/test/fixtures/third_party/QVC/SignIn.html
поставляемый
Normal file
|
@ -0,0 +1,80 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta property="fb:app_id" content="105047196722" />
|
||||
<meta property="fb:page_id" content="23797290954" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="viewport" content="width=919" />
|
||||
<title>QVC.com Sign In</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="frmMastheadSearch" method="get" action="http://www.qvc.com/CatalogSearch">
|
||||
<fieldset>
|
||||
<input type="hidden" name="langId" value="-1" />
|
||||
<input type="hidden" name="storeId" value="10251" />
|
||||
<input type="hidden" name="catalogId" value="10151" />
|
||||
<label for="txtMastheadSearch">Search QVC:</label>
|
||||
<input id="txtMastheadSearch" name="keyword" type="text" value="" autocomplete="off" autocorrect="off" placeholder="Search QVC" />
|
||||
<input id="btnMastheadSearch" type="submit" alt="Go" value="Go" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="frmSignIn" name="frmSignIn" method="post">
|
||||
<input type="hidden" name="csrfToken" value="M1E1cTBwME9saUVZaU9iNUdJVnZqSm9JQThHM3gwSUt0elROSE9oSDJaST0=" />
|
||||
<fieldset>
|
||||
<input type="hidden" name="storeId" value="10251" />
|
||||
<input type="hidden" name="catalogId" value="10151" />
|
||||
<input type="hidden" name="langId" value="-1" />
|
||||
<input type="hidden" name="URL" id="URL" value="http://www.qvc.com/Checkout?orderId=476661567&langId=-1&storeId=10251&catalogId=10151" />
|
||||
<input type="hidden" name="reLogonURL" value="LogonForm" />
|
||||
<input type="hidden" name="rememberMe" id="rememberMe" value="true" />
|
||||
<input type="hidden" name="fromPage" id="fromPage" value="checkout" />
|
||||
<input type="hidden" name="orderId" value="476661567" />
|
||||
</fieldset>
|
||||
<div id="signInFields">
|
||||
<label id="lblEmailAddress" for="txtEmailAddress">Email Address:</label>
|
||||
<input id="txtEmailAddress" type="email" value="" maxlength="128" size="30" name="logonId" placeholder="Email Address" />
|
||||
<div>
|
||||
<label id="lblPassword" for="txtPassword">QVC Password:</label>
|
||||
<input id="txtPassword" type="password" maxlength="24" size="30" name="logonPassword" placeholder="QVC Password" />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div id="divUseDefaults">
|
||||
<input id="cbUseDefaults" type="checkbox" name="cbReviewOrderTotal" value="on" />
|
||||
<label id="lblUseDefaults" for="cbUseDefaults">Using your default shipping and payment information? Check the box to go directly to Order Summary.</label>
|
||||
<input type="hidden" name="speedBuyTypeInd" id="speedBuyTypeInd" value="C" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="divFormButtons">
|
||||
<div>
|
||||
<span id="createPasswordSpan">
|
||||
<span>Create Password</span>
|
||||
<input id="btnSignIn" type="button" value="Create Password" />
|
||||
</span>
|
||||
<span id="continueButtonSpan">
|
||||
<span>Continue</span>
|
||||
<input id="btnSignIn" type="button" value="Continue" />
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<span>Sign In</span>
|
||||
<input id="btnSignIn" type="submit" value="Sign In" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<fieldset>
|
||||
<input id="userPrefs" type="hidden" value="" name="userPrefs" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="frmCreateAccount">
|
||||
<input type="hidden" name="csrfToken" value="M1E1cTBwME9saUVZaU9iNUdJVnZqSm9JQThHM3gwSUt0elROSE9oSDJaST0=" />
|
||||
<div id="divButtons">
|
||||
<span>
|
||||
<span>Continue</span>
|
||||
<input id="btnSignUp" type="button" value="Continue" />
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
522
browser/extensions/formautofill/test/fixtures/third_party/QVC/YourInformation.html
поставляемый
Normal file
522
browser/extensions/formautofill/test/fixtures/third_party/QVC/YourInformation.html
поставляемый
Normal file
|
@ -0,0 +1,522 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta property="fb:app_id" content="105047196722" />
|
||||
<meta property="fb:page_id" content="23797290954" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="viewport" content="width=919" />
|
||||
<title>Payment Method</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="frmEditPaymentMethod" name="frmEditPaymentMethod" method="post" action="https://www.qvc.com/webapp/wcs/stores/servlet/NPOOrderAddPaymentMethods">
|
||||
<input type="hidden" name="csrfToken" value="M1E1cTBwME9saUVZaU9iNUdJVnZqSm9JQThHM3gwSUt0elROSE9oSDJaST0=" />
|
||||
<input type="hidden" name="ccId" value="" />
|
||||
<input type="hidden" name="payMethodExpireMonth" value="" />
|
||||
<input type="hidden" name="payMethodExpireYear" value="" />
|
||||
<input type="hidden" name="ccDtime" value="" />
|
||||
<input type="hidden" name="payMethodNewCard" value="N" />
|
||||
<input type="hidden" name="payMethodExpiryEdited" value="N" />
|
||||
<input type="hidden" name="payMethodCVV" value="" />
|
||||
<input type="hidden" name="orderId" value="476661567" />
|
||||
<input type="hidden" name="langId" value="-1" />
|
||||
<input type="hidden" name="catalogId" value="10151" />
|
||||
<input type="hidden" name="storeId" value="10251" />
|
||||
<input type="hidden" name="dummydata" value="" />
|
||||
<input type="hidden" id="currentPaymentMethod" name="currentPaymentMethod" value="VI" />
|
||||
<input type="hidden" name="checkoutStep" value="3" />
|
||||
<input type="hidden" name="fromPaymentPage" value="Y" />
|
||||
<input type="hidden" name="URL" value="" />
|
||||
<input type="hidden" id="addAnotherGC" name="addAnotherGC" value="N" />
|
||||
<input type="hidden" name="BMLFilePath" id="BMLFilePath" value="https://www.qvc.com/wcsstore/US/content/html/popups/BillMeLaterTermsandConditions.html" />
|
||||
<div id="divEasyPayOptions">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="radio" value="Z" id="rb1PaymentsItem_1" name="rbItemEasyPayOption_1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: 4 Easy Pays of $39.74 parseable name: rbItemEasyPayOption_1 field signature: 915844214 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rb1PaymentsItem_1">4 Easy Pays of $39.74</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" value="N" id="rb2PaymentsItem_1" name="rbItemEasyPayOption_1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: 1 payment of $158.96 parseable name: rbItemEasyPayOption_1 field signature: 915844214 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rb2PaymentsItem_1">1 payment of $158.96</label>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" name="hItemEasyPayOptionPayMthd_1" id="hItemEasyPayOptionPayMthd_1" value="QVAXCBDCSIMCVIBL " />
|
||||
<input type="hidden" name="orderItemId_1" id="orderItemId_1" value="660521668" />
|
||||
</fieldset>
|
||||
</div>
|
||||
<div id="divNewPaymentMethod">
|
||||
<input id="ccId_1" type="hidden" name="ccId_1" value="" />
|
||||
<table id="tblNewPaymentMethod" border="0" cellspacing="0" cellpadding="0" width="100%" summary="Payment methods available for Checkout">
|
||||
<tbody>
|
||||
<tr id="trBillMeLaterRow-1">
|
||||
<td>
|
||||
<input type="radio" name="rbNewPaymentMethod" id="rbBillLater" value="rbBillLater"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: PayPal Credit parseable name: rbNewPaymentMethod field signature: 95492298 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rbBillLater">PayPal Credit</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trBillMeLaterRow-2">
|
||||
<td colspan="5">
|
||||
<div id="divBillMeLater">
|
||||
<fieldset>
|
||||
<label id="lblPrimaryPhone" for="txtPrimaryPhone">Home Phone:</label>
|
||||
<input id="txtPrimaryPhone" type="tel" name="txtPrimaryPhone" autocomplete="off" autocorrect="off" value="" maxlength="14" size="14"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: Home Phone: parseable name: txtPrimaryPhone field signature: 918983855 form signature: 12190733459375771907"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblEmailAddress" for="txtEmailAddress">Email Address:</label>
|
||||
<input id="txtEmailAddress" type="email" name="txtEmailAddress" autocomplete="on" autocorrect="off" value="formautofilltester@gmail.com"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: Email Address: parseable name: txtEmailAddress field signature: 653947670 form signature: 12190733459375771907"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblSsn" for="txtSsn">Social Security Number:</label>XXX-XX-<input id="txtSsn" type="text" pattern="[0-9]*" autocomplete="off" autocorrect="off" maxlength="4" size="4" name="txtLast4SSN" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Social Security Number: parseable name: txtLast4SSN field signature: 598258955 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label id="lblDateOfBirthMonth" for="selDobMonth">Date of Birth:</label>
|
||||
<select id="selDobMonth" name="dobMonth" size="1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Date of Birth: parseable name: dobMonth field signature: 3916402925 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="month" selected="selected">Month</option>
|
||||
<option value="01">January</option>
|
||||
<option value="02">February</option>
|
||||
<option value="03">March</option>
|
||||
<option value="04">April</option>
|
||||
<option value="05">May</option>
|
||||
<option value="06">June</option>
|
||||
<option value="07">July</option>
|
||||
<option value="08">August</option>
|
||||
<option value="09">September</option>
|
||||
<option value="10">October</option>
|
||||
<option value="11">November</option>
|
||||
<option value="12">December</option>
|
||||
</select>
|
||||
<label id="lblDateOfBirthDay" for="selDobDay">Day of Birth:</label>
|
||||
<select id="selDobDay" name="dobDay" size="1"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Day of Birth: parseable name: dobDay field signature: 4127787517 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="day" selected="selected">Day</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
<option value="9">9</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
</select>
|
||||
<label id="lblDateOfBirthYear" for="selDobYear">Year of Birth:</label>
|
||||
<select id="selDobYear" name="dobYear" size="1"
|
||||
title="overall type: COMPANY_NAME server type: COMPANY_NAME heuristic type: UNKNOWN_TYPE label: Year of Birth: parseable name: dobYear field signature: 3750696607 form signature: 12190733459375771907"
|
||||
autofill-prediction="COMPANY_NAME"
|
||||
>
|
||||
<option value="year" selected="selected">Year</option>
|
||||
<option value="1927">1927</option>
|
||||
<option value="1928">1928</option>
|
||||
<option value="1929">1929</option>
|
||||
<option value="1930">1930</option>
|
||||
<option value="1931">1931</option>
|
||||
<option value="1932">1932</option>
|
||||
<option value="1933">1933</option>
|
||||
<option value="1934">1934</option>
|
||||
<option value="1935">1935</option>
|
||||
<option value="1936">1936</option>
|
||||
<option value="1937">1937</option>
|
||||
<option value="1938">1938</option>
|
||||
<option value="1939">1939</option>
|
||||
<option value="1940">1940</option>
|
||||
<option value="1941">1941</option>
|
||||
<option value="1942">1942</option>
|
||||
<option value="1943">1943</option>
|
||||
<option value="1944">1944</option>
|
||||
<option value="1945">1945</option>
|
||||
<option value="1946">1946</option>
|
||||
<option value="1947">1947</option>
|
||||
<option value="1948">1948</option>
|
||||
<option value="1949">1949</option>
|
||||
<option value="1950">1950</option>
|
||||
<option value="1951">1951</option>
|
||||
<option value="1952">1952</option>
|
||||
<option value="1953">1953</option>
|
||||
<option value="1954">1954</option>
|
||||
<option value="1955">1955</option>
|
||||
<option value="1956">1956</option>
|
||||
<option value="1957">1957</option>
|
||||
<option value="1958">1958</option>
|
||||
<option value="1959">1959</option>
|
||||
<option value="1960">1960</option>
|
||||
<option value="1961">1961</option>
|
||||
<option value="1962">1962</option>
|
||||
<option value="1963">1963</option>
|
||||
<option value="1964">1964</option>
|
||||
<option value="1965">1965</option>
|
||||
<option value="1966">1966</option>
|
||||
<option value="1967">1967</option>
|
||||
<option value="1968">1968</option>
|
||||
<option value="1969">1969</option>
|
||||
<option value="1970">1970</option>
|
||||
<option value="1971">1971</option>
|
||||
<option value="1972">1972</option>
|
||||
<option value="1973">1973</option>
|
||||
<option value="1974">1974</option>
|
||||
<option value="1975">1975</option>
|
||||
<option value="1976">1976</option>
|
||||
<option value="1977">1977</option>
|
||||
<option value="1978">1978</option>
|
||||
<option value="1979">1979</option>
|
||||
<option value="1980">1980</option>
|
||||
<option value="1981">1981</option>
|
||||
<option value="1982">1982</option>
|
||||
<option value="1983">1983</option>
|
||||
<option value="1984">1984</option>
|
||||
<option value="1985">1985</option>
|
||||
<option value="1986">1986</option>
|
||||
<option value="1987">1987</option>
|
||||
<option value="1988">1988</option>
|
||||
<option value="1989">1989</option>
|
||||
<option value="1990">1990</option>
|
||||
<option value="1991">1991</option>
|
||||
<option value="1992">1992</option>
|
||||
<option value="1993">1993</option>
|
||||
<option value="1994">1994</option>
|
||||
<option value="1995">1995</option>
|
||||
<option value="1996">1996</option>
|
||||
<option value="1997">1997</option>
|
||||
<option value="1998">1998</option>
|
||||
<option value="1999">1999</option>
|
||||
<option value="2000">2000</option>
|
||||
<option value="2001">2001</option>
|
||||
<option value="2002">2002</option>
|
||||
<option value="2003">2003</option>
|
||||
<option value="2004">2004</option>
|
||||
<option value="2005">2005</option>
|
||||
<option value="2006">2006</option>
|
||||
<option value="2007">2007</option>
|
||||
<option value="2008">2008</option>
|
||||
<option value="2009">2009</option>
|
||||
<option value="2010">2010</option>
|
||||
<option value="2011">2011</option>
|
||||
<option value="2012">2012</option>
|
||||
<option value="2013">2013</option>
|
||||
<option value="2014">2014</option>
|
||||
<option value="2015">2015</option>
|
||||
<option value="2016">2016</option>
|
||||
<option value="2017">2017</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
<div id="monetate_selectorHTML_b234e9d_0">
|
||||
<div>
|
||||
<label for="cbBillMeLaterElectronicConsent" id="lblBillMeLaterElectronicConsent"> <input id="cbBillMeLaterElectronicConsent" name="bmlAcceptTerms" type="checkbox" />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="BMLScroll">
|
||||
<input name="bmlAcceptTermsTemp" id="cbBillMeLaterElectronicConsentTemp" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Note: After scrolling, please remain at the bottom of the Terms and Conditions section to continue. parseable name: bmlAcceptTermsTemp field signature: 1379157860 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="cbBillMeLaterElectronicConsent" id="lblBillMeLaterElectronicConsent"> <input name="bmlAcceptTerms" id="cbBillMeLaterElectronicConsent" type="checkbox"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Note: After scrolling, please remain at the bottom of the Terms and Conditions section to continue. parseable name: bmlAcceptTerms field signature: 4275106371 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trEnterNewCard-1">
|
||||
<td colspan="5">
|
||||
<input type="radio" name="rbNewPaymentMethod" id="rbNewCard" value="rbNewCard" checked="checked"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Enter New Card parseable name: rbNewPaymentMethod field signature: 95492298 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="rbNewCard"> Enter New Card</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trEnterNewCard-2">
|
||||
<td colspan="5">
|
||||
<div id="divEnterNewCard">
|
||||
<fieldset>
|
||||
<label id="lblNewCardType" for="selNewCardType">Type</label>
|
||||
<select name="NewCardType" id="selNewCardType" size="1"
|
||||
title="overall type: CREDIT_CARD_TYPE server type: CREDIT_CARD_TYPE heuristic type: CREDIT_CARD_TYPE label: Type parseable name: NewCardType field signature: 3035337803 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_TYPE"
|
||||
>
|
||||
<option value="AX">American Express</option>
|
||||
<option value="CB">Carte Blanc</option>
|
||||
<option value="DC">Diners Club</option>
|
||||
<option value="SI">Discover</option>
|
||||
<option value="MC">MasterCard</option>
|
||||
<option value="QV">QCard</option>
|
||||
<option value="VI" selected="selected">Visa</option>
|
||||
</select>
|
||||
<label id="lblNewCardNumber" for="txtNewCardNumber">Number:</label>
|
||||
<input id="txtNewCardNumber" name="NewCardNumber" type="text" maxlength="20" size="21" autocomplete="off" autocorrect="off" value="" pattern="[0-9]*"
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: CREDIT_CARD_NUMBER label: Number: parseable name: NewCardNumber field signature: 2370218454 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
/>
|
||||
<input id="hidNewLastCC" name="hidNewLastCC" type="hidden" value="" />
|
||||
<fieldset id="fldExpireDateNewCard">
|
||||
<label id="lblNewCard" for="selNewCard">Expiration Date:</label>
|
||||
<select name="selNewCard" id="selNewCard" size="1"
|
||||
title="overall type: CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR server type: NO_SERVER_DATA heuristic type: CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR label: Expiration Date: parseable name: selNewCard field signature: 2308816317 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="03/2017" selected="selected">03/2017</option>
|
||||
<option value="04/2017">04/2017</option>
|
||||
<option value="05/2017">05/2017</option>
|
||||
<option value="06/2017">06/2017</option>
|
||||
<option value="07/2017">07/2017</option>
|
||||
<option value="08/2017">08/2017</option>
|
||||
<option value="09/2017">09/2017</option>
|
||||
<option value="10/2017">10/2017</option>
|
||||
<option value="11/2017">11/2017</option>
|
||||
<option value="12/2017">12/2017</option>
|
||||
<option value="01/2018">01/2018</option>
|
||||
<option value="02/2018">02/2018</option>
|
||||
<option value="03/2018">03/2018</option>
|
||||
<option value="04/2018">04/2018</option>
|
||||
<option value="05/2018">05/2018</option>
|
||||
<option value="06/2018">06/2018</option>
|
||||
<option value="07/2018">07/2018</option>
|
||||
<option value="08/2018">08/2018</option>
|
||||
<option value="09/2018">09/2018</option>
|
||||
<option value="10/2018">10/2018</option>
|
||||
<option value="11/2018">11/2018</option>
|
||||
<option value="12/2018">12/2018</option>
|
||||
<option value="01/2019">01/2019</option>
|
||||
<option value="02/2019">02/2019</option>
|
||||
<option value="03/2019">03/2019</option>
|
||||
<option value="04/2019">04/2019</option>
|
||||
<option value="05/2019">05/2019</option>
|
||||
<option value="06/2019">06/2019</option>
|
||||
<option value="07/2019">07/2019</option>
|
||||
<option value="08/2019">08/2019</option>
|
||||
<option value="09/2019">09/2019</option>
|
||||
<option value="10/2019">10/2019</option>
|
||||
<option value="11/2019">11/2019</option>
|
||||
<option value="12/2019">12/2019</option>
|
||||
<option value="01/2020">01/2020</option>
|
||||
<option value="02/2020">02/2020</option>
|
||||
<option value="03/2020">03/2020</option>
|
||||
<option value="04/2020">04/2020</option>
|
||||
<option value="05/2020">05/2020</option>
|
||||
<option value="06/2020">06/2020</option>
|
||||
<option value="07/2020">07/2020</option>
|
||||
<option value="08/2020">08/2020</option>
|
||||
<option value="09/2020">09/2020</option>
|
||||
<option value="10/2020">10/2020</option>
|
||||
<option value="11/2020">11/2020</option>
|
||||
<option value="12/2020">12/2020</option>
|
||||
<option value="01/2021">01/2021</option>
|
||||
<option value="02/2021">02/2021</option>
|
||||
<option value="03/2021">03/2021</option>
|
||||
<option value="04/2021">04/2021</option>
|
||||
<option value="05/2021">05/2021</option>
|
||||
<option value="06/2021">06/2021</option>
|
||||
<option value="07/2021">07/2021</option>
|
||||
<option value="08/2021">08/2021</option>
|
||||
<option value="09/2021">09/2021</option>
|
||||
<option value="10/2021">10/2021</option>
|
||||
<option value="11/2021">11/2021</option>
|
||||
<option value="12/2021">12/2021</option>
|
||||
<option value="01/2022">01/2022</option>
|
||||
<option value="02/2022">02/2022</option>
|
||||
<option value="03/2022">03/2022</option>
|
||||
<option value="04/2022">04/2022</option>
|
||||
<option value="05/2022">05/2022</option>
|
||||
<option value="06/2022">06/2022</option>
|
||||
<option value="07/2022">07/2022</option>
|
||||
<option value="08/2022">08/2022</option>
|
||||
<option value="09/2022">09/2022</option>
|
||||
<option value="10/2022">10/2022</option>
|
||||
<option value="11/2022">11/2022</option>
|
||||
<option value="12/2022">12/2022</option>
|
||||
<option value="01/2023">01/2023</option>
|
||||
<option value="02/2023">02/2023</option>
|
||||
<option value="03/2023">03/2023</option>
|
||||
<option value="04/2023">04/2023</option>
|
||||
<option value="05/2023">05/2023</option>
|
||||
<option value="06/2023">06/2023</option>
|
||||
<option value="07/2023">07/2023</option>
|
||||
<option value="08/2023">08/2023</option>
|
||||
<option value="09/2023">09/2023</option>
|
||||
<option value="10/2023">10/2023</option>
|
||||
<option value="11/2023">11/2023</option>
|
||||
<option value="12/2023">12/2023</option>
|
||||
<option value="01/2024">01/2024</option>
|
||||
<option value="02/2024">02/2024</option>
|
||||
<option value="03/2024">03/2024</option>
|
||||
<option value="04/2024">04/2024</option>
|
||||
<option value="05/2024">05/2024</option>
|
||||
<option value="06/2024">06/2024</option>
|
||||
<option value="07/2024">07/2024</option>
|
||||
<option value="08/2024">08/2024</option>
|
||||
<option value="09/2024">09/2024</option>
|
||||
<option value="10/2024">10/2024</option>
|
||||
<option value="11/2024">11/2024</option>
|
||||
<option value="12/2024">12/2024</option>
|
||||
<option value="01/2025">01/2025</option>
|
||||
<option value="02/2025">02/2025</option>
|
||||
<option value="03/2025">03/2025</option>
|
||||
<option value="04/2025">04/2025</option>
|
||||
<option value="05/2025">05/2025</option>
|
||||
<option value="06/2025">06/2025</option>
|
||||
<option value="07/2025">07/2025</option>
|
||||
<option value="08/2025">08/2025</option>
|
||||
<option value="09/2025">09/2025</option>
|
||||
<option value="10/2025">10/2025</option>
|
||||
<option value="11/2025">11/2025</option>
|
||||
<option value="12/2025">12/2025</option>
|
||||
<option value="01/2026">01/2026</option>
|
||||
<option value="02/2026">02/2026</option>
|
||||
<option value="03/2026">03/2026</option>
|
||||
<option value="04/2026">04/2026</option>
|
||||
<option value="05/2026">05/2026</option>
|
||||
<option value="06/2026">06/2026</option>
|
||||
<option value="07/2026">07/2026</option>
|
||||
<option value="08/2026">08/2026</option>
|
||||
<option value="09/2026">09/2026</option>
|
||||
<option value="10/2026">10/2026</option>
|
||||
<option value="11/2026">11/2026</option>
|
||||
<option value="12/2026">12/2026</option>
|
||||
<option value="01/2027">01/2027</option>
|
||||
<option value="02/2027">02/2027</option>
|
||||
<option value="03/2027">03/2027</option>
|
||||
<option value="04/2027">04/2027</option>
|
||||
<option value="05/2027">05/2027</option>
|
||||
<option value="06/2027">06/2027</option>
|
||||
<option value="07/2027">07/2027</option>
|
||||
<option value="08/2027">08/2027</option>
|
||||
<option value="09/2027">09/2027</option>
|
||||
<option value="10/2027">10/2027</option>
|
||||
<option value="11/2027">11/2027</option>
|
||||
<option value="12/2027">12/2027</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<fieldset id="fldSecurityCodeNewCard">
|
||||
<div id="fldSecurityCode">
|
||||
<label for="txtSecurityCode">Security Code:</label> <input id="txtSecurityCode" name="SecurityCode" type="text" pattern="[0-9]*" maxlength="5" size="5" value=""
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE server type: NO_SERVER_DATA heuristic type: CREDIT_CARD_VERIFICATION_CODE label: Security Code: parseable name: SecurityCode field signature: 4107652875 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
/>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div id="divQButton">
|
||||
<span>
|
||||
<input type="button" id="btnQCard" value="Add My QCard" />
|
||||
<span>Add My QCard</span>
|
||||
</span>
|
||||
<input type="hidden" id="addMyQCard" name="addMyQCard" value="false" />
|
||||
<input type="hidden" id="isNPO" name="isNPO" value="true" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="divQvcGiftCardsMethod">
|
||||
<div>
|
||||
<div id="divGiftCardPaymentOption">
|
||||
<input type="checkbox" name="cbGiftCard" id="cbGiftCard"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Use a Gift Card parseable name: cbGiftCard field signature: 2461714937 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="cbGiftCard">Use a Gift Card</label>
|
||||
<div id="divQvcGiftCardEntry">
|
||||
<fieldset>
|
||||
<label for="txtQvcGiftCardNumber">Card Number:</label>
|
||||
<input id="txtQvcGiftCardNumber" name="txtQvcGiftCardNumber" type="tel" autocomplete="off" autocorrect="off" maxlength="19" size="19" value=""
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: CREDIT_CARD_NUMBER label: Card Number: parseable name: txtQvcGiftCardNumber field signature: 375442765 form signature: 12190733459375771907"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
/>
|
||||
<label for="txtQvcGiftCardSecurityIdNumber">Security ID Number:</label>
|
||||
<input id="txtQvcGiftCardSecurityIdNumber" name="txtQvcGiftCardSecurityIdNumber" type="text" autocomplete="off" autocorrect="off" maxlength="12" size="19" value=""
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Security ID Number: parseable name: txtQvcGiftCardSecurityIdNumber field signature: 383370886 form signature: 12190733459375771907"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<span>
|
||||
<input type="button" id="btnQvcGiftCardEnterAnotherCard" name="btnQvcGiftCardEnterAnotherCard" value="Enter Another Card" />
|
||||
<span>Enter Another Card</span>
|
||||
</span>
|
||||
<br />
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="monetate_selectorHTML_c937b2dd_0">
|
||||
<div id="mainVoucherCodeDiv">
|
||||
<input id="txtQvcApplyCodeNumber" name="txtQvcApplyCodeNumber" type="text" autocomplete="off" autocorrect="off" maxlength="25" size="19" value="" />
|
||||
<input type="button" id="btnApplyCode" value="Apply Code" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="divButtons">
|
||||
<span>
|
||||
<input type="button" id="btnSubmitChanges" value="Continue Checkout" />
|
||||
<span>Continue Checkout</span>
|
||||
</span>
|
||||
<span>
|
||||
<span>Continue Checkout</span>
|
||||
<input type="button" id="btnQCard2" value="Continue Checkout" />
|
||||
</span>
|
||||
<span>
|
||||
<input type="button" id="btnReturnToOrder" value="EDIT SHOPPING CART" />
|
||||
<span>Edit Shopping cart</span>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<form id="captureFormFooter" method="post" name="captureFormFooter">
|
||||
<div id="divEmailFormFooter">
|
||||
<label for="emailAddress1Footer">Get sneak previews of special offers and upcoming events delivered to your inbox.</label>
|
||||
<span id="emailAddressErrorFooter">*</span>
|
||||
<input id="emailAddress1Footer" type="text" value="Enter email" />
|
||||
<input id="emailAddress2Footer" type="text" value="Confirm email" />
|
||||
<input id="signUpFooter" type="submit" value="Sign Up" />
|
||||
<span id="disclaimerTextFooter">*You're signing up to receive QVC promotional email.</span>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
This directory contains pages downloaded from the web for the purpose of testing
|
||||
Form Autofill against pages from the real world. These files are not made
|
||||
available under an open source license.
|
||||
|
566
browser/extensions/formautofill/test/fixtures/third_party/Sears/PaymentOptions.html
поставляемый
Normal file
566
browser/extensions/formautofill/test/fixtures/third_party/Sears/PaymentOptions.html
поставляемый
Normal file
|
@ -0,0 +1,566 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title>Payment Options | Sears PartsDirect</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="decorator" content="pdwCheckout" />
|
||||
<input type="hidden" id="isCQTOFPDPPagesEnabled" value="true" />
|
||||
<input type="hidden" id="cqHost" value="//www.searspartsdirect.com" />
|
||||
<form id="modelSearchHeader" method="get" action="https://www.searspartsdirect.com/partsdirect/getModel.pd" name="modelSearch">
|
||||
<fieldset>
|
||||
<label>Try searching again:</label>
|
||||
<label for="searchedModelField">Model Number</label>
|
||||
<input id="searchedModelField" type="text"
|
||||
title="Enter model number" value="Enter model number" name="modelNumberPopUp" maxlength="35" />
|
||||
<input type="hidden" name="shdMod" />
|
||||
<input type="hidden" name="pathTaken" />
|
||||
<input type="hidden" name="legacySlrSearch" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="creditCard" name="creditCard" action="https://www.searspartsdirect.com/partsdirect/checkOut.pd" method="post" pd-form-id="1489978179816">
|
||||
<input type="hidden" name="_eventId" value="goAddPaymentOpt" id="creditCard__eventId" />
|
||||
<input type="hidden" name="paymentOptionStr" value="" id="creditCard_paymentOptionStr" />
|
||||
<input type="hidden" name="userPaymentTypeId" value="" id="creditCard_userPaymentTypeId" />
|
||||
<input type="hidden" name="associateDiscountInput" value="" id="creditCard_associateDiscountInput" />
|
||||
<input type="hidden" name="saveAssociateId" value="false" id="creditCard_saveAssociateId" />
|
||||
<input type="hidden" name="userPaymentCommercial" value="false" id="creditCard_userPaymentCommercial" />
|
||||
<input type="hidden" name="paymentType" value="" id="creditCard_paymentType" />
|
||||
<div id="GuestCreditCardForm">
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.paymentType.cardNumber">Card Number</label>
|
||||
<input type="text" name="maskedCardNumber" maxlength="16" value="" id="maskedCardNumber" placeholder="Card Number"
|
||||
title="overall type: CREDIT_CARD_NUMBER server type: CREDIT_CARD_NUMBER heuristic type: CREDIT_CARD_NUMBER label: Card Number parseable name: maskedCardNumber field signature: 2745159259 form signature: 7671147655436241539"
|
||||
autofill-prediction="CREDIT_CARD_NUMBER"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.paymentType.nameOnCard">Name On Card</label>
|
||||
<input type="text" name="creditCardPaymentName" value="" id="creditCard_creditCardPaymentName" placeholder="Name On Card"
|
||||
title="overall type: CREDIT_CARD_NAME_FULL server type: CREDIT_CARD_NAME_FULL heuristic type: CREDIT_CARD_NAME_FULL label: Name On Card parseable name: creditCardPaymentName field signature: 2311472685 form signature: 7671147655436241539"
|
||||
autofill-prediction="CREDIT_CARD_NAME_FULL"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.paymentType.securityCode">Security Code</label>
|
||||
<input type="text" name="securityCode" value="" id="securityCode" placeholder="CVV"
|
||||
title="overall type: CREDIT_CARD_VERIFICATION_CODE server type: NO_SERVER_DATA heuristic type: CREDIT_CARD_VERIFICATION_CODE label: Security Code parseable name: securityCode field signature: 1305695504 form signature: 7671147655436241539"
|
||||
autofill-prediction="CREDIT_CARD_VERIFICATION_CODE"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.paymentType.expirationDate">Expiration Date</label>
|
||||
<select name="expMonth" id="expMonth"
|
||||
title="overall type: CREDIT_CARD_EXP_MONTH server type: CREDIT_CARD_EXP_MONTH heuristic type: CREDIT_CARD_EXP_MONTH label: Expiration Date parseable name: expMonth field signature: 2046285420 form signature: 7671147655436241539"
|
||||
autofill-prediction="CREDIT_CARD_EXP_MONTH"
|
||||
>
|
||||
<option value="">Month</option>
|
||||
<option value="1">01-January</option>
|
||||
<option value="2">02-February</option>
|
||||
<option value="3">03-March</option>
|
||||
<option value="4">04-April</option>
|
||||
<option value="5">05-May</option>
|
||||
<option value="6">06-June</option>
|
||||
<option value="7">07-July</option>
|
||||
<option value="8">08-August</option>
|
||||
<option value="9">09-September</option>
|
||||
<option value="10">10-October</option>
|
||||
<option value="11">11-November</option>
|
||||
<option value="12">12-December</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<select name="expYear" id="expYear"
|
||||
title="overall type: CREDIT_CARD_EXP_4_DIGIT_YEAR server type: CREDIT_CARD_EXP_4_DIGIT_YEAR heuristic type: ADDRESS_HOME_CITY label: The City/State/ZIP Code combination you entered is incorrect. Please try again. Billing Address parseable name: expYear field signature: 2532266972 form signature: 7671147655436241539"
|
||||
autofill-prediction="CREDIT_CARD_EXP_4_DIGIT_YEAR"
|
||||
>
|
||||
<option value="">Year</option>
|
||||
<option value="2017">2017</option>
|
||||
<option value="2018">2018</option>
|
||||
<option value="2019">2019</option>
|
||||
<option value="2020">2020</option>
|
||||
<option value="2021">2021</option>
|
||||
<option value="2022">2022</option>
|
||||
<option value="2023">2023</option>
|
||||
<option value="2024">2024</option>
|
||||
<option value="2025">2025</option>
|
||||
<option value="2026">2026</option>
|
||||
<option value="2027">2027</option>
|
||||
<option value="2028">2028</option>
|
||||
<option value="2029">2029</option>
|
||||
<option value="2030">2030</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="anotherBillingAddress" name="anotherBillingAddress" method="post" pd-form-id="1489978179817">
|
||||
<div id="billingAddressForm">
|
||||
<div>
|
||||
<label for="order.billingInfo.firstName">First Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.firstName" maxlength="11" value="Vance" id="order.billingInfo.firstName" placeholder="First Name *"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: First Name* parseable name: firstName field signature: 3077178767 form signature: 17982067175666068474"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.lastName">Last Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.lastName" value="Chen" id="order.billingInfo.lastName" placeholder="Last Name *"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: Last Name* parseable name: lastName field signature: 2325932944 form signature: 17982067175666068474"
|
||||
autofill-prediction="NAME_LAST"
|
||||
/>
|
||||
</div>
|
||||
<div id="divCityStateZipId_3">
|
||||
<div id="divCityStateZipId_2">
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.address1">Street Address<span>*</span> - 24 character limit</label>
|
||||
<input type="text" name="order.billingInfo.address.address1" value="Island Drvie" id="order.billingInfo.address.address1" placeholder="Street Address *"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: Street Address* - 24 character limit parseable name: address.address1 field signature: 796482076 form signature: 17982067175666068474"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.address2">Apt. #</label>
|
||||
<input type="text" name="order.billingInfo.address.address2" value="102" id="order.billingInfo.address.address2" placeholder="Apt. #"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Apt. # parseable name: address.address2 field signature: 1242999964 form signature: 17982067175666068474"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divCityStateZipId">
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.city">City<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.address.city" value="Ann Arbor" id="order.billingInfo.address.city" placeholder="City *"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: City* parseable name: address.city field signature: 1372321658 form signature: 17982067175666068474"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.state">State<span>*</span>
|
||||
</label>
|
||||
<select name="order.billingInfo.address.state" id="order.billingInfo.address.state"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: State* parseable name: address.state field signature: 2106658457 form signature: 17982067175666068474"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="">ST *</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI" selected="selected">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.zipCode">ZIP/Postal Code<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.address.zipCode" value="48105" id="order.billingInfo.address.zipCode" placeholder="ZIP Code *"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: ZIP/Postal Code* parseable name: address.zipCode field signature: 1420459778 form signature: 17982067175666068474"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
/>
|
||||
</div>
|
||||
<input type="hidden" id="order.billingInfo.address.poBoxOrMillitaryAdd" name="order.billingInfo.address.poBoxOrMillitaryAdd" value="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.dayTimePhone">Phone Number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.dayTimePhone" value="734-123-1231" id="order.billingInfo.dayTimePhone" placeholder="Phone Number *"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: Phone Number* parseable name: dayTimePhone field signature: 2509269658 form signature: 17982067175666068474"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.dayTimePhoneExt">Ext.</label>
|
||||
<input type="text" name="order.billingInfo.dayTimePhoneExt" value="" id="order.billingInfo.dayTimePhoneExt" placeholder="Ext."
|
||||
title="overall type: PHONE_HOME_CITY_CODE server type: PHONE_HOME_CITY_CODE heuristic type: PHONE_HOME_EXTENSION label: Ext. parseable name: dayTimePhoneExt field signature: 1836849076 form signature: 17982067175666068474"
|
||||
autofill-prediction="PHONE_HOME_CITY_CODE"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="eCheck" name="eCheck" action="https://www.searspartsdirect.com/partsdirect/checkOut.pd" method="post" pd-form-id="1489978179818">
|
||||
<input type="hidden" name="_eventId" value="goAddPaymentOpt" id="eCheck__eventId" />
|
||||
<input type="hidden" name="paymentOptionStr" value="" id="eCheck_paymentOptionStr" />
|
||||
<input type="hidden" name="userPaymentTypeId" value="" id="eCheck_userPaymentTypeId" />
|
||||
<input type="hidden" name="associateDiscountInput" value="" id="eCheck_associateDiscountInput" />
|
||||
<input type="hidden" name="saveAssociateId" value="false" id="eCheck_saveAssociateId" />
|
||||
<input type="hidden" name="userPaymentCommercial" value="false" id="eCheck_userPaymentCommercial" />
|
||||
<input type="hidden" name="paymentType" value="" id="eCheck_paymentType" />
|
||||
<div>
|
||||
<input type="radio" value="true" name="businessAccountFlag" id="fldBusinessAccountFlag"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: This is a Business Account parseable name: businessAccountFlag field signature: 1078565374 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="fldBusinessAccountFlag">This is a Business Account</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" value="false" checked="checked" name="businessAccountFlag" id="fldPersonalAccountFlag"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: This is a Personal Account parseable name: businessAccountFlag field signature: 1078565374 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<label for="fldPersonalAccountFlag">This is a Personal Account</label>
|
||||
</div>
|
||||
<label for="echeckFirstName">First name<span>*</span>
|
||||
</label>
|
||||
<div>
|
||||
<input type="text" name="echeckFirstName" value="" id="echeckFirstName" placeholder="First name *"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: First name* parseable name: echeckFirstName field signature: 721631680 form signature: 11778620883203943321"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="echeckLastName">Last name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="echeckLastName" value="" id="echeckLastName" placeholder="Last name *"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: Last name* parseable name: echeckLastName field signature: 2195362343 form signature: 11778620883203943321"
|
||||
autofill-prediction="NAME_LAST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="maskedBankRoutingNumber">Bank routing number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="maskedBankRoutingNumber" value="" id="maskedBankRoutingNumber" placeholder="Bank routing number *"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Bank routing number* parseable name: maskedBankRoutingNumber field signature: 3997200887 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="maskedCheckingAcctNumber">Checking account number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="maskedCheckingAcctNumber" value="" id="maskedCheckingAcctNumber" placeholder="Checking account number *"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Checking account number* parseable name: maskedCheckingAcctNumber field signature: 963371530 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="checkNumber">Check number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="checkNumber" value="" id="checkNumber" placeholder="Check number *"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Check number* parseable name: checkNumber field signature: 1195469146 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</div>
|
||||
<div id="personalAccountId">
|
||||
<div>
|
||||
<label for="maskedDriversLicence">Driver's license or state identification #<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="maskedDriversLicence" value="" id="maskedDriversLicence" placeholder="Driver's license or state identification # *"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: Driver's license or state identification #* parseable name: maskedDriversLicence field signature: 1753257915 form signature: 11778620883203943321"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="state">State issued<span>*</span>
|
||||
</label>
|
||||
<select name="state" id="state"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: State issued* parseable name: state field signature: 1878375253 form signature: 11778620883203943321"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="">ST *</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Date of birth<span>*</span>
|
||||
</label>
|
||||
<select name="bdayMonth" id="bdayMonth"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Date of birth* parseable name: bdayMonth field signature: 1907288957 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="">Month</option>
|
||||
<option value="1">January</option>
|
||||
<option value="2">February</option>
|
||||
<option value="3">March</option>
|
||||
<option value="4">April</option>
|
||||
<option value="5">May</option>
|
||||
<option value="6">June</option>
|
||||
<option value="7">July</option>
|
||||
<option value="8">August</option>
|
||||
<option value="9">September</option>
|
||||
<option value="10">October</option>
|
||||
<option value="11">November</option>
|
||||
<option value="12">December</option>
|
||||
</select>
|
||||
<select name="bdayDate" id="bdayDate"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Date of birth* parseable name: bdayDate field signature: 2056433281 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="">Date</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
<option value="9">9</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
</select>
|
||||
<select name="bdayYear" id="bdayYear"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Date of birth* parseable name: bdayYear field signature: 938244373 form signature: 11778620883203943321"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
>
|
||||
<option value="">Year</option>
|
||||
<option value="1999">1999</option>
|
||||
<option value="1998">1998</option>
|
||||
<option value="1997">1997</option>
|
||||
<option value="1996">1996</option>
|
||||
<option value="1995">1995</option>
|
||||
<option value="1994">1994</option>
|
||||
<option value="1993">1993</option>
|
||||
<option value="1992">1992</option>
|
||||
<option value="1991">1991</option>
|
||||
<option value="1990">1990</option>
|
||||
<option value="1989">1989</option>
|
||||
<option value="1988">1988</option>
|
||||
<option value="1987">1987</option>
|
||||
<option value="1986">1986</option>
|
||||
<option value="1985">1985</option>
|
||||
<option value="1984">1984</option>
|
||||
<option value="1983">1983</option>
|
||||
<option value="1982">1982</option>
|
||||
<option value="1981">1981</option>
|
||||
<option value="1980">1980</option>
|
||||
<option value="1979">1979</option>
|
||||
<option value="1978">1978</option>
|
||||
<option value="1977">1977</option>
|
||||
<option value="1976">1976</option>
|
||||
<option value="1975">1975</option>
|
||||
<option value="1974">1974</option>
|
||||
<option value="1973">1973</option>
|
||||
<option value="1972">1972</option>
|
||||
<option value="1971">1971</option>
|
||||
<option value="1970">1970</option>
|
||||
<option value="1969">1969</option>
|
||||
<option value="1968">1968</option>
|
||||
<option value="1967">1967</option>
|
||||
<option value="1966">1966</option>
|
||||
<option value="1965">1965</option>
|
||||
<option value="1964">1964</option>
|
||||
<option value="1963">1963</option>
|
||||
<option value="1962">1962</option>
|
||||
<option value="1961">1961</option>
|
||||
<option value="1960">1960</option>
|
||||
<option value="1959">1959</option>
|
||||
<option value="1958">1958</option>
|
||||
<option value="1957">1957</option>
|
||||
<option value="1956">1956</option>
|
||||
<option value="1955">1955</option>
|
||||
<option value="1954">1954</option>
|
||||
<option value="1953">1953</option>
|
||||
<option value="1952">1952</option>
|
||||
<option value="1951">1951</option>
|
||||
<option value="1950">1950</option>
|
||||
<option value="1949">1949</option>
|
||||
<option value="1948">1948</option>
|
||||
<option value="1947">1947</option>
|
||||
<option value="1946">1946</option>
|
||||
<option value="1945">1945</option>
|
||||
<option value="1944">1944</option>
|
||||
<option value="1943">1943</option>
|
||||
<option value="1942">1942</option>
|
||||
<option value="1941">1941</option>
|
||||
<option value="1940">1940</option>
|
||||
<option value="1939">1939</option>
|
||||
<option value="1938">1938</option>
|
||||
<option value="1937">1937</option>
|
||||
<option value="1936">1936</option>
|
||||
<option value="1935">1935</option>
|
||||
<option value="1934">1934</option>
|
||||
<option value="1933">1933</option>
|
||||
<option value="1932">1932</option>
|
||||
<option value="1931">1931</option>
|
||||
<option value="1930">1930</option>
|
||||
<option value="1929">1929</option>
|
||||
<option value="1928">1928</option>
|
||||
<option value="1927">1927</option>
|
||||
<option value="1926">1926</option>
|
||||
<option value="1925">1925</option>
|
||||
<option value="1924">1924</option>
|
||||
<option value="1923">1923</option>
|
||||
<option value="1922">1922</option>
|
||||
<option value="1921">1921</option>
|
||||
<option value="1920">1920</option>
|
||||
<option value="1919">1919</option>
|
||||
<option value="1918">1918</option>
|
||||
<option value="1917">1917</option>
|
||||
<option value="1916">1916</option>
|
||||
<option value="1915">1915</option>
|
||||
<option value="1914">1914</option>
|
||||
<option value="1913">1913</option>
|
||||
<option value="1912">1912</option>
|
||||
<option value="1911">1911</option>
|
||||
<option value="1910">1910</option>
|
||||
<option value="1909">1909</option>
|
||||
<option value="1908">1908</option>
|
||||
<option value="1907">1907</option>
|
||||
<option value="1906">1906</option>
|
||||
<option value="1905">1905</option>
|
||||
<option value="1904">1904</option>
|
||||
<option value="1903">1903</option>
|
||||
<option value="1902">1902</option>
|
||||
<option value="1901">1901</option>
|
||||
<option value="1900">1900</option>
|
||||
<option value="1899">1899</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form id="emailForUpdates" name="emailForUpdates" action="https://www.searspartsdirect.com/partsdirect/offerEmailsAction.pd" method="post">
|
||||
<fieldset>
|
||||
<input type="text" id="emailAdd" name="emailAddress" value="" tabindex="4" maxlength="50" />
|
||||
<label for="emailAdd">enter email address</label>
|
||||
</fieldset>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
447
browser/extensions/formautofill/test/fixtures/third_party/Sears/ShippingAddress.html
поставляемый
Normal file
447
browser/extensions/formautofill/test/fixtures/third_party/Sears/ShippingAddress.html
поставляемый
Normal file
|
@ -0,0 +1,447 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title>Shipping address | Sears PartsDirect</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="decorator" content="pdwCheckout" />
|
||||
<input type="hidden" id="isCQTOFPDPPagesEnabled" value="true" />
|
||||
<input type="hidden" id="cqHost" value="//www.searspartsdirect.com" />
|
||||
<form id="modelSearchHeader" method="get" action="https://www.searspartsdirect.com/partsdirect/getModel.pd" name="modelSearch" autocomplete="off">
|
||||
<fieldset>
|
||||
<label>Try searching again:</label>
|
||||
<label for="searchedModelField">Model Number</label>
|
||||
<input id="searchedModelField" type="text"
|
||||
title="Enter model number" value="Enter model number" name="modelNumberPopUp" maxlength="35" />
|
||||
<input type="hidden" name="shdMod" />
|
||||
<input type="hidden" name="pathTaken" />
|
||||
<input type="hidden" name="legacySlrSearch" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="forgotModalPswForm" name="forgotModalPswForm" action="https://www.searspartsdirect.com/partsdirect/initCheckoutAction.pd" method="post" autocomplete="off">
|
||||
<input type="hidden" name="currentForgotPageURL" value="" id="currentForgotPageURL" />
|
||||
<div>
|
||||
<label for="email">Email</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="email" id="forgotPwdFldEmail" />
|
||||
</div>
|
||||
<div>
|
||||
<input type="hidden" value="true" name="isCaptchaEnabled" id="isCaptchaEnabled" />
|
||||
<div>
|
||||
<div>
|
||||
<input type="hidden" value="VHM6MjAxNy0wMy0xOVQyMToxMjo1MFphYWExNjExNjM0OHp6ejIwMTctMDMtMTkgMjE6MTI6NTA=" name="captchaKey" id="forgotPwdFldCaptchaKey" />
|
||||
<fieldset>
|
||||
<input type="text" value="" tabindex="111" name="captchaText" id="forgotPwdFldCaptchaTxt" placeholder="Enter text" />
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<input type="hidden" name="commercialUI" value="false" />
|
||||
<input type="hidden" name="returnTo" value="#returnToVal" id="forgotModalPswForm_returnTo" />
|
||||
<input type="hidden" name="commercialUI" value="#commercialUIVal" id="forgotModalPswForm_commercialUI" />
|
||||
</form>
|
||||
<form id="checkOut" name="checkOut" action="https://www.searspartsdirect.com/partsdirect/checkOut.pd" method="post" autocomplete="off" pd-form-id="1489975972490">
|
||||
<input type="hidden" name="_eventId" value="goAddAddress" id="checkOut__eventId" />
|
||||
<div id="shippingForm">
|
||||
<input type="hidden" name="isShippingAddressChanged" value="false" id="isShippingAddressChanged" />
|
||||
<input type="hidden" name="isShippingAddressEdited" value="false" id="isShippingAddressEdited" />
|
||||
<div id="shippingFormContainer">
|
||||
<div>
|
||||
<label for="order.shippingInfo.firstName">First Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.firstName" maxlength="11" value="" id="checkOut_order_shippingInfo_firstName" placeholder="First Name *"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: First Name* parseable name: order.shippingInfo.firstName field signature: 243029182 form signature: 17155013134718564270"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label>Last Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.lastName" value="" id="checkOut_order_shippingInfo_lastName" placeholder="Last Name *"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: Last Name* parseable name: order.shippingInfo.lastName field signature: 1858327987 form signature: 17155013134718564270"
|
||||
autofill-prediction="NAME_LAST"
|
||||
/>
|
||||
</div>
|
||||
<div id="divCityStateZipId_3">
|
||||
<div id="divCityStateZipId_2">
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.originalAddress">Street Address<span>*</span> - 24 character limit</label>
|
||||
<input type="text" name="order.shippingInfo.address.originalAddress" value="" id="checkOut_order_shippingInfo_address_originalAddress" placeholder="Street Address *"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: Street Address* - 24 character limit parseable name: order.shippingInfo.address.originalAddress field signature: 3461422700 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
/>
|
||||
<div>24 character limit</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.address2">Apt.
|
||||
#</label>
|
||||
<input type="text" name="order.shippingInfo.address.address2" value="" id="checkOut_order_shippingInfo_address_address2" placeholder="Apt. #"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Apt. # Apt. # parseable name: order.shippingInfo.address.address2 field signature: 1992141399 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divCityStateZipId">
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.city">City<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.address.city" value="" id="checkOut_order_shippingInfo_address_city" placeholder="City *"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: City* parseable name: order.shippingInfo.address.city field signature: 2864354290 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.state">State<span>*</span>
|
||||
</label>
|
||||
<select name="order.shippingInfo.address.state" id="checkOut_order_shippingInfo_address_state"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: State* parseable name: order.shippingInfo.address.state field signature: 296886288 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="">ST *</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.zipCode">ZIP/Postal Code<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.address.zipCode" value="" id="checkOut_order_shippingInfo_address_zipCode" placeholder="ZIP Code *"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: ZIP/Postal Code* parseable name: order.shippingInfo.address.zipCode field signature: 2432211277 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
/>
|
||||
</div>
|
||||
<input type="hidden" id="order.shippingInfo.address.poBoxOrMillitaryAdd" name="order.shippingInfo.address.poBoxOrMillitaryAdd" value="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.dayTimePhone">Phone Number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.dayTimePhone" value="" id="checkOut_order_shippingInfo_dayTimePhone" placeholder="Phone Number *"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: Phone Number* parseable name: order.shippingInfo.dayTimePhone field signature: 3680252951 form signature: 17155013134718564270"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.dayTimePhoneExt">Ext.</label>
|
||||
<input type="text" name="order.shippingInfo.dayTimePhoneExt" value="" id="checkOut_order_shippingInfo_dayTimePhoneExt" placeholder="Ext."
|
||||
title="overall type: PHONE_HOME_EXTENSION server type: NO_SERVER_DATA heuristic type: PHONE_HOME_EXTENSION label: Ext. parseable name: order.shippingInfo.dayTimePhoneExt field signature: 3095839543 form signature: 17155013134718564270"
|
||||
autofill-prediction="PHONE_HOME_EXTENSION"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.email">Email Address<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.shippingInfo.email" value="" id="confirmEmailDiv" placeholder="Email Address *"
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: Email Address* parseable name: order.shippingInfo.email field signature: 928233428 form signature: 17155013134718564270"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.emailConfirm">Confirm Email Address<span>*</span>
|
||||
</label>
|
||||
<input type="text" placeholder="Email Address *" name="order.shippingInfo.emailConfirm" value=""
|
||||
title="overall type: EMAIL_ADDRESS server type: EMAIL_ADDRESS heuristic type: EMAIL_ADDRESS label: Confirm Email Address* parseable name: order.shippingInfo.emailConfirm field signature: 3242992973 form signature: 17155013134718564270"
|
||||
autofill-prediction="EMAIL_ADDRESS"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="order.shippingBillingSame" value="true" checked="checked" id="order.shippingBillingSame"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Same as shipping address parseable name: order.shippingBillingSame field signature: 1817157586 form signature: 17155013134718564270"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<input type="hidden" id="__checkbox_order.shippingBillingSame" name="__checkbox_order.shippingBillingSame" value="true" />
|
||||
<label for="order.shippingBillingSame">Same as shipping address</label>
|
||||
</div>
|
||||
<div id="billingForm">
|
||||
<div id="billingFormContainer">
|
||||
<div id="billingAddressFormId">
|
||||
<div>
|
||||
<label for="order.billingInfo.firstName">First Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.firstName" maxlength="11" value="" id="checkOut_order_billingInfo_firstName" placeholder="First Name *"
|
||||
title="overall type: NAME_FIRST server type: NAME_FIRST heuristic type: NAME_FIRST label: First Name* parseable name: order.billingInfo.firstName field signature: 3077178767 form signature: 17155013134718564270"
|
||||
autofill-prediction="NAME_FIRST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.lastName">Last Name<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.lastName" value="" id="checkOut_order_billingInfo_lastName" placeholder="Last Name *"
|
||||
title="overall type: NAME_LAST server type: NAME_LAST heuristic type: NAME_LAST label: Last Name* parseable name: order.billingInfo.lastName field signature: 2325932944 form signature: 17155013134718564270"
|
||||
autofill-prediction="NAME_LAST"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.address1">Street Address<span>*</span> - 24 character limit</label>
|
||||
<input type="text" name="order.billingInfo.address.address1" value="" id="checkOut_order_billingInfo_address_address1" placeholder="Street Address *"
|
||||
title="overall type: ADDRESS_HOME_LINE1 server type: ADDRESS_HOME_LINE1 heuristic type: ADDRESS_HOME_LINE1 label: Street Address* - 24 character limit parseable name: order.billingInfo.address.address1 field signature: 796482076 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_LINE1"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.shippingInfo.address.address2">Apt.
|
||||
#</label>
|
||||
<input type="text" name="order.billingInfo.address.address2" value="" id="checkOut_order_billingInfo_address_address2" placeholder="Apt. #"
|
||||
title="overall type: ADDRESS_HOME_LINE2 server type: ADDRESS_HOME_LINE2 heuristic type: ADDRESS_HOME_LINE2 label: Apt. # parseable name: order.billingInfo.address.address2 field signature: 1242999964 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_LINE2"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.city">City<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.address.city" value="" id="checkOut_order_billingInfo_address_city" placeholder="City *"
|
||||
title="overall type: ADDRESS_HOME_CITY server type: ADDRESS_HOME_CITY heuristic type: ADDRESS_HOME_CITY label: City* parseable name: order.billingInfo.address.city field signature: 1372321658 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_CITY"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.state">State<span>*</span>
|
||||
</label>
|
||||
<select name="order.billingInfo.address.state" id="checkOut_order_billingInfo_address_state"
|
||||
title="overall type: ADDRESS_HOME_STATE server type: ADDRESS_HOME_STATE heuristic type: ADDRESS_HOME_STATE label: State* parseable name: order.billingInfo.address.state field signature: 2106658457 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_STATE"
|
||||
>
|
||||
<option value="">ST *</option>
|
||||
<option value="AA">AA</option>
|
||||
<option value="AE">AE</option>
|
||||
<option value="AL">AL</option>
|
||||
<option value="AK">AK</option>
|
||||
<option value="AP">AP</option>
|
||||
<option value="AZ">AZ</option>
|
||||
<option value="AR">AR</option>
|
||||
<option value="CA">CA</option>
|
||||
<option value="CO">CO</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="DE">DE</option>
|
||||
<option value="DC">DC</option>
|
||||
<option value="FL">FL</option>
|
||||
<option value="GA">GA</option>
|
||||
<option value="GU">GU</option>
|
||||
<option value="HI">HI</option>
|
||||
<option value="ID">ID</option>
|
||||
<option value="IL">IL</option>
|
||||
<option value="IN">IN</option>
|
||||
<option value="IA">IA</option>
|
||||
<option value="KS">KS</option>
|
||||
<option value="KY">KY</option>
|
||||
<option value="LA">LA</option>
|
||||
<option value="ME">ME</option>
|
||||
<option value="MD">MD</option>
|
||||
<option value="MA">MA</option>
|
||||
<option value="MI">MI</option>
|
||||
<option value="MN">MN</option>
|
||||
<option value="MS">MS</option>
|
||||
<option value="MO">MO</option>
|
||||
<option value="MT">MT</option>
|
||||
<option value="NE">NE</option>
|
||||
<option value="NV">NV</option>
|
||||
<option value="NH">NH</option>
|
||||
<option value="NJ">NJ</option>
|
||||
<option value="NM">NM</option>
|
||||
<option value="NY">NY</option>
|
||||
<option value="NC">NC</option>
|
||||
<option value="ND">ND</option>
|
||||
<option value="OH">OH</option>
|
||||
<option value="OK">OK</option>
|
||||
<option value="OR">OR</option>
|
||||
<option value="PA">PA</option>
|
||||
<option value="PR">PR</option>
|
||||
<option value="RI">RI</option>
|
||||
<option value="SC">SC</option>
|
||||
<option value="SD">SD</option>
|
||||
<option value="TN">TN</option>
|
||||
<option value="TX">TX</option>
|
||||
<option value="UT">UT</option>
|
||||
<option value="VA">VA</option>
|
||||
<option value="VI">VI</option>
|
||||
<option value="VT">VT</option>
|
||||
<option value="WA">WA</option>
|
||||
<option value="WV">WV</option>
|
||||
<option value="WI">WI</option>
|
||||
<option value="WY">WY</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.address.zipCode">ZIP/Postal Code<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.address.zipCode" value="" id="checkOut_order_billingInfo_address_zipCode" placeholder="ZIP Code *"
|
||||
title="overall type: ADDRESS_HOME_ZIP server type: ADDRESS_HOME_ZIP heuristic type: ADDRESS_HOME_ZIP label: ZIP/Postal Code* parseable name: order.billingInfo.address.zipCode field signature: 1420459778 form signature: 17155013134718564270"
|
||||
autofill-prediction="ADDRESS_HOME_ZIP"
|
||||
/>
|
||||
</div>
|
||||
<input type="hidden" id="order.shippingInfo.address.poBoxOrMillitaryAdd" name="order.shippingInfo.address.poBoxOrMillitaryAdd" value="" />
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="order.billingInfo.dayTimePhone">Phone Number<span>*</span>
|
||||
</label>
|
||||
<input type="text" name="order.billingInfo.dayTimePhone" value="" id="checkOut_order_billingInfo_dayTimePhone" placeholder="Phone Number *"
|
||||
title="overall type: PHONE_HOME_CITY_AND_NUMBER server type: PHONE_HOME_CITY_AND_NUMBER heuristic type: PHONE_HOME_WHOLE_NUMBER label: Phone Number* parseable name: order.billingInfo.dayTimePhone field signature: 2509269658 form signature: 17155013134718564270"
|
||||
autofill-prediction="PHONE_HOME_CITY_AND_NUMBER"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="order.billingInfo.dayTimePhoneExt">Ext.</label>
|
||||
<input type="text" name="order.billingInfo.dayTimePhoneExt" value="" id="checkOut_order_billingInfo_dayTimePhoneExt" placeholder="Ext."
|
||||
title="overall type: PHONE_HOME_CITY_CODE server type: PHONE_HOME_CITY_CODE heuristic type: PHONE_HOME_EXTENSION label: Ext. parseable name: order.billingInfo.dayTimePhoneExt field signature: 1836849076 form signature: 17155013134718564270"
|
||||
autofill-prediction="PHONE_HOME_CITY_CODE"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="orderSupport.saveShippingAddress" value="true" id="saveShipping"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Save my shipping address in My Profile. parseable name: orderSupport.saveShippingAddress field signature: 644246410 form signature: 17155013134718564270"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<input type="hidden" id="__checkbox_saveShipping" name="__checkbox_orderSupport.saveShippingAddress" value="true" />
|
||||
<label for="saveShipping">Save my shipping address in My Profile.</label>
|
||||
<input type="checkbox" name="orderSupport.saveBillingAddress" value="true" id="saveBilling"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Save my billing address in My Profile. parseable name: orderSupport.saveBillingAddress field signature: 2778625714 form signature: 17155013134718564270"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<input type="hidden" id="__checkbox_saveBilling" name="__checkbox_orderSupport.saveBillingAddress" value="true" />
|
||||
<label for="saveBilling">Save my billing address in My Profile.</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="createProfileContainer">
|
||||
<div>
|
||||
<label for="orderSupport.profilePassword">Password</label>
|
||||
<input type="password" placeholder="Password" name="orderSupport.profilePassword"
|
||||
title="overall type: ACCOUNT_CREATION_PASSWORD server type: ACCOUNT_CREATION_PASSWORD heuristic type: UNKNOWN_TYPE label: Password Retype Password parseable name: orderSupport.profilePassword field signature: 2304557611 form signature: 17155013134718564270"
|
||||
autofill-prediction="ACCOUNT_CREATION_PASSWORD"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="orderSupport.profilePassword">Retype Password</label>
|
||||
<input type="password" placeholder="Retype Password" name="orderSupport.profilePasswordConfirm"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Retype Password parseable name: orderSupport.profilePasswordConfirm field signature: 196269180 form signature: 17155013134718564270"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="order.shippingInfo.emailPromotion" value="true" checked="checked" id="order.shippingInfo.emailPromotion"
|
||||
title="overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA heuristic type: UNKNOWN_TYPE label: Send me promotions, discounts and other special information from Sears.com. parseable name: order.shippingInfo.emailPromotion field signature: 2403849306 form signature: 17155013134718564270"
|
||||
autofill-prediction="UNKNOWN_TYPE"
|
||||
/>
|
||||
<input type="hidden" id="__checkbox_order.shippingInfo.emailPromotion" name="__checkbox_order.shippingInfo.emailPromotion" value="true" />
|
||||
<label for="order.shippingInfo.emailPromotion">Send me promotions, discounts and other special information from Sears.com.</label>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<input type="submit"
|
||||
title="Continue checkout" value="Shipping Options" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
<form id="verifyAddressForm" name="verifyAddressForm" action="https://www.searspartsdirect.com/partsdirect/checkOut.pd" method="post" autocomplete="off">
|
||||
<input type="hidden" name="_eventId" value="goVerifyAddress" id="verifyAddressForm__eventId" />
|
||||
<input type="hidden" id="CheckoutFlowAction_geoCode_submitted" name="geoCode" value="" />
|
||||
</form>
|
||||
<form id="emailForUpdates" name="emailForUpdates" action="https://www.searspartsdirect.com/partsdirect/offerEmailsAction.pd" method="post" autocomplete="off">
|
||||
<fieldset>
|
||||
<input type="text" id="emailAdd" name="emailAddress" value="" tabindex="4" maxlength="50" />
|
||||
<label for="emailAdd">enter email address</label>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="shipSignForm" method="post" action="https://sso.shld.net/shccas/shcLogin" autocomplete="off" name="shipSignForm">
|
||||
<input type="hidden" name="s" id="s" />
|
||||
<input type="hidden" name="k" id="k" />
|
||||
<input type="hidden" name="renew" value="true" id="renew" />
|
||||
<input type="hidden" value="21" name="sourceSiteId" id="sourceSiteId" />
|
||||
<input type="hidden" name="service" value="https://www.searspartsdirect.com/partsdirect/j_spring_cas_security_check" id="service" />
|
||||
<div>
|
||||
<label for="loginId">Email Address
|
||||
<span>Required</span>
|
||||
</label>
|
||||
<input placeholder="Email Address" type="text" name="loginId" value="" id="email" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Password<a tabindex="3">Forgot your password?</a>
|
||||
</label>
|
||||
<input placeholder="Password" type="password" value="" z-index="2000" name="logonPassword" id="password" />
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
117
browser/extensions/formautofill/test/fixtures/third_party/Staples/Basic.html
поставляемый
Normal file
117
browser/extensions/formautofill/test/fixtures/third_party/Staples/Basic.html
поставляемый
Normal file
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<title>It's easy to find the Office Supplies, Copy Paper,
|
||||
Furniture, Ink, Toner, Cleaning Products, Electronics and the
|
||||
Technology you need | Staples®</title>
|
||||
<meta content="checkout" name="PageName">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta content="noindex,follow" name="robots">
|
||||
<meta content="Shop Staples® for everyday low prices and get everything you need for a home office or business. Staples Rewards<64> members get free shipping every day and up to 5% back in rewards, some exclusions apply."
|
||||
name="description">
|
||||
<meta name="viewport" content="width=null, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on">
|
||||
<meta http-equiv="content-language" content="en-us">
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<input autocomplete="false" name="hidden" type="text">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="firstName">
|
||||
<span>First Name</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="firstName" maxlength="40" autocomplete="off"
|
||||
placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="lastName">
|
||||
<span>Last
|
||||
Name</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="lastName" maxlength="40" autocomplete="off"
|
||||
placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="address1">Shipping
|
||||
Address<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="address1" maxlength="35" autocomplete="off" placeholder="" id="oneAutoComplete" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="emailId">
|
||||
<span>Email
|
||||
Address</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="emailId" maxlength="80" autocomplete="off"
|
||||
placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneNo">
|
||||
<span>Phone</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="phoneNo" autocomplete="off" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneEx">
|
||||
<span>Extn.</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="phoneEx" maxlength="6" autocomplete="off"
|
||||
placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="companyName">
|
||||
<span>Company Name
|
||||
(optional)</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="companyName" maxlength="50" autocomplete="off" placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div tabindex="0">
|
||||
<label>Email me exclusive offers & deals from
|
||||
Staples</label>
|
||||
<input value="true" name="isEmailOfferChecked" type="hidden">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">continue</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
117
browser/extensions/formautofill/test/fixtures/third_party/Staples/Basic_ac_on.html
поставляемый
Normal file
117
browser/extensions/formautofill/test/fixtures/third_party/Staples/Basic_ac_on.html
поставляемый
Normal file
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<title>It's easy to find the Office Supplies, Copy Paper,
|
||||
Furniture, Ink, Toner, Cleaning Products, Electronics and the
|
||||
Technology you need | Staples®</title>
|
||||
<meta content="checkout" name="PageName">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta content="noindex,follow" name="robots">
|
||||
<meta content="Shop Staples® for everyday low prices and get everything you need for a home office or business. Staples Rewards<64> members get free shipping every day and up to 5% back in rewards, some exclusions apply."
|
||||
name="description">
|
||||
<meta name="viewport" content="width=null, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on">
|
||||
<meta http-equiv="content-language" content="en-us">
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<input name="hidden" type="text">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="firstName">
|
||||
<span>First Name</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="firstName" maxlength="40" placeholder=""
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="lastName">
|
||||
<span>Last
|
||||
Name</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="lastName" maxlength="40" placeholder=""
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="address1">Shipping
|
||||
Address<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="address1" maxlength="35" placeholder=""
|
||||
id="oneAutoComplete" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="emailId">
|
||||
<span>Email
|
||||
Address</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="emailId" maxlength="80" placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneNo">
|
||||
<span>Phone</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="phoneNo" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phoneEx">
|
||||
<span>Extn.</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="phoneEx" maxlength="6" placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="companyName">
|
||||
<span>Company Name
|
||||
(optional)</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="companyName" maxlength="50" placeholder=""
|
||||
type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div tabindex="0">
|
||||
<label>Email me exclusive offers & deals from
|
||||
Staples</label>
|
||||
<input value="true" name="isEmailOfferChecked" type="hidden">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">continue</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
99
browser/extensions/formautofill/test/fixtures/third_party/Staples/PaymentBilling.html
поставляемый
Normal file
99
browser/extensions/formautofill/test/fixtures/third_party/Staples/PaymentBilling.html
поставляемый
Normal file
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<title>It's easy to find the Office Supplies, Copy Paper,
|
||||
Furniture, Ink, Toner, Cleaning Products, Electronics and the
|
||||
Technology you need | Staples®</title>
|
||||
<meta content="checkout" name="PageName">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta content="noindex,follow" name="robots">
|
||||
<meta content="Shop Staples® for everyday low prices and get everything you need for a home office or business. Staples Rewards<64> members get free shipping every day and up to 5% back in rewards, some exclusions apply."
|
||||
name="description">
|
||||
<meta name="viewport" content="width=null, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on">
|
||||
<meta http-equiv="content-language" content="en-us">
|
||||
</head>
|
||||
<body>
|
||||
<form id="payment-cc" name="payment-cc">
|
||||
<input autocomplete="false" name="hidden" type="text">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="cardNumber">
|
||||
<span>Card
|
||||
Number</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="cardNumber" autocomplete="off" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="expDate">
|
||||
<span>Expiration
|
||||
Date</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="expDate" placeholder="MM/YY" autocomplete="off" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="secCode">
|
||||
<span>Security
|
||||
Code</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="secCode" value="" autocomplete="off"
|
||||
maxlength="4" type="password">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input value="" name="cardBrand" type="hidden">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div tabindex="0">
|
||||
<label>Billing address is the same as shipping
|
||||
address</label>
|
||||
<input value="true" name="isBillAddrSameShipAddr" type="hidden">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input value="1F16D1368309E3DBE15C391E7571B371" name="addressId" type="hidden">
|
||||
</div>
|
||||
<div>
|
||||
<p>Purchase Order # (optional) <span tabindex="0">Add</span>
|
||||
</p>
|
||||
</div>
|
||||
<section id="paymentGuestRadio">
|
||||
</section>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">place my order</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<p>
|
||||
<span>By placing your order, you agree to
|
||||
Staples</span>
|
||||
<a target="_blank">
|
||||
<span>Terms &
|
||||
Conditions.</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
98
browser/extensions/formautofill/test/fixtures/third_party/Staples/PaymentBilling_ac_on.html
поставляемый
Normal file
98
browser/extensions/formautofill/test/fixtures/third_party/Staples/PaymentBilling_ac_on.html
поставляемый
Normal file
|
@ -0,0 +1,98 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<title>It's easy to find the Office Supplies, Copy Paper,
|
||||
Furniture, Ink, Toner, Cleaning Products, Electronics and the
|
||||
Technology you need | Staples®</title>
|
||||
<meta content="checkout" name="PageName">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta content="noindex,follow" name="robots">
|
||||
<meta content="Shop Staples® for everyday low prices and get everything you need for a home office or business. Staples Rewards<64> members get free shipping every day and up to 5% back in rewards, some exclusions apply."
|
||||
name="description">
|
||||
<meta name="viewport" content="width=null, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on">
|
||||
<meta http-equiv="content-language" content="en-us">
|
||||
</head>
|
||||
<body>
|
||||
<form id="payment-cc" name="payment-cc">
|
||||
<input name="hidden" type="text">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="cardNumber">
|
||||
<span>Card
|
||||
Number</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="cardNumber" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="expDate">
|
||||
<span>Expiration
|
||||
Date</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="expDate" placeholder="MM/YY" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="secCode">
|
||||
<span>Security
|
||||
Code</span>
|
||||
<span>*</span>
|
||||
</label>
|
||||
<br>
|
||||
<input name="secCode" value="" maxlength="4" type="password">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input value="" name="cardBrand" type="hidden">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div tabindex="0">
|
||||
<label>Billing address is the same as shipping
|
||||
address</label>
|
||||
<input value="true" name="isBillAddrSameShipAddr" type="hidden">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input value="1F16D1368309E3DBE15C391E7571B371" name="addressId" type="hidden">
|
||||
</div>
|
||||
<div>
|
||||
<p>Purchase Order # (optional) <span tabindex="0">Add</span>
|
||||
</p>
|
||||
</div>
|
||||
<section id="paymentGuestRadio">
|
||||
</section>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">place my order</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<p>
|
||||
<span>By placing your order, you agree to
|
||||
Staples</span>
|
||||
<a target="_blank">
|
||||
<span>Terms &
|
||||
Conditions.</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
243
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Checkout.html
поставляемый
Normal file
243
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Checkout.html
поставляемый
Normal file
|
@ -0,0 +1,243 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<title>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<p>Enter new zip code:</p>
|
||||
<label>
|
||||
</label>
|
||||
<div>
|
||||
<p>
|
||||
<label>ZIP Code (required)</label>
|
||||
</p>
|
||||
<label>
|
||||
<input name="zip-code" value="94066" placeholder="" type="text">
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">Calculate</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form>
|
||||
<label>
|
||||
<span>
|
||||
<span>Promo code
|
||||
(optional)</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input name="promoCode">
|
||||
</div>
|
||||
<button type="submit">
|
||||
<span>Apply</span>
|
||||
</button>
|
||||
</form>
|
||||
<form method="post" novalidate="">
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Email address (required)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Email address" placeholder="" name="email" type="email">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Password (required)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Password" placeholder="" name="password"
|
||||
type="password">
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<button type="button">
|
||||
<label>Show</label>
|
||||
</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Password (required)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Password" placeholder="" name="password"
|
||||
autocomplete="off" tabindex="-1" type="text">
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<button type="button" tabindex="-1">
|
||||
<label>Hide</label>
|
||||
</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="button">Forgot password?</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button type="submit">Sign In</button>
|
||||
</div>
|
||||
</form>
|
||||
<form novalidate="" method="post">
|
||||
<div>*required field</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>First name*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="First name" placeholder="" name="firstName" type="text">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Last name*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Last name" placeholder="" name="lastName"
|
||||
type="text">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Email address*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Email address" placeholder="" name="email" autocomplete="off" type="email">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input tabindex="-1"
|
||||
title="Email Address" type="text">
|
||||
<input tabindex="-1" title="Password" type="password">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Password*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Password" placeholder="" name="password"
|
||||
autocomplete="new-password" type="password">
|
||||
<span>Your password
|
||||
must be between 6 and 12 characters.</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<button type="button">
|
||||
<label>Show</label>
|
||||
</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Password*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input
|
||||
title="Password" placeholder="" name="password"
|
||||
autocomplete="off" tabindex="-1" type="text">
|
||||
<span>Your password
|
||||
must be between 6 and 12 characters.</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<button type="button" tabindex="-1">
|
||||
<label>Hide</label>
|
||||
</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
<span>By clicking Create Account, you acknowledge you
|
||||
have read and agreed to our</span>
|
||||
<a target="_blank">Terms of
|
||||
Use</a>
|
||||
<span>and</span>
|
||||
<a target="_blank">Privacy
|
||||
Policy</a>
|
||||
<span>.</span>
|
||||
</span>
|
||||
</div>
|
||||
<button type="submit">Create Account</button>
|
||||
<div>
|
||||
<div>
|
||||
<input name="newsletter" id="checkbox-0" value="true" checked="checked" type="checkbox">
|
||||
<label for="checkbox-0">
|
||||
<span>Email me
|
||||
about Rollbacks, special pricing, hot new items, gift ideas and
|
||||
more.</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
235
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Payment.html
поставляемый
Normal file
235
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Payment.html
поставляемый
Normal file
|
@ -0,0 +1,235 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<title>Checkout</title>
|
||||
<meta property="og:type" content="Website">
|
||||
<meta property="og:image" content="http://sphotos-b.xx.fbcdn.net/hphotos-ash4/229244_10150189115584236_162217_n.jpg">
|
||||
<meta property="og:site_name" content="Walmart.com">
|
||||
<meta property="fb:app_id" content="105223049547814">
|
||||
<meta property="twitter:card" content="summary">
|
||||
<meta property="twitter:image" content="https://pbs.twimg.com/profile_images/616833885/walmart_logo_youtube_bigger.jpg">
|
||||
<meta property="twitter:site" content="@walmart">
|
||||
<meta property="og:title" content="Checkout">
|
||||
<meta property="twitter:title" content="Checkout">
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<label>
|
||||
<span>
|
||||
<span>Promo code
|
||||
(optional)</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input name="promoCode">
|
||||
</div>
|
||||
<button type="submit">
|
||||
<span>Apply</span>
|
||||
</button>
|
||||
</form>
|
||||
<form>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>* required field</div>
|
||||
<div>
|
||||
<label for="firstName">
|
||||
<span>First name on
|
||||
card*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="firstName">
|
||||
<input id="firstName" value="Kavi"
|
||||
name="firstName"
|
||||
title="First name" autocomplete="section-payment given-name" maxlength="25">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="lastName">
|
||||
<span>Last name on
|
||||
card*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="lastName">
|
||||
<input id="lastName" value="Jarslo"
|
||||
name="lastName"
|
||||
title="Last name" autocomplete="section-payment family-name" maxlength="25">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="creditCard">
|
||||
<span>Card
|
||||
number*</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="creditCard">
|
||||
<input id="creditCard" pattern="[0-9]*" inputmode="numeric" name="creditCard" autocomplete="section-payment cc-number" maxlength="16">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<span>Expiration date*</span>
|
||||
</label>
|
||||
<div>
|
||||
<span>
|
||||
<label for="month-chooser">
|
||||
<svg width="11" height="6">
|
||||
<polygon fill="#027DC3" points="5.5,6 0,0 11,0">
|
||||
</polygon>
|
||||
</svg>
|
||||
<select id="month-chooser" name="month-chooser" autocomplete="section-payment cc-exp-month">
|
||||
<option selected="selected" value="" disabled="disabled">
|
||||
MM
|
||||
</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
<span> / </span>
|
||||
<div>
|
||||
<span>
|
||||
<label for="year-chooser">
|
||||
<svg width="11" height="6">
|
||||
<polygon fill="#027DC3" points="5.5,6 0,0 11,0">
|
||||
</polygon>
|
||||
</svg>
|
||||
<select id="year-chooser" name="year-chooser" autocomplete="section-payment cc-exp-year">
|
||||
<option selected="selected" value="" disabled="disabled">
|
||||
YY
|
||||
</option>
|
||||
<option value="2017">17</option>
|
||||
<option value="2018">18</option>
|
||||
<option value="2019">19</option>
|
||||
<option value="2020">20</option>
|
||||
<option value="2021">21</option>
|
||||
<option value="2022">22</option>
|
||||
<option value="2023">23</option>
|
||||
<option value="2024">24</option>
|
||||
<option value="2025">25</option>
|
||||
<option value="2026">26</option>
|
||||
<option value="2027">27</option>
|
||||
</select>
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input
|
||||
title=" " name="brwsrAutofillText" type="text">
|
||||
<input
|
||||
title=" " name="brwsrAutofillPassword" type="password">
|
||||
<div>
|
||||
<div>
|
||||
<label for="cvv">
|
||||
<span>
|
||||
<span>
|
||||
<span>Security code*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<label for="cvv">
|
||||
<button type="button">
|
||||
<label for="cvv">
|
||||
<span name="help" size="1" alt="Icon for help">
|
||||
</span>
|
||||
</label>
|
||||
</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<input id="cvv" name="cvv"
|
||||
title="cvv" value="" autocomplete="section-payment cc-csc" maxlength="3" pattern="[0-9]*" inputmode="numeric" type="password">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="phone">
|
||||
<span>Phone number*</span>
|
||||
<span>Ex: (415)
|
||||
444 - 5555</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="phone">
|
||||
<input id="phone" value="8984379853" name="phone"
|
||||
title="Phone" autocomplete="section-payment tel" maxlength="14" type="tel">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input checked="checked" type="checkbox">
|
||||
</label>
|
||||
<div>
|
||||
<label>
|
||||
<span>Same as shipping</span>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
<span>22F., No.55, Haiiu 1st Rd., Bafu Dist.,</span>
|
||||
<br>
|
||||
<span>
|
||||
<span>San Bruno</span>
|
||||
<span>,</span>
|
||||
</span>
|
||||
<span>
|
||||
<span>CA</span>
|
||||
</span>
|
||||
<span>94066</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="button">
|
||||
<span>Review Your
|
||||
Order</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
234
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Shipping.html
поставляемый
Normal file
234
browser/extensions/formautofill/test/fixtures/third_party/Walmart/Shipping.html
поставляемый
Normal file
|
@ -0,0 +1,234 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Mac OS X version 5.4.0">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<title>Checkout</title>
|
||||
<meta property="og:type" content="Website">
|
||||
<meta property="og:image" content="http://sphotos-b.xx.fbcdn.net/hphotos-ash4/229244_10150189115584236_162217_n.jpg">
|
||||
<meta property="og:site_name" content="Walmart.com">
|
||||
<meta property="fb:app_id" content="105223049547814">
|
||||
<meta property="twitter:card" content="summary">
|
||||
<meta property="twitter:image" content="https://pbs.twimg.com/profile_images/616833885/walmart_logo_youtube_bigger.jpg">
|
||||
<meta property="twitter:site" content="@walmart">
|
||||
<meta property="og:title" content="Checkout">
|
||||
<meta property="twitter:title" content="Checkout">
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<p>Enter new zip code:</p>
|
||||
<label>
|
||||
</label>
|
||||
<div>
|
||||
<p>
|
||||
<label>ZIP Code (required)</label>
|
||||
</p>
|
||||
<label>
|
||||
<input name="zip-code" value="94066" placeholder="" type="text">
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<button type="submit">Calculate</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form>
|
||||
<label>
|
||||
<span>
|
||||
<span>Promo code
|
||||
(optional)</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input name="promoCode">
|
||||
</div>
|
||||
<button type="submit">
|
||||
<span>Apply</span>
|
||||
</button>
|
||||
</form>
|
||||
<form>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div>*required field</div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>First name*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="First name" name="firstName" type="text">
|
||||
</div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>Last name*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="Last name" name="lastName" type="text">
|
||||
</div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>Phone number*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input minlength="10" maxlength="14"
|
||||
title="Phone number" name="phone" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>Street address*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="Street address" name="addressLineOne" type="text">
|
||||
</div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>Apt, suite, etc (optional)</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="Apt, suite, bldg, c/o (optional)" name="addressLineTwo" type="text">
|
||||
</div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>City*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="City" name="city" value="San Bruno" type="text">
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<label for="5">
|
||||
<span>State*</span>
|
||||
</label>
|
||||
<div>
|
||||
<div>
|
||||
<select id="5"
|
||||
title="State" name="state">
|
||||
<option value="">
|
||||
</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option selected="selected" value="CA">California</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DC">District of Columbia</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
<option value="AA">Armed Forces Americas</option>
|
||||
<option value="AP">Armed Forces Pacific</option>
|
||||
<option value="AE">Armed Forces other</option>
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="MP">N. Mariana Islands</option>
|
||||
<option value="PW">Palau</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="VI">Virgin Islands</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<span>
|
||||
<span>
|
||||
<span>ZIP
|
||||
Code*</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input
|
||||
title="Zip code" name="postalCode" value="94066" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<input id="4" name="isDefault" type="checkbox">
|
||||
<label for="4">
|
||||
<span>Set as my preferred address</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -2,7 +2,7 @@
|
|||
* Provides infrastructure for automated formautofill components tests.
|
||||
*/
|
||||
|
||||
/* exported loadFormAutofillContent, getTempFile, sinon */
|
||||
/* exported getTempFile, loadFormAutofillContent, runHeuristicsTest, sinon */
|
||||
|
||||
"use strict";
|
||||
|
||||
|
@ -79,6 +79,45 @@ function getTempFile(leafName) {
|
|||
return file;
|
||||
}
|
||||
|
||||
function runHeuristicsTest(patterns, fixturePathPrefix) {
|
||||
Cu.import("resource://gre/modules/FormLikeFactory.jsm");
|
||||
Cu.import("resource://formautofill/FormAutofillHeuristics.jsm");
|
||||
|
||||
// TODO: "select" and "textarea" will be included eventually.
|
||||
const QUERY_STRING = ["input"];
|
||||
patterns.forEach(testPattern => {
|
||||
add_task(function* () {
|
||||
do_print("Starting test fixture: " + testPattern.fixturePath);
|
||||
let file = do_get_file(fixturePathPrefix + testPattern.fixturePath);
|
||||
let doc = MockDocument.createTestDocumentFromFile("http://localhost:8080/test/", file);
|
||||
|
||||
let forms = [];
|
||||
|
||||
for (let query of QUERY_STRING) {
|
||||
for (let field of doc.querySelectorAll(query)) {
|
||||
let formLike = FormLikeFactory.createFromField(field);
|
||||
if (!forms.some(form => form.rootElement === formLike.rootElement)) {
|
||||
forms.push(formLike);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Assert.equal(forms.length, testPattern.expectedResult.length, "Expected form count.");
|
||||
|
||||
forms.forEach((form, formIndex) => {
|
||||
let formInfo = FormAutofillHeuristics.getFormInfo(form);
|
||||
// TODO: This line should be uncommented to make sure every field are verified.
|
||||
// Assert.equal(formInfo.length, testPattern.expectedResult[formIndex].length, "Expected field count.");
|
||||
formInfo.forEach((field, fieldIndex) => {
|
||||
let expectedField = testPattern.expectedResult[formIndex][fieldIndex];
|
||||
expectedField.elementWeakRef = field.elementWeakRef;
|
||||
Assert.deepEqual(field, expectedField);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
add_task(function* head_initialize() {
|
||||
Services.prefs.setBoolPref("browser.formautofill.experimental", true);
|
||||
Services.prefs.setBoolPref("dom.forms.autocomplete.experimental", true);
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "autocomplete_basic.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "street-address"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "country"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../fixtures/");
|
||||
|
56
browser/extensions/formautofill/test/unit/heuristics/third_party/test_BestBuy.js
поставляемый
Normal file
56
browser/extensions/formautofill/test/unit/heuristics/third_party/test_BestBuy.js
поставляемый
Normal file
|
@ -0,0 +1,56 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Checkout_ShippingAddress.html",
|
||||
expectedResult: [
|
||||
[], // Search form
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO:select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
[ // Sign up
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[ // unknown
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Checkout_Payment.html",
|
||||
expectedResult: [
|
||||
[], // Search form
|
||||
[ // Sign up
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO:select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
[
|
||||
// unknown
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[ // Sign in
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/BestBuy/");
|
||||
|
55
browser/extensions/formautofill/test/unit/heuristics/third_party/test_CDW.js
поставляемый
Normal file
55
browser/extensions/formautofill/test/unit/heuristics/third_party/test_CDW.js
поставляемый
Normal file
|
@ -0,0 +1,55 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Checkout_ShippingInfo.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Checkout_BillingPaymentInfo.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
[
|
||||
/* TODO: Credit Card
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-type"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
*/
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Checkout_Logon.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/CDW/");
|
||||
|
124
browser/extensions/formautofill/test/unit/heuristics/third_party/test_CostCo.js
поставляемый
Normal file
124
browser/extensions/formautofill/test/unit/heuristics/third_party/test_CostCo.js
поставляемый
Normal file
|
@ -0,0 +1,124 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "ShippingAddress.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "additional-name"}, // middle-name initial
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select,country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"}, // TODO: fix the regexp
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "additional-name"}, // middle-name initial
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select,country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"}, // TODO: fix the regexp
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select,state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Payment.html",
|
||||
expectedResult: [
|
||||
[
|
||||
/* TODO: credit card
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-type"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-name"}, // ac-off
|
||||
*/
|
||||
],
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "additional-name"}, // middle-name initial
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select, country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"}, // TODO: fix the regexp
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "additional-name"}, // middle-name initial
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select, country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"}, // TODO: fix the regexp
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
[ // Forgot password
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "password"},
|
||||
],
|
||||
[ // Sign up
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/CostCo/");
|
||||
|
34
browser/extensions/formautofill/test/unit/heuristics/third_party/test_HomeDepot.js
поставляемый
Normal file
34
browser/extensions/formautofill/test/unit/heuristics/third_party/test_HomeDepot.js
поставляемый
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Checkout_ShippingPayment.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/HomeDepot/");
|
||||
|
67
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js
поставляемый
Normal file
67
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js
поставляемый
Normal file
|
@ -0,0 +1,67 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Checkout_ShippingAddress.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // select
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
],
|
||||
[
|
||||
/*
|
||||
*/
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Checkout_Payment.html",
|
||||
expectedResult: [
|
||||
[
|
||||
/*
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-type"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"}, // ac-off
|
||||
*/
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // select
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[ // Sign in
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "password"},
|
||||
],
|
||||
[ // Forgot password
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/Macys/");
|
||||
|
66
browser/extensions/formautofill/test/unit/heuristics/third_party/test_NewEgg.js
поставляемый
Normal file
66
browser/extensions/formautofill/test/unit/heuristics/third_party/test_NewEgg.js
поставляемый
Normal file
|
@ -0,0 +1,66 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "ShippingInfo.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select, country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "BillingInfo.html",
|
||||
expectedResult: [
|
||||
[
|
||||
/* TODO: Should match the following fields.
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
*/
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "country"}, // TODO: select, country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, country
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-name"}, // TODO
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"}, // TODO
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"}, // TODO
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"}, // TODO
|
||||
],
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Login.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/NewEgg/");
|
||||
|
64
browser/extensions/formautofill/test/unit/heuristics/third_party/test_OfficeDepot.js
поставляемый
Normal file
64
browser/extensions/formautofill/test/unit/heuristics/third_party/test_OfficeDepot.js
поставляемый
Normal file
|
@ -0,0 +1,64 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "ShippingAddress.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
|
||||
// TODO: telphone relative fields should be fixed:
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-area-code"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-local-prefix"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-local-suffix"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Payment.html",
|
||||
expectedResult: [
|
||||
[
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
|
||||
// TODO: telphone relative fields should be fixed:
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-area-code"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-local-prefix"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-local-suffix"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[ // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/OfficeDepot/");
|
||||
|
54
browser/extensions/formautofill/test/unit/heuristics/third_party/test_QVC.js
поставляемый
Normal file
54
browser/extensions/formautofill/test/unit/heuristics/third_party/test_QVC.js
поставляемый
Normal file
|
@ -0,0 +1,54 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "YourInformation.html",
|
||||
expectedResult: [
|
||||
[
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-year"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-type"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "PaymentMethod.html",
|
||||
expectedResult: [
|
||||
[
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel"}, // ac-off
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-month"}, // select
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-day"}, // select
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-year"}, // select
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-type"}, // select
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp"}, // select
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "SignIn.html",
|
||||
expectedResult: [
|
||||
[
|
||||
// Unknown
|
||||
],
|
||||
[ // Sign in
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/QVC/");
|
||||
|
87
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Sears.js
поставляемый
Normal file
87
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Sears.js
поставляемый
Normal file
|
@ -0,0 +1,87 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "ShippingAddress.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
[], // search form, ac-off
|
||||
[ // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[ // check-out, ac-off
|
||||
/*
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
*/
|
||||
],
|
||||
[ // ac-off
|
||||
/*
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "new-password"},
|
||||
*/
|
||||
],
|
||||
[ // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
[ // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "PaymentOptions.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
[], // search
|
||||
[ // credit card
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
],
|
||||
[ // Another billing address
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
],
|
||||
[ // check out
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: Wrong. This is for Driver's license.
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-month"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-day"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "bday-year"},
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/Sears/");
|
||||
|
48
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Staples.js
поставляемый
Normal file
48
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Staples.js
поставляемый
Normal file
|
@ -0,0 +1,48 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Basic.html",
|
||||
expectedResult: [
|
||||
[ // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Basic_ac_on.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "tel-extension"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "organization"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "PaymentBilling.html",
|
||||
expectedResult: [
|
||||
[],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "PaymentBilling_ac_on.html",
|
||||
expectedResult: [
|
||||
[
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/Staples/");
|
||||
|
62
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Walmart.js
поставляемый
Normal file
62
browser/extensions/formautofill/test/unit/heuristics/third_party/test_Walmart.js
поставляемый
Normal file
|
@ -0,0 +1,62 @@
|
|||
/* global runHeuristicsTest */
|
||||
|
||||
"use strict";
|
||||
|
||||
runHeuristicsTest([
|
||||
{
|
||||
fixturePath: "Checkout.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
[
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "email"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "password"}, // ac-off
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "email"}, // ac-off
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "password"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "password"}, // ac-off
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Payment.html",
|
||||
expectedResult: [
|
||||
[
|
||||
],
|
||||
[
|
||||
{"section": "section-payment", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "section-payment", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-number"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-month"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-exp-year"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
|
||||
{"section": "section-payment", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
],
|
||||
],
|
||||
}, {
|
||||
fixturePath: "Shipping.html",
|
||||
expectedResult: [
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
[
|
||||
],
|
||||
[
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "given-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "family-name"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "tel"},
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-line1"},
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-line2"}, // TODO: fix the regexp
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "address-level2"}, // city
|
||||
// {"section": "", "addressType": "", "contactType": "", "fieldName": "address-level1"}, // TODO: select, state
|
||||
{"section": "", "addressType": "", "contactType": "", "fieldName": "postal-code"},
|
||||
],
|
||||
],
|
||||
},
|
||||
], "../../../fixtures/third_party/Walmart/");
|
||||
|
|
@ -2,7 +2,20 @@
|
|||
firefox-appdir = browser
|
||||
head = head.js
|
||||
support-files =
|
||||
../fixtures/**
|
||||
|
||||
[heuristics/test_basic.js]
|
||||
[heuristics/third_party/test_BestBuy.js]
|
||||
[heuristics/third_party/test_CDW.js]
|
||||
[heuristics/third_party/test_CostCo.js]
|
||||
[heuristics/third_party/test_HomeDepot.js]
|
||||
[heuristics/third_party/test_Macys.js]
|
||||
[heuristics/third_party/test_NewEgg.js]
|
||||
[heuristics/third_party/test_OfficeDepot.js]
|
||||
[heuristics/third_party/test_QVC.js]
|
||||
[heuristics/third_party/test_Sears.js]
|
||||
[heuristics/third_party/test_Staples.js]
|
||||
[heuristics/third_party/test_Walmart.js]
|
||||
[test_autofillFormFields.js]
|
||||
[test_collectFormFields.js]
|
||||
[test_enabledStatus.js]
|
||||
|
|
|
@ -219,6 +219,12 @@ networkMenu.sizeServiceWorker=service worker
|
|||
# in the network menu specifying the time for a request to finish (in milliseconds).
|
||||
networkMenu.totalMS=→ %S ms
|
||||
|
||||
# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
|
||||
# in the requests waterfall for total time (in milliseconds). \\u0020 represents
|
||||
# a whitespace. You can replace this with a different character, e.g. an hyphen
|
||||
# or a period, if a comma doesn't work for your language.
|
||||
netmonitor.waterfall.tooltip.separator=,\u0020
|
||||
|
||||
# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
|
||||
# displayed in the requests waterfall for total time (in milliseconds).
|
||||
netmonitor.waterfall.tooltip.total=Total %S ms
|
||||
|
|
|
@ -96,7 +96,10 @@ function timingBoxes(item) {
|
|||
tooltip.push(L10N.getFormatStr("netmonitor.waterfall.tooltip.total", totalTime));
|
||||
}
|
||||
|
||||
return { boxes, tooltip: tooltip.join(", ") };
|
||||
return {
|
||||
boxes,
|
||||
tooltip: tooltip.join(L10N.getStr("netmonitor.waterfall.tooltip.separator"))
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = RequestListColumnWaterfall;
|
||||
|
|
|
@ -3094,12 +3094,7 @@ nsContentUtils::CheckQName(const nsAString& aQualifiedName,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
// MOZ_EXPAT_EMPTY_QNAME || MOZ_EXPAT_INVALID_CHARACTER
|
||||
if (result == (1 << 0) || result == (1 << 1)) {
|
||||
return NS_ERROR_DOM_INVALID_CHARACTER_ERR;
|
||||
}
|
||||
|
||||
return NS_ERROR_DOM_NAMESPACE_ERR;
|
||||
}
|
||||
|
||||
//static
|
||||
|
|
|
@ -108,9 +108,9 @@ function createAttributeNS01() {
|
|||
newAttr = doc.createAttributeNS(namespaceURI,malformedName);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("throw_NAMESPACE_ERR",success);
|
||||
assertTrue("throw INVALID_CHARACTER_ERR",success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -114,9 +114,9 @@ function createDocument01() {
|
|||
aNewDoc = domImpl.createDocument(namespaceURI,malformedName,docType);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("throw_NAMESPACE_ERR",success);
|
||||
assertTrue("throw INVALID_CHARACTER_ERR",success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -112,9 +112,9 @@ function createDocumentType01() {
|
|||
newType = domImpl.createDocumentType(malformedName,publicId,systemId);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("throw_NAMESPACE_ERR",success);
|
||||
assertTrue("throw INVALID_CHARACTER_ERR", success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -108,9 +108,9 @@ function createElementNS01() {
|
|||
newElement = doc.createElementNS(namespaceURI,malformedName);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("throw_NAMESPACE_ERR",success);
|
||||
assertTrue("throw INVALID_CHARACTER_ERR", success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ function documentcreateattributeNS04() {
|
|||
attribute = doc.createAttributeNS(namespaceURI,qualifiedName);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("documentcreateattributeNS04",success);
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ function domimplementationcreatedocument07() {
|
|||
newDoc = domImpl.createDocument(namespaceURI,":",docType);
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("domimplementationcreatedocument07",success);
|
||||
}
|
||||
|
|
|
@ -109,9 +109,9 @@ function setAttributeNS02() {
|
|||
testAddr.setAttributeNS(namespaceURI,qualifiedName,"newValue");
|
||||
}
|
||||
catch(ex) {
|
||||
success = (typeof(ex.code) != 'undefined' && ex.code == 14);
|
||||
success = ex.code === DOMException.INVALID_CHARACTER_ERR;
|
||||
}
|
||||
assertTrue("throw_NAMESPACE_ERR",success);
|
||||
assertTrue("throw INVALID_CHARACTER_ERR",success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ fuzzy(16,460) fuzzy-if(Android,10,3673) fuzzy-if(skiaContent,32,254) == box-deco
|
|||
random-if(!gtkWidget) HTTP(..) == box-decoration-break-border-image.html box-decoration-break-border-image-ref.html
|
||||
== box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
|
||||
== box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
|
||||
fuzzy-if(!Android,1,62) fuzzy-if(Android,8,6627) fails-if(stylo) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html #Bug 1313773
|
||||
fuzzy-if(!Android,1,62) fuzzy-if(Android,8,6627) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html #Bug 1313773
|
||||
== box-decoration-break-with-bidi.html box-decoration-break-with-bidi-ref.html
|
||||
== box-decoration-break-bug-1235152.html box-decoration-break-bug-1235152-ref.html
|
||||
== box-decoration-break-bug-1249913.html box-decoration-break-bug-1249913-ref.html
|
||||
|
|
|
@ -128,7 +128,7 @@ to mochitest command.
|
|||
* test_initial_storage.html `-moz-force-broken-image-icon` [4]
|
||||
* test_value_storage.html `-moz-force-broken-image-icon` [4]
|
||||
* -moz-transform: need different parsing rules servo/servo#16003
|
||||
* test_value_storage.html `-moz-transform`: need different parsing rules bug 1357906 [72]
|
||||
* test_value_storage.html `-moz-transform`: need different parsing rules bug 1357906 [70]
|
||||
* test_variables.html `var(--var6)`: -x-system-font [1]
|
||||
* Unimplemented CSS properties:
|
||||
* place-{content,items,self} shorthands servo/servo#16391
|
||||
|
|
|
@ -528,6 +528,7 @@ pub enum DisplayItem {
|
|||
WebGL(Box<WebGLDisplayItem>),
|
||||
Border(Box<BorderDisplayItem>),
|
||||
Gradient(Box<GradientDisplayItem>),
|
||||
RadialGradient(Box<RadialGradientDisplayItem>),
|
||||
Line(Box<LineDisplayItem>),
|
||||
BoxShadow(Box<BoxShadowDisplayItem>),
|
||||
Iframe(Box<IframeDisplayItem>),
|
||||
|
@ -889,6 +890,9 @@ pub struct Gradient {
|
|||
|
||||
/// A list of color stops.
|
||||
pub stops: Vec<GradientStop>,
|
||||
|
||||
/// True if gradient repeats infinitly.
|
||||
pub repeating: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Deserialize, HeapSizeOf, Serialize)]
|
||||
|
@ -900,6 +904,31 @@ pub struct GradientDisplayItem {
|
|||
pub gradient: Gradient,
|
||||
}
|
||||
|
||||
/// Paints a radial gradient.
|
||||
#[derive(Clone, Deserialize, HeapSizeOf, Serialize)]
|
||||
pub struct RadialGradient {
|
||||
/// The center point of the gradient.
|
||||
pub center: Point2D<Au>,
|
||||
|
||||
/// The radius of the gradient with an x and an y component.
|
||||
pub radius: Size2D<Au>,
|
||||
|
||||
/// A list of color stops.
|
||||
pub stops: Vec<GradientStop>,
|
||||
|
||||
/// True if gradient repeats infinitly.
|
||||
pub repeating: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Deserialize, HeapSizeOf, Serialize)]
|
||||
pub struct RadialGradientDisplayItem {
|
||||
/// Fields common to all display item.
|
||||
pub base: BaseDisplayItem,
|
||||
|
||||
/// Contains all gradient data.
|
||||
pub gradient: RadialGradient,
|
||||
}
|
||||
|
||||
/// A normal border, supporting CSS border styles.
|
||||
#[derive(Clone, HeapSizeOf, Deserialize, Serialize)]
|
||||
pub struct NormalBorder {
|
||||
|
@ -1124,6 +1153,7 @@ impl DisplayItem {
|
|||
DisplayItem::WebGL(ref webgl_item) => &webgl_item.base,
|
||||
DisplayItem::Border(ref border) => &border.base,
|
||||
DisplayItem::Gradient(ref gradient) => &gradient.base,
|
||||
DisplayItem::RadialGradient(ref gradient) => &gradient.base,
|
||||
DisplayItem::Line(ref line) => &line.base,
|
||||
DisplayItem::BoxShadow(ref box_shadow) => &box_shadow.base,
|
||||
DisplayItem::Iframe(ref iframe) => &iframe.base,
|
||||
|
@ -1241,6 +1271,7 @@ impl fmt::Debug for DisplayItem {
|
|||
DisplayItem::WebGL(_) => "WebGL".to_owned(),
|
||||
DisplayItem::Border(_) => "Border".to_owned(),
|
||||
DisplayItem::Gradient(_) => "Gradient".to_owned(),
|
||||
DisplayItem::RadialGradient(_) => "RadialGradient".to_owned(),
|
||||
DisplayItem::Line(_) => "Line".to_owned(),
|
||||
DisplayItem::BoxShadow(_) => "BoxShadow".to_owned(),
|
||||
DisplayItem::Iframe(_) => "Iframe".to_owned(),
|
||||
|
|
|
@ -25,7 +25,7 @@ use gfx::display_list::{BLUR_INFLATION_FACTOR, BaseDisplayItem, BorderDetails};
|
|||
use gfx::display_list::{BorderDisplayItem, ImageBorder, NormalBorder};
|
||||
use gfx::display_list::{BorderRadii, BoxShadowClipMode, BoxShadowDisplayItem, ClippingRegion};
|
||||
use gfx::display_list::{DisplayItem, DisplayItemMetadata, DisplayList, DisplayListSection};
|
||||
use gfx::display_list::{GradientDisplayItem, IframeDisplayItem, ImageDisplayItem};
|
||||
use gfx::display_list::{GradientDisplayItem, RadialGradientDisplayItem, IframeDisplayItem, ImageDisplayItem};
|
||||
use gfx::display_list::{LineDisplayItem, OpaqueNode};
|
||||
use gfx::display_list::{SolidColorDisplayItem, ScrollRoot, StackingContext, StackingContextType};
|
||||
use gfx::display_list::{TextDisplayItem, TextOrientation, WebGLDisplayItem, WebRenderImageInfo};
|
||||
|
@ -33,7 +33,7 @@ use gfx_traits::{combine_id_with_fragment_type, FragmentType, StackingContextId}
|
|||
use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, LAST_FRAGMENT_OF_ELEMENT};
|
||||
use ipc_channel::ipc;
|
||||
use list_item::ListItemFlow;
|
||||
use model::{self, MaybeAuto};
|
||||
use model::{self, MaybeAuto, specified};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use net_traits::image::base::PixelFormat;
|
||||
use net_traits::image_cache::UsePlaceholder;
|
||||
|
@ -58,8 +58,10 @@ use style::properties::longhands::border_image_repeat::computed_value::RepeatKey
|
|||
use style::properties::style_structs;
|
||||
use style::servo::restyle_damage::REPAINT;
|
||||
use style::values::{Either, RGBA, computed};
|
||||
use style::values::computed::{AngleOrCorner, Gradient, GradientItem, GradientKind};
|
||||
use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto, NumberOrPercentage};
|
||||
use style::values::computed::{AngleOrCorner, Gradient, GradientItem, GradientKind, LengthOrPercentage};
|
||||
use style::values::computed::{LengthOrPercentageOrAuto, LengthOrKeyword, LengthOrPercentageOrKeyword};
|
||||
use style::values::computed::{NumberOrPercentage, Position};
|
||||
use style::values::computed::image::{EndingShape, SizeKeyword};
|
||||
use style::values::specified::{HorizontalDirection, VerticalDirection};
|
||||
use style_traits::CSSPixel;
|
||||
use style_traits::cursor::Cursor;
|
||||
|
@ -385,11 +387,22 @@ pub trait FragmentDisplayListBuilding {
|
|||
image_url: &ServoUrl,
|
||||
background_index: usize);
|
||||
|
||||
fn convert_gradient(&self,
|
||||
absolute_bounds: &Rect<Au>,
|
||||
gradient: &Gradient,
|
||||
fn convert_linear_gradient(&self,
|
||||
bounds: &Rect<Au>,
|
||||
stops: &[GradientItem],
|
||||
angle_or_corner: &AngleOrCorner,
|
||||
repeating: bool,
|
||||
style: &ServoComputedValues)
|
||||
-> Option<display_list::Gradient>;
|
||||
-> display_list::Gradient;
|
||||
|
||||
fn convert_radial_gradient(&self,
|
||||
bounds: &Rect<Au>,
|
||||
stops: &[GradientItem],
|
||||
shape: &EndingShape,
|
||||
center: &Position,
|
||||
repeating: bool,
|
||||
style: &ServoComputedValues)
|
||||
-> display_list::RadialGradient;
|
||||
|
||||
/// Adds the display items necessary to paint the background linear gradient of this fragment
|
||||
/// to the appropriate section of the display list.
|
||||
|
@ -397,6 +410,7 @@ pub trait FragmentDisplayListBuilding {
|
|||
state: &mut DisplayListBuildState,
|
||||
display_list_section: DisplayListSection,
|
||||
absolute_bounds: &Rect<Au>,
|
||||
clip_bounds: &Rect<Au>,
|
||||
clip: &ClippingRegion,
|
||||
gradient: &Gradient,
|
||||
style: &ServoComputedValues);
|
||||
|
@ -588,6 +602,152 @@ fn build_border_radius_for_inner_rect(outer_rect: &Rect<Au>,
|
|||
radii
|
||||
}
|
||||
|
||||
fn convert_gradient_stops(gradient_items: &[GradientItem],
|
||||
length: Au,
|
||||
style: &ServoComputedValues) -> Vec<GradientStop> {
|
||||
// Determine the position of each stop per CSS-IMAGES § 3.4.
|
||||
//
|
||||
// FIXME(#3908, pcwalton): Make sure later stops can't be behind earlier stops.
|
||||
let stop_items = gradient_items.iter().filter_map(|item| {
|
||||
match *item {
|
||||
GradientItem::ColorStop(ref stop) => Some(stop),
|
||||
_ => None,
|
||||
}
|
||||
}).collect::<Vec<_>>();
|
||||
let mut stops = Vec::with_capacity(stop_items.len());
|
||||
let mut stop_run = None;
|
||||
for (i, stop) in stop_items.iter().enumerate() {
|
||||
let offset = match stop.position {
|
||||
None => {
|
||||
if stop_run.is_none() {
|
||||
// Initialize a new stop run.
|
||||
let start_offset = if i == 0 {
|
||||
0.0
|
||||
} else {
|
||||
// `unwrap()` here should never fail because this is the beginning of
|
||||
// a stop run, which is always bounded by a length or percentage.
|
||||
position_to_offset(stop_items[i - 1].position.unwrap(), length)
|
||||
};
|
||||
let (end_index, end_offset) =
|
||||
match stop_items[i..]
|
||||
.iter()
|
||||
.enumerate()
|
||||
.find(|&(_, ref stop)| stop.position.is_some()) {
|
||||
None => (stop_items.len() - 1, 1.0),
|
||||
Some((end_index, end_stop)) => {
|
||||
// `unwrap()` here should never fail because this is the end of
|
||||
// a stop run, which is always bounded by a length or
|
||||
// percentage.
|
||||
(end_index,
|
||||
position_to_offset(end_stop.position.unwrap(), length))
|
||||
}
|
||||
};
|
||||
stop_run = Some(StopRun {
|
||||
start_offset: start_offset,
|
||||
end_offset: end_offset,
|
||||
start_index: i,
|
||||
stop_count: end_index - i,
|
||||
})
|
||||
}
|
||||
|
||||
let stop_run = stop_run.unwrap();
|
||||
let stop_run_length = stop_run.end_offset - stop_run.start_offset;
|
||||
if stop_run.stop_count == 0 {
|
||||
stop_run.end_offset
|
||||
} else {
|
||||
stop_run.start_offset +
|
||||
stop_run_length * (i - stop_run.start_index) as f32 /
|
||||
(stop_run.stop_count as f32)
|
||||
}
|
||||
}
|
||||
Some(position) => {
|
||||
stop_run = None;
|
||||
position_to_offset(position, length)
|
||||
}
|
||||
};
|
||||
stops.push(GradientStop {
|
||||
offset: offset,
|
||||
color: style.resolve_color(stop.color).to_gfx_color()
|
||||
})
|
||||
}
|
||||
stops
|
||||
}
|
||||
|
||||
/// Returns the the distance to the nearest or farthest corner depending on the comperator.
|
||||
fn get_distance_to_corner<F>(size: &Size2D<Au>, center: &Point2D<Au>, cmp: F) -> Au
|
||||
where F: Fn(Au, Au) -> Au
|
||||
{
|
||||
let dist = get_distance_to_sides(size, center, cmp);
|
||||
Au::from_f32_px(dist.width.to_f32_px().hypot(dist.height.to_f32_px()))
|
||||
}
|
||||
|
||||
/// Returns the distance to the nearest or farthest sides depending on the comparator.
|
||||
///
|
||||
/// The first return value is horizontal distance the second vertical distance.
|
||||
fn get_distance_to_sides<F>(size: &Size2D<Au>, center: &Point2D<Au>, cmp: F) -> Size2D<Au>
|
||||
where F: Fn(Au, Au) -> Au
|
||||
{
|
||||
let top_side = center.y;
|
||||
let right_side = size.width - center.x;
|
||||
let bottom_side = size.height - center.y;
|
||||
let left_side = center.x;
|
||||
Size2D::new(cmp(left_side, right_side), cmp(top_side, bottom_side))
|
||||
}
|
||||
|
||||
/// Returns the radius for an ellipse with the same ratio as if it was matched to the sides.
|
||||
fn get_ellipse_radius<F>(size: &Size2D<Au>, center: &Point2D<Au>, cmp: F) -> Size2D<Au>
|
||||
where F: Fn(Au, Au) -> Au
|
||||
{
|
||||
let dist = get_distance_to_sides(size, center, cmp);
|
||||
Size2D::new(dist.width.scale_by(::std::f32::consts::FRAC_1_SQRT_2 * 2.0),
|
||||
dist.height.scale_by(::std::f32::consts::FRAC_1_SQRT_2 * 2.0))
|
||||
}
|
||||
|
||||
/// Determines the radius of a circle if it was not explictly provided.
|
||||
/// https://drafts.csswg.org/css-images-3/#typedef-size
|
||||
fn convert_circle_size_keyword(keyword: SizeKeyword,
|
||||
size: &Size2D<Au>,
|
||||
center: &Point2D<Au>) -> Size2D<Au> {
|
||||
use style::values::computed::image::SizeKeyword::*;
|
||||
let radius = match keyword {
|
||||
ClosestSide => {
|
||||
let dist = get_distance_to_sides(size, center, ::std::cmp::min);
|
||||
::std::cmp::min(dist.width, dist.height)
|
||||
}
|
||||
FarthestSide => {
|
||||
let dist = get_distance_to_sides(size, center, ::std::cmp::max);
|
||||
::std::cmp::max(dist.width, dist.height)
|
||||
}
|
||||
ClosestCorner => get_distance_to_corner(size, center, ::std::cmp::min),
|
||||
FarthestCorner => get_distance_to_corner(size, center, ::std::cmp::max),
|
||||
_ => {
|
||||
// TODO(#16542)
|
||||
println!("TODO: implement size keyword {:?} for circles", keyword);
|
||||
Au::new(0)
|
||||
}
|
||||
};
|
||||
Size2D::new(radius, radius)
|
||||
}
|
||||
|
||||
/// Determines the radius of an ellipse if it was not explictly provided.
|
||||
/// https://drafts.csswg.org/css-images-3/#typedef-size
|
||||
fn convert_ellipse_size_keyword(keyword: SizeKeyword,
|
||||
size: &Size2D<Au>,
|
||||
center: &Point2D<Au>) -> Size2D<Au> {
|
||||
use style::values::computed::image::SizeKeyword::*;
|
||||
match keyword {
|
||||
ClosestSide => get_distance_to_sides(size, center, ::std::cmp::min),
|
||||
FarthestSide => get_distance_to_sides(size, center, ::std::cmp::max),
|
||||
ClosestCorner => get_ellipse_radius(size, center, ::std::cmp::min),
|
||||
FarthestCorner => get_ellipse_radius(size, center, ::std::cmp::max),
|
||||
_ => {
|
||||
// TODO(#16542)
|
||||
println!("TODO: implement size keyword {:?} for ellipses", keyword);
|
||||
Size2D::new(Au::new(0), Au::new(0))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl FragmentDisplayListBuilding for Fragment {
|
||||
fn build_display_list_for_background_if_applicable(&self,
|
||||
state: &mut DisplayListBuildState,
|
||||
|
@ -653,16 +813,14 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
match background_image.0 {
|
||||
None => {}
|
||||
Some(computed::Image::Gradient(ref gradient)) => {
|
||||
// FIXME: Radial gradients aren't implemented yet.
|
||||
if let GradientKind::Linear(_) = gradient.gradient_kind {
|
||||
self.build_display_list_for_background_gradient(state,
|
||||
display_list_section,
|
||||
&absolute_bounds,
|
||||
&bounds,
|
||||
&clip,
|
||||
gradient,
|
||||
style);
|
||||
}
|
||||
}
|
||||
Some(computed::Image::Url(ref image_url)) => {
|
||||
if let Some(url) = image_url.url() {
|
||||
self.build_display_list_for_background_image(state,
|
||||
|
@ -893,23 +1051,21 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
}
|
||||
}
|
||||
|
||||
fn convert_gradient(&self,
|
||||
absolute_bounds: &Rect<Au>,
|
||||
gradient: &Gradient,
|
||||
style: &ServoComputedValues) -> Option<display_list::Gradient> {
|
||||
// FIXME: Repeating gradients aren't implemented yet.
|
||||
if gradient.repeating {
|
||||
return None;
|
||||
}
|
||||
let angle = if let GradientKind::Linear(angle_or_corner) = gradient.gradient_kind {
|
||||
match angle_or_corner {
|
||||
fn convert_linear_gradient(&self,
|
||||
bounds: &Rect<Au>,
|
||||
stops: &[GradientItem],
|
||||
angle_or_corner: &AngleOrCorner,
|
||||
repeating: bool,
|
||||
style: &ServoComputedValues)
|
||||
-> display_list::Gradient {
|
||||
let angle = match *angle_or_corner {
|
||||
AngleOrCorner::Angle(angle) => angle.radians(),
|
||||
AngleOrCorner::Corner(horizontal, vertical) => {
|
||||
// This the angle for one of the diagonals of the box. Our angle
|
||||
// will either be this one, this one + PI, or one of the other
|
||||
// two perpendicular angles.
|
||||
let atan = (absolute_bounds.size.height.to_f32_px() /
|
||||
absolute_bounds.size.width.to_f32_px()).atan();
|
||||
let atan = (bounds.size.height.to_f32_px() /
|
||||
bounds.size.width.to_f32_px()).atan();
|
||||
match (horizontal, vertical) {
|
||||
(HorizontalDirection::Right, VerticalDirection::Bottom)
|
||||
=> f32::consts::PI - atan,
|
||||
|
@ -921,18 +1077,14 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
=> -atan,
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// FIXME: Radial gradients aren't implemented yet.
|
||||
return None;
|
||||
};
|
||||
|
||||
// Get correct gradient line length, based on:
|
||||
// https://drafts.csswg.org/css-images-3/#linear-gradients
|
||||
let dir = Point2D::new(angle.sin(), -angle.cos());
|
||||
|
||||
let line_length = (dir.x * absolute_bounds.size.width.to_f32_px()).abs() +
|
||||
(dir.y * absolute_bounds.size.height.to_f32_px()).abs();
|
||||
let line_length = (dir.x * bounds.size.width.to_f32_px()).abs() +
|
||||
(dir.y * bounds.size.height.to_f32_px()).abs();
|
||||
|
||||
let inv_dir_length = 1.0 / (dir.x * dir.x + dir.y * dir.y).sqrt();
|
||||
|
||||
|
@ -945,108 +1097,100 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
let length = Au::from_f32_px(
|
||||
(delta.x.to_f32_px() * 2.0).hypot(delta.y.to_f32_px() * 2.0));
|
||||
|
||||
// Determine the position of each stop per CSS-IMAGES § 3.4.
|
||||
//
|
||||
// FIXME(#3908, pcwalton): Make sure later stops can't be behind earlier stops.
|
||||
let stop_items = gradient.items.iter().filter_map(|item| {
|
||||
match *item {
|
||||
GradientItem::ColorStop(ref stop) => Some(stop),
|
||||
_ => None,
|
||||
}
|
||||
}).collect::<Vec<_>>();
|
||||
let mut stops = Vec::with_capacity(stop_items.len());
|
||||
let mut stop_run = None;
|
||||
for (i, stop) in stop_items.iter().enumerate() {
|
||||
let offset = match stop.position {
|
||||
None => {
|
||||
if stop_run.is_none() {
|
||||
// Initialize a new stop run.
|
||||
let start_offset = if i == 0 {
|
||||
0.0
|
||||
} else {
|
||||
// `unwrap()` here should never fail because this is the beginning of
|
||||
// a stop run, which is always bounded by a length or percentage.
|
||||
position_to_offset(stop_items[i - 1].position.unwrap(), length)
|
||||
};
|
||||
let (end_index, end_offset) =
|
||||
match stop_items[i..]
|
||||
.iter()
|
||||
.enumerate()
|
||||
.find(|&(_, ref stop)| stop.position.is_some()) {
|
||||
None => (stop_items.len() - 1, 1.0),
|
||||
Some((end_index, end_stop)) => {
|
||||
// `unwrap()` here should never fail because this is the end of
|
||||
// a stop run, which is always bounded by a length or
|
||||
// percentage.
|
||||
(end_index,
|
||||
position_to_offset(end_stop.position.unwrap(), length))
|
||||
}
|
||||
};
|
||||
stop_run = Some(StopRun {
|
||||
start_offset: start_offset,
|
||||
end_offset: end_offset,
|
||||
start_index: i,
|
||||
stop_count: end_index - i,
|
||||
})
|
||||
}
|
||||
let stops = convert_gradient_stops(stops, length, style);
|
||||
|
||||
let stop_run = stop_run.unwrap();
|
||||
let stop_run_length = stop_run.end_offset - stop_run.start_offset;
|
||||
if stop_run.stop_count == 0 {
|
||||
stop_run.end_offset
|
||||
} else {
|
||||
stop_run.start_offset +
|
||||
stop_run_length * (i - stop_run.start_index) as f32 /
|
||||
(stop_run.stop_count as f32)
|
||||
}
|
||||
}
|
||||
Some(position) => {
|
||||
stop_run = None;
|
||||
position_to_offset(position, length)
|
||||
}
|
||||
};
|
||||
stops.push(GradientStop {
|
||||
offset: offset,
|
||||
color: style.resolve_color(stop.color).to_gfx_color()
|
||||
})
|
||||
}
|
||||
let center = Point2D::new(bounds.size.width / 2, bounds.size.height / 2);
|
||||
|
||||
let center = Point2D::new(absolute_bounds.size.width / 2,
|
||||
absolute_bounds.size.height / 2);
|
||||
|
||||
Some(display_list::Gradient {
|
||||
display_list::Gradient {
|
||||
start_point: center - delta,
|
||||
end_point: center + delta,
|
||||
stops: stops,
|
||||
})
|
||||
repeating: repeating,
|
||||
}
|
||||
}
|
||||
|
||||
fn convert_radial_gradient(&self,
|
||||
bounds: &Rect<Au>,
|
||||
stops: &[GradientItem],
|
||||
shape: &EndingShape,
|
||||
center: &Position,
|
||||
repeating: bool,
|
||||
style: &ServoComputedValues)
|
||||
-> display_list::RadialGradient {
|
||||
let center = Point2D::new(specified(center.horizontal.0, bounds.size.width),
|
||||
specified(center.vertical.0, bounds.size.height));
|
||||
let radius = match *shape {
|
||||
EndingShape::Circle(LengthOrKeyword::Length(length))
|
||||
=> Size2D::new(length, length),
|
||||
EndingShape::Circle(LengthOrKeyword::Keyword(word))
|
||||
=> convert_circle_size_keyword(word, &bounds.size, ¢er),
|
||||
EndingShape::Ellipse(LengthOrPercentageOrKeyword::LengthOrPercentage(horizontal,
|
||||
vertical))
|
||||
=> Size2D::new(specified(horizontal, bounds.size.width),
|
||||
specified(vertical, bounds.size.height)),
|
||||
EndingShape::Ellipse(LengthOrPercentageOrKeyword::Keyword(word))
|
||||
=> convert_ellipse_size_keyword(word, &bounds.size, ¢er),
|
||||
};
|
||||
let length = Au::from_f32_px(radius.width.to_f32_px().hypot(radius.height.to_f32_px()));
|
||||
let stops = convert_gradient_stops(stops, length, style);
|
||||
display_list::RadialGradient {
|
||||
center: center,
|
||||
radius: radius,
|
||||
stops: stops,
|
||||
repeating: repeating,
|
||||
}
|
||||
}
|
||||
|
||||
fn build_display_list_for_background_gradient(&self,
|
||||
state: &mut DisplayListBuildState,
|
||||
display_list_section: DisplayListSection,
|
||||
absolute_bounds: &Rect<Au>,
|
||||
clip_bounds: &Rect<Au>,
|
||||
clip: &ClippingRegion,
|
||||
gradient: &Gradient,
|
||||
style: &ServoComputedValues) {
|
||||
let mut clip = clip.clone();
|
||||
clip.intersect_rect(absolute_bounds);
|
||||
clip.intersect_rect(clip_bounds);
|
||||
|
||||
let grad = self.convert_gradient(absolute_bounds, gradient, style);
|
||||
let border_padding = self.border_padding.to_physical(style.writing_mode);
|
||||
let mut bounds = *absolute_bounds;
|
||||
bounds.origin.x = bounds.origin.x + border_padding.left;
|
||||
bounds.origin.y = bounds.origin.y + border_padding.top;
|
||||
bounds.size.width = bounds.size.width - border_padding.horizontal();
|
||||
bounds.size.height = bounds.size.height - border_padding.vertical();
|
||||
|
||||
if let Some(x) = grad {
|
||||
let base = state.create_base_display_item(absolute_bounds,
|
||||
let base = state.create_base_display_item(&bounds,
|
||||
&clip,
|
||||
self.node,
|
||||
style.get_cursor(Cursor::Default),
|
||||
display_list_section);
|
||||
|
||||
let gradient_display_item = DisplayItem::Gradient(box GradientDisplayItem {
|
||||
let display_item = match gradient.gradient_kind {
|
||||
GradientKind::Linear(ref angle_or_corner) => {
|
||||
let gradient = self.convert_linear_gradient(&bounds,
|
||||
&gradient.items[..],
|
||||
angle_or_corner,
|
||||
gradient.repeating,
|
||||
style);
|
||||
DisplayItem::Gradient(box GradientDisplayItem {
|
||||
base: base,
|
||||
gradient: x,
|
||||
});
|
||||
|
||||
state.add_display_item(gradient_display_item);
|
||||
gradient: gradient,
|
||||
})
|
||||
}
|
||||
GradientKind::Radial(ref shape, ref center) => {
|
||||
let gradient = self.convert_radial_gradient(&bounds,
|
||||
&gradient.items[..],
|
||||
shape,
|
||||
center,
|
||||
gradient.repeating,
|
||||
style);
|
||||
DisplayItem::RadialGradient(box RadialGradientDisplayItem {
|
||||
base: base,
|
||||
gradient: gradient,
|
||||
})
|
||||
}
|
||||
};
|
||||
state.add_display_item(display_item);
|
||||
}
|
||||
|
||||
fn build_display_list_for_box_shadow_if_applicable(&self,
|
||||
|
@ -1159,24 +1303,26 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
}
|
||||
Some(computed::Image::Gradient(ref gradient)) => {
|
||||
match gradient.gradient_kind {
|
||||
GradientKind::Linear(_) => {
|
||||
let grad = self.convert_gradient(&bounds, gradient, style);
|
||||
GradientKind::Linear(angle_or_corner) => {
|
||||
let grad = self.convert_linear_gradient(&bounds,
|
||||
&gradient.items[..],
|
||||
&angle_or_corner,
|
||||
gradient.repeating,
|
||||
style);
|
||||
|
||||
if let Some(x) = grad {
|
||||
state.add_display_item(DisplayItem::Border(box BorderDisplayItem {
|
||||
base: base,
|
||||
border_widths: border.to_physical(style.writing_mode),
|
||||
details: BorderDetails::Gradient(display_list::GradientBorder {
|
||||
gradient: x,
|
||||
gradient: grad,
|
||||
|
||||
// TODO(gw): Support border-image-outset
|
||||
outset: SideOffsets2D::zero(),
|
||||
}),
|
||||
}));
|
||||
}
|
||||
}
|
||||
GradientKind::Radial(_, _) => {
|
||||
// TODO(gw): Handle border-image with radial gradient.
|
||||
// TODO(#16638): Handle border-image with radial gradient.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -370,16 +370,41 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
|||
let start_point = item.gradient.start_point.to_pointf();
|
||||
let end_point = item.gradient.end_point.to_pointf();
|
||||
let clip = item.base.clip.to_clip_region(builder);
|
||||
let extend_mode = if item.gradient.repeating {
|
||||
ExtendMode::Repeat
|
||||
} else {
|
||||
ExtendMode::Clamp
|
||||
};
|
||||
let gradient = builder.create_gradient(start_point,
|
||||
end_point,
|
||||
item.gradient.stops.clone(),
|
||||
ExtendMode::Clamp);
|
||||
extend_mode);
|
||||
builder.push_gradient(rect,
|
||||
clip,
|
||||
gradient,
|
||||
rect.size,
|
||||
webrender_traits::LayoutSize::zero());
|
||||
}
|
||||
DisplayItem::RadialGradient(ref item) => {
|
||||
let rect = item.base.bounds.to_rectf();
|
||||
let center = item.gradient.center.to_pointf();
|
||||
let radius = item.gradient.radius.to_sizef();
|
||||
let clip = item.base.clip.to_clip_region(builder);
|
||||
let extend_mode = if item.gradient.repeating {
|
||||
ExtendMode::Repeat
|
||||
} else {
|
||||
ExtendMode::Clamp
|
||||
};
|
||||
let gradient = builder.create_radial_gradient(center,
|
||||
radius,
|
||||
item.gradient.stops.clone(),
|
||||
extend_mode);
|
||||
builder.push_radial_gradient(rect,
|
||||
clip,
|
||||
gradient,
|
||||
rect.size,
|
||||
webrender_traits::LayoutSize::zero());
|
||||
}
|
||||
DisplayItem::Line(..) => {
|
||||
println!("TODO DisplayItem::Line");
|
||||
}
|
||||
|
|
|
@ -350,7 +350,7 @@ impl CanvasRenderingContext2D {
|
|||
dh);
|
||||
|
||||
if !is_rect_valid(source_rect) || !is_rect_valid(dest_rect) {
|
||||
return Err(Error::IndexSize);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let smoothing_enabled = self.state.borrow().image_smoothing_enabled;
|
||||
|
@ -407,7 +407,7 @@ impl CanvasRenderingContext2D {
|
|||
dh);
|
||||
|
||||
if !is_rect_valid(source_rect) || !is_rect_valid(dest_rect) {
|
||||
return Err(Error::IndexSize);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let smoothing_enabled = self.state.borrow().image_smoothing_enabled;
|
||||
|
|
|
@ -1457,7 +1457,7 @@ pub mod tests {
|
|||
where V: SelectorVisitor<Impl = Self::Impl> { true }
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Debug)]
|
||||
#[derive(Clone, PartialEq, Debug)]
|
||||
pub struct DummySelectorImpl;
|
||||
|
||||
#[derive(Default)]
|
||||
|
|
|
@ -3784,8 +3784,8 @@ clip-path
|
|||
|
||||
for (mut gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v.0.into_iter()) {
|
||||
match servo {
|
||||
Either::First(lop) => gecko.set(lop),
|
||||
Either::Second(number) => gecko.set_value(CoordDataValue::Factor(number)),
|
||||
Either::First(number) => gecko.set_value(CoordDataValue::Factor(number)),
|
||||
Either::Second(lop) => gecko.set(lop),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2008,8 +2008,8 @@ ${helpers.predefined_type("scroll-snap-coordinate",
|
|||
m32: Number::from_computed_value(&computed.m32),
|
||||
m33: Number::from_computed_value(&computed.m33),
|
||||
m34: Number::from_computed_value(&computed.m34),
|
||||
m41: Either::First(LengthOrPercentage::from_computed_value(&computed.m41)),
|
||||
m42: Either::First(LengthOrPercentage::from_computed_value(&computed.m42)),
|
||||
m41: Either::Second(LengthOrPercentage::from_computed_value(&computed.m41)),
|
||||
m42: Either::Second(LengthOrPercentage::from_computed_value(&computed.m42)),
|
||||
m43: LengthOrNumber::from_computed_value(&Either::First(computed.m43)),
|
||||
m44: Number::from_computed_value(&computed.m44),
|
||||
});
|
||||
|
@ -2056,8 +2056,8 @@ ${helpers.predefined_type("scroll-snap-coordinate",
|
|||
// LengthOrPercentage. Number maps into Length
|
||||
fn lopon_to_lop(value: &ComputedLoPoNumber) -> ComputedLoP {
|
||||
match *value {
|
||||
Either::First(length_or_percentage) => length_or_percentage,
|
||||
Either::Second(number) => ComputedLoP::Length(Au::from_f32_px(number)),
|
||||
Either::First(number) => ComputedLoP::Length(Au::from_f32_px(number)),
|
||||
Either::Second(length_or_percentage) => length_or_percentage,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ ${helpers.predefined_type("stroke-opacity", "Opacity", "1.0",
|
|||
|
||||
${helpers.predefined_type("stroke-dasharray",
|
||||
"LengthOrPercentageOrNumber",
|
||||
"Either::Second(0.0)",
|
||||
"Either::First(0.0)",
|
||||
"parse_non_negative",
|
||||
vector="True",
|
||||
allow_empty="True",
|
||||
|
|
|
@ -18,7 +18,7 @@ use selectors::{Element, MatchAttr};
|
|||
use selectors::matching::{ElementSelectorFlags, StyleRelations};
|
||||
use selectors::matching::matches_selector;
|
||||
use selectors::parser::{AttrSelector, Combinator, Component, Selector};
|
||||
use selectors::parser::{SelectorInner, SelectorIter, SelectorMethods};
|
||||
use selectors::parser::{SelectorInner, SelectorMethods};
|
||||
use selectors::visitor::SelectorVisitor;
|
||||
use std::clone::Clone;
|
||||
|
||||
|
@ -482,27 +482,13 @@ struct Dependency {
|
|||
/// of them is sensitive to attribute or state changes.
|
||||
struct SensitivitiesVisitor {
|
||||
sensitivities: Sensitivities,
|
||||
hint: RestyleHint,
|
||||
}
|
||||
|
||||
impl SelectorVisitor for SensitivitiesVisitor {
|
||||
type Impl = SelectorImpl;
|
||||
|
||||
fn visit_complex_selector(&mut self,
|
||||
_: SelectorIter<SelectorImpl>,
|
||||
combinator: Option<Combinator>) -> bool {
|
||||
self.hint |= combinator_to_restyle_hint(combinator);
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
fn visit_simple_selector(&mut self, s: &Component<SelectorImpl>) -> bool {
|
||||
self.sensitivities.states.insert(selector_to_state(s));
|
||||
|
||||
if !self.sensitivities.attrs {
|
||||
self.sensitivities.attrs = is_attr_selector(s);
|
||||
}
|
||||
|
||||
self.sensitivities.attrs |= is_attr_selector(s);
|
||||
true
|
||||
}
|
||||
}
|
||||
|
@ -539,56 +525,63 @@ impl DependencySet {
|
|||
|
||||
/// Adds a selector to this `DependencySet`.
|
||||
pub fn note_selector(&mut self, selector: &Selector<SelectorImpl>) {
|
||||
let mut is_pseudo_element = selector.pseudo_element.is_some();
|
||||
|
||||
let mut next = Some(selector.inner.complex.clone());
|
||||
let mut combinator = None;
|
||||
let mut iter = selector.inner.complex.iter();
|
||||
let mut index = 0;
|
||||
|
||||
while let Some(current) = next.take() {
|
||||
// Set up our visitor.
|
||||
loop {
|
||||
let sequence_start = index;
|
||||
let mut visitor = SensitivitiesVisitor {
|
||||
sensitivities: Sensitivities::new(),
|
||||
hint: combinator_to_restyle_hint(combinator),
|
||||
sensitivities: Sensitivities::new()
|
||||
};
|
||||
|
||||
if is_pseudo_element {
|
||||
// TODO(emilio): use more fancy restyle hints to avoid restyling
|
||||
// the whole subtree when pseudos change.
|
||||
// Visit all the simple selectors in this sequence.
|
||||
//
|
||||
// We currently need is_pseudo_element to handle eager pseudos
|
||||
// (so the style the parent stores doesn't become stale), and
|
||||
// restyle_descendants to handle all of them (::before and
|
||||
// ::after, because we find them in the subtree, and other lazy
|
||||
// pseudos for the same reason).
|
||||
visitor.hint |= RESTYLE_SELF | RESTYLE_DESCENDANTS;
|
||||
is_pseudo_element = false;
|
||||
}
|
||||
|
||||
{
|
||||
// Visit all the simple selectors.
|
||||
let mut iter = current.iter();
|
||||
let mut index = 0usize;
|
||||
// Note that this works because we can't have combinators nested
|
||||
// inside simple selectors (i.e. in :not() or :-moz-any()). If we
|
||||
// ever support that we'll need to visit complex selectors as well.
|
||||
for ss in &mut iter {
|
||||
ss.visit(&mut visitor);
|
||||
index += 1;
|
||||
index += 1; // Account for the simple selector.
|
||||
}
|
||||
|
||||
// Prepare the next sequence of simple selectors.
|
||||
if let Some(next_combinator) = iter.next_sequence() {
|
||||
next = Some(current.slice_from(index + 1));
|
||||
combinator = Some(next_combinator);
|
||||
}
|
||||
}
|
||||
|
||||
// Note what we found.
|
||||
// If we found a sensitivity, add an entry in the dependency set.
|
||||
if !visitor.sensitivities.is_empty() {
|
||||
let mut hint = combinator_to_restyle_hint(combinator);
|
||||
let dep_selector;
|
||||
if sequence_start == 0 {
|
||||
if selector.pseudo_element.is_some() {
|
||||
// TODO(emilio): use more fancy restyle hints to avoid
|
||||
// restyling the whole subtree when pseudos change.
|
||||
//
|
||||
// We currently need is_pseudo_element to handle eager
|
||||
// pseudos (so the style the parent stores doesn't
|
||||
// become stale), and restyle_descendants to handle all
|
||||
// of them (::before and ::after, because we find them
|
||||
// in the subtree, and other lazy pseudos for the same
|
||||
// reason).
|
||||
hint |= RESTYLE_SELF | RESTYLE_DESCENDANTS;
|
||||
}
|
||||
|
||||
// Reuse the bloom hashes if this is the base selector.
|
||||
dep_selector = selector.inner.clone();
|
||||
} else {
|
||||
dep_selector = SelectorInner::new(selector.inner.complex.slice_from(sequence_start));
|
||||
}
|
||||
|
||||
self.add_dependency(Dependency {
|
||||
sensitivities: visitor.sensitivities,
|
||||
hint: visitor.hint,
|
||||
selector: SelectorInner::new(current),
|
||||
})
|
||||
hint: hint,
|
||||
selector: dep_selector,
|
||||
});
|
||||
}
|
||||
|
||||
combinator = iter.next_sequence();
|
||||
if combinator.is_none() {
|
||||
break;
|
||||
}
|
||||
|
||||
index += 1; // Account for the combinator.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -313,38 +313,13 @@ impl Stylist {
|
|||
CssRule::Style(ref locked) => {
|
||||
let style_rule = locked.read_with(&guard);
|
||||
self.num_declarations += style_rule.block.read_with(&guard).len();
|
||||
|
||||
for selector in &style_rule.selectors.0 {
|
||||
self.num_selectors += 1;
|
||||
let map = if let Some(ref pseudo) = selector.pseudo_element {
|
||||
self.pseudos_map
|
||||
.entry(pseudo.clone())
|
||||
.or_insert_with(PerPseudoElementSelectorMap::new)
|
||||
.borrow_for_origin(&stylesheet.origin)
|
||||
} else {
|
||||
self.element_map.borrow_for_origin(&stylesheet.origin)
|
||||
};
|
||||
|
||||
map.insert(Rule::new(guard,
|
||||
selector.inner.clone(),
|
||||
locked.clone(),
|
||||
self.rules_source_order,
|
||||
selector.specificity));
|
||||
self.add_rule_to_map(guard, selector, locked, stylesheet);
|
||||
self.dependencies.note_selector(selector);
|
||||
self.note_for_revalidation(selector);
|
||||
}
|
||||
self.rules_source_order += 1;
|
||||
|
||||
for selector in &style_rule.selectors.0 {
|
||||
self.dependencies.note_selector(selector);
|
||||
|
||||
if needs_revalidation(selector) {
|
||||
// For revalidation, we can skip everything left of
|
||||
// the first ancestor combinator.
|
||||
let revalidation_sel =
|
||||
selector.inner.slice_to_first_ancestor_combinator();
|
||||
|
||||
self.selectors_for_cache_revalidation.push(revalidation_sel);
|
||||
}
|
||||
}
|
||||
}
|
||||
CssRule::Import(ref import) => {
|
||||
let import = import.read_with(guard);
|
||||
|
@ -374,6 +349,38 @@ impl Stylist {
|
|||
});
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn add_rule_to_map(&mut self,
|
||||
guard: &SharedRwLockReadGuard,
|
||||
selector: &Selector<SelectorImpl>,
|
||||
rule: &Arc<Locked<StyleRule>>,
|
||||
stylesheet: &Stylesheet)
|
||||
{
|
||||
let map = if let Some(ref pseudo) = selector.pseudo_element {
|
||||
self.pseudos_map
|
||||
.entry(pseudo.clone())
|
||||
.or_insert_with(PerPseudoElementSelectorMap::new)
|
||||
.borrow_for_origin(&stylesheet.origin)
|
||||
} else {
|
||||
self.element_map.borrow_for_origin(&stylesheet.origin)
|
||||
};
|
||||
|
||||
map.insert(Rule::new(guard,
|
||||
selector.inner.clone(),
|
||||
rule.clone(),
|
||||
self.rules_source_order,
|
||||
selector.specificity));
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn note_for_revalidation(&mut self, selector: &Selector<SelectorImpl>) {
|
||||
if needs_revalidation(selector) {
|
||||
// For revalidation, we can skip everything left of the first ancestor
|
||||
// combinator.
|
||||
let revalidation_sel = selector.inner.slice_to_first_ancestor_combinator();
|
||||
self.selectors_for_cache_revalidation.push(revalidation_sel);
|
||||
}
|
||||
}
|
||||
|
||||
/// Computes the style for a given "precomputed" pseudo-element, taking the
|
||||
/// universal rules and applying them.
|
||||
|
@ -1043,9 +1050,6 @@ pub struct SelectorMap {
|
|||
pub class_hash: FnvHashMap<Atom, Vec<Rule>>,
|
||||
/// A hash from local name to rules which contain that local name selector.
|
||||
pub local_name_hash: FnvHashMap<LocalName, Vec<Rule>>,
|
||||
/// Same as local_name_hash, but keys are lower-cased.
|
||||
/// For HTML elements in HTML documents.
|
||||
pub lower_local_name_hash: FnvHashMap<LocalName, Vec<Rule>>,
|
||||
/// Rules that don't have ID, class, or element selectors.
|
||||
pub other_rules: Vec<Rule>,
|
||||
/// Whether this hash is empty.
|
||||
|
@ -1064,7 +1068,6 @@ impl SelectorMap {
|
|||
id_hash: HashMap::default(),
|
||||
class_hash: HashMap::default(),
|
||||
local_name_hash: HashMap::default(),
|
||||
lower_local_name_hash: HashMap::default(),
|
||||
other_rules: Vec::new(),
|
||||
empty: true,
|
||||
}
|
||||
|
@ -1113,14 +1116,9 @@ impl SelectorMap {
|
|||
cascade_level);
|
||||
});
|
||||
|
||||
let local_name_hash = if element.is_html_element_in_html_document() {
|
||||
&self.lower_local_name_hash
|
||||
} else {
|
||||
&self.local_name_hash
|
||||
};
|
||||
SelectorMap::get_matching_rules_from_hash(element,
|
||||
parent_bf,
|
||||
local_name_hash,
|
||||
&self.local_name_hash,
|
||||
element.get_local_name(),
|
||||
matching_rules_list,
|
||||
relations,
|
||||
|
@ -1253,8 +1251,22 @@ impl SelectorMap {
|
|||
}
|
||||
|
||||
if let Some(LocalNameSelector { name, lower_name }) = SelectorMap::get_local_name(&rule) {
|
||||
find_push(&mut self.local_name_hash, name, rule.clone());
|
||||
find_push(&mut self.lower_local_name_hash, lower_name, rule);
|
||||
// If the local name in the selector isn't lowercase, insert it into
|
||||
// the rule hash twice. This means that, during lookup, we can always
|
||||
// find the rules based on the local name of the element, regardless
|
||||
// of whether it's an html element in an html document (in which case
|
||||
// we match against lower_name) or not (in which case we match against
|
||||
// name).
|
||||
//
|
||||
// In the case of a non-html-element-in-html-document with a
|
||||
// lowercase localname and a non-lowercase selector, the rulehash
|
||||
// lookup may produce superfluous selectors, but the subsequent
|
||||
// selector matching work will filter them out.
|
||||
if name != lower_name {
|
||||
find_push(&mut self.local_name_hash, lower_name, rule.clone());
|
||||
}
|
||||
find_push(&mut self.local_name_hash, name, rule);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,10 +14,11 @@ use std::fmt;
|
|||
use style_traits::ToCss;
|
||||
use values::computed::{Angle, Context, Length, LengthOrPercentage, NumberOrPercentage, ToComputedValue};
|
||||
use values::computed::position::Position;
|
||||
use values::specified::{self, HorizontalDirection, SizeKeyword, VerticalDirection};
|
||||
use values::specified::{self, HorizontalDirection, VerticalDirection};
|
||||
use values::specified::image::CompatMode;
|
||||
use values::specified::url::SpecifiedUrl;
|
||||
|
||||
pub use values::specified::SizeKeyword;
|
||||
|
||||
impl ToComputedValue for specified::Image {
|
||||
type ComputedValue = Image;
|
||||
|
|
|
@ -468,7 +468,7 @@ impl ToCss for SVGPaint {
|
|||
}
|
||||
|
||||
/// <length> | <percentage> | <number>
|
||||
pub type LengthOrPercentageOrNumber = Either<LengthOrPercentage, Number>;
|
||||
pub type LengthOrPercentageOrNumber = Either<Number, LengthOrPercentage>;
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Debug)]
|
||||
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
||||
|
|
|
@ -1191,7 +1191,7 @@ impl ToComputedValue for SVGPaintKind {
|
|||
}
|
||||
|
||||
/// <length> | <percentage> | <number>
|
||||
pub type LengthOrPercentageOrNumber = Either<LengthOrPercentage, Number>;
|
||||
pub type LengthOrPercentageOrNumber = Either<Number, LengthOrPercentage>;
|
||||
|
||||
impl LengthOrPercentageOrNumber {
|
||||
/// parse a <length-percentage> | <number> enforcing that the contents aren't negative
|
||||
|
@ -1199,10 +1199,10 @@ impl LengthOrPercentageOrNumber {
|
|||
// NB: Parse numbers before Lengths so we are consistent about how to
|
||||
// recognize and serialize "0".
|
||||
if let Ok(num) = input.try(|i| Number::parse_non_negative(context, i)) {
|
||||
return Ok(Either::Second(num))
|
||||
return Ok(Either::First(num))
|
||||
}
|
||||
|
||||
LengthOrPercentage::parse_non_negative(context, input).map(Either::First)
|
||||
LengthOrPercentage::parse_non_negative(context, input).map(Either::Second)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ use parsing::parse;
|
|||
use style::context::QuirksMode;
|
||||
use style::parser::{LengthParsingMode, Parse, ParserContext};
|
||||
use style::stylesheets::{CssRuleType, Origin};
|
||||
use style::values::Either;
|
||||
use style::values::specified::{LengthOrPercentageOrNumber, Number};
|
||||
use style::values::specified::length::{AbsoluteLength, Length, NoCalcLength};
|
||||
use style_traits::ToCss;
|
||||
|
||||
|
@ -46,3 +48,8 @@ fn test_length_parsing_modes() {
|
|||
assert!(result.is_ok());
|
||||
assert_eq!(result.unwrap(), Length::NoCalc(NoCalcLength::Absolute(AbsoluteLength::Px(1.))));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_zero_percentage_length_or_number() {
|
||||
assert_eq!(parse(LengthOrPercentageOrNumber::parse, "0"), Ok(Either::First(Number::new(0.))));
|
||||
}
|
||||
|
|
|
@ -80,9 +80,9 @@ test(function() {
|
|||
["(", "", "", "INVALID_CHARACTER_ERR"],
|
||||
[")", "", "", "INVALID_CHARACTER_ERR"],
|
||||
["f:oo", "", "", null],
|
||||
[":foo", "", "", "NAMESPACE_ERR"],
|
||||
["foo:", "", "", "NAMESPACE_ERR"],
|
||||
["prefix::local", "", "", "NAMESPACE_ERR"],
|
||||
[":foo", "", "", "INVALID_CHARACTER_ERR"],
|
||||
["foo:", "", "", "INVALID_CHARACTER_ERR"],
|
||||
["prefix::local", "", "", "INVALID_CHARACTER_ERR"],
|
||||
["foo", "foo", "", null],
|
||||
["foo", "", "foo", null],
|
||||
["foo", "f'oo", "", null],
|
||||
|
|
|
@ -25,11 +25,11 @@ var createElementNS_tests = [
|
|||
[null, "fo o", "INVALID_CHARACTER_ERR"],
|
||||
[null, "-foo", "INVALID_CHARACTER_ERR"],
|
||||
[null, ".foo", "INVALID_CHARACTER_ERR"],
|
||||
[null, ":foo", "NAMESPACE_ERR"],
|
||||
[null, ":foo", "INVALID_CHARACTER_ERR"],
|
||||
[null, "f:oo", "NAMESPACE_ERR"],
|
||||
[null, "foo:", "NAMESPACE_ERR"],
|
||||
[null, "f:o:o", "NAMESPACE_ERR"],
|
||||
[null, ":", "NAMESPACE_ERR"],
|
||||
[null, "foo:", "INVALID_CHARACTER_ERR"],
|
||||
[null, "f:o:o", "INVALID_CHARACTER_ERR"],
|
||||
[null, ":", "INVALID_CHARACTER_ERR"],
|
||||
[null, "xml", null],
|
||||
[null, "xmlns", "NAMESPACE_ERR"],
|
||||
[null, "xmlfoo", null],
|
||||
|
@ -38,19 +38,19 @@ var createElementNS_tests = [
|
|||
[null, "xmlfoo:bar", "NAMESPACE_ERR"],
|
||||
[null, "null:xml", "NAMESPACE_ERR"],
|
||||
["", null, null],
|
||||
["", ":foo", "NAMESPACE_ERR"],
|
||||
["", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["", "f:oo", "NAMESPACE_ERR"],
|
||||
["", "foo:", "NAMESPACE_ERR"],
|
||||
["", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
[undefined, null, null],
|
||||
[undefined, undefined, null],
|
||||
[undefined, "foo", null],
|
||||
[undefined, "1foo", "INVALID_CHARACTER_ERR"],
|
||||
[undefined, "f1oo", null],
|
||||
[undefined, "foo1", null],
|
||||
[undefined, ":foo", "NAMESPACE_ERR"],
|
||||
[undefined, ":foo", "INVALID_CHARACTER_ERR"],
|
||||
[undefined, "f:oo", "NAMESPACE_ERR"],
|
||||
[undefined, "foo:", "NAMESPACE_ERR"],
|
||||
[undefined, "f::oo", "NAMESPACE_ERR"],
|
||||
[undefined, "foo:", "INVALID_CHARACTER_ERR"],
|
||||
[undefined, "f::oo", "INVALID_CHARACTER_ERR"],
|
||||
[undefined, "xml", null],
|
||||
[undefined, "xmlns", "NAMESPACE_ERR"],
|
||||
[undefined, "xmlfoo", null],
|
||||
|
@ -65,15 +65,15 @@ var createElementNS_tests = [
|
|||
["http://example.com/", ".foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "f1oo", null],
|
||||
["http://example.com/", "foo1", null],
|
||||
["http://example.com/", ":foo", "NAMESPACE_ERR"],
|
||||
["http://example.com/", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "f:oo", null],
|
||||
["http://example.com/", "f:o:o", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "foo:", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "f::oo", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "a:0", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "f:o:o", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "f::oo", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "a:0", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "0:a", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "a:_", null],
|
||||
["http://example.com/", "a:\u0BC6", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "a:\u0BC6", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "\u0BC6:a", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "a:a\u0BC6", null],
|
||||
["http://example.com/", "a\u0BC6:a", null],
|
||||
|
@ -98,7 +98,7 @@ var createElementNS_tests = [
|
|||
["http://example.com/", "xmlns:foo", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "XMLNS:foo", null],
|
||||
["http://example.com/", "xmlfoo:bar", null],
|
||||
["http://example.com/", "prefix::local", "NAMESPACE_ERR"],
|
||||
["http://example.com/", "prefix::local", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "namespaceURI:{", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "namespaceURI:}", "INVALID_CHARACTER_ERR"],
|
||||
["http://example.com/", "namespaceURI:~", "INVALID_CHARACTER_ERR"],
|
||||
|
@ -130,9 +130,9 @@ var createElementNS_tests = [
|
|||
["/", "1foo", "INVALID_CHARACTER_ERR"],
|
||||
["/", "f1oo", null],
|
||||
["/", "foo1", null],
|
||||
["/", ":foo", "NAMESPACE_ERR"],
|
||||
["/", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["/", "f:oo", null],
|
||||
["/", "foo:", "NAMESPACE_ERR"],
|
||||
["/", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
["/", "xml", null],
|
||||
["/", "xmlns", "NAMESPACE_ERR"],
|
||||
["/", "xmlfoo", null],
|
||||
|
@ -143,9 +143,9 @@ var createElementNS_tests = [
|
|||
["http://www.w3.org/XML/1998/namespace", "1foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", "f1oo", null],
|
||||
["http://www.w3.org/XML/1998/namespace", "foo1", null],
|
||||
["http://www.w3.org/XML/1998/namespace", ":foo", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", "f:oo", null],
|
||||
["http://www.w3.org/XML/1998/namespace", "foo:", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", "xml", null],
|
||||
["http://www.w3.org/XML/1998/namespace", "xmlns", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/XML/1998/namespace", "xmlfoo", null],
|
||||
|
@ -158,9 +158,9 @@ var createElementNS_tests = [
|
|||
["http://www.w3.org/2000/xmlns/", "1foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "f1oo", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "foo1", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", ":foo", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "f:oo", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "foo:", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "xml", "NAMESPACE_ERR"],
|
||||
["http://www.w3.org/2000/xmlns/", "xmlns", null],
|
||||
["http://www.w3.org/2000/xmlns/", "xmlfoo", "NAMESPACE_ERR"],
|
||||
|
@ -172,9 +172,9 @@ var createElementNS_tests = [
|
|||
["foo:", "1foo", "INVALID_CHARACTER_ERR"],
|
||||
["foo:", "f1oo", null],
|
||||
["foo:", "foo1", null],
|
||||
["foo:", ":foo", "NAMESPACE_ERR"],
|
||||
["foo:", ":foo", "INVALID_CHARACTER_ERR"],
|
||||
["foo:", "f:oo", null],
|
||||
["foo:", "foo:", "NAMESPACE_ERR"],
|
||||
["foo:", "foo:", "INVALID_CHARACTER_ERR"],
|
||||
["foo:", "xml", null],
|
||||
["foo:", "xmlns", "NAMESPACE_ERR"],
|
||||
["foo:", "xmlfoo", null],
|
||||
|
|
|
@ -130,12 +130,12 @@ test(function() {
|
|||
test(function() {
|
||||
var el = document.createElement("foo")
|
||||
for (var i = 0, il = invalid_qnames.length; i < il; ++i) {
|
||||
assert_throws("NAMESPACE_ERR",
|
||||
assert_throws("INVALID_CHARACTER_ERR",
|
||||
function() { el.setAttributeNS("a", invalid_qnames[i], "fail") },
|
||||
"Expected exception for " + invalid_qnames[i] + ".")
|
||||
}
|
||||
}, "When qualifiedName does not match the QName production, an " +
|
||||
"NAMESPACE_ERR exception is to be thrown.")
|
||||
"INVALID_CHARACTER_ERR exception is to be thrown.")
|
||||
|
||||
// Step 3
|
||||
test(function() {
|
||||
|
|
|
@ -10,6 +10,8 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
|
|||
|
||||
Cu.importGlobalProperties(["URL"]);
|
||||
|
||||
const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
|
||||
|
||||
const MockDocument = {
|
||||
/**
|
||||
* Create a document for the given URL containing the given HTML with the ownerDocument of all <form>s having a mocked location.
|
||||
|
@ -46,5 +48,15 @@ const MockDocument = {
|
|||
});
|
||||
},
|
||||
|
||||
createTestDocumentFromFile(aDocumentURL, aFile) {
|
||||
let fileStream = Cc["@mozilla.org/network/file-input-stream;1"].
|
||||
createInstance(Ci.nsIFileInputStream);
|
||||
fileStream.init(aFile, -1, -1, 0);
|
||||
|
||||
let data = NetUtil.readInputStreamToString(fileStream, fileStream.available());
|
||||
|
||||
return this.createTestDocument(aDocumentURL, data);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -587,7 +587,7 @@ option('--enable-stylo', env='STYLO_ENABLED', nargs=0,
|
|||
# configure options. The Windows installer of LLVM/Clang doesn't provide
|
||||
# llvm-config, so we need both methods to support all of our tier-1
|
||||
# platforms.
|
||||
llvm_config = check_prog('LLVM_CONFIG', ('llvm-config-3.9', 'llvm-config',),
|
||||
llvm_config = check_prog('LLVM_CONFIG', ('llvm-config-3.9', 'llvm-config39', 'llvm-config',),
|
||||
what='llvm-config', allow_missing=True)
|
||||
|
||||
option('--disable-stylo-build-bindgen',
|
||||
|
|
Загрузка…
Ссылка в новой задаче