forked from mirrors/gecko-dev
		
	Backed out changeset 3fa420b71260 (bug 1477113) for bc failures on browser_total.js. CLOSED TREE
This commit is contained in:
		
							parent
							
								
									5f7099b985
								
							
						
					
					
						commit
						99f7b49656
					
				
					 7 changed files with 62 additions and 128 deletions
				
			
		|  | @ -641,27 +641,6 @@ var paymentDialogWrapper = { | |||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   async onChangePaymentMethod({ | ||||
|     selectedPaymentCardBillingAddressGUID: billingAddressGUID, | ||||
|   }) { | ||||
|     const methodName = "basic-card"; | ||||
|     let methodDetails; | ||||
|     try { | ||||
|       let billingAddress = await this._convertProfileAddressToPaymentAddress(billingAddressGUID); | ||||
|       const basicCardChangeDetails = Cc["@mozilla.org/dom/payments/basiccard-change-details;1"] | ||||
|                                        .createInstance(Ci.nsIBasicCardChangeDetails); | ||||
|       basicCardChangeDetails.initData(billingAddress); | ||||
|       methodDetails = basicCardChangeDetails.QueryInterface(Ci.nsIMethodChangeDetails); | ||||
|     } catch (ex) { | ||||
|       // TODO (Bug 1498403): Some kind of "credit card storage error" here, perhaps asking user
 | ||||
|       // to re-enter credit card # from management UI.
 | ||||
|       Cu.reportError(ex); | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     paymentSrv.changePaymentMethod(this.request.requestId, methodName, methodDetails); | ||||
|   }, | ||||
| 
 | ||||
|   async onChangeShippingAddress({shippingAddressGUID}) { | ||||
|     if (shippingAddressGUID) { | ||||
|       // If a shipping address was de-selected e.g. the selected address was deleted, we'll
 | ||||
|  | @ -772,10 +751,6 @@ var paymentDialogWrapper = { | |||
|         this.onChangePayerAddress(data); | ||||
|         break; | ||||
|       } | ||||
|       case "changePaymentMethod": { | ||||
|         this.onChangePaymentMethod(data); | ||||
|         break; | ||||
|       } | ||||
|       case "changeShippingAddress": { | ||||
|         this.onChangeShippingAddress(data); | ||||
|         break; | ||||
|  |  | |||
|  | @ -156,16 +156,16 @@ export default class PaymentDialog extends PaymentStateSubscriberMixin(HTMLEleme | |||
| 
 | ||||
|   /** | ||||
|    * Called when the selectedPaymentCard or its relevant properties or billingAddress are changed. | ||||
|    * @param {string} selectedPaymentCardBillingAddressGUID | ||||
|    * @param {string} selectedPaymentCardGUID | ||||
|    */ | ||||
|   changePaymentMethod(selectedPaymentCardBillingAddressGUID) { | ||||
|   changePaymentMethod(selectedPaymentCardGUID) { | ||||
|     // Clear paymentMethod merchant errors when the paymentMethod or billingAddress changes.
 | ||||
|     let request = Object.assign({}, this.requestStore.getState().request); | ||||
|     request.paymentDetails = Object.assign({}, request.paymentDetails); | ||||
|     request.paymentDetails.paymentMethodErrors = null; | ||||
|     this.requestStore.setState({request}); | ||||
| 
 | ||||
|     paymentRequest.changePaymentMethod({selectedPaymentCardBillingAddressGUID}); | ||||
|     // TODO: Bug 1477113 - Dispatch paymentmethodchange
 | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|  | @ -304,10 +304,12 @@ export default class PaymentDialog extends PaymentStateSubscriberMixin(HTMLEleme | |||
|       } | ||||
|     } | ||||
| 
 | ||||
|     // Ensure `selectedPaymentCard` never refers to a deleted payment card.
 | ||||
|     if (selectedPaymentCard && !basicCards[selectedPaymentCard]) { | ||||
|     // Ensure `selectedPaymentCard` never refers to a deleted payment card and refers
 | ||||
|     // to a payment card if one exists.
 | ||||
|     if (!basicCards[selectedPaymentCard]) { | ||||
|       // Determining the initial selection is tracked in bug 1455789
 | ||||
|       this.requestStore.setState({ | ||||
|         selectedPaymentCard: null, | ||||
|         selectedPaymentCard: Object.keys(basicCards)[0] || null, | ||||
|         selectedPaymentCardSecurityCode: null, | ||||
|       }); | ||||
|     } | ||||
|  | @ -430,14 +432,8 @@ export default class PaymentDialog extends PaymentStateSubscriberMixin(HTMLEleme | |||
|       } | ||||
|     } | ||||
| 
 | ||||
|     let selectedPaymentCard = state.selectedPaymentCard; | ||||
|     let basicCards = paymentRequest.getBasicCards(state); | ||||
|     let billingAddressGUID = (basicCards[selectedPaymentCard] || {}).billingAddressGUID; | ||||
|     if (selectedPaymentCard != this._cachedState.selectedPaymentCard && | ||||
|         billingAddressGUID) { | ||||
|       // Update _cachedState to prevent an infinite loop when changePaymentMethod updates state.
 | ||||
|       this._cachedState.selectedPaymentCard = state.selectedPaymentCard; | ||||
|       this.changePaymentMethod(billingAddressGUID); | ||||
|     if (state.selectedPaymentCard != this._cachedState.selectedPaymentCard) { | ||||
|       this.changePaymentMethod(state.selectedPaymentCard); | ||||
|     } | ||||
| 
 | ||||
|     if (this._isPayerRequested(state.request.paymentOptions)) { | ||||
|  | @ -448,6 +444,7 @@ export default class PaymentDialog extends PaymentStateSubscriberMixin(HTMLEleme | |||
| 
 | ||||
|     this._cachedState.selectedShippingAddress = state.selectedShippingAddress; | ||||
|     this._cachedState.selectedShippingOption = state.selectedShippingOption; | ||||
|     this._cachedState.selectedPaymentCard = state.selectedPaymentCard; | ||||
|     this._cachedState.selectedPayerAddress = state.selectedPayerAddress; | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -67,16 +67,12 @@ export default class PaymentMethodPicker extends RichPicker { | |||
| 
 | ||||
|     // Update selectedness after the options are updated
 | ||||
|     let selectedPaymentCardGUID = state[this.selectedStateKey]; | ||||
|     if (selectedPaymentCardGUID) { | ||||
|     this.dropdown.value = selectedPaymentCardGUID; | ||||
| 
 | ||||
|       if (selectedPaymentCardGUID !== this.dropdown.value) { | ||||
|     if (selectedPaymentCardGUID && selectedPaymentCardGUID !== this.dropdown.value) { | ||||
|       throw new Error(`The option ${selectedPaymentCardGUID} ` + | ||||
|                       `does not exist in the payment method picker`); | ||||
|     } | ||||
|     } else { | ||||
|       this.dropdown.value = ""; | ||||
|     } | ||||
| 
 | ||||
|     let securityCodeState = state[this.selectedStateKey + "SecurityCode"]; | ||||
|     if (securityCodeState && securityCodeState != this.securityCodeInput.value) { | ||||
|  |  | |||
|  | @ -192,10 +192,6 @@ var paymentRequest = { | |||
|     this.sendMessageToChrome("closeDialog"); | ||||
|   }, | ||||
| 
 | ||||
|   changePaymentMethod(data) { | ||||
|     this.sendMessageToChrome("changePaymentMethod", data); | ||||
|   }, | ||||
| 
 | ||||
|   changeShippingAddress(data) { | ||||
|     this.sendMessageToChrome("changeShippingAddress", data); | ||||
|   }, | ||||
|  |  | |||
|  | @ -215,18 +215,8 @@ async function add_link(aOptions = {}) { | |||
|       ok(!button.disabled, "Save button should be enabled with valid CSC"); | ||||
|     }); | ||||
| 
 | ||||
|     ContentTask.spawn(browser, { | ||||
|       eventName: "paymentmethodchange", | ||||
|     }, PTU.ContentTasks.promisePaymentRequestEvent); | ||||
|     info("added paymentmethodchange handler"); | ||||
| 
 | ||||
|     await spawnPaymentDialogTask(frame, PTU.DialogContentTasks.clickPrimaryButton); | ||||
| 
 | ||||
|     info("waiting for paymentmethodchange event"); | ||||
|     await ContentTask.spawn(browser, { | ||||
|       eventName: "paymentmethodchange", | ||||
|     }, PTU.ContentTasks.awaitPaymentEventPromise); | ||||
| 
 | ||||
|     await spawnPaymentDialogTask(frame, async function waitForSummaryPage(testArgs = {}) { | ||||
|       let { | ||||
|         PaymentTestUtils: PTU, | ||||
|  | @ -427,8 +417,7 @@ add_task(async function test_edit_link() { | |||
|   { | ||||
|     let card = Object.assign({}, PTU.BasicCards.JohnDoe, | ||||
|                              { billingAddressGUID: prefilledGuids.address1GUID }); | ||||
|     let guid = await addCardRecord(card); | ||||
|     prefilledGuids.card1GUID = guid; | ||||
|     await addCardRecord(card); | ||||
|   } | ||||
| 
 | ||||
|   const args = { | ||||
|  | @ -443,12 +432,7 @@ add_task(async function test_edit_link() { | |||
|         PaymentTestUtils: PTU, | ||||
|       } = ChromeUtils.import("resource://testing-common/PaymentTestUtils.jsm", {}); | ||||
| 
 | ||||
|       let paymentMethodPicker = content.document.querySelector("payment-method-picker"); | ||||
|       let editLink = paymentMethodPicker.querySelector(".edit-link"); | ||||
| 
 | ||||
|       content.fillField(Cu.waiveXrays(paymentMethodPicker).dropdown.popupBox, | ||||
|                         prefilledGuids.card1GUID); | ||||
| 
 | ||||
|       let editLink = content.document.querySelector("payment-method-picker .edit-link"); | ||||
|       is(editLink.textContent, "Edit", "Edit link text"); | ||||
| 
 | ||||
|       editLink.click(); | ||||
|  | @ -629,28 +613,19 @@ add_task(async function test_invalid_network_card_edit() { | |||
|                              { billingAddressGUID: prefilledGuids.address1GUID }); | ||||
|     // create a record with an unknown network id
 | ||||
|     card["cc-type"] = "asiv"; | ||||
|     let guid = await addCardRecord(card); | ||||
|     prefilledGuids.card1GUID = guid; | ||||
|     await addCardRecord(card); | ||||
|   } | ||||
| 
 | ||||
|   const args = { | ||||
|     methodData: [PTU.MethodData.basicCard], | ||||
|     details: PTU.Details.total60USD, | ||||
|     prefilledGuids, | ||||
|   }; | ||||
|   await spawnInDialogForMerchantTask( | ||||
|     PTU.ContentTasks.createAndShowRequest, | ||||
|     async function check({prefilledGuids}) { | ||||
|   await spawnInDialogForMerchantTask(PTU.ContentTasks.createAndShowRequest, async function check() { | ||||
|     let { | ||||
|       PaymentTestUtils: PTU, | ||||
|     } = ChromeUtils.import("resource://testing-common/PaymentTestUtils.jsm", {}); | ||||
| 
 | ||||
|       let paymentMethodPicker = content.document.querySelector("payment-method-picker"); | ||||
|       let editLink = paymentMethodPicker.querySelector(".edit-link"); | ||||
| 
 | ||||
|       content.fillField(Cu.waiveXrays(paymentMethodPicker).dropdown.popupBox, | ||||
|                         prefilledGuids.card1GUID); | ||||
| 
 | ||||
|     let editLink = content.document.querySelector("payment-method-picker .edit-link"); | ||||
|     is(editLink.textContent, "Edit", "Edit link text"); | ||||
| 
 | ||||
|     editLink.click(); | ||||
|  |  | |||
|  | @ -666,14 +666,9 @@ async function fillInCardForm(frame, aCard, aOptions = {}) { | |||
|       // of this should be investigated further.
 | ||||
|       await ContentTaskUtils.waitForCondition(() => field == content.document.activeElement, | ||||
|                                               `Waiting for field #${key} to get focus`); | ||||
|       if (key == "billingAddressGUID") { | ||||
|         // Can't type the value in, press Down until the value is found
 | ||||
|         content.fillField(field, val); | ||||
|       } else { | ||||
|       // cc-exp-* fields are numbers so convert to strings and pad left with 0
 | ||||
|       let fillValue = val.toString().padStart(2, "0"); | ||||
|       EventUtils.synthesizeKey(fillValue, {}, Cu.waiveXrays(content.window)); | ||||
|       } | ||||
|       // cc-exp-* field values are not padded, so compare with unpadded string.
 | ||||
|       is(field.value, val.toString(), `${key} value is correct after sendString`); | ||||
|     } | ||||
|  |  | |||
|  | @ -41,7 +41,7 @@ interface nsIPaymentRequestService : nsISupports | |||
|   void respondPayment(in nsIPaymentActionResponse aResponse); | ||||
| 
 | ||||
|   /** | ||||
|    *  Inform the merchant the shipping address has changed. | ||||
|    *  Inform the merchant the shipping addres has changed. | ||||
|    *  @param requestId - the request identifier of the payment request. | ||||
|    *  @param aAddress - the new payment address. | ||||
|    */ | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Narcis Beleuzu
						Narcis Beleuzu