diff --git a/DEPS b/DEPS index b5c9dc61..4c628d2 100644 --- a/DEPS +++ b/DEPS
@@ -232,7 +232,7 @@ Var('chromium_git') + '/native_client/src/third_party/scons-2.0.1.git' + '@' + '1c1550e17fc26355d08627fbdec13d8291227067', 'src/third_party/webrtc': - Var('chromium_git') + '/external/webrtc/trunk/webrtc.git' + '@' + '73c0f2ada2cec69680336eee7bb7ee2b49417753', # commit position 17805 + Var('chromium_git') + '/external/webrtc/trunk/webrtc.git' + '@' + 'e89a6ff7bdf55a250b353d9a63d9d4bd53475a74', # commit position 17835 'src/third_party/openmax_dl': Var('chromium_git') + '/external/webrtc/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTest.java index 875f466..b9311fd 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTest.java
@@ -229,6 +229,7 @@ * Tests that a successful requestPresent call actually enters VR */ @SmallTest + @DisabledTest(message = "crbug.com/713781") public void testRequestPresentEntersVr() throws InterruptedException { String testName = "test_requestPresent_enters_vr"; loadUrl(getHtmlTestFile(testName), PAGE_LOAD_TIMEOUT_S); @@ -308,6 +309,7 @@ * Tests that non-focused tabs cannot get pose information. */ @SmallTest + @DisabledTest(message = "crbug.com/713781") public void testPoseDataUnfocusedTab() throws InterruptedException { String testName = "test_pose_data_unfocused_tab"; loadUrl(getHtmlTestFile(testName), PAGE_LOAD_TIMEOUT_S); @@ -380,6 +382,7 @@ * VR Services is installed and up to date. */ @MediumTest + @DisabledTest(message = "crbug.com/713781") public void testInfoBarNotPresentWhenVrServicesCurrent() throws InterruptedException { infoBarTestHelper(VrCoreVersionChecker.VR_READY); } @@ -389,6 +392,7 @@ * VR Services is outdated. */ @MediumTest + @DisabledTest(message = "crbug.com/713781") public void testInfoBarPresentWhenVrServicesOutdated() throws InterruptedException { infoBarTestHelper(VrCoreVersionChecker.VR_OUT_OF_DATE); } @@ -398,6 +402,7 @@ * Services is missing. */ @MediumTest + @DisabledTest(message = "crbug.com/713781") public void testInfoBarPresentWhenVrServicesMissing() throws InterruptedException { infoBarTestHelper(VrCoreVersionChecker.VR_NOT_AVAILABLE); } @@ -407,6 +412,7 @@ * is not supported on the device. */ @MediumTest + @DisabledTest(message = "crbug.com/713781") public void testInfoBarNotPresentWhenVrServicesNotSupported() throws InterruptedException { infoBarTestHelper(VrCoreVersionChecker.VR_NOT_SUPPORTED); } @@ -416,6 +422,7 @@ * devices the WebVR tests are run on continuously. */ @MediumTest + @DisabledTest(message = "crbug.com/713781") public void testDeviceCapabilitiesMatchExpectations() throws InterruptedException { String testName = "test_device_capabilities_match_expectations"; loadUrl(getHtmlTestFile(testName), PAGE_LOAD_TIMEOUT_S);
diff --git a/chrome/browser/ui/views/extensions/chooser_dialog_view.cc b/chrome/browser/ui/views/extensions/chooser_dialog_view.cc index 59837e1..acd1c01 100644 --- a/chrome/browser/ui/views/extensions/chooser_dialog_view.cc +++ b/chrome/browser/ui/views/extensions/chooser_dialog_view.cc
@@ -74,15 +74,7 @@ views::ClientView* ChooserDialogView::CreateClientView(views::Widget* widget) { views::DialogClientView* client = new views::DialogClientView(widget, GetContentsView()); - - constexpr int kMinWidth = 402; - constexpr int kMinHeight = 320; ChromeLayoutProvider* provider = ChromeLayoutProvider::Get(); - int min_width = provider->GetDialogPreferredWidth(DialogWidth::MEDIUM); - if (!min_width) - min_width = kMinWidth; - client->set_minimum_size(gfx::Size(min_width, kMinHeight)); - client->set_button_row_insets(gfx::Insets( provider->GetDistanceMetric(DISTANCE_UNRELATED_CONTROL_VERTICAL), 0, 0, 0));
diff --git a/components/translate/core/browser/translate_browser_metrics.h b/components/translate/core/browser/translate_browser_metrics.h index cad2929..c83c6bb9 100644 --- a/components/translate/core/browser/translate_browser_metrics.h +++ b/components/translate/core/browser/translate_browser_metrics.h
@@ -29,7 +29,7 @@ // below. enum InitiationStatusType { INITIATION_STATUS_DISABLED_BY_PREFS, - INITIATION_STATUS_DISABLED_BY_SWITCH, + DEPRECATE_INITIATION_STATUS_DISABLED_BY_SWITCH, INITIATION_STATUS_DISABLED_BY_CONFIG, INITIATION_STATUS_LANGUAGE_IS_NOT_SUPPORTED, INITIATION_STATUS_URL_IS_NOT_SUPPORTED,
diff --git a/components/translate/core/browser/translate_browser_metrics_unittest.cc b/components/translate/core/browser/translate_browser_metrics_unittest.cc index ef0fb14..283dfd5 100644 --- a/components/translate/core/browser/translate_browser_metrics_unittest.cc +++ b/components/translate/core/browser/translate_browser_metrics_unittest.cc
@@ -30,7 +30,6 @@ } void CheckInitiationStatus(int expected_disabled_by_prefs, - int expected_disabled_by_switch, int expected_disabled_by_config, int expected_disabled_by_build, int expected_language_is_not_supported, @@ -47,10 +46,6 @@ GetCountWithoutSnapshot(translate::TranslateBrowserMetrics:: INITIATION_STATUS_DISABLED_BY_PREFS)); EXPECT_EQ( - expected_disabled_by_switch, - GetCountWithoutSnapshot(translate::TranslateBrowserMetrics:: - INITIATION_STATUS_DISABLED_BY_SWITCH)); - EXPECT_EQ( expected_disabled_by_config, GetCountWithoutSnapshot(translate::TranslateBrowserMetrics:: INITIATION_STATUS_DISABLED_BY_CONFIG)); @@ -132,46 +127,43 @@ MetricsRecorder recorder(translate::TranslateBrowserMetrics::GetMetricsName( translate::TranslateBrowserMetrics::UMA_INITIATION_STATUS)); - recorder.CheckInitiationStatus(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_PREFS); - recorder.CheckInitiationStatus(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - translate::TranslateBrowserMetrics::ReportInitiationStatus( - translate::TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_SWITCH); - recorder.CheckInitiationStatus(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_CONFIG); - recorder.CheckInitiationStatus(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_KEY); - recorder.CheckInitiationStatus(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics:: INITIATION_STATUS_LANGUAGE_IS_NOT_SUPPORTED); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics:: INITIATION_STATUS_MIME_TYPE_IS_NOT_SUPPORTED); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics:: INITIATION_STATUS_URL_IS_NOT_SUPPORTED); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_ACCEPT_LANGUAGES); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_AUTO_BY_CONFIG); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_AUTO_BY_LINK); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0); translate::TranslateBrowserMetrics::ReportInitiationStatus( translate::TranslateBrowserMetrics::INITIATION_STATUS_SHOW_INFOBAR); - recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + recorder.CheckInitiationStatus(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); } TEST(TranslateBrowserMetricsTest, ReportLanguageDetectionError) {
diff --git a/components/translate/core/browser/translate_download_manager.cc b/components/translate/core/browser/translate_download_manager.cc index a431403..88c0177 100644 --- a/components/translate/core/browser/translate_download_manager.cc +++ b/components/translate/core/browser/translate_download_manager.cc
@@ -4,7 +4,6 @@ #include "components/translate/core/browser/translate_download_manager.h" -#include "base/command_line.h" #include "base/logging.h" #include "base/memory/singleton.h" #include "components/prefs/pref_service.h" @@ -31,30 +30,21 @@ } // static -void TranslateDownloadManager::RequestLanguageList() { +void TranslateDownloadManager::RequestLanguageList(PrefService* prefs) { + // We don't want to do this when translate is disabled. + DCHECK(prefs != NULL); + if (!prefs->GetBoolean(prefs::kEnableTranslate)) + return; + TranslateLanguageList* language_list = GetInstance()->language_list(); if (!language_list) { NOTREACHED(); return; } - language_list->RequestLanguageList(); } // static -void TranslateDownloadManager::RequestLanguageList(PrefService* prefs) { - // We don't want to do this when translate is disabled. - DCHECK(prefs != NULL); - if (base::CommandLine::ForCurrentProcess()->HasSwitch( - translate::switches::kDisableTranslate) || - !prefs->GetBoolean(prefs::kEnableTranslate)) { - return; - } - - RequestLanguageList(); -} - -// static void TranslateDownloadManager::GetSupportedLanguages( std::vector<std::string>* languages) { TranslateLanguageList* language_list = GetInstance()->language_list();
diff --git a/components/translate/core/browser/translate_download_manager.h b/components/translate/core/browser/translate_download_manager.h index c7f6923..ed0ba219 100644 --- a/components/translate/core/browser/translate_download_manager.h +++ b/components/translate/core/browser/translate_download_manager.h
@@ -51,13 +51,10 @@ TranslateScript* script() { return script_.get(); } // Let the caller decide if and when we should fetch the language list from - // the translate server. This is a NOOP if switches::kDisableTranslate is set - // or if prefs::kEnableTranslate is set to false. + // the translate server. This is a NOOP if prefs::kEnableTranslate is set to + // false. static void RequestLanguageList(PrefService* prefs); - // Fetches the language list from the translate server. - static void RequestLanguageList(); - // Fills |languages| with the list of languages that the translate server can // translate to and from. static void GetSupportedLanguages(std::vector<std::string>* languages);
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc index f09b9d7..a9970118 100644 --- a/components/translate/core/browser/translate_manager.cc +++ b/components/translate/core/browser/translate_manager.cc
@@ -188,15 +188,6 @@ return; } - // Allow disabling of translate from the command line to assist with - // automated browser testing. - if (base::CommandLine::ForCurrentProcess()->HasSwitch( - translate::switches::kDisableTranslate)) { - TranslateBrowserMetrics::ReportInitiationStatus( - TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_SWITCH); - return; - } - // MHTML pages currently cannot be translated. // See bug: 217945. if (translate_driver_->GetContentsMimeType() == "multipart/related") {
diff --git a/components/translate/core/common/translate_switches.cc b/components/translate/core/common/translate_switches.cc index 2a6da776..9ee0352 100644 --- a/components/translate/core/common/translate_switches.cc +++ b/components/translate/core/common/translate_switches.cc
@@ -7,11 +7,6 @@ namespace translate { namespace switches { -// Allows disabling of translate from the command line to assist with automated -// browser testing (e.g. Selenium/WebDriver). Normal browser users should -// disable translate with the preference. -const char kDisableTranslate[] = "disable-translate"; - // Overrides the default server used for Google Translate. const char kTranslateScriptURL[] = "translate-script-url";
diff --git a/components/translate/core/common/translate_switches.h b/components/translate/core/common/translate_switches.h index 4db33fc8..ad7010b0 100644 --- a/components/translate/core/common/translate_switches.h +++ b/components/translate/core/common/translate_switches.h
@@ -8,7 +8,6 @@ namespace translate { namespace switches { -extern const char kDisableTranslate[]; extern const char kTranslateScriptURL[]; extern const char kTranslateSecurityOrigin[]; extern const char kTranslateRankerModelURL[];
diff --git a/content/browser/webrtc/webrtc_capture_from_element_browsertest.cc b/content/browser/webrtc/webrtc_capture_from_element_browsertest.cc index 0819498..7ea76ac 100644 --- a/content/browser/webrtc/webrtc_capture_from_element_browsertest.cc +++ b/content/browser/webrtc/webrtc_capture_from_element_browsertest.cc
@@ -78,8 +78,16 @@ kCanvasCaptureColorTestHtmlFile); } +#if defined(OS_ANDROID) +// Remote mojo renderer does not send audio/video frames back to the renderer +// process and hence does not support capture: https://crbug.com/641559. +#define MAYBE_VerifyCanvasWebGLCaptureColor \ + DISABLED_VerifyCanvasWebGLCaptureColor +#else +#define MAYBE_VerifyCanvasWebGLCaptureColor VerifyCanvasWebGLCaptureColor +#endif IN_PROC_BROWSER_TEST_F(WebRtcCaptureFromElementBrowserTest, - VerifyCanvasWebGLCaptureColor) { + MAYBE_VerifyCanvasWebGLCaptureColor) { #if !defined(OS_MACOSX) // TODO(crbug.com/706009): Make this test pass on mac. Behavior is not buggy // (verified manually) on mac, but for some reason this test fails on the mac
diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc index ac801ce..46194b1 100644 --- a/content/renderer/media/rtc_peer_connection_handler.cc +++ b/content/renderer/media/rtc_peer_connection_handler.cc
@@ -250,9 +250,6 @@ } switch (blink_config.ice_transport_policy) { - case blink::WebRTCIceTransportPolicy::kNone: - webrtc_config->type = webrtc::PeerConnectionInterface::kNone; - break; case blink::WebRTCIceTransportPolicy::kRelay: webrtc_config->type = webrtc::PeerConnectionInterface::kRelay; break;
diff --git a/ios/chrome/browser/payments/BUILD.gn b/ios/chrome/browser/payments/BUILD.gn index 9e01dc4..b5793fd4 100644 --- a/ios/chrome/browser/payments/BUILD.gn +++ b/ios/chrome/browser/payments/BUILD.gn
@@ -7,166 +7,53 @@ source_set("payments") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ - "credit_card_edit_coordinator.h", - "credit_card_edit_coordinator.mm", - "credit_card_edit_mediator.h", - "credit_card_edit_mediator.mm", - "js_payment_request_manager.h", - "js_payment_request_manager.mm", - "payment_items_display_coordinator.h", - "payment_items_display_coordinator.mm", - "payment_items_display_mediator.h", - "payment_items_display_mediator.mm", - "payment_method_selection_coordinator.h", - "payment_method_selection_coordinator.mm", - "payment_method_selection_mediator.h", - "payment_method_selection_mediator.mm", "payment_request.h", "payment_request.mm", - "payment_request_coordinator.h", - "payment_request_coordinator.mm", - "payment_request_error_coordinator.h", - "payment_request_error_coordinator.mm", - "payment_request_manager.h", - "payment_request_manager.mm", "payment_request_util.h", "payment_request_util.mm", - "payment_request_view_controller.h", - "payment_request_view_controller.mm", - "payment_request_view_controller_actions.h", - "shipping_address_selection_coordinator.h", - "shipping_address_selection_coordinator.mm", - "shipping_address_selection_mediator.h", - "shipping_address_selection_mediator.mm", - "shipping_option_selection_coordinator.h", - "shipping_option_selection_coordinator.mm", - "shipping_option_selection_mediator.h", - "shipping_option_selection_mediator.mm", ] deps = [ - ":payments_ui", "//base", "//components/autofill/core/browser", - "//components/autofill/ios/browser", "//components/payments/core", - "//components/signin/core/browser", - "//components/strings", - "//ios/chrome/app/strings", - "//ios/chrome/app/theme", + "//components/strings:components_strings_grit", "//ios/chrome/browser", - "//ios/chrome/browser/autofill", - "//ios/chrome/browser/browser_state", - "//ios/chrome/browser/payments/cells", - "//ios/chrome/browser/signin", - "//ios/chrome/browser/ui", - "//ios/chrome/browser/ui/autofill", - "//ios/chrome/browser/ui/autofill:autofill_ui", - "//ios/chrome/browser/ui/autofill/cells", - "//ios/chrome/browser/ui/collection_view", - "//ios/chrome/browser/ui/collection_view/cells", - "//ios/chrome/browser/ui/colors", - "//ios/chrome/browser/ui/commands", - "//ios/chrome/browser/ui/icons", - "//ios/third_party/material_components_ios", - "//ios/third_party/material_roboto_font_loader_ios", "//ios/web", "//ui/base", ] libs = [ "UIKit.framework" ] } -source_set("payments_ui") { - configs += [ "//build/config/compiler:enable_arc" ] - sources = [ - "credit_card_edit_view_controller.h", - "credit_card_edit_view_controller.mm", - "credit_card_edit_view_controller_data_source.h", - "payment_items_display_view_controller.h", - "payment_items_display_view_controller.mm", - "payment_items_display_view_controller_actions.h", - "payment_items_display_view_controller_data_source.h", - "payment_request_edit_view_controller+internal.h", - "payment_request_edit_view_controller.h", - "payment_request_edit_view_controller.mm", - "payment_request_edit_view_controller_actions.h", - "payment_request_edit_view_controller_data_source.h", - "payment_request_editor_field.h", - "payment_request_editor_field.mm", - "payment_request_error_view_controller.h", - "payment_request_error_view_controller.mm", - "payment_request_error_view_controller_actions.h", - "payment_request_picker_row.h", - "payment_request_picker_row.mm", - "payment_request_picker_view_controller.h", - "payment_request_picker_view_controller.mm", - "payment_request_selector_view_controller.h", - "payment_request_selector_view_controller.mm", - "payment_request_selector_view_controller_actions.h", - "payment_request_selector_view_controller_data_source.h", - ] - deps = [ - "//base", - "//components/strings", - "//ios/chrome/app/strings:ios_strings_grit", - "//ios/chrome/app/theme", - "//ios/chrome/browser/payments/cells", - "//ios/chrome/browser/ui", - "//ios/chrome/browser/ui/autofill:autofill_ui", - "//ios/chrome/browser/ui/autofill/cells", - "//ios/chrome/browser/ui/collection_view", - "//ios/chrome/browser/ui/colors", - "//ios/chrome/browser/ui/icons", - "//ios/third_party/material_components_ios", - "//ui/base", - ] - libs = [ "UIKit.framework" ] -} - source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ - "credit_card_edit_coordinator_unittest.mm", - "credit_card_edit_view_controller_unittest.mm", - "payment_items_display_coordinator_unittest.mm", - "payment_items_display_view_controller_unittest.mm", - "payment_method_selection_coordinator_unittest.mm", - "payment_request_coordinator_unittest.mm", - "payment_request_error_coordinator_unittest.mm", - "payment_request_error_view_controller_unittest.mm", - "payment_request_selector_view_controller_unittest.mm", - "payment_request_test_util.h", - "payment_request_test_util.mm", "payment_request_unittest.mm", - "payment_request_view_controller_unittest.mm", - "shipping_address_selection_coordinator_unittest.mm", - "shipping_option_selection_coordinator_unittest.mm", ] deps = [ ":payments", - ":payments_ui", + ":test_support", "//base", - "//base/test:test_support", "//components/autofill/core/browser", "//components/autofill/core/browser:test_support", "//components/payments/core", - "//components/strings", - "//ios/chrome/app/strings", "//ios/chrome/browser", - "//ios/chrome/browser/browser_state:test_support", - "//ios/chrome/browser/payments/cells", - "//ios/chrome/browser/ui/autofill:autofill_ui", - "//ios/chrome/browser/ui/autofill/cells", - "//ios/chrome/browser/ui/collection_view:test_support", - "//ios/chrome/browser/ui/collection_view/cells", - "//ios/chrome/browser/ui/collection_view/cells:test_support", - "//ios/chrome/test:test_support", - "//ios/testing:ocmock_support", - "//ios/third_party/material_components_ios", "//ios/web", - "//ios/web:test_support", - "//testing/gmock", "//testing/gtest", - "//third_party/ocmock", + ] +} + +source_set("test_support") { + configs += [ "//build/config/compiler:enable_arc" ] + testonly = true + sources = [ + "payment_request_test_util.h", + "payment_request_test_util.mm", + ] + deps = [ + ":payments", + "//base", + "//components/payments/core", + "//ios/web", ] }
diff --git a/ios/chrome/browser/ui/BUILD.gn b/ios/chrome/browser/ui/BUILD.gn index 441c844..030f6f1 100644 --- a/ios/chrome/browser/ui/BUILD.gn +++ b/ios/chrome/browser/ui/BUILD.gn
@@ -259,7 +259,6 @@ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal", "//ios/chrome/browser/net", "//ios/chrome/browser/passwords", - "//ios/chrome/browser/payments", "//ios/chrome/browser/prefs", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/search_engines", @@ -287,6 +286,7 @@ "//ios/chrome/browser/ui/ntp/recent_tabs", "//ios/chrome/browser/ui/omnibox:omnibox_internal", "//ios/chrome/browser/ui/overscroll_actions", + "//ios/chrome/browser/ui/payments", "//ios/chrome/browser/ui/print", "//ios/chrome/browser/ui/qr_scanner", "//ios/chrome/browser/ui/reading_list", @@ -383,7 +383,6 @@ "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal", "//ios/chrome/browser/net", "//ios/chrome/browser/passwords", - "//ios/chrome/browser/payments", "//ios/chrome/browser/prefs", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/search_engines", @@ -411,6 +410,7 @@ "//ios/chrome/browser/ui/ntp/recent_tabs", "//ios/chrome/browser/ui/omnibox:omnibox_internal", "//ios/chrome/browser/ui/overscroll_actions", + "//ios/chrome/browser/ui/payments", "//ios/chrome/browser/ui/print", "//ios/chrome/browser/ui/qr_scanner", "//ios/chrome/browser/ui/reading_list",
diff --git a/ios/chrome/browser/ui/activity_services/activity_service_controller.mm b/ios/chrome/browser/ui/activity_services/activity_service_controller.mm index 190a962d..4d54f373 100644 --- a/ios/chrome/browser/ui/activity_services/activity_service_controller.mm +++ b/ios/chrome/browser/ui/activity_services/activity_service_controller.mm
@@ -159,7 +159,8 @@ ShareTo::ShareResult shareResult = completed ? ShareTo::ShareResult::SHARE_SUCCESS : ShareTo::ShareResult::SHARE_CANCEL; - if (activity_type_util::IsPasswordAppExActivity(activityType)) { + if (activity_type_util::TypeFromString(activityType) == + activity_type_util::APPEX_PASSWORD_MANAGEMENT) { // A compatible Password Management App Extension was invoked. shouldResetUI = [self processItemsReturnedFromActivity:activityType status:shareResult
diff --git a/ios/chrome/browser/ui/activity_services/activity_type_util.h b/ios/chrome/browser/ui/activity_services/activity_type_util.h index 55651cd..69207f5 100644 --- a/ios/chrome/browser/ui/activity_services/activity_type_util.h +++ b/ios/chrome/browser/ui/activity_services/activity_type_util.h
@@ -41,20 +41,11 @@ UNKNOWN, }; -// Returns the ActivityType associated with |activityString|. +// Returns the ActivityType enum associated with |activityString|, which is the +// bundle ID of a iOS App Extension. Returns UNKNOWN if |activityString| does +// match any known App Extensions. |activityString| must not be nil. ActivityType TypeFromString(NSString* activityString); -// Returns the version number to use for Password Management App Extensions -// for the activity indicated by |activityString|. This string is the -// identification for the App Extension. Returned value is an autoreleased -// object or nil if |activityString| does not belong to a Password -// Management App Extension. -NSNumber* PasswordAppExActivityVersion(NSString* activityString); - -// Whether activity indicated in |activityString| is an iOS Password Management -// App Extension. -bool IsPasswordAppExActivity(NSString* activityString); - // Returns the message to present when the activity |type| has completed // successfully. Returns nil if no message should be presented. NSString* CompletionMessageForActivity(ActivityType type);
diff --git a/ios/chrome/browser/ui/activity_services/activity_type_util.mm b/ios/chrome/browser/ui/activity_services/activity_type_util.mm index 15b3a96..a1bfbda 100644 --- a/ios/chrome/browser/ui/activity_services/activity_type_util.mm +++ b/ios/chrome/browser/ui/activity_services/activity_type_util.mm
@@ -117,25 +117,11 @@ return assocation.type_; } } - if (IsPasswordManagerActivity(activityString)) { + if (IsPasswordManagerActivity(activityString)) return APPEX_PASSWORD_MANAGEMENT; - } return UNKNOWN; } -NSNumber* PasswordAppExActivityVersion(NSString* activityString) { - switch (TypeFromString(activityString)) { - case APPEX_PASSWORD_MANAGEMENT: - return activity_services::kPasswordAppExVersionNumber; - default: - return nil; - } -} - -bool IsPasswordAppExActivity(NSString* activityString) { - return PasswordAppExActivityVersion(activityString) != nil; -} - NSString* CompletionMessageForActivity(ActivityType type) { // Some activities can be reported as completed even if not successful. // Make sure that the message is meaningful even if the activity completed
diff --git a/ios/chrome/browser/ui/activity_services/activity_type_util_unittest.mm b/ios/chrome/browser/ui/activity_services/activity_type_util_unittest.mm index 37f2266..d7240cf 100644 --- a/ios/chrome/browser/ui/activity_services/activity_type_util_unittest.mm +++ b/ios/chrome/browser/ui/activity_services/activity_type_util_unittest.mm
@@ -58,53 +58,47 @@ TEST(ActivityTypeUtilTest, IsPasswordAppExtensionTest) { // Verifies that known Bundle ID for 1Password requires exact match. - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.agilebits.onepassword-ios.extension")); - EXPECT_FALSE(activity_type_util::IsPasswordAppExActivity( - @"com.agilebits.onepassword-ios.extension.otherstuff")); - // Verifies that known Bundle ID for LastPass requires exact match. - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.lastpass.ilastpass.LastPassExt")); - EXPECT_FALSE(activity_type_util::IsPasswordAppExActivity( - @"com.lastpass.ilastpass.LastPassExt.otherstuff")); - // Verifies that both variants of Dashlane Bundle IDs are recognized. - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.dashlane.dashlanephonefinal.SafariExtension")); - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.dashlane.dashlanephonefinal.appextension")); - // Verifies that any Bundle ID with @"find-login-action" is recognized. - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.some-company.find-login-action.an-extension")); - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.some-company.compatible-find-login-action-an-extension")); - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.some-company.find-login-action-as-prefix")); - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.some-company.with-suffix-of-find-login-action")); - EXPECT_TRUE(activity_type_util::IsPasswordAppExActivity( - @"com.google.find-login-action.extension")); - // Verifies non-matching Bundle IDs. - EXPECT_FALSE( - activity_type_util::IsPasswordAppExActivity(@"com.google.chrome.ios")); - EXPECT_FALSE(activity_type_util::IsPasswordAppExActivity( - @"com.apple.UIKit.activity.PostToFacebook")); -} - -TEST(ActivityTypeUtilTest, PasswordAppExtensionVersionTest) { - EXPECT_EQ(activity_services::kPasswordAppExVersionNumber, - activity_type_util::PasswordAppExActivityVersion( + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( @"com.agilebits.onepassword-ios.extension")); - EXPECT_EQ(activity_services::kPasswordAppExVersionNumber, - activity_type_util::PasswordAppExActivityVersion( + EXPECT_NE(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.agilebits.onepassword-ios.extension.otherstuff")); + // Verifies that known Bundle ID for LastPass requires exact match. + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( @"com.lastpass.ilastpass.LastPassExt")); - EXPECT_EQ(activity_services::kPasswordAppExVersionNumber, - activity_type_util::PasswordAppExActivityVersion( + EXPECT_NE(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.lastpass.ilastpass.LastPassExt.otherstuff")); + // Verifies that both variants of Dashlane Bundle IDs are recognized. + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( @"com.dashlane.dashlanephonefinal.SafariExtension")); - EXPECT_EQ(activity_services::kPasswordAppExVersionNumber, - activity_type_util::PasswordAppExActivityVersion( + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.dashlane.dashlanephonefinal.appextension")); + // Verifies that any Bundle ID with @"find-login-action" is recognized. + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( @"com.some-company.find-login-action.an-extension")); - EXPECT_NE(activity_services::kPasswordAppExVersionNumber, - activity_type_util::PasswordAppExActivityVersion( + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.some-company.compatible-find-login-action-an-extension")); + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.some-company.find-login-action-as-prefix")); + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.some-company.with-suffix-of-find-login-action")); + EXPECT_EQ(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( + @"com.google.find-login-action.extension")); + // Verifies non-matching Bundle IDs. + EXPECT_NE(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString(@"com.google.chrome.ios")); + EXPECT_NE(activity_type_util::APPEX_PASSWORD_MANAGEMENT, + activity_type_util::TypeFromString( @"com.apple.UIKit.activity.PostToFacebook")); }
diff --git a/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm b/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm index e6bca66..92eed09 100644 --- a/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm +++ b/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm
@@ -150,14 +150,14 @@ - (id)activityViewController:(UIActivityViewController*)activityViewController itemForActivityType:(NSString*)activityType { - NSNumber* versionNumber = - activity_type_util::PasswordAppExActivityVersion(activityType); - if (!versionNumber) + if (activity_type_util::TypeFromString(activityType) != + activity_type_util::APPEX_PASSWORD_MANAGEMENT) return _url; // Constructs an NSExtensionItem object from the URL being "shared". NSDictionary* appExItems = @{ - activity_services::kPasswordAppExVersionNumberKey : versionNumber, + activity_services::kPasswordAppExVersionNumberKey : + activity_services::kPasswordAppExVersionNumber, activity_services::kPasswordAppExURLStringKey : [_url absoluteString] }; NSItemProvider* itemProvider = [[NSItemProvider alloc] @@ -188,10 +188,9 @@ // after user made a choice of which AppEx to run, this method may be called // with |activityType| equals to the bundle ID of the AppEx selected. // Default action is to return @"public.url" UTType. - if (!activityType || - activity_type_util::PasswordAppExActivityVersion(activityType)) { + if (!activityType || activity_type_util::TypeFromString(activityType) == + activity_type_util::APPEX_PASSWORD_MANAGEMENT) return findLoginType; - } return (NSString*)kUTTypeURL; }
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm index d03e1c19..23fc50c 100644 --- a/ios/chrome/browser/ui/browser_view_controller.mm +++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -65,7 +65,6 @@ #import "ios/chrome/browser/native_app_launcher/native_app_navigation_controller.h" #import "ios/chrome/browser/open_url_util.h" #import "ios/chrome/browser/passwords/password_controller.h" -#import "ios/chrome/browser/payments/payment_request_manager.h" #include "ios/chrome/browser/pref_names.h" #include "ios/chrome/browser/reading_list/offline_url_utils.h" #include "ios/chrome/browser/reading_list/reading_list_model_factory.h" @@ -125,6 +124,7 @@ #import "ios/chrome/browser/ui/omnibox/page_info_view_controller.h" #import "ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller.h" #import "ios/chrome/browser/ui/page_not_available_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_manager.h" #import "ios/chrome/browser/ui/preload_controller.h" #import "ios/chrome/browser/ui/preload_controller_delegate.h" #import "ios/chrome/browser/ui/print/print_controller.h"
diff --git a/ios/chrome/browser/ui/payments/BUILD.gn b/ios/chrome/browser/ui/payments/BUILD.gn new file mode 100644 index 0000000..96e279f --- /dev/null +++ b/ios/chrome/browser/ui/payments/BUILD.gn
@@ -0,0 +1,168 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//ios/web/js_compile.gni") + +source_set("payments") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ + "credit_card_edit_coordinator.h", + "credit_card_edit_coordinator.mm", + "credit_card_edit_mediator.h", + "credit_card_edit_mediator.mm", + "js_payment_request_manager.h", + "js_payment_request_manager.mm", + "payment_items_display_coordinator.h", + "payment_items_display_coordinator.mm", + "payment_items_display_mediator.h", + "payment_items_display_mediator.mm", + "payment_method_selection_coordinator.h", + "payment_method_selection_coordinator.mm", + "payment_method_selection_mediator.h", + "payment_method_selection_mediator.mm", + "payment_request_coordinator.h", + "payment_request_coordinator.mm", + "payment_request_error_coordinator.h", + "payment_request_error_coordinator.mm", + "payment_request_manager.h", + "payment_request_manager.mm", + "payment_request_view_controller.h", + "payment_request_view_controller.mm", + "payment_request_view_controller_actions.h", + "shipping_address_selection_coordinator.h", + "shipping_address_selection_coordinator.mm", + "shipping_address_selection_mediator.h", + "shipping_address_selection_mediator.mm", + "shipping_option_selection_coordinator.h", + "shipping_option_selection_coordinator.mm", + "shipping_option_selection_mediator.h", + "shipping_option_selection_mediator.mm", + ] + deps = [ + ":payments_ui", + "//base", + "//components/autofill/core/browser", + "//components/autofill/ios/browser", + "//components/payments/core", + "//components/signin/core/browser", + "//components/strings", + "//ios/chrome/app/strings", + "//ios/chrome/app/theme", + "//ios/chrome/browser", + "//ios/chrome/browser/autofill", + "//ios/chrome/browser/browser_state", + "//ios/chrome/browser/payments", + "//ios/chrome/browser/signin", + "//ios/chrome/browser/ui", + "//ios/chrome/browser/ui/autofill", + "//ios/chrome/browser/ui/autofill:autofill_ui", + "//ios/chrome/browser/ui/autofill/cells", + "//ios/chrome/browser/ui/collection_view", + "//ios/chrome/browser/ui/collection_view/cells", + "//ios/chrome/browser/ui/colors", + "//ios/chrome/browser/ui/commands", + "//ios/chrome/browser/ui/icons", + "//ios/chrome/browser/ui/payments/cells", + "//ios/third_party/material_components_ios", + "//ios/third_party/material_roboto_font_loader_ios", + "//ios/web", + "//ui/base", + ] + libs = [ "UIKit.framework" ] +} + +source_set("payments_ui") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ + "credit_card_edit_view_controller.h", + "credit_card_edit_view_controller.mm", + "credit_card_edit_view_controller_data_source.h", + "payment_items_display_view_controller.h", + "payment_items_display_view_controller.mm", + "payment_items_display_view_controller_actions.h", + "payment_items_display_view_controller_data_source.h", + "payment_request_edit_view_controller+internal.h", + "payment_request_edit_view_controller.h", + "payment_request_edit_view_controller.mm", + "payment_request_edit_view_controller_actions.h", + "payment_request_edit_view_controller_data_source.h", + "payment_request_editor_field.h", + "payment_request_editor_field.mm", + "payment_request_error_view_controller.h", + "payment_request_error_view_controller.mm", + "payment_request_error_view_controller_actions.h", + "payment_request_picker_row.h", + "payment_request_picker_row.mm", + "payment_request_picker_view_controller.h", + "payment_request_picker_view_controller.mm", + "payment_request_selector_view_controller.h", + "payment_request_selector_view_controller.mm", + "payment_request_selector_view_controller_actions.h", + "payment_request_selector_view_controller_data_source.h", + ] + deps = [ + "//base", + "//components/strings", + "//ios/chrome/app/strings:ios_strings_grit", + "//ios/chrome/app/theme", + "//ios/chrome/browser/ui", + "//ios/chrome/browser/ui/autofill:autofill_ui", + "//ios/chrome/browser/ui/autofill/cells", + "//ios/chrome/browser/ui/collection_view", + "//ios/chrome/browser/ui/colors", + "//ios/chrome/browser/ui/icons", + "//ios/chrome/browser/ui/payments/cells", + "//ios/third_party/material_components_ios", + "//ui/base", + ] + libs = [ "UIKit.framework" ] +} + +source_set("unit_tests") { + configs += [ "//build/config/compiler:enable_arc" ] + testonly = true + sources = [ + "credit_card_edit_coordinator_unittest.mm", + "credit_card_edit_view_controller_unittest.mm", + "payment_items_display_coordinator_unittest.mm", + "payment_items_display_view_controller_unittest.mm", + "payment_method_selection_coordinator_unittest.mm", + "payment_request_coordinator_unittest.mm", + "payment_request_error_coordinator_unittest.mm", + "payment_request_error_view_controller_unittest.mm", + "payment_request_selector_view_controller_unittest.mm", + "payment_request_view_controller_unittest.mm", + "shipping_address_selection_coordinator_unittest.mm", + "shipping_option_selection_coordinator_unittest.mm", + ] + deps = [ + ":payments", + ":payments_ui", + "//base", + "//base/test:test_support", + "//components/autofill/core/browser", + "//components/autofill/core/browser:test_support", + "//components/payments/core", + "//components/strings", + "//ios/chrome/app/strings", + "//ios/chrome/browser", + "//ios/chrome/browser/browser_state:test_support", + "//ios/chrome/browser/payments", + "//ios/chrome/browser/payments:test_support", + "//ios/chrome/browser/ui/autofill:autofill_ui", + "//ios/chrome/browser/ui/autofill/cells", + "//ios/chrome/browser/ui/collection_view:test_support", + "//ios/chrome/browser/ui/collection_view/cells", + "//ios/chrome/browser/ui/collection_view/cells:test_support", + "//ios/chrome/browser/ui/payments/cells", + "//ios/chrome/test:test_support", + "//ios/testing:ocmock_support", + "//ios/third_party/material_components_ios", + "//ios/web", + "//ios/web:test_support", + "//testing/gmock", + "//testing/gtest", + "//third_party/ocmock", + ] +}
diff --git a/ios/chrome/browser/ui/payments/OWNERS b/ios/chrome/browser/ui/payments/OWNERS new file mode 100644 index 0000000..4cfb56d --- /dev/null +++ b/ios/chrome/browser/ui/payments/OWNERS
@@ -0,0 +1,2 @@ +lpromero@chromium.org +mahmadi@chromium.org
diff --git a/ios/chrome/browser/payments/cells/BUILD.gn b/ios/chrome/browser/ui/payments/cells/BUILD.gn similarity index 100% rename from ios/chrome/browser/payments/cells/BUILD.gn rename to ios/chrome/browser/ui/payments/cells/BUILD.gn
diff --git a/ios/chrome/browser/payments/cells/accepted_payment_methods_item.h b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h similarity index 87% rename from ios/chrome/browser/payments/cells/accepted_payment_methods_item.h rename to ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h index 85e09f47..c2764f51 100644 --- a/ios/chrome/browser/payments/cells/accepted_payment_methods_item.h +++ b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_ #import <UIKit/UIKit.h> @@ -40,4 +40,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_ACCEPTED_PAYMENT_METHODS_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/accepted_payment_methods_item.mm b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.mm similarity index 98% rename from ios/chrome/browser/payments/cells/accepted_payment_methods_item.mm rename to ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.mm index 8fdf969..5aa32a8 100644 --- a/ios/chrome/browser/payments/cells/accepted_payment_methods_item.mm +++ b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/accepted_payment_methods_item.h" +#import "ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/chrome/browser/ui/uikit_ui_util.h"
diff --git a/ios/chrome/browser/payments/cells/accepted_payment_methods_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item_unittest.mm similarity index 95% rename from ios/chrome/browser/payments/cells/accepted_payment_methods_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item_unittest.mm index 13f144b3..0c9da325 100644 --- a/ios/chrome/browser/payments/cells/accepted_payment_methods_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/accepted_payment_methods_item.h" +#import "ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item.h b/ios/chrome/browser/ui/payments/cells/autofill_profile_item.h similarity index 85% rename from ios/chrome/browser/payments/cells/autofill_profile_item.h rename to ios/chrome/browser/ui/payments/cells/autofill_profile_item.h index 6ba0da8..39bb130 100644 --- a/ios/chrome/browser/payments/cells/autofill_profile_item.h +++ b/ios/chrome/browser/ui/payments/cells/autofill_profile_item.h
@@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ #import <UIKit/UIKit.h> -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" #import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" // AutofillProfileItem is the model class corresponding to AutofillProfileCell. @@ -47,4 +47,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item.mm b/ios/chrome/browser/ui/payments/cells/autofill_profile_item.mm similarity index 98% rename from ios/chrome/browser/payments/cells/autofill_profile_item.mm rename to ios/chrome/browser/ui/payments/cells/autofill_profile_item.mm index 3f2476e..96e7ce01 100644 --- a/ios/chrome/browser/payments/cells/autofill_profile_item.mm +++ b/ios/chrome/browser/ui/payments/cells/autofill_profile_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/chrome/browser/ui/uikit_ui_util.h"
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/autofill_profile_item_unittest.mm similarity index 96% rename from ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/autofill_profile_item_unittest.mm index 82e00a54..207cfa9 100644 --- a/ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/autofill_profile_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/cells/page_info_item.h b/ios/chrome/browser/ui/payments/cells/page_info_item.h similarity index 89% rename from ios/chrome/browser/payments/cells/page_info_item.h rename to ios/chrome/browser/ui/payments/cells/page_info_item.h index 7771ed4a..1275ef7 100644 --- a/ios/chrome/browser/payments/cells/page_info_item.h +++ b/ios/chrome/browser/ui/payments/cells/page_info_item.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_ #import <UIKit/UIKit.h> @@ -44,4 +44,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAGE_INFO_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/page_info_item.mm b/ios/chrome/browser/ui/payments/cells/page_info_item.mm similarity index 98% rename from ios/chrome/browser/payments/cells/page_info_item.mm rename to ios/chrome/browser/ui/payments/cells/page_info_item.mm index cc5f57e3..f73f183 100644 --- a/ios/chrome/browser/payments/cells/page_info_item.mm +++ b/ios/chrome/browser/ui/payments/cells/page_info_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/page_info_item.h" +#import "ios/chrome/browser/ui/payments/cells/page_info_item.h" #import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h" #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoFontLoader.h"
diff --git a/ios/chrome/browser/payments/cells/page_info_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/page_info_item_unittest.mm similarity index 95% rename from ios/chrome/browser/payments/cells/page_info_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/page_info_item_unittest.mm index 63d457ee..1cfa93a 100644 --- a/ios/chrome/browser/payments/cells/page_info_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/page_info_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/page_info_item.h" +#import "ios/chrome/browser/ui/payments/cells/page_info_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/cells/payment_method_item.h b/ios/chrome/browser/ui/payments/cells/payment_method_item.h similarity index 89% rename from ios/chrome/browser/payments/cells/payment_method_item.h rename to ios/chrome/browser/ui/payments/cells/payment_method_item.h index 5b6f4fc3..d7c933ea 100644 --- a/ios/chrome/browser/payments/cells/payment_method_item.h +++ b/ios/chrome/browser/ui/payments/cells/payment_method_item.h
@@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ #import <UIKit/UIKit.h> -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" #import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" // PaymentMethodItem is the model class corresponding to PaymentMethodCell. @@ -61,4 +61,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/payment_method_item.mm b/ios/chrome/browser/ui/payments/cells/payment_method_item.mm similarity index 98% rename from ios/chrome/browser/payments/cells/payment_method_item.mm rename to ios/chrome/browser/ui/payments/cells/payment_method_item.mm index f39b537..a32d572 100644 --- a/ios/chrome/browser/payments/cells/payment_method_item.mm +++ b/ios/chrome/browser/ui/payments/cells/payment_method_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
diff --git a/ios/chrome/browser/payments/cells/payment_method_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/payment_method_item_unittest.mm similarity index 96% rename from ios/chrome/browser/payments/cells/payment_method_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/payment_method_item_unittest.mm index cabfb3b..663acd6 100644 --- a/ios/chrome/browser/payments/cells/payment_method_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/payment_method_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/cells/payments_has_accessory_type.h b/ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h similarity index 72% rename from ios/chrome/browser/payments/cells/payments_has_accessory_type.h rename to ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h index 8ca597c..91cffe8 100644 --- a/ios/chrome/browser/payments/cells/payments_has_accessory_type.h +++ b/ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_ #import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" @@ -16,4 +16,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_HAS_ACCESSORY_TYPE_H_
diff --git a/ios/chrome/browser/payments/cells/payments_text_item.h b/ios/chrome/browser/ui/payments/cells/payments_text_item.h similarity index 86% rename from ios/chrome/browser/payments/cells/payments_text_item.h rename to ios/chrome/browser/ui/payments/cells/payments_text_item.h index bef73e2..874b229 100644 --- a/ios/chrome/browser/payments/cells/payments_text_item.h +++ b/ios/chrome/browser/ui/payments/cells/payments_text_item.h
@@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_ #import <UIKit/UIKit.h> -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" #import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" // PaymentsTextItem is the model class corresponding to PaymentsTextCell. @@ -48,4 +48,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PAYMENTS_TEXT_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/payments_text_item.mm b/ios/chrome/browser/ui/payments/cells/payments_text_item.mm similarity index 98% rename from ios/chrome/browser/payments/cells/payments_text_item.mm rename to ios/chrome/browser/ui/payments/cells/payments_text_item.mm index 3c2a6d1..907e97f4 100644 --- a/ios/chrome/browser/payments/cells/payments_text_item.mm +++ b/ios/chrome/browser/ui/payments/cells/payments_text_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
diff --git a/ios/chrome/browser/payments/cells/payments_text_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/payments_text_item_unittest.mm similarity index 95% rename from ios/chrome/browser/payments/cells/payments_text_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/payments_text_item_unittest.mm index b9f8e13..5080b0b9 100644 --- a/ios/chrome/browser/payments/cells/payments_text_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/payments_text_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/cells/price_item.h b/ios/chrome/browser/ui/payments/cells/price_item.h similarity index 88% rename from ios/chrome/browser/payments/cells/price_item.h rename to ios/chrome/browser/ui/payments/cells/price_item.h index 39ad3e0..c2e4af3b 100644 --- a/ios/chrome/browser/payments/cells/price_item.h +++ b/ios/chrome/browser/ui/payments/cells/price_item.h
@@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PRICE_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PRICE_ITEM_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PRICE_ITEM_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PRICE_ITEM_H_ #import <UIKit/UIKit.h> -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" #import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" // PriceItem is the model class corresponding to PriceCell. @@ -51,4 +51,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PRICE_ITEM_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CELLS_PRICE_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/price_item.mm b/ios/chrome/browser/ui/payments/cells/price_item.mm similarity index 99% rename from ios/chrome/browser/payments/cells/price_item.mm rename to ios/chrome/browser/ui/payments/cells/price_item.mm index eced2917..39debcf 100644 --- a/ios/chrome/browser/payments/cells/price_item.mm +++ b/ios/chrome/browser/ui/payments/cells/price_item.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/price_item.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" #include <algorithm>
diff --git a/ios/chrome/browser/payments/cells/price_item_unittest.mm b/ios/chrome/browser/ui/payments/cells/price_item_unittest.mm similarity index 98% rename from ios/chrome/browser/payments/cells/price_item_unittest.mm rename to ios/chrome/browser/ui/payments/cells/price_item_unittest.mm index 5a4b872..abb71ef7 100644 --- a/ios/chrome/browser/payments/cells/price_item_unittest.mm +++ b/ios/chrome/browser/ui/payments/cells/price_item_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/price_item.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/credit_card_edit_coordinator.h b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h similarity index 84% rename from ios/chrome/browser/payments/credit_card_edit_coordinator.h rename to ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h index 9add44e..da3037df 100644 --- a/ios/chrome/browser/payments/credit_card_edit_coordinator.h +++ b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_ #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/credit_card_edit_view_controller.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" namespace autofill { class CreditCard; @@ -56,4 +56,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/credit_card_edit_coordinator.mm b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm similarity index 96% rename from ios/chrome/browser/payments/credit_card_edit_coordinator.mm rename to ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm index 93bba58c..4df801f 100644 --- a/ios/chrome/browser/payments/credit_card_edit_coordinator.mm +++ b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/credit_card_edit_coordinator.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h" #include "base/guid.h" #include "base/logging.h" @@ -13,10 +13,10 @@ #include "components/autofill/core/common/autofill_constants.h" #import "components/autofill/ios/browser/credit_card_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/credit_card_edit_mediator.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_mediator.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/credit_card_edit_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm similarity index 98% rename from ios/chrome/browser/payments/credit_card_edit_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm index ed1183f..527d7726 100644 --- a/ios/chrome/browser/payments/credit_card_edit_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/credit_card_edit_coordinator.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h" #include "base/logging.h" #include "base/mac/foundation_util.h" @@ -11,11 +11,11 @@ #include "base/test/ios/wait_util.h" #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" -#import "ios/chrome/browser/payments/credit_card_edit_view_controller.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/payments/credit_card_edit_mediator.h b/ios/chrome/browser/ui/payments/credit_card_edit_mediator.h similarity index 76% rename from ios/chrome/browser/payments/credit_card_edit_mediator.h rename to ios/chrome/browser/ui/payments/credit_card_edit_mediator.h index 2df66172..a0f67f5 100644 --- a/ios/chrome/browser/payments/credit_card_edit_mediator.h +++ b/ios/chrome/browser/ui/payments/credit_card_edit_mediator.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_ -#import "ios/chrome/browser/payments/credit_card_edit_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller_data_source.h" class PaymentRequest; @@ -29,4 +29,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/credit_card_edit_mediator.mm b/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm similarity index 96% rename from ios/chrome/browser/payments/credit_card_edit_mediator.mm rename to ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm index 06b8204..07e4c41 100644 --- a/ios/chrome/browser/payments/credit_card_edit_mediator.mm +++ b/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/credit_card_edit_mediator.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_mediator.h" #include "base/strings/sys_string_conversions.h" #include "components/autofill/core/browser/autofill_data_util.h" @@ -12,13 +12,13 @@ #import "components/autofill/ios/browser/credit_card_util.h" #include "components/strings/grit/components_strings.h" #include "ios/chrome/browser/application_context.h" -#import "ios/chrome/browser/payments/cells/accepted_payment_methods_item.h" -#import "ios/chrome/browser/payments/cells/payment_method_item.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #import "ios/chrome/browser/payments/payment_request_util.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h" +#import "ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/uikit_ui_util.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/credit_card_edit_view_controller.h b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h similarity index 82% rename from ios/chrome/browser/payments/credit_card_edit_view_controller.h rename to ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h index fc3b2ddc..d3c1114b 100644 --- a/ios/chrome/browser/payments/credit_card_edit_view_controller.h +++ b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h
@@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_ -#import "ios/chrome/browser/payments/credit_card_edit_view_controller_data_source.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" @class CreditCardEditViewController; @@ -51,4 +51,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/credit_card_edit_view_controller.mm b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller.mm similarity index 97% rename from ios/chrome/browser/payments/credit_card_edit_view_controller.mm rename to ios/chrome/browser/ui/payments/credit_card_edit_view_controller.mm index 2f233fc..3ab54a89 100644 --- a/ios/chrome/browser/payments/credit_card_edit_view_controller.mm +++ b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller.mm
@@ -2,14 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/credit_card_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h" #import "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller+internal.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller_actions.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" #import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" @@ -18,6 +15,9 @@ #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller+internal.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller_actions.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/uikit_ui_util.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/credit_card_edit_view_controller_data_source.h b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller_data_source.h similarity index 81% rename from ios/chrome/browser/payments/credit_card_edit_view_controller_data_source.h rename to ios/chrome/browser/ui/payments/credit_card_edit_view_controller_data_source.h index 849be6c..f8b7220 100644 --- a/ios/chrome/browser/payments/credit_card_edit_view_controller_data_source.h +++ b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller_data_source.h
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ #import <UIKit/UIKit.h> -#import "ios/chrome/browser/payments/payment_request_edit_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h" @class CollectionViewItem; @@ -42,4 +42,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CREDIT_CARD_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_
diff --git a/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller_unittest.mm similarity index 95% rename from ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm rename to ios/chrome/browser/ui/payments/credit_card_edit_view_controller_unittest.mm index 82418771..9eb6785 100644 --- a/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/payments/credit_card_edit_view_controller_unittest.mm
@@ -2,14 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/credit_card_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_view_controller.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" #include "components/autofill/core/browser/field_types.h" -#import "ios/chrome/browser/payments/cells/accepted_payment_methods_item.h" -#import "ios/chrome/browser/payments/cells/payment_method_item.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" #import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h" @@ -18,6 +15,9 @@ #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h" #import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h" +#import "ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/js_payment_request_manager.h b/ios/chrome/browser/ui/payments/js_payment_request_manager.h similarity index 93% rename from ios/chrome/browser/payments/js_payment_request_manager.h rename to ios/chrome/browser/ui/payments/js_payment_request_manager.h index ae33808..f1a573d3 100644 --- a/ios/chrome/browser/payments/js_payment_request_manager.h +++ b/ios/chrome/browser/ui/payments/js_payment_request_manager.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_ #include "base/strings/string16.h" #include "ios/chrome/browser/procedural_block_types.h" @@ -73,4 +73,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_JS_PAYMENT_REQUEST_MANAGER_H_
diff --git a/ios/chrome/browser/payments/js_payment_request_manager.mm b/ios/chrome/browser/ui/payments/js_payment_request_manager.mm similarity index 98% rename from ios/chrome/browser/payments/js_payment_request_manager.mm rename to ios/chrome/browser/ui/payments/js_payment_request_manager.mm index 9ca9a8c..882e260 100644 --- a/ios/chrome/browser/payments/js_payment_request_manager.mm +++ b/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/js_payment_request_manager.h" +#import "ios/chrome/browser/ui/payments/js_payment_request_manager.h" #include "base/json/json_writer.h" #include "base/json/string_escape.h"
diff --git a/ios/chrome/browser/payments/payment_items_display_coordinator.h b/ios/chrome/browser/ui/payments/payment_items_display_coordinator.h similarity index 83% rename from ios/chrome/browser/payments/payment_items_display_coordinator.h rename to ios/chrome/browser/ui/payments/payment_items_display_coordinator.h index 2dcb4b73..cebc72d5 100644 --- a/ios/chrome/browser/payments/payment_items_display_coordinator.h +++ b/ios/chrome/browser/ui/payments/payment_items_display_coordinator.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_ #import <UIKit/UIKit.h> #include <vector> #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/payment_items_display_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller.h" class PaymentRequest; @@ -46,4 +46,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/payment_items_display_coordinator.mm b/ios/chrome/browser/ui/payments/payment_items_display_coordinator.mm similarity index 92% rename from ios/chrome/browser/payments/payment_items_display_coordinator.mm rename to ios/chrome/browser/ui/payments/payment_items_display_coordinator.mm index b31cb76c..027990af 100644 --- a/ios/chrome/browser/payments/payment_items_display_coordinator.mm +++ b/ios/chrome/browser/ui/payments/payment_items_display_coordinator.mm
@@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_items_display_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_coordinator.h" #include "base/logging.h" -#import "ios/chrome/browser/payments/payment_items_display_mediator.h" #include "ios/chrome/browser/payments/payment_request.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_mediator.h" #include "ios/web/public/payments/payment_request.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/payment_items_display_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm similarity index 97% rename from ios/chrome/browser/payments/payment_items_display_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm index f702a4d..ee10378e 100644 --- a/ios/chrome/browser/payments/payment_items_display_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_items_display_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -10,9 +10,9 @@ #include "components/autofill/core/browser/autofill_profile.h" #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" -#import "ios/chrome/browser/payments/payment_items_display_view_controller.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/payments/payment_items_display_mediator.h b/ios/chrome/browser/ui/payments/payment_items_display_mediator.h similarity index 70% rename from ios/chrome/browser/payments/payment_items_display_mediator.h rename to ios/chrome/browser/ui/payments/payment_items_display_mediator.h index 301a3a46..0874430 100644 --- a/ios/chrome/browser/payments/payment_items_display_mediator.h +++ b/ios/chrome/browser/ui/payments/payment_items_display_mediator.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_ -#import "ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h" class PaymentRequest; @@ -23,4 +23,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/payment_items_display_mediator.mm b/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm similarity index 94% rename from ios/chrome/browser/payments/payment_items_display_mediator.mm rename to ios/chrome/browser/ui/payments/payment_items_display_mediator.mm index d84eac9..2ba9d9b 100644 --- a/ios/chrome/browser/payments/payment_items_display_mediator.mm +++ b/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
@@ -5,14 +5,14 @@ #import <UIKit/UIKit.h> #include <vector> -#import "ios/chrome/browser/payments/payment_items_display_mediator.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_mediator.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #include "components/payments/core/currency_formatter.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/price_item.h" #include "ios/chrome/browser/payments/payment_request.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" #include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/payment_items_display_view_controller.h b/ios/chrome/browser/ui/payments/payment_items_display_view_controller.h similarity index 82% rename from ios/chrome/browser/payments/payment_items_display_view_controller.h rename to ios/chrome/browser/ui/payments/payment_items_display_view_controller.h index 751152a..b20a3790 100644 --- a/ios/chrome/browser/payments/payment_items_display_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_items_display_view_controller.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> #include <vector> -#import "ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h" // The accessibility identifiers of the cells in the collection view. extern NSString* const kPaymentItemsDisplayItemID; @@ -38,8 +38,8 @@ // The delegate to be notified when the user selects touches the return button // or the pay button. -@property(nonatomic, weak) - id<PaymentItemsDisplayViewControllerDelegate> delegate; +@property(nonatomic, weak) id<PaymentItemsDisplayViewControllerDelegate> + delegate; // The data source for this view controller. @property(nonatomic, weak) id<PaymentItemsDisplayViewControllerDataSource> @@ -56,4 +56,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_items_display_view_controller.mm b/ios/chrome/browser/ui/payments/payment_items_display_view_controller.mm similarity index 96% rename from ios/chrome/browser/payments/payment_items_display_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_items_display_view_controller.mm index bc8c347..875be83 100644 --- a/ios/chrome/browser/payments/payment_items_display_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_items_display_view_controller.mm
@@ -2,16 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_items_display_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller.h" #include "base/mac/foundation_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/price_item.h" -#import "ios/chrome/browser/payments/payment_items_display_view_controller_actions.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item+collection_view_controller.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/icons/chrome_icon.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller_actions.h" #include "ios/chrome/browser/ui/rtl_geometry.h" #include "ios/chrome/grit/ios_strings.h" #import "ios/third_party/material_components_ios/src/components/Buttons/src/MaterialButtons.h"
diff --git a/ios/chrome/browser/payments/payment_items_display_view_controller_actions.h b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_actions.h similarity index 65% rename from ios/chrome/browser/payments/payment_items_display_view_controller_actions.h rename to ios/chrome/browser/ui/payments/payment_items_display_view_controller_actions.h index f8ba69d1..0183bc1e 100644 --- a/ios/chrome/browser/payments/payment_items_display_view_controller_actions.h +++ b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_actions.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_ // Protocol handling the actions sent in the PaymentItemsDisplayViewController. @protocol PaymentItemsDisplayViewControllerActions @@ -16,4 +16,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h similarity index 71% rename from ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h rename to ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h index b924677..05b9966 100644 --- a/ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h +++ b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_ #import <Foundation/Foundation.h> @@ -21,4 +21,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_ITEMS_DISPLAY_VIEW_CONTROLLER_DATA_SOURCE_H_
diff --git a/ios/chrome/browser/payments/payment_items_display_view_controller_unittest.mm b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm similarity index 92% rename from ios/chrome/browser/payments/payment_items_display_view_controller_unittest.mm rename to ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm index 2407b00..02c09a4e 100644 --- a/ios/chrome/browser/payments/payment_items_display_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm
@@ -2,17 +2,17 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_items_display_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/price_item.h" -#import "ios/chrome/browser/payments/payment_items_display_view_controller_data_source.h" #include "ios/chrome/browser/payments/payment_request.h" #import "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_view_controller_data_source.h" #include "ios/chrome/grit/ios_strings.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/payment_method_selection_coordinator.h b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h similarity index 78% rename from ios/chrome/browser/payments/payment_method_selection_coordinator.h rename to ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h index d02a1a5..c644675 100644 --- a/ios/chrome/browser/payments/payment_method_selection_coordinator.h +++ b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_ #import <UIKit/UIKit.h> #include <vector> #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/credit_card_edit_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" class PaymentRequest; @@ -49,9 +49,9 @@ // The delegate to be notified when the user selects a payment method or returns // without selecting a payment method. -@property(nonatomic, weak) - id<PaymentMethodSelectionCoordinatorDelegate> delegate; +@property(nonatomic, weak) id<PaymentMethodSelectionCoordinatorDelegate> + delegate; @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/payment_method_selection_coordinator.mm b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm similarity index 96% rename from ios/chrome/browser/payments/payment_method_selection_coordinator.mm rename to ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm index 1bf7a7d6..26e681f 100644 --- a/ios/chrome/browser/payments/payment_method_selection_coordinator.mm +++ b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_method_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h" #include "components/autofill/core/browser/credit_card.h" #include "components/strings/grit/components_strings.h" -#include "ios/chrome/browser/payments/payment_method_selection_mediator.h" #include "ios/chrome/browser/payments/payment_request.h" +#include "ios/chrome/browser/ui/payments/payment_method_selection_mediator.h" #include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/payment_method_selection_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm similarity index 97% rename from ios/chrome/browser/payments/payment_method_selection_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm index 78be85a..5d4a2ba6 100644 --- a/ios/chrome/browser/payments/payment_method_selection_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_method_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -11,8 +11,8 @@ #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/payments/payment_method_selection_mediator.h b/ios/chrome/browser/ui/payments/payment_method_selection_mediator.h similarity index 73% rename from ios/chrome/browser/payments/payment_method_selection_mediator.h rename to ios/chrome/browser/ui/payments/payment_method_selection_mediator.h index 13e3be7..6eb9a32 100644 --- a/ios/chrome/browser/payments/payment_method_selection_mediator.h +++ b/ios/chrome/browser/ui/payments/payment_method_selection_mediator.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_ -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" class PaymentRequest; @@ -26,4 +26,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_METHOD_SELECTION_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/payment_method_selection_mediator.mm b/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm similarity index 94% rename from ios/chrome/browser/payments/payment_method_selection_mediator.mm rename to ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm index efb3f2b..66451bd 100644 --- a/ios/chrome/browser/payments/payment_method_selection_mediator.mm +++ b/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
@@ -4,7 +4,7 @@ #include <vector> -#import "ios/chrome/browser/payments/payment_method_selection_mediator.h" +#import "ios/chrome/browser/ui/payments/payment_method_selection_mediator.h" #include "base/strings/sys_string_conversions.h" #include "components/autofill/core/browser/autofill_data_util.h" @@ -12,10 +12,10 @@ #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/personal_data_manager.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/payment_method_item.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_util.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #include "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_theme_resources.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/payment_request_coordinator.h b/ios/chrome/browser/ui/payments/payment_request_coordinator.h similarity index 86% rename from ios/chrome/browser/payments/payment_request_coordinator.h rename to ios/chrome/browser/ui/payments/payment_request_coordinator.h index ab6dc62da..938259a2 100644 --- a/ios/chrome/browser/payments/payment_request_coordinator.h +++ b/ios/chrome/browser/ui/payments/payment_request_coordinator.h
@@ -2,20 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_ #import <UIKit/UIKit.h> #include "base/ios/block_types.h" #include "base/strings/string16.h" #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/payment_items_display_coordinator.h" -#import "ios/chrome/browser/payments/payment_method_selection_coordinator.h" -#include "ios/chrome/browser/payments/payment_request_error_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_view_controller.h" -#import "ios/chrome/browser/payments/shipping_address_selection_coordinator.h" -#import "ios/chrome/browser/payments/shipping_option_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_items_display_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h" +#include "ios/chrome/browser/ui/payments/payment_request_error_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_view_controller.h" +#import "ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h" class PaymentRequest; @@ -119,4 +119,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/payment_request_coordinator.mm b/ios/chrome/browser/ui/payments/payment_request_coordinator.mm similarity index 99% rename from ios/chrome/browser/payments/payment_request_coordinator.mm rename to ios/chrome/browser/ui/payments/payment_request_coordinator.mm index fbb42b08..f0e9e6d6 100644 --- a/ios/chrome/browser/payments/payment_request_coordinator.mm +++ b/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_coordinator.h" #include <unordered_set> #include <vector>
diff --git a/ios/chrome/browser/payments/payment_request_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm similarity index 98% rename from ios/chrome/browser/payments/payment_request_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm index afc4e10..f107112 100644 --- a/ios/chrome/browser/payments/payment_request_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -16,7 +16,7 @@ #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" -#import "ios/chrome/browser/payments/payment_request_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_view_controller.h" #import "ios/chrome/test/scoped_key_window.h" #import "ios/testing/ocmock_complex_type_helper.h" #include "ios/web/public/payments/payment_request.h"
diff --git a/ios/chrome/browser/payments/payment_request_edit_view_controller+internal.h b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller+internal.h similarity index 84% rename from ios/chrome/browser/payments/payment_request_edit_view_controller+internal.h rename to ios/chrome/browser/ui/payments/payment_request_edit_view_controller+internal.h index b68be158..55b9c02 100644 --- a/ios/chrome/browser/payments/payment_request_edit_view_controller+internal.h +++ b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller+internal.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_ -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" // Use these as the starting values for section identifier and item type enums // in subclasses. These values are chosen to prevent overlapping with the @@ -42,4 +42,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_INTERNAL_H_
diff --git a/ios/chrome/browser/payments/payment_request_edit_view_controller.h b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h similarity index 84% rename from ios/chrome/browser/payments/payment_request_edit_view_controller.h rename to ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h index ce647c8..bad5561 100644 --- a/ios/chrome/browser/payments/payment_request_edit_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> #include <vector> -#import "ios/chrome/browser/payments/payment_request_edit_view_controller_data_source.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h" extern NSString* const kWarningMessageAccessibilityID; @@ -47,4 +47,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_edit_view_controller.mm b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm similarity index 97% rename from ios/chrome/browser/payments/payment_request_edit_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm index eea0e2d..5eb5a51 100644 --- a/ios/chrome/browser/payments/payment_request_edit_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm
@@ -2,20 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" #include "base/logging.h" #import "base/mac/foundation_util.h" #include "base/strings/sys_string_conversions.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller+internal.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/autofill/autofill_edit_accessory_view.h" #import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller+internal.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_theme_resources.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
diff --git a/ios/chrome/browser/payments/payment_request_edit_view_controller_actions.h b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_actions.h similarity index 65% rename from ios/chrome/browser/payments/payment_request_edit_view_controller_actions.h rename to ios/chrome/browser/ui/payments/payment_request_edit_view_controller_actions.h index f74564b..c8d24a6 100644 --- a/ios/chrome/browser/payments/payment_request_edit_view_controller_actions.h +++ b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_actions.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_ // Protocol handling the actions sent by the PaymentRequestEditViewController. @protocol PaymentRequestEditViewControllerActions @@ -16,4 +16,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_request_edit_view_controller_data_source.h b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h similarity index 65% rename from ios/chrome/browser/payments/payment_request_edit_view_controller_data_source.h rename to ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h index 040b988..009128b 100644 --- a/ios/chrome/browser/payments/payment_request_edit_view_controller_data_source.h +++ b/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ #import <Foundation/Foundation.h> @@ -17,4 +17,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_DATA_SOURCE_H_
diff --git a/ios/chrome/browser/payments/payment_request_editor_field.h b/ios/chrome/browser/ui/payments/payment_request_editor_field.h similarity index 85% rename from ios/chrome/browser/payments/payment_request_editor_field.h rename to ios/chrome/browser/ui/payments/payment_request_editor_field.h index 1f5960dd..cdce8a7d 100644 --- a/ios/chrome/browser/payments/payment_request_editor_field.h +++ b/ios/chrome/browser/ui/payments/payment_request_editor_field.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_ #import <Foundation/Foundation.h> @@ -35,4 +35,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDITOR_FIELD_H_
diff --git a/ios/chrome/browser/payments/payment_request_editor_field.mm b/ios/chrome/browser/ui/payments/payment_request_editor_field.mm similarity index 92% rename from ios/chrome/browser/payments/payment_request_editor_field.mm rename to ios/chrome/browser/ui/payments/payment_request_editor_field.mm index 15e9b06..27ee53e 100644 --- a/ios/chrome/browser/payments/payment_request_editor_field.mm +++ b/ios/chrome/browser/ui/payments/payment_request_editor_field.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_editor_field.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/payments/payment_request_error_coordinator.h b/ios/chrome/browser/ui/payments/payment_request_error_coordinator.h similarity index 78% rename from ios/chrome/browser/payments/payment_request_error_coordinator.h rename to ios/chrome/browser/ui/payments/payment_request_error_coordinator.h index 96b6d019..d041de9 100644 --- a/ios/chrome/browser/payments/payment_request_error_coordinator.h +++ b/ios/chrome/browser/ui/payments/payment_request_error_coordinator.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_ #import <UIKit/UIKit.h> #include "base/ios/block_types.h" #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_error_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_view_controller.h" @class PaymentRequestErrorCoordinator; @@ -35,4 +35,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/payment_request_error_coordinator.mm b/ios/chrome/browser/ui/payments/payment_request_error_coordinator.mm similarity index 94% rename from ios/chrome/browser/payments/payment_request_error_coordinator.mm rename to ios/chrome/browser/ui/payments/payment_request_error_coordinator.mm index 59cb206..9de2dd0 100644 --- a/ios/chrome/browser/payments/payment_request_error_coordinator.mm +++ b/ios/chrome/browser/ui/payments/payment_request_error_coordinator.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_error_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_coordinator.h" #include "components/strings/grit/components_strings.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/payment_request_error_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/payment_request_error_coordinator_unittest.mm similarity index 94% rename from ios/chrome/browser/payments/payment_request_error_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/payment_request_error_coordinator_unittest.mm index b378a02..9caebeaa 100644 --- a/ios/chrome/browser/payments/payment_request_error_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_request_error_coordinator_unittest.mm
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_error_coordinator.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" #include "base/test/ios/wait_util.h" -#import "ios/chrome/browser/payments/payment_request_error_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_view_controller.h" #import "ios/chrome/test/scoped_key_window.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/payments/payment_request_error_view_controller.h b/ios/chrome/browser/ui/payments/payment_request_error_view_controller.h similarity index 78% rename from ios/chrome/browser/payments/payment_request_error_view_controller.h rename to ios/chrome/browser/ui/payments/payment_request_error_view_controller.h index 52b7b12..3db67e5 100644 --- a/ios/chrome/browser/payments/payment_request_error_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_request_error_view_controller.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> @@ -29,8 +29,8 @@ @property(nonatomic, copy) NSString* errorMessage; // The delegate to be notified when the user dismisses the error. -@property(nonatomic, weak) - id<PaymentRequestErrorViewControllerDelegate> delegate; +@property(nonatomic, weak) id<PaymentRequestErrorViewControllerDelegate> + delegate; - (instancetype)init NS_DESIGNATED_INITIALIZER; @@ -39,4 +39,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_error_view_controller.mm b/ios/chrome/browser/ui/payments/payment_request_error_view_controller.mm similarity index 94% rename from ios/chrome/browser/payments/payment_request_error_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_request_error_view_controller.mm index 31c91f5..812dfd19 100644 --- a/ios/chrome/browser/payments/payment_request_error_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_request_error_view_controller.mm
@@ -2,16 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_error_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_view_controller.h" #include "base/mac/foundation_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/payment_request_error_view_controller_actions.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_view_controller_actions.h" #include "ios/chrome/grit/ios_strings.h" #import "ios/third_party/material_components_ios/src/components/Buttons/src/MaterialButtons.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/payment_request_error_view_controller_actions.h b/ios/chrome/browser/ui/payments/payment_request_error_view_controller_actions.h similarity index 61% rename from ios/chrome/browser/payments/payment_request_error_view_controller_actions.h rename to ios/chrome/browser/ui/payments/payment_request_error_view_controller_actions.h index b3a898a..565c2f8 100644 --- a/ios/chrome/browser/payments/payment_request_error_view_controller_actions.h +++ b/ios/chrome/browser/ui/payments/payment_request_error_view_controller_actions.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_ // Protocol handling the actions sent in the PaymentRequestErrorViewController. @protocol PaymentRequestErrorViewControllerActions @@ -13,4 +13,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_ERROR_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_request_error_view_controller_unittest.mm b/ios/chrome/browser/ui/payments/payment_request_error_view_controller_unittest.mm similarity index 90% rename from ios/chrome/browser/payments/payment_request_error_view_controller_unittest.mm rename to ios/chrome/browser/ui/payments/payment_request_error_view_controller_unittest.mm index 4cc26753..518b9e1d 100644 --- a/ios/chrome/browser/payments/payment_request_error_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_request_error_view_controller_unittest.mm
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_error_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_error_view_controller.h" #include "base/mac/foundation_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #include "ios/chrome/grit/ios_strings.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/payment_request_manager.h b/ios/chrome/browser/ui/payments/payment_request_manager.h similarity index 90% rename from ios/chrome/browser/payments/payment_request_manager.h rename to ios/chrome/browser/ui/payments/payment_request_manager.h index c93dbbc5..1776b8f 100644 --- a/ios/chrome/browser/payments/payment_request_manager.h +++ b/ios/chrome/browser/ui/payments/payment_request_manager.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_ #import <UIKit/UIKit.h> @@ -58,4 +58,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_
diff --git a/ios/chrome/browser/payments/payment_request_manager.mm b/ios/chrome/browser/ui/payments/payment_request_manager.mm similarity index 98% rename from ios/chrome/browser/payments/payment_request_manager.mm rename to ios/chrome/browser/ui/payments/payment_request_manager.mm index aa3cf2e..68f25f13 100644 --- a/ios/chrome/browser/payments/payment_request_manager.mm +++ b/ios/chrome/browser/ui/payments/payment_request_manager.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_manager.h" +#import "ios/chrome/browser/ui/payments/payment_request_manager.h" #include "base/ios/block_types.h" #include "base/ios/ios_util.h" @@ -17,13 +17,13 @@ #include "components/payments/core/payment_address.h" #include "ios/chrome/browser/autofill/personal_data_manager_factory.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h" -#import "ios/chrome/browser/payments/js_payment_request_manager.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_coordinator.h" #include "ios/chrome/browser/procedural_block_types.h" #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" #import "ios/chrome/browser/ui/commands/ios_command_ids.h" +#import "ios/chrome/browser/ui/payments/js_payment_request_manager.h" +#import "ios/chrome/browser/ui/payments/payment_request_coordinator.h" #include "ios/web/public/favicon_status.h" #include "ios/web/public/navigation_item.h" #include "ios/web/public/navigation_manager.h" @@ -535,9 +535,8 @@ const web::NavigationItem* navigationItem = [self webState]->GetNavigationManager()->GetLastCommittedItem(); - return navigationItem && - navigationItem->GetSSL().security_style == - web::SECURITY_STYLE_AUTHENTICATED; + return navigationItem && navigationItem->GetSSL().security_style == + web::SECURITY_STYLE_AUTHENTICATED; } #pragma mark - PaymentRequestCoordinatorDelegate methods
diff --git a/ios/chrome/browser/payments/payment_request_picker_row.h b/ios/chrome/browser/ui/payments/payment_request_picker_row.h similarity index 74% rename from ios/chrome/browser/payments/payment_request_picker_row.h rename to ios/chrome/browser/ui/payments/payment_request_picker_row.h index f6e3745..ea106a6 100644 --- a/ios/chrome/browser/payments/payment_request_picker_row.h +++ b/ios/chrome/browser/ui/payments/payment_request_picker_row.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_ #import <Foundation/Foundation.h> @@ -19,4 +19,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_ROW_H_
diff --git a/ios/chrome/browser/payments/payment_request_picker_row.mm b/ios/chrome/browser/ui/payments/payment_request_picker_row.mm similarity index 89% rename from ios/chrome/browser/payments/payment_request_picker_row.mm rename to ios/chrome/browser/ui/payments/payment_request_picker_row.mm index 26e370b..3763a0d6 100644 --- a/ios/chrome/browser/payments/payment_request_picker_row.mm +++ b/ios/chrome/browser/ui/payments/payment_request_picker_row.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_picker_row.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_row.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/payments/payment_request_picker_view_controller.h b/ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h similarity index 86% rename from ios/chrome/browser/payments/payment_request_picker_view_controller.h rename to ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h index 25068d25..aacfa08f 100644 --- a/ios/chrome/browser/payments/payment_request_picker_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> @@ -42,4 +42,4 @@ - (instancetype)initWithStyle:(UITableViewStyle)style NS_UNAVAILABLE; @end -#endif // IOS_CHROME_BROWSER_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_PICKER_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_picker_view_controller.mm b/ios/chrome/browser/ui/payments/payment_request_picker_view_controller.mm similarity index 98% rename from ios/chrome/browser/payments/payment_request_picker_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_request_picker_view_controller.mm index 7797702..c565d2b9 100644 --- a/ios/chrome/browser/payments/payment_request_picker_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_request_picker_view_controller.mm
@@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h" #import "base/logging.h" #import "base/mac/foundation_util.h" -#import "ios/chrome/browser/payments/payment_request_picker_row.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_row.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller.h b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h similarity index 90% rename from ios/chrome/browser/payments/payment_request_selector_view_controller.h rename to ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h index 7e9f56a..847c01d 100644 --- a/ios/chrome/browser/payments/payment_request_selector_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> @@ -56,4 +56,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller.mm b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm similarity index 95% rename from ios/chrome/browser/payments/payment_request_selector_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm index 7017fdc..3d2ee69 100644 --- a/ios/chrome/browser/payments/payment_request_selector_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
@@ -2,13 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #include "base/mac/foundation_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item+collection_view_controller.h" @@ -16,6 +13,9 @@ #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" #import "ios/chrome/browser/ui/icons/chrome_icon.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_actions.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" #include "ios/chrome/grit/ios_strings.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_actions.h similarity index 62% rename from ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h rename to ios/chrome/browser/ui/payments/payment_request_selector_view_controller_actions.h index 77cec5f..d3eea90 100644 --- a/ios/chrome/browser/payments/payment_request_selector_view_controller_actions.h +++ b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_actions.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_ // Protocol handling the actions sent by the // PaymentRequestSelectorViewController. @@ -14,4 +14,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h similarity index 83% rename from ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h rename to ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h index d9d41c4..dc4e3d9 100644 --- a/ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h +++ b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_ #import <Foundation/Foundation.h> -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" @class CollectionViewItem; @@ -48,4 +48,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_SELECTOR_VIEW_CONTROLLER_DATA_SOURCE_H_
diff --git a/ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_unittest.mm similarity index 94% rename from ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm rename to ios/chrome/browser/ui/payments/payment_request_selector_view_controller_unittest.mm index f66b89a..92c3f38 100644 --- a/ios/chrome/browser/payments/payment_request_selector_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_unittest.mm
@@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #include "base/mac/foundation_util.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" #include "testing/gtest/include/gtest/gtest.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/payment_request_view_controller.h b/ios/chrome/browser/ui/payments/payment_request_view_controller.h similarity index 94% rename from ios/chrome/browser/payments/payment_request_view_controller.h rename to ios/chrome/browser/ui/payments/payment_request_view_controller.h index 4cabe8a..8059894 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller.h +++ b/ios/chrome/browser/ui/payments/payment_request_view_controller.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_ #import <UIKit/UIKit.h> @@ -105,4 +105,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/payments/payment_request_view_controller.mm b/ios/chrome/browser/ui/payments/payment_request_view_controller.mm similarity index 97% rename from ios/chrome/browser/payments/payment_request_view_controller.mm rename to ios/chrome/browser/ui/payments/payment_request_view_controller.mm index f1341cc..871623e 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller.mm +++ b/ios/chrome/browser/ui/payments/payment_request_view_controller.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_view_controller.h" #include "base/mac/foundation_util.h" @@ -17,14 +17,8 @@ #include "components/payments/core/currency_formatter.h" #include "components/payments/core/strings_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" -#import "ios/chrome/browser/payments/cells/page_info_item.h" -#import "ios/chrome/browser/payments/cells/payment_method_item.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/price_item.h" #include "ios/chrome/browser/payments/payment_request.h" #import "ios/chrome/browser/payments/payment_request_util.h" -#import "ios/chrome/browser/payments/payment_request_view_controller_actions.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item.h" @@ -32,6 +26,12 @@ #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/page_info_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_view_controller_actions.h" #include "ios/chrome/browser/ui/rtl_geometry.h" #include "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_strings.h"
diff --git a/ios/chrome/browser/payments/payment_request_view_controller_actions.h b/ios/chrome/browser/ui/payments/payment_request_view_controller_actions.h similarity index 66% rename from ios/chrome/browser/payments/payment_request_view_controller_actions.h rename to ios/chrome/browser/ui/payments/payment_request_view_controller_actions.h index 6f7f0ea..86e4c1f 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller_actions.h +++ b/ios/chrome/browser/ui/payments/payment_request_view_controller_actions.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_ // Protocol handling the actions sent in the PaymentRequestViewController. @protocol PaymentRequestViewControllerActions @@ -16,4 +16,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_VIEW_CONTROLLER_ACTIONS_H_
diff --git a/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm b/ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm similarity index 95% rename from ios/chrome/browser/payments/payment_request_view_controller_unittest.mm rename to ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm index 1e6b9a6..5b4fd27c 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/payment_request_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_view_controller.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -11,16 +11,16 @@ #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" -#import "ios/chrome/browser/payments/cells/page_info_item.h" -#import "ios/chrome/browser/payments/cells/payment_method_item.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/price_item.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item.h" #import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/page_info_item.h" +#import "ios/chrome/browser/ui/payments/cells/payment_method_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" #include "ios/chrome/grit/ios_strings.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator.h b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h similarity index 82% rename from ios/chrome/browser/payments/shipping_address_selection_coordinator.h rename to ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h index e8757fcf..5c09f97f 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_coordinator.h +++ b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ #import <UIKit/UIKit.h> #include <vector> #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" class PaymentRequest; @@ -48,12 +48,12 @@ // The delegate to be notified when the user selects a shipping address or // returns without selecting one. -@property(nonatomic, weak) - id<ShippingAddressSelectionCoordinatorDelegate> delegate; +@property(nonatomic, weak) id<ShippingAddressSelectionCoordinatorDelegate> + delegate; // Stops the spinner and displays the error provided in the payment details. - (void)stopSpinnerAndDisplayError; @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm similarity index 94% rename from ios/chrome/browser/payments/shipping_address_selection_coordinator.mm rename to ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm index b7291aa..c3143d99d 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_coordinator.mm +++ b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/shipping_address_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h" #include "base/strings/sys_string_conversions.h" #include "components/autofill/core/browser/autofill_profile.h" #include "components/payments/core/strings_util.h" #include "ios/chrome/browser/payments/payment_request.h" -#include "ios/chrome/browser/payments/payment_request_selector_view_controller.h" #import "ios/chrome/browser/payments/payment_request_util.h" -#include "ios/chrome/browser/payments/shipping_address_selection_mediator.h" +#include "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" +#include "ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm similarity index 97% rename from ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm index 59f825d..f837750 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/shipping_address_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -11,8 +11,8 @@ #include "components/autofill/core/browser/autofill_test_utils.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h" #include "third_party/ocmock/OCMock/OCMock.h"
diff --git a/ios/chrome/browser/payments/shipping_address_selection_mediator.h b/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h similarity index 78% rename from ios/chrome/browser/payments/shipping_address_selection_mediator.h rename to ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h index 7ba45aae..a0732d7 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_mediator.h +++ b/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_ -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" class PaymentRequest; @@ -33,4 +33,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_ADDRESS_SELECTION_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/shipping_address_selection_mediator.mm b/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm similarity index 94% rename from ios/chrome/browser/payments/shipping_address_selection_mediator.mm rename to ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm index 2421a146..af78a01 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_mediator.mm +++ b/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm
@@ -4,14 +4,14 @@ #include <vector> -#import "ios/chrome/browser/payments/shipping_address_selection_mediator.h" +#import "ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h" #include "components/autofill/core/browser/autofill_profile.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" #include "ios/chrome/browser/payments/payment_request.h" #import "ios/chrome/browser/payments/payment_request_util.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #include "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_theme_resources.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/payments/shipping_option_selection_coordinator.h b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h similarity index 82% rename from ios/chrome/browser/payments/shipping_option_selection_coordinator.h rename to ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h index a04bbca..9d671e9 100644 --- a/ios/chrome/browser/payments/shipping_option_selection_coordinator.h +++ b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_ #import <UIKit/UIKit.h> #include <vector> #import "ios/chrome/browser/chrome_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" class PaymentRequest; @@ -48,12 +48,12 @@ // The delegate to be notified when the user selects a shipping option or // returns without selecting one. -@property(nonatomic, weak) - id<ShippingOptionSelectionCoordinatorDelegate> delegate; +@property(nonatomic, weak) id<ShippingOptionSelectionCoordinatorDelegate> + delegate; // Stops the spinner and displays the error provided in the payment details. - (void)stopSpinnerAndDisplayError; @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_COORDINATOR_H_
diff --git a/ios/chrome/browser/payments/shipping_option_selection_coordinator.mm b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm similarity index 96% rename from ios/chrome/browser/payments/shipping_option_selection_coordinator.mm rename to ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm index 8776c611..44c1d70 100644 --- a/ios/chrome/browser/payments/shipping_option_selection_coordinator.mm +++ b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/shipping_option_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h" #include "base/logging.h" #include "base/strings/sys_string_conversions.h" #include "components/payments/core/strings_util.h" #include "ios/chrome/browser/payments/payment_request.h" #import "ios/chrome/browser/payments/payment_request_util.h" -#include "ios/chrome/browser/payments/shipping_option_selection_mediator.h" +#include "ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h" #include "ios/web/public/payments/payment_request.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/payments/shipping_option_selection_coordinator_unittest.mm b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm similarity index 97% rename from ios/chrome/browser/payments/shipping_option_selection_coordinator_unittest.mm rename to ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm index 784422c..e3262ca3 100644 --- a/ios/chrome/browser/payments/shipping_option_selection_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/shipping_option_selection_coordinator.h" +#import "ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h" #include "base/mac/foundation_util.h" #include "base/memory/ptr_util.h" @@ -11,8 +11,8 @@ #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "ios/chrome/browser/payments/payment_request.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #include "ios/web/public/payments/payment_request.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/payments/shipping_option_selection_mediator.h b/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h similarity index 78% rename from ios/chrome/browser/payments/shipping_option_selection_mediator.h rename to ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h index 30f6dd91..60eb2337 100644 --- a/ios/chrome/browser/payments/shipping_option_selection_mediator.h +++ b/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_ +#ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_ +#define IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_ -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" class PaymentRequest; @@ -33,4 +33,4 @@ @end -#endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_ +#endif // IOS_CHROME_BROWSER_UI_PAYMENTS_SHIPPING_OPTION_SELECTION_MEDIATOR_H_
diff --git a/ios/chrome/browser/payments/shipping_option_selection_mediator.mm b/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm similarity index 95% rename from ios/chrome/browser/payments/shipping_option_selection_mediator.mm rename to ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm index 23fdf97..6bcb1b0 100644 --- a/ios/chrome/browser/payments/shipping_option_selection_mediator.mm +++ b/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
@@ -4,13 +4,13 @@ #include <vector> -#import "ios/chrome/browser/payments/shipping_option_selection_mediator.h" +#import "ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #include "components/payments/core/currency_formatter.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" #include "ios/chrome/browser/payments/payment_request.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" #include "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_theme_resources.h" #include "ios/web/public/payments/payment_request.h"
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn index f3019745..50b02d6 100644 --- a/ios/chrome/browser/ui/settings/BUILD.gn +++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -114,7 +114,6 @@ "//ios/chrome/browser/history", "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal", "//ios/chrome/browser/passwords", - "//ios/chrome/browser/payments/cells", "//ios/chrome/browser/physical_web", "//ios/chrome/browser/prefs", "//ios/chrome/browser/search_engines", @@ -138,6 +137,7 @@ "//ios/chrome/browser/ui/icons", "//ios/chrome/browser/ui/keyboard", "//ios/chrome/browser/ui/material_components", + "//ios/chrome/browser/ui/payments/cells", "//ios/chrome/browser/ui/settings/cells", "//ios/chrome/browser/ui/settings/utils", "//ios/chrome/browser/ui/sync", @@ -245,7 +245,6 @@ "//ios/chrome/browser/history", "//ios/chrome/browser/native_app_launcher:native_app_launcher_internal", "//ios/chrome/browser/passwords", - "//ios/chrome/browser/payments/cells", "//ios/chrome/browser/physical_web", "//ios/chrome/browser/prefs", "//ios/chrome/browser/search_engines", @@ -269,6 +268,7 @@ "//ios/chrome/browser/ui/icons", "//ios/chrome/browser/ui/keyboard", "//ios/chrome/browser/ui/material_components", + "//ios/chrome/browser/ui/payments/cells", "//ios/chrome/browser/ui/settings/cells", "//ios/chrome/browser/ui/settings/utils", "//ios/chrome/browser/ui/sync",
diff --git a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm index a16a34a..ef67730 100644 --- a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm +++ b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
@@ -10,10 +10,6 @@ #include "components/autofill/core/browser/autofill_data_util.h" #include "components/autofill/core/browser/credit_card.h" #include "components/grit/components_scaled_resources.h" -#import "ios/chrome/browser/payments/cells/accepted_payment_methods_item.h" -#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/price_item.h" #import "ios/chrome/browser/ui/authentication/account_control_item.h" #import "ios/chrome/browser/ui/authentication/signin_promo_item.h" #import "ios/chrome/browser/ui/authentication/signin_promo_view_configurator.h" @@ -32,6 +28,10 @@ #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_article_item.h" #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.h" #import "ios/chrome/browser/ui/icons/chrome_icon.h" +#import "ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.h" +#import "ios/chrome/browser/ui/payments/cells/autofill_profile_item.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/cells/price_item.h" #import "ios/chrome/browser/ui/settings/cells/account_signin_item.h" #import "ios/chrome/browser/ui/settings/cells/autofill_data_item.h" #import "ios/chrome/browser/ui/settings/cells/native_app_item.h"
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn index ebe9c3e..49358a0 100644 --- a/ios/chrome/test/BUILD.gn +++ b/ios/chrome/test/BUILD.gn
@@ -130,7 +130,6 @@ "//ios/chrome/browser/omaha:unit_tests", "//ios/chrome/browser/passwords:unit_tests", "//ios/chrome/browser/payments:unit_tests", - "//ios/chrome/browser/payments/cells:unit_tests", "//ios/chrome/browser/reading_list:unit_tests", "//ios/chrome/browser/sessions:unit_tests", "//ios/chrome/browser/signin:unit_tests", @@ -169,6 +168,8 @@ "//ios/chrome/browser/ui/main:unit_tests", "//ios/chrome/browser/ui/ntp:unit_tests", "//ios/chrome/browser/ui/omnibox:unit_tests", + "//ios/chrome/browser/ui/payments:unit_tests", + "//ios/chrome/browser/ui/payments/cells:unit_tests", "//ios/chrome/browser/ui/promos:unit_tests", "//ios/chrome/browser/ui/reading_list:unit_tests", "//ios/chrome/browser/ui/settings:unit_tests",
diff --git a/ios/showcase/payments/BUILD.gn b/ios/showcase/payments/BUILD.gn index a8a34db..dd19e96 100644 --- a/ios/showcase/payments/BUILD.gn +++ b/ios/showcase/payments/BUILD.gn
@@ -13,12 +13,12 @@ ] deps = [ "//base", - "//ios/chrome/browser/payments:payments_ui", - "//ios/chrome/browser/payments/cells", "//ios/chrome/browser/ui/autofill", "//ios/chrome/browser/ui/autofill:autofill_ui", "//ios/chrome/browser/ui/autofill/cells", "//ios/chrome/browser/ui/collection_view/cells", + "//ios/chrome/browser/ui/payments:payments_ui", + "//ios/chrome/browser/ui/payments/cells", "//ios/chrome/browser/ui/settings/cells", "//ios/showcase/common", ] @@ -36,9 +36,9 @@ deps = [ "//base", "//components/strings", - "//ios/chrome/browser/payments:payments_ui", "//ios/chrome/browser/ui", "//ios/chrome/browser/ui/autofill:autofill_ui", + "//ios/chrome/browser/ui/payments:payments_ui", "//ios/chrome/browser/ui/settings", "//ios/chrome/test/earl_grey:test_support", "//ios/showcase/test",
diff --git a/ios/showcase/payments/sc_payments_editor_coordinator.mm b/ios/showcase/payments/sc_payments_editor_coordinator.mm index f82cdee6..519aed59 100644 --- a/ios/showcase/payments/sc_payments_editor_coordinator.mm +++ b/ios/showcase/payments/sc_payments_editor_coordinator.mm
@@ -6,13 +6,13 @@ #import "base/mac/foundation_util.h" #include "base/strings/utf_string_conversions.h" -#import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" -#import "ios/chrome/browser/payments/payment_request_editor_field.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" #import "ios/chrome/browser/ui/autofill/autofill_ui_type_util.h" #import "ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h" #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/showcase/payments/sc_payments_editor_egtest.mm b/ios/showcase/payments/sc_payments_editor_egtest.mm index 95fc87c..c5e711c 100644 --- a/ios/showcase/payments/sc_payments_editor_egtest.mm +++ b/ios/showcase/payments/sc_payments_editor_egtest.mm
@@ -6,8 +6,8 @@ #import "base/mac/foundation_util.h" #include "components/strings/grit/components_strings.h" -#import "ios/chrome/browser/payments/payment_request_edit_view_controller.h" #import "ios/chrome/browser/ui/autofill/autofill_edit_accessory_view.h" +#import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" #include "ios/chrome/browser/ui/ui_util.h" #import "ios/showcase/test/showcase_eg_utils.h" #import "ios/showcase/test/showcase_test_case.h"
diff --git a/ios/showcase/payments/sc_payments_picker_coordinator.mm b/ios/showcase/payments/sc_payments_picker_coordinator.mm index 26256b5..3beac14 100644 --- a/ios/showcase/payments/sc_payments_picker_coordinator.mm +++ b/ios/showcase/payments/sc_payments_picker_coordinator.mm
@@ -4,8 +4,8 @@ #import "ios/showcase/payments/sc_payments_picker_coordinator.h" -#import "ios/chrome/browser/payments/payment_request_picker_row.h" -#import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_row.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h" #import "ios/showcase/common/protocol_alerter.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/showcase/payments/sc_payments_picker_egtest.mm b/ios/showcase/payments/sc_payments_picker_egtest.mm index 210bf1b2..b13f0bc 100644 --- a/ios/showcase/payments/sc_payments_picker_egtest.mm +++ b/ios/showcase/payments/sc_payments_picker_egtest.mm
@@ -4,7 +4,7 @@ #import <EarlGrey/EarlGrey.h> -#import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h" #import "ios/showcase/test/showcase_eg_utils.h" #import "ios/showcase/test/showcase_test_case.h"
diff --git a/ios/showcase/payments/sc_payments_selector_coordinator.mm b/ios/showcase/payments/sc_payments_selector_coordinator.mm index f543a7b..e0a71ac 100644 --- a/ios/showcase/payments/sc_payments_selector_coordinator.mm +++ b/ios/showcase/payments/sc_payments_selector_coordinator.mm
@@ -5,11 +5,11 @@ #import "ios/showcase/payments/sc_payments_selector_coordinator.h" #include "base/logging.h" -#import "ios/chrome/browser/payments//cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" -#import "ios/chrome/browser/payments/payment_request_selector_view_controller_data_source.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" +#import "ios/chrome/browser/ui/payments/cells/payments_has_accessory_type.h" +#import "ios/chrome/browser/ui/payments/cells/payments_text_item.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h" #import "ios/showcase/common/protocol_alerter.h" #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/showcase/payments/sc_payments_selector_egtest.mm b/ios/showcase/payments/sc_payments_selector_egtest.mm index 6dbccc0..64e0dad 100644 --- a/ios/showcase/payments/sc_payments_selector_egtest.mm +++ b/ios/showcase/payments/sc_payments_selector_egtest.mm
@@ -4,7 +4,7 @@ #import <EarlGrey/EarlGrey.h> -#import "ios/chrome/browser/payments/payment_request_selector_view_controller.h" +#import "ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/showcase/test/showcase_eg_utils.h" #import "ios/showcase/test/showcase_test_case.h"
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json index d06725f..40e19312 100644 --- a/testing/buildbot/chromium.fyi.json +++ b/testing/buildbot/chromium.fyi.json
@@ -12910,7 +12910,7 @@ } ], "hard_timeout": 900, - "shards": 18 + "shards": 6 } } ]
diff --git a/third_party/WebKit/LayoutTests/NeverFixTests b/third_party/WebKit/LayoutTests/NeverFixTests index 06b890e2..5910cd4 100644 --- a/third_party/WebKit/LayoutTests/NeverFixTests +++ b/third_party/WebKit/LayoutTests/NeverFixTests
@@ -271,6 +271,216 @@ external/wpt/css/css-flexbox-1/interactive/flexbox_interactive_order-transitions.html [ WontFix ] external/wpt/css/css-flexbox-1/interactive/flexbox_interactive_paged-overflow-2.html [ WontFix ] external/wpt/css/css-flexbox-1/interactive/flexbox_interactive_paged-overflow.html [ WontFix ] +external/wpt/css/css-ui-3/canvas-cursor-001.html [ WontFix ] +external/wpt/css/css-ui-3/canvas-cursor-002.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-001.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-002.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-003.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-004.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-005.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-007.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-008.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-010.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-011.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-012.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-014.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-015.html [ WontFix ] +external/wpt/css/css-ui-3/caret-color-017.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-003.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-004.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-005.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-006.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-007.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-008.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-009.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-010.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-011.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-012.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-013.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-014.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-015.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-016.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-017.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-018.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-019.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-020.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-auto-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-auto-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-auto-003.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-auto-004.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-auto-005.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-border-area.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-box-004.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-box-005.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-box-006.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-box-007.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-content-area.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-hover-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-hover-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-hover-003.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-003.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-004.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-005-nfs.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-005.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-006.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-007.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-008.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-009.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-010.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-011.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-012.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-013.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-014.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-015.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-016.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-017.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-018.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-003.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-004.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-005.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-006.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-007.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-008.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-009.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-010.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-011.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-012.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-013.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-014.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-015.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-016.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-017.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-018.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-019.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-020.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-021.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-022.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-023.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-024.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-025.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-026.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-027.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-028.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-029.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-030.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-031.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-032.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-033.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-034.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-035.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-036.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-037.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-038.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-039.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-040.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-041.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-042.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-image-png-043.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-outline-area.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-padding-area.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-text-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-text-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-x-y-001.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-x-y-002.html [ WontFix ] +external/wpt/css/css-ui-3/cursor-x-y-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-missing-1.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-missing-2.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-missing-3.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-missing-4.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-dir-target-006.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-000.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-006.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-007.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-008.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-009.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-010.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-011.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-012.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-013.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-014.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-015.html [ WontFix ] +external/wpt/css/css-ui-3/nav-down-016.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-000.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-006.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-007.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-008.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-009.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-010.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-011.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-012.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-013.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-014.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-015.html [ WontFix ] +external/wpt/css/css-ui-3/nav-left-016.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-000.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-006.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-007.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-008.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-009.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-010.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-011.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-012.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-013.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-014.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-015.html [ WontFix ] +external/wpt/css/css-ui-3/nav-right-016.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-000.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-001.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-002.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-003.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-004.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-005.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-006.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-007.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-008.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-009.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-010.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-011.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-012.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-013.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-014.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-015.html [ WontFix ] +external/wpt/css/css-ui-3/nav-up-016.html [ WontFix ] +external/wpt/css/css-ui-3/resize-001.html [ WontFix ] +external/wpt/css/css-ui-3/resize-002.html [ WontFix ] +external/wpt/css/css-ui-3/resize-003.html [ WontFix ] +external/wpt/css/css-ui-3/resize-004.html [ WontFix ] +external/wpt/css/css-ui-3/resize-005.html [ WontFix ] +external/wpt/css/css-ui-3/resize-006.html [ WontFix ] +external/wpt/css/css-ui-3/resize-007.html [ WontFix ] +external/wpt/css/css-ui-3/select-cursor-001-manual.html [ WontFix ] +external/wpt/css/css-ui-3/text-overflow.html [ WontFix ] # Temporary disabling of all encrypted-media WPT tests while enabling # https only. Once the switch is complete (and the WPT tests renamed so they
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 04dbe54e..2867de9 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -8,7 +8,6 @@ crbug.com/706118 external/wpt/css/css-shapes-1 [ Skip ] crbug.com/706118 external/wpt/css/css-text-3 [ Skip ] crbug.com/706118 external/wpt/css/css-text-decor-3 [ Skip ] -crbug.com/706118 external/wpt/css/css-ui-3 [ Skip ] crbug.com/706118 external/wpt/css/css-writing-modes-3 [ Skip ] # ====== Oilpan-only failures from here ====== @@ -2579,6 +2578,8 @@ crbug.com/711529 http/tests/permissions/test-api-surface.html [ Timeout ] crbug.com/711529 http/tests/permissions/test-query.html [ Timeout ] +crbug.com/713587 external/wpt/css/css-ui-3/caret-color-006.html [ Skip ] + # ====== New tests from wpt-importer added here ====== crbug.com/626703 external/wpt/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-001.html [ Failure ] crbug.com/626703 external/wpt/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-002.html [ Failure ] @@ -2729,7 +2730,7 @@ crbug.com/626703 virtual/mojo-localstorage/external/wpt/webstorage/storage_session-manual.html [ Skip ] crbug.com/626703 [ Mac ] external/wpt/pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html [ Timeout ] #crbug.com/626703 external/wpt/css/css-cascade-4/revert-val-001.html [ Failure ] -#crbug.com/626703 external/wpt/css/css-ui-3/box-sizing-026.html [ Failure ] +crbug.com/626703 external/wpt/css/css-ui-3/box-sizing-026.html [ Failure ] crbug.com/626703 external/wpt/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html [ Timeout ] crbug.com/626703 external/wpt/html/semantics/interactive-elements/context-menus/contextmenu-event-manual.htm [ Timeout ] crbug.com/626703 external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-manual.html [ Timeout ] @@ -3275,15 +3276,21 @@ crbug.com/667371 inspector/elements/styles-1/color-aware-property-value-edit.html [ Pass Failure ] # [css-ui] Imported tests from W3C suite. -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-014.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-015.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-016.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-018.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-019.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-024.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-025.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/text-overflow-002.html [ Failure ] -#crbug.com/669473 external/wpt/css/css-ui-3/text-overflow-004.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-014.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-015.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-016.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-018.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-019.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-024.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/box-sizing-025.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-005.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-006.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-013.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-014.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-015.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/outline-016.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/text-overflow-002.html [ Failure ] +crbug.com/669473 external/wpt/css/css-ui-3/text-overflow-004.html [ Failure ] crbug.com/670024 external/wpt/webmessaging/broadcastchannel/sandbox.html [ Failure ] crbug.com/660384 external/wpt/webmessaging/with-ports/001.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel-expected.txt new file mode 100644 index 0000000..e0904300 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel-expected.txt
@@ -0,0 +1,30 @@ +This is a testharness.js-based test. +PASS createDataChannel required arguments +PASS createDataChannel with closed connection +FAIL createDataChannel defaults assert_equals: maxPacketLifeTime expected (object) null but got (undefined) undefined +PASS createDataChannel with label "foo" +PASS createDataChannel with label null +PASS createDataChannel with label undefined +PASS createDataChannel with label lone surrogate +PASS createDataChannel with ordered false +PASS createDataChannel with ordered null/undefined +FAIL createDataChannel with maxPacketLifeTime 0 assert_equals: expected (number) 0 but got (undefined) undefined +PASS createDataChannel with maxRetransmits 0 +FAIL createDataChannel with both maxPacketLifeTime and maxRetransmits assert_throws: function "() => pc.createDataChannel('', { + maxPacketLifeTime: 0, + maxRetransmits: 0 + })" did not throw +PASS createDataChannel with protocol "foo" +PASS createDataChannel with protocol null +PASS createDataChannel with protocol undefined +PASS createDataChannel with protocol lone surrogate +PASS createDataChannel with negotiated true +PASS createDataChannel with id -1 +PASS createDataChannel with id 0 +PASS createDataChannel with id 1 +PASS createDataChannel with id 65534 +FAIL createDataChannel with id 65535 assert_throws: function "() => pc.createDataChannel('', { id: id })" did not throw +PASS createDataChannel with id 65536 +FAIL createDataChannel with priority "high" assert_equals: expected (string) "high" but got (undefined) undefined +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel.html b/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel.html new file mode 100644 index 0000000..cb05e2c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-createDataChannel.html
@@ -0,0 +1,128 @@ +<!doctype html> +<meta charset=utf-8> +<title>RTCPeerConnection createDataChannel method</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script> +'use strict'; + +test(() => { + const pc = new RTCPeerConnection; + assert_equals(pc.createDataChannel.length, 1); + assert_throws(new TypeError, () => pc.createDataChannel()); +}, 'createDataChannel required arguments'); + +test(() => { + const pc = new RTCPeerConnection; + pc.close(); + assert_equals(pc.signalingState, 'closed', 'signaling state'); + assert_throws('InvalidStateError', () => pc.createDataChannel('')); +}, 'createDataChannel with closed connection'); + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel(''); + assert_true(channel instanceof RTCDataChannel, 'is RTCDataChannel'); + assert_equals(channel.label, '', 'label'); + assert_equals(channel.ordered, true, 'ordered'); + assert_equals(channel.maxPacketLifeTime, null, 'maxPacketLifeTime'); + assert_equals(channel.maxRetransmits, null, 'maxRetransmits'); + assert_equals(channel.protocol, '', 'protocol'); + assert_equals(channel.negotiated, false, 'negotiated'); + // Initial id value is not defined. + assert_equals(typeof channel.id, 'number', 'id type'); + assert_equals(channel.priority, 'low', 'priority'); +}, 'createDataChannel defaults'); + +const labels = [ + ['"foo"', 'foo', 'foo'], + ['null', null, 'null'], + ['undefined', undefined, 'undefined'], + ['lone surrogate', '\uD800', '\uFFFD'], +]; +for (const [description, label, expected] of labels) { + test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel(label); + assert_equals(channel.label, expected); + }, 'createDataChannel with label ' + description); +} + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { ordered: false }); + assert_equals(channel.ordered, false); +}, 'createDataChannel with ordered false'); + +// true as the default value of a boolean is confusing because null is converted +// to false while undefined is converted to true. +test(() => { + const pc = new RTCPeerConnection; + const channel1 = pc.createDataChannel('', { ordered: null }); + assert_equals(channel1.ordered, false); + const channel2 = pc.createDataChannel('', { ordered: undefined }); + assert_equals(channel2.ordered, true); +}, 'createDataChannel with ordered null/undefined'); + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { maxPacketLifeTime: 0 }); + assert_equals(channel.maxPacketLifeTime, 0); +}, 'createDataChannel with maxPacketLifeTime 0'); + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { maxRetransmits: 0 }); + assert_equals(channel.maxRetransmits, 0); +}, 'createDataChannel with maxRetransmits 0'); + +test(() => { + const pc = new RTCPeerConnection; + assert_throws('SyntaxError', () => pc.createDataChannel('', { + maxPacketLifeTime: 0, + maxRetransmits: 0 + })); +}, 'createDataChannel with both maxPacketLifeTime and maxRetransmits'); + +const protocols = [ + ['"foo"', 'foo', 'foo'], + ['null', null, 'null'], + ['undefined', undefined, ''], + ['lone surrogate', '\uD800', '\uFFFD'], +]; +for (const [description, protocol, expected] of protocols) { + test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { protocol: protocol }); + assert_equals(channel.protocol, expected); + }, 'createDataChannel with protocol ' + description); +} + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { negotiated: true }); + assert_equals(channel.negotiated, true); +}, 'createDataChannel with negotiated true'); + +// |id| is an unsigned short using [EnforceRange]. Additionally, +// https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-createdatachannel +// says: "If id is equal to 65535, which is greater than the maximum allowed ID +// of 65534 but still qualifies as an unsigned short, throw a TypeError." +for (const id of [-1, 0, 1, 65534, 65535, 65536]) { + test(() => { + const pc = new RTCPeerConnection; + if (id >= 0 && id <= 65534) { + const channel = pc.createDataChannel('', { id: id }); + assert_equals(channel.id, id); + } else { + assert_throws(new TypeError, () => pc.createDataChannel('', { id: id })); + } + }, 'createDataChannel with id ' + id); +} + +test(() => { + const pc = new RTCPeerConnection; + const channel = pc.createDataChannel('', { priority: "high" }); + assert_equals(channel.priority, "high"); +}, 'createDataChannel with priority "high"'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt index 3abfcc7..3aa3377 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt
@@ -43,11 +43,9 @@ PASS new RTCPeerConnection({ iceTransportPolicy: "relay" }) PASS new RTCPeerConnection({ iceTransportPolicy: "all" }) PASS new RTCPeerConnection({ iceTransportPolicy: "invalid" }) -FAIL new RTCPeerConnection({ iceTransportPolicy: "none" }) assert_throws: function "function () { - eval(expr); - }" did not throw +PASS new RTCPeerConnection({ iceTransportPolicy: "none" }) FAIL new RTCPeerConnection({ iceTransports: "invalid" }) Failed to construct 'RTCPeerConnection': The provided value 'invalid' is not a valid enum value of type RTCIceTransportPolicy. -PASS new RTCPeerConnection({ iceTransports: "none" }) +FAIL new RTCPeerConnection({ iceTransports: "none" }) Failed to construct 'RTCPeerConnection': The provided value 'none' is not a valid enum value of type RTCIceTransportPolicy. PASS new RTCPeerConnection({ bundlePolicy: null }) PASS new RTCPeerConnection({ bundlePolicy: undefined }) PASS new RTCPeerConnection({ bundlePolicy: "balanced" })
diff --git a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-expected.txt b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-expected.txt index f4fb539..1122418 100644 --- a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-expected.txt
@@ -27,9 +27,13 @@ PASS new RTCPeerConnection({iceServers:[{url:'foo'}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': 'foo' is not a valid URL.. PASS new RTCPeerConnection({iceServers:[{urls:'unsupported:scheme'}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': 'unsupported' is not one of the supported URL schemes 'stun', 'turn' or 'turns'.. PASS new RTCPeerConnection({iceServers:[{urls:[1, 'turn:foo.com']}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': '1' is not a valid URL.. -PASS new RTCPeerConnection({iceServers:[], iceTransports:'none'}); did not throw exception. +PASS new RTCPeerConnection({iceServers:[], iceTransportPolicy:'relay'}); did not throw exception. +PASS new RTCPeerConnection({iceServers:[], iceTransportPolicy:'all'}); did not throw exception. +PASS new RTCPeerConnection({iceServers:[], iceTransportPolicy:'none'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'none' is not a valid enum value of type RTCIceTransportPolicy.. +PASS new RTCPeerConnection({iceServers:[], iceTransportPolicy:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'foo' is not a valid enum value of type RTCIceTransportPolicy.. PASS new RTCPeerConnection({iceServers:[], iceTransports:'relay'}); did not throw exception. PASS new RTCPeerConnection({iceServers:[], iceTransports:'all'}); did not throw exception. +PASS new RTCPeerConnection({iceServers:[], iceTransports:'none'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'none' is not a valid enum value of type RTCIceTransportPolicy.. PASS new RTCPeerConnection({iceServers:[], iceTransports:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'foo' is not a valid enum value of type RTCIceTransportPolicy.. PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'balanced'}); did not throw exception. PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'max-bundle'}); did not throw exception.
diff --git a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection.html b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection.html index ca6e7808..d897686 100644 --- a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection.html +++ b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection.html
@@ -31,9 +31,15 @@ shouldThrow("new RTCPeerConnection({iceServers:[{urls:'unsupported:scheme'}]});"); shouldThrow("new RTCPeerConnection({iceServers:[{urls:[1, 'turn:foo.com']}]});"); -shouldNotThrow("new RTCPeerConnection({iceServers:[], iceTransports:'none'});"); +shouldNotThrow("new RTCPeerConnection({iceServers:[], iceTransportPolicy:'relay'});"); +shouldNotThrow("new RTCPeerConnection({iceServers:[], iceTransportPolicy:'all'});"); +shouldThrow("new RTCPeerConnection({iceServers:[], iceTransportPolicy:'none'});"); +shouldThrow("new RTCPeerConnection({iceServers:[], iceTransportPolicy:'foo'});"); + +// TODO(foolip): |iceTransports| is not in the spec. shouldNotThrow("new RTCPeerConnection({iceServers:[], iceTransports:'relay'});"); shouldNotThrow("new RTCPeerConnection({iceServers:[], iceTransports:'all'});"); +shouldThrow("new RTCPeerConnection({iceServers:[], iceTransports:'none'});"); shouldThrow("new RTCPeerConnection({iceServers:[], iceTransports:'foo'});"); shouldNotThrow("new RTCPeerConnection({iceServers:[], bundlePolicy:'balanced'});");
diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/README.md b/third_party/WebKit/LayoutTests/http/tests/streams/README.md index 94ca80c..0c079963a 100644 --- a/third_party/WebKit/LayoutTests/http/tests/streams/README.md +++ b/third_party/WebKit/LayoutTests/http/tests/streams/README.md
@@ -1,5 +1,9 @@ # Streams Tests in Blink -These tests are drawn from those [in the reference implementation](https://github.com/whatwg/streams/tree/master/reference-implementation)'s web-platform-tests subdirectory. Eventually they will be upstreamed to web-platform-tests proper. +Tests for ReadableStream and WritableStream can be found at +LayoutTests/external/wpt/streams. Only things specific to Blink are in this +directory. -Slight modifications have been made in some cases, e.g. to remove references to `pipeTo` and `pipeThrough` since we have not implemented those yet. +* chromium/ - Tests for functionality specific to Blink. +* resources/ - Contains rs-utils.js, which is used by stream-related tests in + ../fetch.
diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/resources/recording-streams.js b/third_party/WebKit/LayoutTests/http/tests/streams/resources/recording-streams.js deleted file mode 100644 index 9837318d..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/streams/resources/recording-streams.js +++ /dev/null
@@ -1,90 +0,0 @@ -'use strict'; - -self.recordingReadableStream = (extras = {}, strategy) => { - let controllerToCopyOver; - const stream = new ReadableStream({ - start(controller) { - controllerToCopyOver = controller; - - if (extras.start) { - return extras.start(controller); - } - - return undefined; - }, - pull(controller) { - stream.events.push('pull'); - - if (extras.pull) { - return extras.pull(controller); - } - - return undefined; - }, - cancel(reason) { - stream.events.push('cancel', reason); - stream.eventsWithoutPulls.push('cancel', reason); - - if (extras.cancel) { - return extras.cancel(reason); - } - - return undefined; - } - }, strategy); - - stream.controller = controllerToCopyOver; - stream.events = []; - stream.eventsWithoutPulls = []; - - return stream; -}; - -self.recordingWritableStream = (extras = {}, strategy) => { - let controllerToCopyOver; - const stream = new WritableStream({ - start(controller) { - controllerToCopyOver = controller; - - if (extras.start) { - return extras.start(controller); - } - - return undefined; - }, - write(chunk) { - stream.events.push('write', chunk); - - if (extras.write) { - return extras.write(chunk); - } - - return undefined; - }, - close(...args) { - assert_array_equals(args, [controllerToCopyOver], 'close must always be called with the controller'); - - stream.events.push('close'); - - if (extras.close) { - return extras.close(); - } - - return undefined; - }, - abort(e) { - stream.events.push('abort', e); - - if (extras.abort) { - return extras.abort(e); - } - - return undefined; - } - }, strategy); - - stream.controller = controllerToCopyOver; - stream.events = []; - - return stream; -};
diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-initializer.js b/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-initializer.js deleted file mode 100644 index d6ed4a7aa..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-initializer.js +++ /dev/null
@@ -1,14 +0,0 @@ -'use strict'; - -function worker_test(file) { - fetch_tests_from_worker(new Worker(file)); - if (typeof SharedWorker === 'function') { - fetch_tests_from_worker(new SharedWorker(file)); - } else { - test(() => { - assert_unreached('SharedWorker is unavailable'); - }, 'Load ' + file + ' with SharedWorker'); - } - service_worker_test(file); -} -
diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-utils.js b/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-utils.js deleted file mode 100644 index 723021e..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/streams/resources/test-utils.js +++ /dev/null
@@ -1,53 +0,0 @@ -'use strict'; -// This file already exists upstream. We are duplicating and updating it here. Be sure to override the existing one -// when upstreaming. - -self.getterRejects = (t, obj, getterName, target) => { - const getter = Object.getOwnPropertyDescriptor(obj, getterName).get; - - return promise_rejects(t, new TypeError(), getter.call(target)); -}; - -self.methodRejects = (t, obj, methodName, target, args) => { - const method = obj[methodName]; - - return promise_rejects(t, new TypeError(), method.apply(target, args)); -}; - -self.getterThrows = (obj, getterName, target) => { - const getter = Object.getOwnPropertyDescriptor(obj, getterName).get; - - assert_throws(new TypeError(), () => getter.call(target), getterName + ' should throw a TypeError'); -}; - -self.methodThrows = (obj, methodName, target, args) => { - const method = obj[methodName]; - - assert_throws(new TypeError(), () => method.apply(target, args), methodName + ' should throw a TypeError'); -}; - -self.garbageCollect = () => { - if (self.gc) { - // Use --expose_gc for V8 (and Node.js) - // Exposed in SpiderMonkey shell as well - self.gc(); - } else if (self.GCController) { - // Present in some WebKit development environments - GCController.collect(); - } else { - /* eslint-disable no-console */ - console.warn('Tests are running without the ability to do manual garbage collection. They will still work, but ' + - 'coverage will be suboptimal.'); - /* eslint-enable no-console */ - } -}; - -self.delay = ms => new Promise(resolve => step_timeout(resolve, ms)); - -// For tests which verify that the implementation doesn't do something it shouldn't, it's better not to use a -// timeout. Instead, assume that any reasonable implementation is going to finish work after 2 times around the event -// loop, and use flushAsyncEvents().then(() => assert_array_equals(...)); -// Some tests include promise resolutions which may mean the test code takes a couple of event loop visits itself. So go -// around an extra 2 times to avoid complicating those tests. -// TODO(ricea): Upstream this function to w3c repository. -self.flushAsyncEvents = () => delay(0).then(() => delay(0)).then(() => delay(0)).then(() => delay(0));
diff --git a/third_party/WebKit/Source/core/dom/Range.cpp b/third_party/WebKit/Source/core/dom/Range.cpp index 8b7b3c0..76e18fa 100644 --- a/third_party/WebKit/Source/core/dom/Range.cpp +++ b/third_party/WebKit/Source/core/dom/Range.cpp
@@ -1440,18 +1440,6 @@ return EndPosition().NodeAsRangePastLastNode(); } -// TODO(hs1217.lee):: we should move this implement to VisibleUnits and then -// this function will remove. -static Vector<IntRect> computeTextRects(const EphemeralRange&); - -IntRect Range::BoundingBox() const { - IntRect result; - const Vector<IntRect>& rects = computeTextRects(EphemeralRange(this)); - for (const IntRect& rect : rects) - result.Unite(rect); - return result; -} - static Vector<IntRect> computeTextRects(const EphemeralRange& range) { const Position& start_position = range.StartPosition(); const Position& end_position = range.EndPosition(); @@ -1476,6 +1464,14 @@ return rects; } +IntRect Range::BoundingBox() const { + IntRect result; + const Vector<IntRect>& rects = computeTextRects(EphemeralRange(this)); + for (const IntRect& rect : rects) + result.Unite(rect); + return result; +} + void Range::TextQuads(Vector<FloatQuad>& quads, bool use_selection_height) const { Node* start_container = &start_.Container();
diff --git a/third_party/WebKit/Source/core/editing/InputMethodController.cpp b/third_party/WebKit/Source/core/editing/InputMethodController.cpp index cb9ac4b..1d880e51 100644 --- a/third_party/WebKit/Source/core/editing/InputMethodController.cpp +++ b/third_party/WebKit/Source/core/editing/InputMethodController.cpp
@@ -263,8 +263,25 @@ return offset; } -Element* RootEditableElementOfSelection(const FrameSelection& selection) { - return RootEditableElementOf(selection.GetSelectionInDOMTree().Base()); +Element* RootEditableElementOfSelection(const FrameSelection& frameSelection) { + const SelectionInDOMTree& selection = frameSelection.GetSelectionInDOMTree(); + if (selection.IsNone()) + return nullptr; + // To avoid update layout, we attempt to get root editable element from + // a position where script/user specified. + if (Element* editable = RootEditableElementOf(selection.Base())) + return editable; + + // This is work around for applications assumes a position before editable + // element as editable[1] + // [1] http://crbug.com/712761 + + // TODO(editing-dev): Use of updateStyleAndLayoutIgnorePendingStylesheets + // needs to be audited. see http://crbug.com/590369 for more details. + frameSelection.GetDocument().UpdateStyleAndLayoutIgnorePendingStylesheets(); + const VisibleSelection& visibleSeleciton = + frameSelection.ComputeVisibleSelectionInDOMTree(); + return RootEditableElementOf(visibleSeleciton.Start()); } } // anonymous namespace
diff --git a/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp b/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp index f6344efc..7aa2891 100644 --- a/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp +++ b/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp
@@ -1964,4 +1964,18 @@ EXPECT_EQ(25u, GetDocument().Markers().Markers()[2]->EndOffset()); } +// For http://crbug.com/712761 +TEST_F(InputMethodControllerTest, TextInputTypeAtBeforeEditable) { + GetDocument().body()->setContentEditable("true", ASSERT_NO_EXCEPTION); + GetDocument().body()->focus(); + + // Set selection before BODY(editable). + GetFrame().Selection().SetSelection( + SelectionInDOMTree::Builder() + .Collapse(Position(GetDocument().documentElement(), 0)) + .Build()); + + EXPECT_EQ(kWebTextInputTypeContentEditable, Controller().TextInputType()); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp index e6dbcb876..e641fe5 100644 --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
@@ -96,10 +96,10 @@ // covers. for (TextIterator marked_text(start, end); !marked_text.AtEnd(); marked_text.Advance()) { - AddMarker( - marked_text.CurrentContainer(), - DocumentMarker(type, marked_text.StartOffsetInCurrentContainer(), - marked_text.EndOffsetInCurrentContainer(), description)); + AddMarker(marked_text.CurrentContainer(), + new DocumentMarker( + type, marked_text.StartOffsetInCurrentContainer(), + marked_text.EndOffsetInCurrentContainer(), description)); } } @@ -113,9 +113,9 @@ for (TextIterator marked_text(range.StartPosition(), range.EndPosition()); !marked_text.AtEnd(); marked_text.Advance()) { AddMarker(marked_text.CurrentContainer(), - DocumentMarker(marked_text.StartOffsetInCurrentContainer(), - marked_text.EndOffsetInCurrentContainer(), - match_status)); + new DocumentMarker(marked_text.StartOffsetInCurrentContainer(), + marked_text.EndOffsetInCurrentContainer(), + match_status)); } // Don't invalidate tickmarks here. TextFinder invalidates tickmarks using a // throttling algorithm. crbug.com/6819. @@ -129,11 +129,12 @@ DCHECK(!document_->NeedsLayoutTreeUpdate()); for (TextIterator marked_text(start, end); !marked_text.AtEnd(); - marked_text.Advance()) + marked_text.Advance()) { AddMarker(marked_text.CurrentContainer(), - DocumentMarker(marked_text.StartOffsetInCurrentContainer(), - marked_text.EndOffsetInCurrentContainer(), - underline_color, thick, background_color)); + new DocumentMarker(marked_text.StartOffsetInCurrentContainer(), + marked_text.EndOffsetInCurrentContainer(), + underline_color, thick, background_color)); + } } void DocumentMarkerController::PrepareForDestruction() { @@ -189,12 +190,12 @@ // Markers of the same type do not overlap each other. void DocumentMarkerController::AddMarker(Node* node, - const DocumentMarker& new_marker) { - DCHECK_GE(new_marker.EndOffset(), new_marker.StartOffset()); - if (new_marker.EndOffset() == new_marker.StartOffset()) + DocumentMarker* new_marker) { + DCHECK_GE(new_marker->EndOffset(), new_marker->StartOffset()); + if (new_marker->EndOffset() == new_marker->StartOffset()) return; - possibly_existing_marker_types_.Add(new_marker.GetType()); + possibly_existing_marker_types_.Add(new_marker->GetType()); Member<MarkerLists>& markers = markers_.insert(node, nullptr).stored_value->value; @@ -203,12 +204,12 @@ markers->Grow(DocumentMarker::kMarkerTypeIndexesCount); } - const DocumentMarker::MarkerType new_marker_type = new_marker.GetType(); + const DocumentMarker::MarkerType new_marker_type = new_marker->GetType(); if (!ListForType(markers, new_marker_type)) ListForType(markers, new_marker_type) = new MarkerList; Member<MarkerList>& list = ListForType(markers, new_marker_type); - DocumentMarkerListEditor::AddMarker(list, &new_marker); + DocumentMarkerListEditor::AddMarker(list, new_marker); // repaint the affected node if (node->GetLayoutObject()) { @@ -494,22 +495,11 @@ continue; MarkerLists* markers = node_markers.value; for (DocumentMarker::MarkerType type : DocumentMarker::AllMarkers()) { - Member<MarkerList>& list = ListForType(markers, type); + MarkerList* list = ListForType(markers, type); if (!list) continue; - bool removed_markers = false; - for (size_t j = list->size(); j > 0; --j) { - const DocumentMarker& marker = *list->at(j - 1); - - const unsigned start = marker.StartOffset(); - const unsigned length = marker.EndOffset() - marker.StartOffset(); - - const String marker_text = ToText(node).data().Substring(start, length); - if (words.Contains(marker_text)) { - list->erase(j - 1); - removed_markers = true; - } - } + bool removed_markers = DocumentMarkerListEditor::RemoveMarkersUnderWords( + list, ToText(node).data(), words); if (removed_markers && type == DocumentMarker::kTextMatch) InvalidatePaintForTickmarks(node); }
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h index a2c4a14..817da46 100644 --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h
@@ -109,7 +109,7 @@ unsigned new_length) final; private: - void AddMarker(Node*, const DocumentMarker&); + void AddMarker(Node*, DocumentMarker*); using MarkerList = HeapVector<Member<RenderedDocumentMarker>>; using MarkerLists =
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.cpp index b26e8e62..72d3b44 100644 --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.cpp +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.cpp
@@ -88,6 +88,25 @@ return doc_dirty; } +bool DocumentMarkerListEditor::RemoveMarkersUnderWords( + MarkerList* list, + const String& node_text, + const Vector<String>& words) { + bool removed_markers = false; + for (size_t j = list->size(); j > 0; --j) { + const DocumentMarker& marker = *(*list)[j - 1]; + const unsigned start = marker.StartOffset(); + const unsigned length = marker.EndOffset() - marker.StartOffset(); + const String& marker_text = node_text.Substring(start, length); + if (words.Contains(marker_text)) { + list->erase(j - 1); + removed_markers = true; + } + } + + return removed_markers; +} + bool DocumentMarkerListEditor::ShiftMarkers(MarkerList* list, unsigned offset, unsigned old_length,
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.h b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.h index f41907c..72bbecd 100644 --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.h +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerListEditor.h
@@ -26,6 +26,11 @@ // Returns true if a marker was removed, false otherwise. static bool RemoveMarkers(MarkerList*, unsigned start_offset, int length); + // Returns true if a marker was removed, false otherwise. + static bool RemoveMarkersUnderWords(MarkerList*, + const String& node_text, + const Vector<String>& words); + // Returns true if a marker was shifted or removed, false otherwise. static bool ShiftMarkers(MarkerList*, unsigned offset,
diff --git a/third_party/WebKit/Source/core/exported/BUILD.gn b/third_party/WebKit/Source/core/exported/BUILD.gn index 12a8e62..0ca530df 100644 --- a/third_party/WebKit/Source/core/exported/BUILD.gn +++ b/third_party/WebKit/Source/core/exported/BUILD.gn
@@ -5,6 +5,8 @@ blink_core_sources("exported") { sources = [ + "WebAssociatedURLLoaderImpl.cpp", + "WebAssociatedURLLoaderImpl.h", "WebBlob.cpp", ] }
diff --git a/third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.cpp b/third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.cpp similarity index 98% rename from third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.cpp rename to third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.cpp index 8d212a2a..9bdc09d4 100644 --- a/third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.cpp +++ b/third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.cpp
@@ -28,11 +28,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "web/WebAssociatedURLLoaderImpl.h" +#include "core/exported/WebAssociatedURLLoaderImpl.h" #include <limits.h> #include <memory> #include "core/dom/ContextLifecycleObserver.h" +#include "core/dom/Document.h" #include "core/dom/TaskRunnerHelper.h" #include "core/loader/DocumentThreadableLoader.h" #include "core/loader/DocumentThreadableLoaderClient.h" @@ -53,7 +54,6 @@ #include "public/platform/WebURLRequest.h" #include "public/web/WebAssociatedURLLoaderClient.h" #include "public/web/WebDataSource.h" -#include "web/WebLocalFrameImpl.h" namespace blink { @@ -337,11 +337,11 @@ }; WebAssociatedURLLoaderImpl::WebAssociatedURLLoaderImpl( - WebLocalFrameImpl* frame_impl, + Document* document, const WebAssociatedURLLoaderOptions& options) : client_(nullptr), options_(options), - observer_(new Observer(this, frame_impl->GetFrame()->GetDocument())) {} + observer_(new Observer(this, document)) {} WebAssociatedURLLoaderImpl::~WebAssociatedURLLoaderImpl() { Cancel();
diff --git a/third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.h b/third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.h similarity index 89% rename from third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.h rename to third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.h index 736af87..57bdf34 100644 --- a/third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.h +++ b/third_party/WebKit/Source/core/exported/WebAssociatedURLLoaderImpl.h
@@ -6,6 +6,7 @@ #define WebAssociatedURLLoaderImpl_h #include <memory> +#include "core/CoreExport.h" #include "platform/heap/Handle.h" #include "platform/wtf/Noncopyable.h" #include "platform/wtf/RefPtr.h" @@ -16,15 +17,15 @@ class DocumentThreadableLoader; class WebAssociatedURLLoaderClient; -class WebLocalFrameImpl; +class Document; // This class is used to implement WebFrame::createAssociatedURLLoader. -class WebAssociatedURLLoaderImpl final : public WebAssociatedURLLoader { +class CORE_EXPORT WebAssociatedURLLoaderImpl final + : public WebAssociatedURLLoader { WTF_MAKE_NONCOPYABLE(WebAssociatedURLLoaderImpl); public: - WebAssociatedURLLoaderImpl(WebLocalFrameImpl*, - const WebAssociatedURLLoaderOptions&); + WebAssociatedURLLoaderImpl(Document*, const WebAssociatedURLLoaderOptions&); ~WebAssociatedURLLoaderImpl(); void LoadAsynchronously(const WebURLRequest&,
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp index af18514..2cfd1d9 100644 --- a/third_party/WebKit/Source/core/frame/FrameView.cpp +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -241,6 +241,7 @@ visitor->Trace(auto_size_info_); visitor->Trace(children_); visitor->Trace(plugins_); + visitor->Trace(scrollbars_); visitor->Trace(viewport_scrollable_area_); visitor->Trace(visibility_observer_); visitor->Trace(scroll_anchor_); @@ -415,8 +416,8 @@ if (has_scrollbar) { h_bar_ = CreateScrollbar(kHorizontalScrollbar); - scrollable_area_->GetLayoutBox()->GetDocument().View()->AddChild( - h_bar_.Get()); + scrollable_area_->GetLayoutBox()->GetDocument().View()->AddScrollbar( + h_bar_); h_bar_is_attached_ = 1; scrollable_area_->DidAddScrollbar(*h_bar_, kHorizontalScrollbar); h_bar_->StyleChanged(); @@ -434,8 +435,8 @@ if (has_scrollbar) { v_bar_ = CreateScrollbar(kVerticalScrollbar); - scrollable_area_->GetLayoutBox()->GetDocument().View()->AddChild( - v_bar_.Get()); + scrollable_area_->GetLayoutBox()->GetDocument().View()->AddScrollbar( + v_bar_); v_bar_is_attached_ = 1; scrollable_area_->DidAddScrollbar(*v_bar_, kVerticalScrollbar); v_bar_->StyleChanged(); @@ -473,8 +474,8 @@ return; scrollable_area_->WillRemoveScrollbar(*scrollbar, orientation); - scrollable_area_->GetLayoutBox()->GetDocument().View()->RemoveChild( - scrollbar.Get()); + scrollable_area_->GetLayoutBox()->GetDocument().View()->RemoveScrollbar( + scrollbar); scrollbar->DisconnectFromScrollableArea(); scrollbar = nullptr; } @@ -506,12 +507,14 @@ if (frame_view_base->IsFrameView()) { ToFrameView(frame_view_base) ->InvalidateAllCustomScrollbarsOnActiveChanged(); - } else if (uses_window_inactive_selector && - frame_view_base->IsScrollbar() && - ToScrollbar(frame_view_base)->IsCustomScrollbar()) { - ToScrollbar(frame_view_base)->StyleChanged(); } } + + for (const Member<Scrollbar>& scrollbar : *Scrollbars()) { + if (uses_window_inactive_selector && scrollbar->IsCustomScrollbar()) + scrollbar->StyleChanged(); + } + if (uses_window_inactive_selector) RecalculateCustomScrollbarStyle(); } @@ -3625,9 +3628,6 @@ IntPoint FrameView::ConvertSelfToChild(const FrameViewBase* child, const IntPoint& point) const { - // TODO(joelhockey): Remove this check once Scrollbar no longer inherits from - // FrameViewBase. - DCHECK(!IsFrameViewScrollbar(child)); IntPoint new_point = point; new_point = FrameToContents(point); new_point.MoveBy(-child->Location()); @@ -3859,6 +3859,18 @@ plugins_.insert(plugin); } +void FrameView::RemoveScrollbar(Scrollbar* scrollbar) { + DCHECK(scrollbars_.Contains(scrollbar)); + scrollbar->SetParent(nullptr); + scrollbars_.erase(scrollbar); +} + +void FrameView::AddScrollbar(Scrollbar* scrollbar) { + DCHECK(!scrollbars_.Contains(scrollbar)); + scrollbar->SetParent(this); + scrollbars_.insert(scrollbar); +} + bool FrameView::VisualViewportSuppliesScrollbars() { // On desktop, we always use the layout viewport's scrollbars. if (!frame_->GetSettings() || !frame_->GetSettings()->GetViewportEnabled() ||
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h index 9e35832127..061869d 100644 --- a/third_party/WebKit/Source/core/frame/FrameView.h +++ b/third_party/WebKit/Source/core/frame/FrameView.h
@@ -471,6 +471,7 @@ typedef HeapHashSet<Member<FrameViewBase>> ChildrenSet; typedef HeapHashSet<Member<PluginView>> PluginsSet; + typedef HeapHashSet<Member<Scrollbar>> ScrollbarsSet; // Functions for child manipulation and inspection. void SetParent(FrameViewBase*) override; @@ -480,6 +481,9 @@ void RemovePlugin(PluginView*); void AddPlugin(PluginView*); const PluginsSet* Plugins() const { return &plugins_; } + void RemoveScrollbar(Scrollbar*); + void AddScrollbar(Scrollbar*); + const ScrollbarsSet* Scrollbars() const { return &scrollbars_; } // If the scroll view does not use a native widget, then it will have // cross-platform Scrollbars. These functions can be used to obtain those @@ -1002,10 +1006,6 @@ void AdjustScrollOffsetFromUpdateScrollbars(); bool VisualViewportSuppliesScrollbars(); - bool IsFrameViewScrollbar(const FrameViewBase* child) const { - return HorizontalScrollbar() == child || VerticalScrollbar() == child; - } - ScrollingCoordinator* GetScrollingCoordinator() const; void PrepareLayoutAnalyzer(); @@ -1125,6 +1125,7 @@ ChildrenSet children_; PluginsSet plugins_; + ScrollbarsSet scrollbars_; ScrollOffset pending_scroll_delta_; ScrollOffset scroll_offset_;
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h index 04af508..635004d 100644 --- a/third_party/WebKit/Source/core/frame/UseCounter.h +++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -1269,7 +1269,6 @@ kLoopbackEmbeddedInSecureContext = 1652, kLoopbackEmbeddedInNonSecureContext = 1653, kBlinkMacSystemFont = 1654, - kRTCConfigurationIceTransportsNone = 1655, kRTCIceServerURL = 1656, kRTCIceServerURLs = 1657, kOffscreenCanvasTransferToImageBitmap2D = 1658, @@ -1277,7 +1276,6 @@ kOffscreenCanvasCommit2D = 1660, kOffscreenCanvasCommitWebGL = 1661, kRTCConfigurationIceTransportPolicy = 1662, - kRTCConfigurationIceTransportPolicyNone = 1663, kRTCConfigurationIceTransports = 1664, kDocumentFullscreenElementInV0Shadow = 1665, kScriptWithCSPBypassingSchemeParserInserted = 1666,
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp index eb87d62..c5b7eed 100644 --- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp +++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.cpp
@@ -356,22 +356,22 @@ ContentSecurityPolicyHeaderSource source) { size_t previous_policy_count = policies_.size(); AddPolicyFromHeaderValue(header, type, source); + // Notify about the new header, so that it can be reported back to the + // browser process. This is needed in order to: + // 1) replicate CSP directives (i.e. frame-src) to OOPIFs (only for now / + // short-term). + // 2) enforce CSP in the browser process (long-term - see + // https://crbug.com/376522). + // TODO(arthursonzogni): policies are actually replicated (1) and some of + // them are enforced on the browser process (2). Stop doing (1) when (2) is + // finished. + WebVector<WebContentSecurityPolicy> policies(policies_.size() - + previous_policy_count); + for (size_t i = previous_policy_count; i < policies_.size(); ++i) { + policies[i - previous_policy_count] = + policies_[i]->ExposeForNavigationalChecks(); + } if (GetDocument() && GetDocument()->GetFrame()) { - // Notify about the new header, so that it can be reported back to the - // browser process. This is needed in order to: - // 1) replicate CSP directives (i.e. frame-src) to OOPIFs (only for now / - // short-term). - // 2) enforce CSP in the browser process (long-term - see - // https://crbug.com/376522). - // TODO(arthursonzogni): policies are actually replicated (1) and some of - // them are enforced on the browser process (2). Stop doing (1) when (2) is - // finished. - WebVector<WebContentSecurityPolicy> policies(policies_.size() - - previous_policy_count); - for (size_t i = previous_policy_count; i < policies_.size(); ++i) { - policies[i - previous_policy_count] = - policies_[i]->ExposeForNavigationalChecks(); - } GetDocument()->GetFrame()->Client()->DidAddContentSecurityPolicies( policies); } @@ -1213,12 +1213,6 @@ const SecurityPolicyViolationEventInit& violation_data, LocalFrame* context_frame, const Vector<String>& report_endpoints) { - // TODO(mkwst): Support POSTing violation reports from a Worker. - Document* document = - context_frame ? context_frame->GetDocument() : this->GetDocument(); - if (!document) - return; - // We need to be careful here when deciding what information to send to the // report-uri. Currently, we send only the current document's URL and the // directive that was violated. The document's URL is safe to send because @@ -1263,13 +1257,19 @@ if (ShouldSendViolationReport(stringified_report)) { DidSendViolationReport(stringified_report); - RefPtr<EncodedFormData> report = - EncodedFormData::Create(stringified_report.Utf8()); + // TODO(mkwst): Support POSTing violation reports from a Worker. + Document* document = + context_frame ? context_frame->GetDocument() : this->GetDocument(); + if (!document) + return; LocalFrame* frame = document->GetFrame(); if (!frame) return; + RefPtr<EncodedFormData> report = + EncodedFormData::Create(stringified_report.Utf8()); + for (const String& endpoint : report_endpoints) { // If we have a context frame we're dealing with 'frame-ancestors' and we // don't have our own execution context. Use the frame's document to
diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h index d266c21..3474cee 100644 --- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h +++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
@@ -435,9 +435,9 @@ FRIEND_TEST_ALL_PREFIXES(ContentSecurityPolicyTest, NonceInline); FRIEND_TEST_ALL_PREFIXES(ContentSecurityPolicyTest, NonceSinglePolicy); FRIEND_TEST_ALL_PREFIXES(ContentSecurityPolicyTest, NonceMultiplePolicy); - FRIEND_TEST_ALL_PREFIXES(FrameFetchContextTest, + FRIEND_TEST_ALL_PREFIXES(BaseFetchContextTest, RedirectChecksReportedAndEnforcedCSP); - FRIEND_TEST_ALL_PREFIXES(FrameFetchContextTest, + FRIEND_TEST_ALL_PREFIXES(BaseFetchContextTest, AllowResponseChecksReportedAndEnforcedCSP); FRIEND_TEST_ALL_PREFIXES(FrameFetchContextTest, PopulateResourceRequestChecksReportOnlyCSP);
diff --git a/third_party/WebKit/Source/core/loader/BaseFetchContext.cpp b/third_party/WebKit/Source/core/loader/BaseFetchContext.cpp index 9b38def1..ae92738 100644 --- a/third_party/WebKit/Source/core/loader/BaseFetchContext.cpp +++ b/third_party/WebKit/Source/core/loader/BaseFetchContext.cpp
@@ -4,8 +4,18 @@ #include "core/loader/BaseFetchContext.h" -#include "core/frame/csp/ContentSecurityPolicy.h" +#include "core/dom/ExecutionContext.h" +#include "core/frame/ContentSettingsClient.h" +#include "core/frame/Settings.h" #include "core/inspector/ConsoleMessage.h" +#include "core/loader/SubresourceFilter.h" +#include "core/loader/private/FrameClientHintsPreferencesContext.h" +#include "platform/exported/WrappedResourceRequest.h" +#include "platform/loader/fetch/FetchInitiatorTypeNames.h" +#include "platform/loader/fetch/Resource.h" +#include "platform/loader/fetch/ResourceLoadPriority.h" +#include "platform/loader/fetch/ResourceLoadingLog.h" +#include "platform/weborigin/SchemeRegistry.h" #include "platform/weborigin/SecurityPolicy.h" namespace blink { @@ -43,6 +53,63 @@ return execution_context_ ? execution_context_->GetSecurityOrigin() : nullptr; } +ResourceRequestBlockedReason BaseFetchContext::CanRequest( + Resource::Type type, + const ResourceRequest& resource_request, + const KURL& url, + const ResourceLoaderOptions& options, + SecurityViolationReportingPolicy reporting_policy, + FetchParameters::OriginRestriction origin_restriction) const { + ResourceRequestBlockedReason blocked_reason = CanRequestInternal( + type, resource_request, url, options, reporting_policy, + origin_restriction, resource_request.GetRedirectStatus()); + if (blocked_reason != ResourceRequestBlockedReason::kNone && + reporting_policy == SecurityViolationReportingPolicy::kReport) { + DispatchDidBlockRequest(resource_request, options.initiator_info, + blocked_reason); + } + return blocked_reason; +} + +ResourceRequestBlockedReason BaseFetchContext::CanFollowRedirect( + Resource::Type type, + const ResourceRequest& resource_request, + const KURL& url, + const ResourceLoaderOptions& options, + SecurityViolationReportingPolicy reporting_policy, + FetchParameters::OriginRestriction origin_restriction) const { + // CanRequestInternal checks enforced CSP, so check report-only here to ensure + // that violations are sent. + CheckCSPForRequest(resource_request, url, options, reporting_policy, + RedirectStatus::kFollowedRedirect, + ContentSecurityPolicy::CheckHeaderType::kCheckReportOnly); + return CanRequest(type, resource_request, url, options, reporting_policy, + origin_restriction); +} + +ResourceRequestBlockedReason BaseFetchContext::AllowResponse( + Resource::Type type, + const ResourceRequest& resource_request, + const KURL& url, + const ResourceLoaderOptions& options) const { + // CanRequestInternal only checks enforced policies: check report-only here + // to ensure violations are sent. + CheckCSPForRequest(resource_request, url, options, + SecurityViolationReportingPolicy::kReport, + RedirectStatus::kFollowedRedirect, + ContentSecurityPolicy::CheckHeaderType::kCheckReportOnly); + ResourceRequestBlockedReason blocked_reason = + CanRequestInternal(type, resource_request, url, options, + SecurityViolationReportingPolicy::kReport, + FetchParameters::kUseDefaultOriginRestrictionForType, + RedirectStatus::kFollowedRedirect); + if (blocked_reason != ResourceRequestBlockedReason::kNone) { + DispatchDidBlockRequest(resource_request, options.initiator_info, + blocked_reason); + } + return blocked_reason; +} + void BaseFetchContext::PrintAccessDeniedMessage(const KURL& url) const { if (url.IsNull()) return; @@ -78,6 +145,175 @@ request.AddHTTPHeaderField("CSP", "active"); } +ResourceRequestBlockedReason BaseFetchContext::CheckCSPForRequest( + const ResourceRequest& resource_request, + const KURL& url, + const ResourceLoaderOptions& options, + SecurityViolationReportingPolicy reporting_policy, + ResourceRequest::RedirectStatus redirect_status, + ContentSecurityPolicy::CheckHeaderType check_header_type) const { + if (ShouldBypassMainWorldCSP() || options.content_security_policy_option == + kDoNotCheckContentSecurityPolicy) { + return ResourceRequestBlockedReason::kNone; + } + + if (execution_context_) { + DCHECK(execution_context_->GetContentSecurityPolicy()); + if (!execution_context_->GetContentSecurityPolicy()->AllowRequest( + resource_request.GetRequestContext(), url, + options.content_security_policy_nonce, options.integrity_metadata, + options.parser_disposition, redirect_status, reporting_policy, + check_header_type)) + return ResourceRequestBlockedReason::CSP; + } + return ResourceRequestBlockedReason::kNone; +} + +ResourceRequestBlockedReason BaseFetchContext::CanRequestInternal( + Resource::Type type, + const ResourceRequest& resource_request, + const KURL& url, + const ResourceLoaderOptions& options, + SecurityViolationReportingPolicy reporting_policy, + FetchParameters::OriginRestriction origin_restriction, + ResourceRequest::RedirectStatus redirect_status) const { + if (ShouldBlockRequestByInspector(resource_request)) + return ResourceRequestBlockedReason::kInspector; + + SecurityOrigin* security_origin = options.security_origin.Get(); + if (!security_origin && execution_context_) + security_origin = execution_context_->GetSecurityOrigin(); + + if (origin_restriction != FetchParameters::kNoOriginRestriction && + security_origin && !security_origin->CanDisplay(url)) { + if (reporting_policy == SecurityViolationReportingPolicy::kReport) + ReportLocalLoadFailed(url); + RESOURCE_LOADING_DVLOG(1) << "ResourceFetcher::requestResource URL was not " + "allowed by SecurityOrigin::CanDisplay"; + return ResourceRequestBlockedReason::kOther; + } + + // Some types of resources can be loaded only from the same origin. Other + // types of resources, like Images, Scripts, and CSS, can be loaded from + // any URL. + switch (type) { + case Resource::kMainResource: + case Resource::kImage: + case Resource::kCSSStyleSheet: + case Resource::kScript: + case Resource::kFont: + case Resource::kRaw: + case Resource::kLinkPrefetch: + case Resource::kTextTrack: + case Resource::kImportResource: + case Resource::kMedia: + case Resource::kManifest: + case Resource::kMock: + // By default these types of resources can be loaded from any origin. + // FIXME: Are we sure about Resource::kFont? + if (origin_restriction == FetchParameters::kRestrictToSameOrigin && + !security_origin->CanRequest(url)) { + PrintAccessDeniedMessage(url); + return ResourceRequestBlockedReason::kOrigin; + } + break; + case Resource::kXSLStyleSheet: + DCHECK(RuntimeEnabledFeatures::xsltEnabled()); + case Resource::kSVGDocument: + if (!security_origin->CanRequest(url)) { + PrintAccessDeniedMessage(url); + return ResourceRequestBlockedReason::kOrigin; + } + break; + } + + // We check the 'report-only' headers before upgrading the request (in + // populateResourceRequest). We check the enforced headers here to ensure we + // block things we ought to block. + if (CheckCSPForRequest( + resource_request, url, options, reporting_policy, redirect_status, + ContentSecurityPolicy::CheckHeaderType::kCheckEnforce) == + ResourceRequestBlockedReason::CSP) { + return ResourceRequestBlockedReason::CSP; + } + + if (type == Resource::kScript || type == Resource::kImportResource) { + if (GetContentSettingsClient() && + !GetContentSettingsClient()->AllowScriptFromSource( + !GetSettings() || GetSettings()->GetScriptEnabled(), url)) { + GetContentSettingsClient()->DidNotAllowScript(); + // TODO(estark): Use a different ResourceRequestBlockedReason here, since + // this check has nothing to do with CSP. https://crbug.com/600795 + return ResourceRequestBlockedReason::CSP; + } + } + + // SVG Images have unique security rules that prevent all subresource requests + // except for data urls. + if (type != Resource::kMainResource && IsSVGImageChromeClient() && + !url.ProtocolIsData()) + return ResourceRequestBlockedReason::kOrigin; + + // Measure the number of legacy URL schemes ('ftp://') and the number of + // embedded-credential ('http://user:password@...') resources embedded as + // subresources. + if (resource_request.GetFrameType() != WebURLRequest::kFrameTypeTopLevel) { + if (GetMainResourceSecurityContext() && + SchemeRegistry::ShouldTreatURLSchemeAsLegacy(url.Protocol()) && + !SchemeRegistry::ShouldTreatURLSchemeAsLegacy( + GetMainResourceSecurityContext() + ->GetSecurityOrigin() + ->Protocol())) { + CountDeprecation(UseCounter::kLegacyProtocolEmbeddedAsSubresource); + + // TODO(mkwst): Enabled by default in M59. Drop the runtime-enabled check + // in M60: https://www.chromestatus.com/feature/5709390967472128 + if (RuntimeEnabledFeatures::blockLegacySubresourcesEnabled()) + return ResourceRequestBlockedReason::kOrigin; + } + + if ((!url.User().IsEmpty() || !url.Pass().IsEmpty()) && + resource_request.GetRequestContext() != + WebURLRequest::kRequestContextXMLHttpRequest) { + CountDeprecation( + UseCounter::kRequestedSubresourceWithEmbeddedCredentials); + // TODO(mkwst): Remove the runtime-enabled check in M59: + // https://www.chromestatus.com/feature/5669008342777856 + if (RuntimeEnabledFeatures::blockCredentialedSubresourcesEnabled()) + return ResourceRequestBlockedReason::kOrigin; + } + } + + // Check for mixed content. We do this second-to-last so that when folks block + // mixed content with a CSP policy, they don't get a warning. They'll still + // get a warning in the console about CSP blocking the load. + if (ShouldBlockFetchByMixedContentCheck(resource_request, url, + reporting_policy)) + return ResourceRequestBlockedReason::kMixedContent; + + if (url.WhitespaceRemoved()) { + CountDeprecation(UseCounter::kCanRequestURLHTTPContainingNewline); + if (url.ProtocolIsInHTTPFamily()) { + if (RuntimeEnabledFeatures::restrictCanRequestURLCharacterSetEnabled()) + return ResourceRequestBlockedReason::kOther; + } else { + CountUsage(UseCounter::kCanRequestURLNonHTTPContainingNewline); + } + } + + // Let the client have the final say into whether or not the load should + // proceed. + if (GetSubresourceFilter() && type != Resource::kMainResource && + type != Resource::kImportResource) { + if (!GetSubresourceFilter()->AllowLoad( + url, resource_request.GetRequestContext(), reporting_policy)) { + return ResourceRequestBlockedReason::kSubresourceFilter; + } + } + + return ResourceRequestBlockedReason::kNone; +} + DEFINE_TRACE(BaseFetchContext) { visitor->Trace(execution_context_); FetchContext::Trace(visitor);
diff --git a/third_party/WebKit/Source/core/loader/BaseFetchContext.h b/third_party/WebKit/Source/core/loader/BaseFetchContext.h index 724233fe..ad4dfbc 100644 --- a/third_party/WebKit/Source/core/loader/BaseFetchContext.h +++ b/third_party/WebKit/Source/core/loader/BaseFetchContext.h
@@ -6,13 +6,22 @@ #define BaseFetchContext_h #include "core/CoreExport.h" -#include "core/dom/ExecutionContext.h" +#include "core/frame/UseCounter.h" +#include "core/frame/csp/ContentSecurityPolicy.h" #include "platform/heap/Handle.h" #include "platform/loader/fetch/FetchContext.h" #include "platform/loader/fetch/ResourceRequest.h" namespace blink { +class ContentSettingsClient; +class ExecutionContext; +class SecurityContext; +class Settings; +class SubresourceFilter; + +// A core-level implementaiton of FetchContext that does not depend on +// Frame. This class provides basic default implementation for some methods. class CORE_EXPORT BaseFetchContext : public FetchContext { public: explicit BaseFetchContext(ExecutionContext*); @@ -20,13 +29,77 @@ void AddAdditionalRequestHeaders(ResourceRequest&, FetchResourceType) override; + ResourceRequestBlockedReason CanRequest( + Resource::Type, + const ResourceRequest&, + const KURL&, + const ResourceLoaderOptions&, + SecurityViolationReportingPolicy, + FetchParameters::OriginRestriction) const override; + ResourceRequestBlockedReason CanFollowRedirect( + Resource::Type, + const ResourceRequest&, + const KURL&, + const ResourceLoaderOptions&, + SecurityViolationReportingPolicy, + FetchParameters::OriginRestriction) const override; + ResourceRequestBlockedReason AllowResponse( + Resource::Type, + const ResourceRequest&, + const KURL&, + const ResourceLoaderOptions&) const override; SecurityOrigin* GetSecurityOrigin() const override; DECLARE_VIRTUAL_TRACE(); protected: + // Used for security checks. It is valid that they return nullptr, + // while returning nullptr may result in disable some security checks. + virtual ContentSettingsClient* GetContentSettingsClient() const = 0; + virtual Settings* GetSettings() const = 0; + virtual SubresourceFilter* GetSubresourceFilter() const = 0; + virtual SecurityContext* GetMainResourceSecurityContext() const = 0; + + // Note: subclasses are expected to override following methods. + // Used in the default implementation for CanRequest, CanFollowRedirect + // and AllowResponse. + virtual bool ShouldBlockRequestByInspector(const ResourceRequest&) const = 0; + virtual void DispatchDidBlockRequest(const ResourceRequest&, + const FetchInitiatorInfo&, + ResourceRequestBlockedReason) const = 0; + // TODO(kinuko): Consider implementing this on ExecutionContext and + // remove this virtual method. + virtual void ReportLocalLoadFailed(const KURL&) const = 0; + virtual bool ShouldBypassMainWorldCSP() const = 0; + virtual bool IsSVGImageChromeClient() const = 0; + virtual void CountUsage(UseCounter::Feature) const = 0; + virtual void CountDeprecation(UseCounter::Feature) const = 0; + virtual bool ShouldBlockFetchByMixedContentCheck( + const ResourceRequest&, + const KURL&, + SecurityViolationReportingPolicy) const = 0; + + // Utility method that can be used to implement other methods. void PrintAccessDeniedMessage(const KURL&) const; void AddCSPHeaderIfNecessary(Resource::Type, ResourceRequest&); + ResourceRequestBlockedReason CheckCSPForRequest( + const ResourceRequest&, + const KURL&, + const ResourceLoaderOptions&, + SecurityViolationReportingPolicy, + ResourceRequest::RedirectStatus, + ContentSecurityPolicy::CheckHeaderType) const; + + // Utility methods that are used in default implement for CanRequest, + // CanFollowRedirect and AllowResponse. + ResourceRequestBlockedReason CanRequestInternal( + Resource::Type, + const ResourceRequest&, + const KURL&, + const ResourceLoaderOptions&, + SecurityViolationReportingPolicy, + FetchParameters::OriginRestriction, + ResourceRequest::RedirectStatus) const; // FIXME: Oilpan: Ideally this should just be a traced Member but that will // currently leak because ComputedStyle and its data are not on the heap.
diff --git a/third_party/WebKit/Source/core/loader/BaseFetchContextTest.cpp b/third_party/WebKit/Source/core/loader/BaseFetchContextTest.cpp index 93b79ae..2e2411c 100644 --- a/third_party/WebKit/Source/core/loader/BaseFetchContextTest.cpp +++ b/third_party/WebKit/Source/core/loader/BaseFetchContextTest.cpp
@@ -37,11 +37,47 @@ namespace blink { +class MockBaseFetchContext final : public BaseFetchContext { + public: + explicit MockBaseFetchContext(ExecutionContext* execution_context) + : BaseFetchContext(execution_context) {} + ~MockBaseFetchContext() override {} + + // BaseFetchContext overrides: + ContentSettingsClient* GetContentSettingsClient() const override { + return nullptr; + } + Settings* GetSettings() const override { return nullptr; } + SubresourceFilter* GetSubresourceFilter() const override { return nullptr; } + SecurityContext* GetMainResourceSecurityContext() const override { + return nullptr; + } + bool ShouldBlockRequestByInspector(const ResourceRequest&) const override { + return false; + } + void DispatchDidBlockRequest(const ResourceRequest&, + const FetchInitiatorInfo&, + ResourceRequestBlockedReason) const override {} + void ReportLocalLoadFailed(const KURL&) const override {} + bool ShouldBypassMainWorldCSP() const override { return false; } + bool IsSVGImageChromeClient() const override { return false; } + void CountUsage(UseCounter::Feature) const override {} + void CountDeprecation(UseCounter::Feature) const override {} + bool ShouldBlockFetchByMixedContentCheck( + const ResourceRequest&, + const KURL&, + SecurityViolationReportingPolicy) const override { + return false; + } +}; + class BaseFetchContextTest : public ::testing::Test { protected: void SetUp() override { execution_context_ = new NullExecutionContext(); - fetch_context_ = new BaseFetchContext(execution_context_); + static_cast<NullExecutionContext*>(execution_context_.Get()) + ->SetUpSecurityContext(); + fetch_context_ = new MockBaseFetchContext(execution_context_); } Persistent<ExecutionContext> execution_context_; @@ -183,4 +219,46 @@ } } +// Tests that CanFollowRedirect() checks both report-only and enforced CSP +// headers. +TEST_F(BaseFetchContextTest, RedirectChecksReportedAndEnforcedCSP) { + ContentSecurityPolicy* policy = + execution_context_->GetContentSecurityPolicy(); + policy->DidReceiveHeader("script-src https://foo.test", + kContentSecurityPolicyHeaderTypeEnforce, + kContentSecurityPolicyHeaderSourceHTTP); + policy->DidReceiveHeader("script-src https://bar.test", + kContentSecurityPolicyHeaderTypeReport, + kContentSecurityPolicyHeaderSourceHTTP); + KURL url(KURL(), "http://baz.test"); + ResourceRequest resource_request(url); + resource_request.SetRequestContext(WebURLRequest::kRequestContextScript); + EXPECT_EQ( + ResourceRequestBlockedReason::CSP, + fetch_context_->CanFollowRedirect( + Resource::kScript, resource_request, url, ResourceLoaderOptions(), + SecurityViolationReportingPolicy::kReport, + FetchParameters::kUseDefaultOriginRestrictionForType)); + EXPECT_EQ(2u, policy->violation_reports_sent_.size()); +} + +// Tests that AllowResponse() checks both report-only and enforced CSP headers. +TEST_F(BaseFetchContextTest, AllowResponseChecksReportedAndEnforcedCSP) { + ContentSecurityPolicy* policy = + execution_context_->GetContentSecurityPolicy(); + policy->DidReceiveHeader("script-src https://foo.test", + kContentSecurityPolicyHeaderTypeEnforce, + kContentSecurityPolicyHeaderSourceHTTP); + policy->DidReceiveHeader("script-src https://bar.test", + kContentSecurityPolicyHeaderTypeReport, + kContentSecurityPolicyHeaderSourceHTTP); + KURL url(KURL(), "http://baz.test"); + ResourceRequest resource_request(url); + resource_request.SetRequestContext(WebURLRequest::kRequestContextScript); + EXPECT_EQ(ResourceRequestBlockedReason::CSP, + fetch_context_->AllowResponse(Resource::kScript, resource_request, + url, ResourceLoaderOptions())); + EXPECT_EQ(2u, policy->violation_reports_sent_.size()); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp index 295d433..8471c7f 100644 --- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp +++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
@@ -337,10 +337,6 @@ return GetFrame()->Client(); } -ContentSettingsClient* FrameFetchContext::GetContentSettingsClient() const { - return GetFrame()->GetContentSettingsClient(); -} - void FrameFetchContext::AddAdditionalRequestHeaders(ResourceRequest& request, FetchResourceType type) { BaseFetchContext::AddAdditionalRequestHeaders(request, type); @@ -637,244 +633,6 @@ return GetContentSettingsClient()->AllowImage(images_enabled, url); } -ResourceRequestBlockedReason FrameFetchContext::CanRequest( - Resource::Type type, - const ResourceRequest& resource_request, - const KURL& url, - const ResourceLoaderOptions& options, - SecurityViolationReportingPolicy reporting_policy, - FetchParameters::OriginRestriction origin_restriction) const { - ResourceRequestBlockedReason blocked_reason = CanRequestInternal( - type, resource_request, url, options, reporting_policy, - origin_restriction, resource_request.GetRedirectStatus()); - if (blocked_reason != ResourceRequestBlockedReason::kNone && - reporting_policy == SecurityViolationReportingPolicy::kReport) { - probe::didBlockRequest(GetFrame(), resource_request, MasterDocumentLoader(), - options.initiator_info, blocked_reason); - } - return blocked_reason; -} - -ResourceRequestBlockedReason FrameFetchContext::CanFollowRedirect( - Resource::Type type, - const ResourceRequest& resource_request, - const KURL& url, - const ResourceLoaderOptions& options, - SecurityViolationReportingPolicy reporting_policy, - FetchParameters::OriginRestriction origin_restriction) const { - // CanRequestInternal checks enforced CSP, so check report-only here to ensure - // that violations are sent. - CheckCSPForRequest(resource_request, url, options, reporting_policy, - RedirectStatus::kFollowedRedirect, - ContentSecurityPolicy::CheckHeaderType::kCheckReportOnly); - return CanRequest(type, resource_request, url, options, reporting_policy, - origin_restriction); -} - -ResourceRequestBlockedReason FrameFetchContext::AllowResponse( - Resource::Type type, - const ResourceRequest& resource_request, - const KURL& url, - const ResourceLoaderOptions& options) const { - // canRequestInternal only checks enforced policies: check report-only here - // to ensure violations are sent. - CheckCSPForRequest(resource_request, url, options, - SecurityViolationReportingPolicy::kReport, - RedirectStatus::kFollowedRedirect, - ContentSecurityPolicy::CheckHeaderType::kCheckReportOnly); - ResourceRequestBlockedReason blocked_reason = - CanRequestInternal(type, resource_request, url, options, - SecurityViolationReportingPolicy::kReport, - FetchParameters::kUseDefaultOriginRestrictionForType, - RedirectStatus::kFollowedRedirect); - if (blocked_reason != ResourceRequestBlockedReason::kNone) { - probe::didBlockRequest(GetFrame(), resource_request, MasterDocumentLoader(), - options.initiator_info, blocked_reason); - } - return blocked_reason; -} - -ResourceRequestBlockedReason FrameFetchContext::CanRequestInternal( - Resource::Type type, - const ResourceRequest& resource_request, - const KURL& url, - const ResourceLoaderOptions& options, - SecurityViolationReportingPolicy reporting_policy, - FetchParameters::OriginRestriction origin_restriction, - ResourceRequest::RedirectStatus redirect_status) const { - bool should_block_request = false; - probe::shouldBlockRequest(GetFrame(), resource_request, - &should_block_request); - if (should_block_request) - return ResourceRequestBlockedReason::kInspector; - - SecurityOrigin* security_origin = options.security_origin.Get(); - if (!security_origin && execution_context_) - security_origin = execution_context_->GetSecurityOrigin(); - - if (origin_restriction != FetchParameters::kNoOriginRestriction && - security_origin && !security_origin->CanDisplay(url)) { - if (reporting_policy == SecurityViolationReportingPolicy::kReport) - FrameLoader::ReportLocalLoadFailed(GetFrame(), url.ElidedString()); - RESOURCE_LOADING_DVLOG(1) << "ResourceFetcher::requestResource URL was not " - "allowed by SecurityOrigin::canDisplay"; - return ResourceRequestBlockedReason::kOther; - } - - // Some types of resources can be loaded only from the same origin. Other - // types of resources, like Images, Scripts, and CSS, can be loaded from - // any URL. - switch (type) { - case Resource::kMainResource: - case Resource::kImage: - case Resource::kCSSStyleSheet: - case Resource::kScript: - case Resource::kFont: - case Resource::kRaw: - case Resource::kLinkPrefetch: - case Resource::kTextTrack: - case Resource::kImportResource: - case Resource::kMedia: - case Resource::kManifest: - case Resource::kMock: - // By default these types of resources can be loaded from any origin. - // FIXME: Are we sure about Resource::Font? - if (origin_restriction == FetchParameters::kRestrictToSameOrigin && - !security_origin->CanRequest(url)) { - PrintAccessDeniedMessage(url); - return ResourceRequestBlockedReason::kOrigin; - } - break; - case Resource::kXSLStyleSheet: - DCHECK(RuntimeEnabledFeatures::xsltEnabled()); - case Resource::kSVGDocument: - if (!security_origin->CanRequest(url)) { - PrintAccessDeniedMessage(url); - return ResourceRequestBlockedReason::kOrigin; - } - break; - } - - // We check the 'report-only' headers before upgrading the request (in - // populateResourceRequest). We check the enforced headers here to ensure we - // block things we ought to block. - if (CheckCSPForRequest( - resource_request, url, options, reporting_policy, redirect_status, - ContentSecurityPolicy::CheckHeaderType::kCheckEnforce) == - ResourceRequestBlockedReason::CSP) { - return ResourceRequestBlockedReason::CSP; - } - - if (type == Resource::kScript || type == Resource::kImportResource) { - DCHECK(GetFrame()); - if (!GetContentSettingsClient()->AllowScriptFromSource( - !GetFrame()->GetSettings() || - GetFrame()->GetSettings()->GetScriptEnabled(), - url)) { - GetContentSettingsClient()->DidNotAllowScript(); - // TODO(estark): Use a different ResourceRequestBlockedReason here, since - // this check has nothing to do with CSP. https://crbug.com/600795 - return ResourceRequestBlockedReason::CSP; - } - } - - // SVG Images have unique security rules that prevent all subresource requests - // except for data urls. - if (type != Resource::kMainResource && - GetFrame()->GetChromeClient().IsSVGImageChromeClient() && - !url.ProtocolIsData()) - return ResourceRequestBlockedReason::kOrigin; - - // Measure the number of legacy URL schemes ('ftp://') and the number of - // embedded-credential ('http://user:password@...') resources embedded as - // subresources. - if (resource_request.GetFrameType() != WebURLRequest::kFrameTypeTopLevel) { - DCHECK(GetFrame()->GetDocument()); - if (SchemeRegistry::ShouldTreatURLSchemeAsLegacy(url.Protocol()) && - !SchemeRegistry::ShouldTreatURLSchemeAsLegacy( - GetFrame()->GetDocument()->GetSecurityOrigin()->Protocol())) { - Deprecation::CountDeprecation( - GetFrame()->GetDocument(), - UseCounter::kLegacyProtocolEmbeddedAsSubresource); - - // TODO(mkwst): Enabled by default in M59. Drop the runtime-enabled check - // in M60: https://www.chromestatus.com/feature/5709390967472128 - if (RuntimeEnabledFeatures::blockLegacySubresourcesEnabled()) - return ResourceRequestBlockedReason::kOrigin; - } - - if ((!url.User().IsEmpty() || !url.Pass().IsEmpty()) && - resource_request.GetRequestContext() != - WebURLRequest::kRequestContextXMLHttpRequest) { - Deprecation::CountDeprecation( - GetFrame()->GetDocument(), - UseCounter::kRequestedSubresourceWithEmbeddedCredentials); - // TODO(mkwst): Remove the runtime-enabled check in M59: - // https://www.chromestatus.com/feature/5669008342777856 - if (RuntimeEnabledFeatures::blockCredentialedSubresourcesEnabled()) - return ResourceRequestBlockedReason::kOrigin; - } - } - - // Check for mixed content. We do this second-to-last so that when folks block - // mixed content with a CSP policy, they don't get a warning. They'll still - // get a warning in the console about CSP blocking the load. - if (MixedContentChecker::ShouldBlockFetch(GetFrame(), resource_request, url, - reporting_policy)) - return ResourceRequestBlockedReason::kMixedContent; - - if (url.WhitespaceRemoved()) { - Deprecation::CountDeprecation( - GetFrame()->GetDocument(), - UseCounter::kCanRequestURLHTTPContainingNewline); - if (url.ProtocolIsInHTTPFamily()) { - if (RuntimeEnabledFeatures::restrictCanRequestURLCharacterSetEnabled()) - return ResourceRequestBlockedReason::kOther; - } else { - UseCounter::Count(GetFrame()->GetDocument(), - UseCounter::kCanRequestURLNonHTTPContainingNewline); - } - } - - // Let the client have the final say into whether or not the load should - // proceed. - DocumentLoader* document_loader = MasterDocumentLoader(); - if (document_loader && document_loader->GetSubresourceFilter() && - type != Resource::kMainResource && type != Resource::kImportResource) { - if (!document_loader->GetSubresourceFilter()->AllowLoad( - url, resource_request.GetRequestContext(), reporting_policy)) { - return ResourceRequestBlockedReason::kSubresourceFilter; - } - } - - return ResourceRequestBlockedReason::kNone; -} - -ResourceRequestBlockedReason FrameFetchContext::CheckCSPForRequest( - const ResourceRequest& resource_request, - const KURL& url, - const ResourceLoaderOptions& options, - SecurityViolationReportingPolicy reporting_policy, - ResourceRequest::RedirectStatus redirect_status, - ContentSecurityPolicy::CheckHeaderType check_header_type) const { - if (GetFrame()->GetScriptController().ShouldBypassMainWorldCSP() || - options.content_security_policy_option == - kDoNotCheckContentSecurityPolicy) { - return ResourceRequestBlockedReason::kNone; - } - - if (execution_context_) { - DCHECK(execution_context_->GetContentSecurityPolicy()); - if (!execution_context_->GetContentSecurityPolicy()->AllowRequest( - resource_request.GetRequestContext(), url, - options.content_security_policy_nonce, options.integrity_metadata, - options.parser_disposition, redirect_status, reporting_policy, - check_header_type)) - return ResourceRequestBlockedReason::CSP; - } - return ResourceRequestBlockedReason::kNone; -} - bool FrameFetchContext::IsControlledByServiceWorker() const { DCHECK(MasterDocumentLoader()); @@ -1082,6 +840,69 @@ return GetFrame()->FrameScheduler()->LoadingTaskRunner(); } +ContentSettingsClient* FrameFetchContext::GetContentSettingsClient() const { + return GetFrame()->GetContentSettingsClient(); +} + +Settings* FrameFetchContext::GetSettings() const { + DCHECK(GetFrame()); + return GetFrame()->GetSettings(); +} + +SubresourceFilter* FrameFetchContext::GetSubresourceFilter() const { + DocumentLoader* document_loader = MasterDocumentLoader(); + return document_loader ? document_loader->GetSubresourceFilter() : nullptr; +} + +SecurityContext* FrameFetchContext::GetMainResourceSecurityContext() const { + DCHECK(GetFrame()->GetDocument()); + return GetFrame()->GetDocument(); +} + +bool FrameFetchContext::ShouldBlockRequestByInspector( + const ResourceRequest& resource_request) const { + bool should_block_request = false; + probe::shouldBlockRequest(GetFrame(), resource_request, + &should_block_request); + return should_block_request; +} + +void FrameFetchContext::DispatchDidBlockRequest( + const ResourceRequest& resource_request, + const FetchInitiatorInfo& fetch_initiator_info, + ResourceRequestBlockedReason blocked_reason) const { + probe::didBlockRequest(GetFrame(), resource_request, MasterDocumentLoader(), + fetch_initiator_info, blocked_reason); +} + +void FrameFetchContext::ReportLocalLoadFailed(const KURL& url) const { + FrameLoader::ReportLocalLoadFailed(GetFrame(), url.ElidedString()); +} + +bool FrameFetchContext::ShouldBypassMainWorldCSP() const { + return GetFrame()->GetScriptController().ShouldBypassMainWorldCSP(); +} + +bool FrameFetchContext::IsSVGImageChromeClient() const { + return GetFrame()->GetChromeClient().IsSVGImageChromeClient(); +} + +void FrameFetchContext::CountUsage(UseCounter::Feature feature) const { + UseCounter::Count(GetFrame()->GetDocument(), feature); +} + +void FrameFetchContext::CountDeprecation(UseCounter::Feature feature) const { + Deprecation::CountDeprecation(GetFrame()->GetDocument(), feature); +} + +bool FrameFetchContext::ShouldBlockFetchByMixedContentCheck( + const ResourceRequest& resource_request, + const KURL& url, + SecurityViolationReportingPolicy reporting_policy) const { + return MixedContentChecker::ShouldBlockFetch(GetFrame(), resource_request, + url, reporting_policy); +} + DEFINE_TRACE(FrameFetchContext) { visitor->Trace(document_loader_); BaseFetchContext::Trace(visitor);
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.h b/third_party/WebKit/Source/core/loader/FrameFetchContext.h index 6f43e8b..9f81a50 100644 --- a/third_party/WebKit/Source/core/loader/FrameFetchContext.h +++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.h
@@ -118,26 +118,6 @@ void AddResourceTiming(const ResourceTimingInfo&) override; bool AllowImage(bool images_enabled, const KURL&) const override; - ResourceRequestBlockedReason CanRequest( - Resource::Type, - const ResourceRequest&, - const KURL&, - const ResourceLoaderOptions&, - SecurityViolationReportingPolicy, - FetchParameters::OriginRestriction) const override; - ResourceRequestBlockedReason CanFollowRedirect( - Resource::Type, - const ResourceRequest&, - const KURL&, - const ResourceLoaderOptions&, - SecurityViolationReportingPolicy, - FetchParameters::OriginRestriction) const override; - ResourceRequestBlockedReason AllowResponse( - Resource::Type, - const ResourceRequest&, - const KURL&, - const ResourceLoaderOptions&) const override; - bool IsControlledByServiceWorker() const override; int64_t ServiceWorkerID() const override; @@ -186,27 +166,26 @@ Document* GetDocument() const; LocalFrame* GetFrame() const; LocalFrameClient* GetLocalFrameClient() const; - - ContentSettingsClient* GetContentSettingsClient() const; - LocalFrame* FrameOfImportsController() const; - ResourceRequestBlockedReason CanRequestInternal( - Resource::Type, + // BaseFetchContext overrides: + ContentSettingsClient* GetContentSettingsClient() const override; + Settings* GetSettings() const override; + SubresourceFilter* GetSubresourceFilter() const override; + SecurityContext* GetMainResourceSecurityContext() const override; + bool ShouldBlockRequestByInspector(const ResourceRequest&) const override; + void DispatchDidBlockRequest(const ResourceRequest&, + const FetchInitiatorInfo&, + ResourceRequestBlockedReason) const override; + void ReportLocalLoadFailed(const KURL&) const override; + bool ShouldBypassMainWorldCSP() const override; + bool IsSVGImageChromeClient() const override; + void CountUsage(UseCounter::Feature) const override; + void CountDeprecation(UseCounter::Feature) const override; + bool ShouldBlockFetchByMixedContentCheck( const ResourceRequest&, const KURL&, - const ResourceLoaderOptions&, - SecurityViolationReportingPolicy, - FetchParameters::OriginRestriction, - ResourceRequest::RedirectStatus) const; - - ResourceRequestBlockedReason CheckCSPForRequest( - const ResourceRequest&, - const KURL&, - const ResourceLoaderOptions&, - SecurityViolationReportingPolicy, - ResourceRequest::RedirectStatus, - ContentSecurityPolicy::CheckHeaderType) const; + SecurityViolationReportingPolicy) const override; Member<DocumentLoader> document_loader_; };
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp index 3d65c243..c520331 100644 --- a/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp +++ b/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
@@ -469,46 +469,6 @@ } } -// Tests that CanFollowRedirect() checks both report-only and enforced CSP -// headers. -TEST_F(FrameFetchContextTest, RedirectChecksReportedAndEnforcedCSP) { - ContentSecurityPolicy* policy = document->GetContentSecurityPolicy(); - policy->DidReceiveHeader("script-src https://foo.test", - kContentSecurityPolicyHeaderTypeEnforce, - kContentSecurityPolicyHeaderSourceHTTP); - policy->DidReceiveHeader("script-src https://bar.test", - kContentSecurityPolicyHeaderTypeReport, - kContentSecurityPolicyHeaderSourceHTTP); - KURL url(KURL(), "http://baz.test"); - ResourceRequest resource_request(url); - resource_request.SetRequestContext(WebURLRequest::kRequestContextScript); - EXPECT_EQ( - ResourceRequestBlockedReason::CSP, - fetch_context->CanFollowRedirect( - Resource::kScript, resource_request, url, ResourceLoaderOptions(), - SecurityViolationReportingPolicy::kReport, - FetchParameters::kUseDefaultOriginRestrictionForType)); - EXPECT_EQ(2u, policy->violation_reports_sent_.size()); -} - -// Tests that AllowResponse() checks both report-only and enforced CSP headers. -TEST_F(FrameFetchContextTest, AllowResponseChecksReportedAndEnforcedCSP) { - ContentSecurityPolicy* policy = document->GetContentSecurityPolicy(); - policy->DidReceiveHeader("script-src https://foo.test", - kContentSecurityPolicyHeaderTypeEnforce, - kContentSecurityPolicyHeaderSourceHTTP); - policy->DidReceiveHeader("script-src https://bar.test", - kContentSecurityPolicyHeaderTypeReport, - kContentSecurityPolicyHeaderSourceHTTP); - KURL url(KURL(), "http://baz.test"); - ResourceRequest resource_request(url); - resource_request.SetRequestContext(WebURLRequest::kRequestContextScript); - EXPECT_EQ(ResourceRequestBlockedReason::CSP, - fetch_context->AllowResponse(Resource::kScript, resource_request, - url, ResourceLoaderOptions())); - EXPECT_EQ(2u, policy->violation_reports_sent_.size()); -} - // Tests that PopulateResourceRequest() checks report-only CSP headers, so that // any violations are reported before the request is modified. TEST_F(FrameFetchContextTest, PopulateResourceRequestChecksReportOnlyCSP) {
diff --git a/third_party/WebKit/Source/core/loader/SubresourceFilter.cpp b/third_party/WebKit/Source/core/loader/SubresourceFilter.cpp index 0b490d6..4b38f38e 100644 --- a/third_party/WebKit/Source/core/loader/SubresourceFilter.cpp +++ b/third_party/WebKit/Source/core/loader/SubresourceFilter.cpp
@@ -5,7 +5,6 @@ #include "core/loader/SubresourceFilter.h" #include "core/dom/TaskRunnerHelper.h" -#include "core/loader/DocumentLoader.h" #include "platform/WebTaskRunner.h" #include "platform/weborigin/KURL.h" #include "public/platform/WebTraceLocation.h"
diff --git a/third_party/WebKit/Source/core/loader/SubresourceFilter.h b/third_party/WebKit/Source/core/loader/SubresourceFilter.h index 1a6edd5..2910719 100644 --- a/third_party/WebKit/Source/core/loader/SubresourceFilter.h +++ b/third_party/WebKit/Source/core/loader/SubresourceFilter.h
@@ -8,6 +8,7 @@ #include <memory> #include "core/CoreExport.h" +#include "core/loader/DocumentLoader.h" #include "platform/heap/Handle.h" #include "platform/weborigin/SecurityViolationReportingPolicy.h" #include "public/platform/WebDocumentSubresourceFilter.h" @@ -15,7 +16,6 @@ namespace blink { -class DocumentLoader; class KURL; // Wrapper around a WebDocumentSubresourceFilter. This class will make it easier
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp index a8cd0c3..23d1185d 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
@@ -1991,7 +1991,7 @@ ScrollableArea(), orientation, scrollbar_size, &ScrollableArea()->Box().GetFrame()->GetPage()->GetChromeClient()); } - ScrollableArea()->Box().GetDocument().View()->AddChild(scrollbar); + ScrollableArea()->Box().GetDocument().View()->AddScrollbar(scrollbar); return scrollbar; } @@ -2013,7 +2013,7 @@ if (!scrollbar->IsCustomScrollbar()) ScrollableArea()->WillRemoveScrollbar(*scrollbar, orientation); - ToFrameView(scrollbar->Parent())->RemoveChild(scrollbar.Get()); + ScrollableArea()->Box().GetDocument().View()->RemoveScrollbar(scrollbar); scrollbar->DisconnectFromScrollableArea(); scrollbar = nullptr; }
diff --git a/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp b/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp index 0fcbbe4..edd4f3f9 100644 --- a/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp +++ b/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp
@@ -7,6 +7,7 @@ #include "core/dom/ExecutionContextTask.h" #include "core/events/Event.h" #include "core/frame/DOMTimer.h" +#include "core/frame/csp/ContentSecurityPolicy.h" namespace blink { @@ -45,4 +46,11 @@ return is_secure_context_; } +void NullExecutionContext::SetUpSecurityContext() { + ContentSecurityPolicy* policy = ContentSecurityPolicy::Create(); + SecurityContext::SetSecurityOrigin(SecurityOrigin::Create(dummy_url_)); + policy->BindToExecutionContext(this); + SecurityContext::SetContentSecurityPolicy(policy); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/testing/NullExecutionContext.h b/third_party/WebKit/Source/core/testing/NullExecutionContext.h index 1118449f2..e59db9a 100644 --- a/third_party/WebKit/Source/core/testing/NullExecutionContext.h +++ b/third_party/WebKit/Source/core/testing/NullExecutionContext.h
@@ -52,6 +52,8 @@ String& error_message, const SecureContextCheck = kStandardSecureContextCheck) const override; + void SetUpSecurityContext(); + DEFINE_INLINE_TRACE() { visitor->Trace(queue_); SecurityContext::Trace(visitor);
diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp index f74ae06..23b5eba 100644 --- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
@@ -1352,15 +1352,24 @@ : public CanvasRenderingContext2DTest { protected: void SetUp() override { + platform_ = WTF::MakeUnique<ScopedTestingPlatformSupport< + TestingPlatformSupportWithMockScheduler>>(); override_settings_function_ = &OverrideScriptEnabled; - platform_->AdvanceClockSeconds(1.); // For non-zero DocumentParserTimings. + (*platform_) + ->AdvanceClockSeconds(1.); // For non-zero DocumentParserTimings. CanvasRenderingContext2DTest::SetUp(); GetDocument().View()->UpdateLayout(); } - void RunUntilIdle() { platform_->RunUntilIdle(); } + void TearDown() override { + platform_.reset(); + CanvasRenderingContext2DTest::TearDown(); + } - ScopedTestingPlatformSupport<TestingPlatformSupportWithMockScheduler> + void RunUntilIdle() { (*platform_)->RunUntilIdle(); } + + std::unique_ptr< + ScopedTestingPlatformSupport<TestingPlatformSupportWithMockScheduler>> platform_; }; @@ -1406,6 +1415,7 @@ false); EXPECT_EQ(!!CANVAS2D_HIBERNATION_ENABLED, layer->NeedsCompositingInputsUpdate()); + RunUntilIdle(); // Clear task queue. } } // namespace blink
diff --git a/third_party/WebKit/Source/modules/modules_idl_files.gni b/third_party/WebKit/Source/modules/modules_idl_files.gni index de2bc0b..21ae131 100644 --- a/third_party/WebKit/Source/modules/modules_idl_files.gni +++ b/third_party/WebKit/Source/modules/modules_idl_files.gni
@@ -497,6 +497,7 @@ "peerconnection/RTCConfiguration.idl", "peerconnection/RTCDataChannelEventInit.idl", "peerconnection/RTCDTMFToneChangeEventInit.idl", + "peerconnection/RTCDataChannelInit.idl", "peerconnection/RTCIceCandidateInit.idl", "peerconnection/RTCIceServer.idl", "peerconnection/RTCOfferAnswerOptions.idl", @@ -898,6 +899,8 @@ "$blink_modules_output_dir/peerconnection/RTCDataChannelEventInit.h", "$blink_modules_output_dir/peerconnection/RTCDTMFToneChangeEventInit.cpp", "$blink_modules_output_dir/peerconnection/RTCDTMFToneChangeEventInit.h", + "$blink_modules_output_dir/peerconnection/RTCDataChannelInit.cpp", + "$blink_modules_output_dir/peerconnection/RTCDataChannelInit.h", "$blink_modules_output_dir/peerconnection/RTCIceCandidateInit.cpp", "$blink_modules_output_dir/peerconnection/RTCIceCandidateInit.h", "$blink_modules_output_dir/peerconnection/RTCIceServer.cpp",
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl b/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl index 40b94d7..3daa5c3 100644 --- a/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl +++ b/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl
@@ -4,10 +4,7 @@ // https://w3c.github.io/webrtc-pc/#rtcicetransportpolicy-enum -// TODO(foolip): The spec does not have the "none" value. -// https://crbug.com/659134 enum RTCIceTransportPolicy { - "none", "relay", "all" };
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCDataChannelInit.idl b/third_party/WebKit/Source/modules/peerconnection/RTCDataChannelInit.idl new file mode 100644 index 0000000..6ecbe841 --- /dev/null +++ b/third_party/WebKit/Source/modules/peerconnection/RTCDataChannelInit.idl
@@ -0,0 +1,16 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3c.github.io/webrtc-pc/#idl-def-rtcdatachannelinit + +dictionary RTCDataChannelInit { + boolean ordered = true; + // TODO(guidou): Rename |maxRetransmitTime| to |maxPacketLifeTime|. + // https://crbug.com/696681 + unsigned short maxRetransmitTime; + unsigned short maxRetransmits; + USVString protocol = ""; + boolean negotiated = false; + [EnforceRange] unsigned short id; +};
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp index ce87c6f..f48a69e 100644 --- a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp +++ b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
@@ -64,6 +64,7 @@ #include "modules/peerconnection/RTCDTMFSender.h" #include "modules/peerconnection/RTCDataChannel.h" #include "modules/peerconnection/RTCDataChannelEvent.h" +#include "modules/peerconnection/RTCDataChannelInit.h" #include "modules/peerconnection/RTCIceServer.h" #include "modules/peerconnection/RTCOfferOptions.h" #include "modules/peerconnection/RTCPeerConnectionErrorCallback.h" @@ -223,8 +224,6 @@ }; WebRTCIceTransportPolicy IceTransportPolicyFromString(const String& policy) { - if (policy == "none") - return WebRTCIceTransportPolicy::kNone; if (policy == "relay") return WebRTCIceTransportPolicy::kRelay; DCHECK_EQ(policy, "all"); @@ -242,17 +241,10 @@ UseCounter::Count(context, UseCounter::kRTCConfigurationIceTransportPolicy); ice_transport_policy = IceTransportPolicyFromString(configuration.iceTransportPolicy()); - if (ice_transport_policy == WebRTCIceTransportPolicy::kNone) { - UseCounter::Count(context, - UseCounter::kRTCConfigurationIceTransportPolicyNone); - } } else if (configuration.hasIceTransports()) { UseCounter::Count(context, UseCounter::kRTCConfigurationIceTransports); ice_transport_policy = IceTransportPolicyFromString(configuration.iceTransports()); - if (ice_transport_policy == WebRTCIceTransportPolicy::kNone) - UseCounter::Count(context, - UseCounter::kRTCConfigurationIceTransportsNone); } WebRTCBundlePolicy bundle_policy = WebRTCBundlePolicy::kBalanced; @@ -1214,34 +1206,29 @@ RTCDataChannel* RTCPeerConnection::createDataChannel( ScriptState* script_state, String label, - const Dictionary& options, + const RTCDataChannelInit& data_channel_dict, ExceptionState& exception_state) { if (ThrowExceptionIfSignalingStateClosed(signaling_state_, exception_state)) return nullptr; WebRTCDataChannelInit init; - DictionaryHelper::Get(options, "ordered", init.ordered); - DictionaryHelper::Get(options, "negotiated", init.negotiated); - - unsigned short value = 0; + init.ordered = data_channel_dict.ordered(); ExecutionContext* context = ExecutionContext::From(script_state); - if (DictionaryHelper::Get(options, "id", value)) - init.id = value; - if (DictionaryHelper::Get(options, "maxRetransmits", value)) { - UseCounter::Count( - context, UseCounter::kRTCPeerConnectionCreateDataChannelMaxRetransmits); - init.max_retransmits = value; - } - if (DictionaryHelper::Get(options, "maxRetransmitTime", value)) { + if (data_channel_dict.hasMaxRetransmitTime()) { UseCounter::Count( context, UseCounter::kRTCPeerConnectionCreateDataChannelMaxRetransmitTime); - init.max_retransmit_time = value; + init.max_retransmit_time = data_channel_dict.maxRetransmitTime(); } - - String protocol_string; - DictionaryHelper::Get(options, "protocol", protocol_string); - init.protocol = protocol_string; + if (data_channel_dict.hasMaxRetransmits()) { + UseCounter::Count( + context, UseCounter::kRTCPeerConnectionCreateDataChannelMaxRetransmits); + init.max_retransmits = data_channel_dict.maxRetransmits(); + } + init.protocol = data_channel_dict.protocol(); + init.negotiated = data_channel_dict.negotiated(); + if (data_channel_dict.hasId()) + init.id = data_channel_dict.id(); RTCDataChannel* channel = RTCDataChannel::Create( GetExecutionContext(), peer_handler_.get(), label, init, exception_state);
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h index ba464986..651bbe7 100644 --- a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h +++ b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h
@@ -53,6 +53,7 @@ class RTCConfiguration; class RTCDTMFSender; class RTCDataChannel; +class RTCDataChannelInit; class RTCIceCandidateInitOrRTCIceCandidate; class RTCOfferOptions; class RTCPeerConnectionErrorCallback; @@ -153,7 +154,7 @@ RTCDataChannel* createDataChannel(ScriptState*, String label, - const Dictionary& data_channel_dict, + const RTCDataChannelInit&, ExceptionState&); RTCDTMFSender* createDTMFSender(MediaStreamTrack*, ExceptionState&);
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl index f7d0137..47d1413 100644 --- a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl +++ b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl
@@ -116,9 +116,7 @@ sequence<RTCRtpReceiver> getReceivers(); // https://w3c.github.io/webrtc-pc/#peer-to-peer-data-api - // TODO(guidou): The label argument should have [TreatNullAs=EmptyString] - // and be non-nullable. - [CallWith=ScriptState, RaisesException] RTCDataChannel createDataChannel(DOMString? label, optional Dictionary options); + [CallWith=ScriptState, RaisesException] RTCDataChannel createDataChannel(USVString label, optional RTCDataChannelInit dataChannelDict); attribute EventHandler ondatachannel; // Certificate management
diff --git a/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp b/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp index e2b20e8..c688276 100644 --- a/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp +++ b/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp
@@ -63,18 +63,6 @@ return scrollbar_.Location(); } -FrameViewBase* WebScrollbarThemeClientImpl::Parent() const { - // Unused by Chromium scrollbar themes. - NOTREACHED(); - return 0; -} - -FrameViewBase* WebScrollbarThemeClientImpl::Root() const { - // Unused by Chromium scrollbar themes. - NOTREACHED(); - return 0; -} - void WebScrollbarThemeClientImpl::SetFrameRect(const IntRect&) { // Unused by Chromium scrollbar themes. NOTREACHED();
diff --git a/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h b/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h index 8890fe4..0ce97be 100644 --- a/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h +++ b/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h
@@ -53,8 +53,6 @@ int Height() const override; IntSize Size() const override; IntPoint Location() const override; - FrameViewBase* Parent() const override; - FrameViewBase* Root() const override; void SetFrameRect(const IntRect&) override; IntRect FrameRect() const override; void Invalidate() override;
diff --git a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp index ddc3aff..0cc3aa1 100644 --- a/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp +++ b/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
@@ -63,7 +63,8 @@ &Scrollbar::AutoscrollTimerFired), elastic_overscroll_(0), track_needs_repaint_(true), - thumb_needs_repaint_(true) { + thumb_needs_repaint_(true), + parent_(nullptr) { theme_.RegisterScrollbar(*this); // FIXME: This is ugly and would not be necessary if we fix cross-platform @@ -74,7 +75,7 @@ theme_scrollbar_thickness_ = thickness; if (chrome_client_) thickness = chrome_client_->WindowToViewportScalar(thickness); - FrameViewBase::SetFrameRect(IntRect(0, 0, thickness, thickness)); + frame_rect_ = IntRect(0, 0, thickness, thickness); current_pos_ = ScrollableAreaCurrentPos(); } @@ -86,14 +87,14 @@ DEFINE_TRACE(Scrollbar) { visitor->Trace(scrollable_area_); visitor->Trace(chrome_client_); - FrameViewBase::Trace(visitor); + visitor->Trace(parent_); } void Scrollbar::SetFrameRect(const IntRect& frame_rect) { - if (frame_rect == this->FrameRect()) + if (frame_rect == frame_rect_) return; - FrameViewBase::SetFrameRect(frame_rect); + frame_rect_ = frame_rect; SetNeedsPaintInvalidation(kAllParts); if (scrollable_area_) scrollable_area_->ScrollbarFrameRectChanged();
diff --git a/third_party/WebKit/Source/platform/scroll/Scrollbar.h b/third_party/WebKit/Source/platform/scroll/Scrollbar.h index 12a04266..ecb2b7bc 100644 --- a/third_party/WebKit/Source/platform/scroll/Scrollbar.h +++ b/third_party/WebKit/Source/platform/scroll/Scrollbar.h
@@ -45,7 +45,7 @@ class WebGestureEvent; class WebMouseEvent; -class PLATFORM_EXPORT Scrollbar : public FrameViewBase, +class PLATFORM_EXPORT Scrollbar : public GarbageCollectedFinalized<Scrollbar>, public ScrollbarThemeClient, public DisplayItemClient { public: @@ -68,18 +68,18 @@ ~Scrollbar() override; // ScrollbarThemeClient implementation. - int X() const override { return FrameViewBase::X(); } - int Y() const override { return FrameViewBase::Y(); } - int Width() const override { return FrameViewBase::Width(); } - int Height() const override { return FrameViewBase::Height(); } - IntSize Size() const override { return FrameViewBase::Size(); } - IntPoint Location() const override { return FrameViewBase::Location(); } + int X() const override { return frame_rect_.X(); } + int Y() const override { return frame_rect_.Y(); } + int Width() const override { return frame_rect_.Width(); } + int Height() const override { return frame_rect_.Height(); } + IntSize Size() const override { return frame_rect_.Size(); } + IntPoint Location() const override { return frame_rect_.Location(); } - FrameViewBase* Parent() const override { return FrameViewBase::Parent(); } - FrameViewBase* Root() const override { return FrameViewBase::Root(); } + virtual void SetParent(FrameViewBase* parent) { parent_ = parent; } + FrameViewBase* Parent() const { return parent_; } - void SetFrameRect(const IntRect&) override; - IntRect FrameRect() const override { return FrameViewBase::FrameRect(); } + void SetFrameRect(const IntRect&); + IntRect FrameRect() const override { return frame_rect_; } ScrollbarOverlayColorTheme GetScrollbarOverlayColorTheme() const override; void GetTickmarks(Vector<IntRect>&) const override; @@ -156,7 +156,7 @@ ScrollbarTheme& GetTheme() const { return theme_; } IntRect ConvertToContainingFrameViewBase(const IntRect&) const; - IntPoint ConvertFromContainingFrameViewBase(const IntPoint&) const override; + IntPoint ConvertFromContainingFrameViewBase(const IntPoint&) const; void MoveThumb(int pos, bool dragging_document = false); @@ -239,8 +239,6 @@ float elastic_overscroll_; private: - bool IsScrollbar() const override { return true; } - void Invalidate() override { SetNeedsPaintInvalidation(kAllParts); } void InvalidateRect(const IntRect&) override { SetNeedsPaintInvalidation(kAllParts); @@ -254,14 +252,10 @@ bool track_needs_repaint_; bool thumb_needs_repaint_; LayoutRect visual_rect_; + Member<FrameViewBase> parent_; + IntRect frame_rect_; }; -DEFINE_TYPE_CASTS(Scrollbar, - FrameViewBase, - frameViewBase, - frameViewBase->IsScrollbar(), - frameViewBase.IsScrollbar()); - } // namespace blink #endif // Scrollbar_h
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h index 70abb84..45075f2 100644 --- a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h +++ b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h
@@ -35,8 +35,6 @@ namespace blink { -class FrameViewBase; - class PLATFORM_EXPORT ScrollbarThemeClient { public: virtual int X() const = 0; @@ -46,9 +44,6 @@ virtual IntSize Size() const = 0; virtual IntPoint Location() const = 0; - virtual FrameViewBase* Parent() const = 0; - virtual FrameViewBase* Root() const = 0; - virtual void SetFrameRect(const IntRect&) = 0; virtual IntRect FrameRect() const = 0;
diff --git a/third_party/WebKit/Source/web/BUILD.gn b/third_party/WebKit/Source/web/BUILD.gn index aecc65d9..3ea297e 100644 --- a/third_party/WebKit/Source/web/BUILD.gn +++ b/third_party/WebKit/Source/web/BUILD.gn
@@ -133,8 +133,6 @@ "WebArrayBuffer.cpp", "WebArrayBufferConverter.cpp", "WebArrayBufferView.cpp", - "WebAssociatedURLLoaderImpl.cpp", - "WebAssociatedURLLoaderImpl.h", "WebCSSParser.cpp", "WebColorSuggestion.cpp", "WebCryptoNormalize.cpp",
diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp index a04b435..12eebbc 100644 --- a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp +++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
@@ -120,6 +120,7 @@ #include "core/editing/markers/DocumentMarkerController.h" #include "core/editing/serializers/Serialization.h" #include "core/editing/spellcheck/SpellChecker.h" +#include "core/exported/WebAssociatedURLLoaderImpl.h" #include "core/frame/FrameView.h" #include "core/frame/LocalDOMWindow.h" #include "core/frame/PageScaleConstraintsSet.h" @@ -225,7 +226,6 @@ #include "web/SharedWorkerRepositoryClientImpl.h" #include "web/TextCheckerClientImpl.h" #include "web/TextFinder.h" -#include "web/WebAssociatedURLLoaderImpl.h" #include "web/WebDataSourceImpl.h" #include "web/WebDevToolsAgentImpl.h" #include "web/WebFrameWidgetImpl.h" @@ -965,7 +965,7 @@ WebAssociatedURLLoader* WebLocalFrameImpl::CreateAssociatedURLLoader( const WebAssociatedURLLoaderOptions& options) { - return new WebAssociatedURLLoaderImpl(this, options); + return new WebAssociatedURLLoaderImpl(GetFrame()->GetDocument(), options); } unsigned WebLocalFrameImpl::UnloadListenerCount() const {
diff --git a/third_party/WebKit/public/platform/WebRTCConfiguration.h b/third_party/WebKit/public/platform/WebRTCConfiguration.h index 3322029..9d60ce7 100644 --- a/third_party/WebKit/public/platform/WebRTCConfiguration.h +++ b/third_party/WebKit/public/platform/WebRTCConfiguration.h
@@ -48,7 +48,7 @@ WebString credential; }; -enum class WebRTCIceTransportPolicy { kNone, kRelay, kAll }; +enum class WebRTCIceTransportPolicy { kRelay, kAll }; enum class WebRTCBundlePolicy { kBalanced, kMaxCompat, kMaxBundle };
diff --git a/third_party/WebKit/public/web/WebAssociatedURLLoader.h b/third_party/WebKit/public/web/WebAssociatedURLLoader.h index b44b32b..28fb458 100644 --- a/third_party/WebKit/public/web/WebAssociatedURLLoader.h +++ b/third_party/WebKit/public/web/WebAssociatedURLLoader.h
@@ -33,6 +33,8 @@ #include "public/web/WebAssociatedURLLoaderOptions.h" +#include "public/platform/WebCommon.h" + namespace blink { class WebAssociatedURLLoaderClient; @@ -40,7 +42,7 @@ class WebURLRequest; // This class is used to implement WebFrame::createAssociatedURLLoader. -class WebAssociatedURLLoader { +class BLINK_EXPORT WebAssociatedURLLoader { public: virtual ~WebAssociatedURLLoader() {}