diff options
author | Torne (Richard Coles) <torne@google.com> | 2013-05-15 11:34:50 +0100 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2013-05-15 11:34:50 +0100 |
commit | a93a17c8d99d686bd4a1511e5504e5e6cc9fcadf (patch) | |
tree | 2fc96923f36ddec68fee218d79dd407c28fa46f8 /components | |
parent | 770489ea635fbf896c1ace4db0d08d6981a2db8b (diff) | |
download | chromium_org-a93a17c8d99d686bd4a1511e5504e5e6cc9fcadf.tar.gz |
Merge from Chromium at DEPS revision r200144
This commit was generated by merge_to_master.py.
Change-Id: I85f3a249ae157fd8253431215fb2dfcd12ee9bf3
Diffstat (limited to 'components')
57 files changed, 1461 insertions, 357 deletions
diff --git a/components/autofill.gypi b/components/autofill.gypi index b1faf29d23..ece3a68e19 100644 --- a/components/autofill.gypi +++ b/components/autofill.gypi @@ -123,9 +123,7 @@ '../ui/ui.gyp:ui', '../webkit/support/webkit_support.gyp:webkit_resources', - # For grip/generated_resources.h and grit/chromium_strings.h - # TODO(kaiwang): Remove this dependency on chrome. - '../chrome/chrome_resources.gyp:chrome_strings', + 'component_resources.gyp:component_resources', ], 'sources': [ 'autofill/browser/address.cc', @@ -243,8 +241,9 @@ 'autofill/browser/webdata/autofill_table.cc', 'autofill/browser/webdata/autofill_table.h', 'autofill/browser/webdata/autofill_webdata.h', - 'autofill/browser/webdata/autofill_webdata_backend.cc', 'autofill/browser/webdata/autofill_webdata_backend.h', + 'autofill/browser/webdata/autofill_webdata_backend_impl.cc', + 'autofill/browser/webdata/autofill_webdata_backend_impl.h', 'autofill/browser/webdata/autofill_webdata_service.cc', 'autofill/browser/webdata/autofill_webdata_service.h', 'autofill/browser/webdata/autofill_webdata_service_observer.h', @@ -271,9 +270,7 @@ '../ipc/ipc.gyp:ipc', '../skia/skia.gyp:skia', - # For grip/generated_resources.h and grit/chromium_strings.h - # TODO(kaiwang): Remove this dependency on chrome. - '../chrome/chrome_resources.gyp:chrome_strings', + 'component_resources.gyp:component_resources', ], 'sources': [ 'autofill/renderer/autofill_agent.cc', diff --git a/components/autofill/browser/autocomplete_history_manager_unittest.cc b/components/autofill/browser/autocomplete_history_manager_unittest.cc index eb7eb16a71..6eaf07dbba 100644 --- a/components/autofill/browser/autocomplete_history_manager_unittest.cc +++ b/components/autofill/browser/autocomplete_history_manager_unittest.cc @@ -255,7 +255,10 @@ TEST_F(AutocompleteHistoryManagerTest, ExternalDelegate) { web_contents()); AutofillManager::CreateForWebContentsAndDelegate( - web_contents(), &manager_delegate, "en-US"); + web_contents(), + &manager_delegate, + "en-US", + AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER); MockAutofillExternalDelegate external_delegate(web_contents()); autocomplete_history_manager.SetExternalDelegate(&external_delegate); diff --git a/components/autofill/browser/autofill_country.cc b/components/autofill/browser/autofill_country.cc index bae6541bd5..ed4223126c 100644 --- a/components/autofill/browser/autofill_country.cc +++ b/components/autofill/browser/autofill_country.cc @@ -15,7 +15,7 @@ #include "base/stl_util.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "third_party/icu/public/common/unicode/locid.h" #include "third_party/icu/public/common/unicode/uloc.h" #include "third_party/icu/public/common/unicode/unistr.h" diff --git a/components/autofill/browser/autofill_data_model.cc b/components/autofill/browser/autofill_data_model.cc index 04cd75c79e..01c54553ad 100644 --- a/components/autofill/browser/autofill_data_model.cc +++ b/components/autofill/browser/autofill_data_model.cc @@ -15,7 +15,7 @@ #include "components/autofill/browser/validation.h" #include "components/autofill/common/form_field_data.h" #include "googleurl/src/gurl.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "ui/base/l10n/l10n_util.h" namespace autofill { diff --git a/components/autofill/browser/autofill_external_delegate.cc b/components/autofill/browser/autofill_external_delegate.cc index 7034a89471..0286b4bff1 100644 --- a/components/autofill/browser/autofill_external_delegate.cc +++ b/components/autofill/browser/autofill_external_delegate.cc @@ -13,8 +13,7 @@ #include "content/public/browser/notification_types.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebAutofillClient.h" #include "ui/base/l10n/l10n_util.h" diff --git a/components/autofill/browser/autofill_manager.cc b/components/autofill/browser/autofill_manager.cc index 406daf7d70..b488ff611d 100644 --- a/components/autofill/browser/autofill_manager.cc +++ b/components/autofill/browser/autofill_manager.cc @@ -51,7 +51,7 @@ #include "content/public/browser/web_contents_view.h" #include "content/public/common/url_constants.h" #include "googleurl/src/gurl.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "ipc/ipc_message_macros.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebAutofillClient.h" #include "ui/base/l10n/l10n_util.h" @@ -175,12 +175,15 @@ void DeterminePossibleFieldTypesForUpload( void AutofillManager::CreateForWebContentsAndDelegate( content::WebContents* contents, autofill::AutofillManagerDelegate* delegate, - const std::string& app_locale) { + const std::string& app_locale, + AutofillDownloadManagerState enable_download_manager) { if (FromWebContents(contents)) return; - contents->SetUserData(kAutofillManagerWebContentsUserDataKey, - new AutofillManager(contents, delegate, app_locale)); + contents->SetUserData( + kAutofillManagerWebContentsUserDataKey, + new AutofillManager( + contents, delegate, app_locale, enable_download_manager)); // Trigger the lazy creation of AutocheckoutWhitelistManagerService, and // schedule a fetch of the Autocheckout whitelist file if it's not already @@ -196,15 +199,15 @@ AutofillManager* AutofillManager::FromWebContents( contents->GetUserData(kAutofillManagerWebContentsUserDataKey)); } -AutofillManager::AutofillManager(content::WebContents* web_contents, - autofill::AutofillManagerDelegate* delegate, - const std::string& app_locale) +AutofillManager::AutofillManager( + content::WebContents* web_contents, + autofill::AutofillManagerDelegate* delegate, + const std::string& app_locale, + AutofillDownloadManagerState enable_download_manager) : content::WebContentsObserver(web_contents), manager_delegate_(delegate), app_locale_(app_locale), personal_data_(delegate->GetPersonalDataManager()), - download_manager_(web_contents->GetBrowserContext(), this), - disable_download_manager_requests_(false), autocomplete_history_manager_(web_contents), autocheckout_manager_(this), metric_logger_(new AutofillMetrics), @@ -217,6 +220,10 @@ AutofillManager::AutofillManager(content::WebContents* web_contents, external_delegate_(NULL), test_delegate_(NULL), weak_ptr_factory_(this) { + if (enable_download_manager == ENABLE_AUTOFILL_DOWNLOAD_MANAGER) { + download_manager_.reset( + new AutofillDownloadManager(web_contents->GetBrowserContext(), this)); + } } AutofillManager::~AutofillManager() {} @@ -917,7 +924,7 @@ void AutofillManager::UploadFormDataAsyncCallback( } void AutofillManager::UploadFormData(const FormStructure& submitted_form) { - if (disable_download_manager_requests_) + if (!download_manager_) return; // Check if the form is among the forms that were recently auto-filled. @@ -934,7 +941,7 @@ void AutofillManager::UploadFormData(const FormStructure& submitted_form) { FieldTypeSet non_empty_types; personal_data_->GetNonEmptyTypes(&non_empty_types); - download_manager_.StartUploadRequest(submitted_form, was_autofilled, + download_manager_->StartUploadRequest(submitted_form, was_autofilled, non_empty_types); } @@ -960,8 +967,6 @@ AutofillManager::AutofillManager(content::WebContents* web_contents, manager_delegate_(delegate), app_locale_("en-US"), personal_data_(personal_data), - download_manager_(web_contents->GetBrowserContext(), this), - disable_download_manager_requests_(true), autocomplete_history_manager_(web_contents), autocheckout_manager_(this), metric_logger_(new AutofillMetrics), @@ -1210,9 +1215,9 @@ void AutofillManager::ParseForms(const std::vector<FormData>& forms) { // terminate Autocheckout and send Autocheckout status. autocheckout_manager_.OnLoadedPageMetaData( scoped_ptr<autofill::AutocheckoutPageMetaData>(NULL)); - } else if (!disable_download_manager_requests_) { + } else if (download_manager_) { // Query the server if we have at least one of the forms were parsed. - download_manager_.StartQueryRequest(form_structures_.get(), + download_manager_->StartQueryRequest(form_structures_.get(), *metric_logger_); } diff --git a/components/autofill/browser/autofill_manager.h b/components/autofill/browser/autofill_manager.h index 5a2b083193..9233659024 100644 --- a/components/autofill/browser/autofill_manager.h +++ b/components/autofill/browser/autofill_manager.h @@ -59,6 +59,7 @@ class PrefRegistrySyncable; namespace autofill { class AutofillDataModel; +class AutofillDownloadManager; class AutofillExternalDelegate; class AutofillField; class AutofillProfile; @@ -78,10 +79,16 @@ class AutofillManager : public content::WebContentsObserver, public AutofillDownloadManager::Observer, public base::SupportsUserData::Data { public: + enum AutofillDownloadManagerState { + ENABLE_AUTOFILL_DOWNLOAD_MANAGER, + DISABLE_AUTOFILL_DOWNLOAD_MANAGER, + }; + static void CreateForWebContentsAndDelegate( content::WebContents* contents, autofill::AutofillManagerDelegate* delegate, - const std::string& app_locale); + const std::string& app_locale, + AutofillDownloadManagerState enable_download_manager); static AutofillManager* FromWebContents(content::WebContents* contents); // Registers our Enable/Disable Autofill pref. @@ -141,7 +148,8 @@ class AutofillManager : public content::WebContentsObserver, // Only test code should subclass AutofillManager. AutofillManager(content::WebContents* web_contents, autofill::AutofillManagerDelegate* delegate, - const std::string& app_locale); + const std::string& app_locale, + AutofillDownloadManagerState enable_download_manager); virtual ~AutofillManager(); // Test code should prefer to use this constructor. @@ -348,14 +356,9 @@ class AutofillManager : public content::WebContentsObserver, std::list<std::string> autofilled_form_signatures_; - // Handles queries and uploads to Autofill servers. - AutofillDownloadManager download_manager_; - - // Should be set to true in AutofillManagerTest and other tests, false in - // AutofillDownloadManagerTest and in non-test environment. Is false by - // default for the public constructor, and true by default for the test-only - // constructors. - bool disable_download_manager_requests_; + // Handles queries and uploads to Autofill servers. Will be NULL if + // the download manager functionality is disabled. + scoped_ptr<AutofillDownloadManager> download_manager_; // Handles single-field autocomplete form data. AutocompleteHistoryManager autocomplete_history_manager_; diff --git a/components/autofill/browser/autofill_manager_unittest.cc b/components/autofill/browser/autofill_manager_unittest.cc index 1c9bd6878b..357fa731e2 100644 --- a/components/autofill/browser/autofill_manager_unittest.cc +++ b/components/autofill/browser/autofill_manager_unittest.cc @@ -45,7 +45,7 @@ #include "content/public/test/test_browser_thread.h" #include "content/public/test/test_utils.h" #include "googleurl/src/gurl.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "ipc/ipc_test_sink.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/components/autofill/browser/autofill_profile.cc b/components/autofill/browser/autofill_profile.cc index d2fe5658cc..098a0db702 100644 --- a/components/autofill/browser/autofill_profile.cc +++ b/components/autofill/browser/autofill_profile.cc @@ -23,7 +23,7 @@ #include "components/autofill/browser/phone_number.h" #include "components/autofill/browser/phone_number_i18n.h" #include "components/autofill/common/form_field_data.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "ui/base/l10n/l10n_util.h" namespace autofill { diff --git a/components/autofill/browser/autofill_profile_unittest.cc b/components/autofill/browser/autofill_profile_unittest.cc index f90e95b1f3..78f58b5298 100644 --- a/components/autofill/browser/autofill_profile_unittest.cc +++ b/components/autofill/browser/autofill_profile_unittest.cc @@ -13,7 +13,7 @@ #include "components/autofill/browser/autofill_common_test.h" #include "components/autofill/browser/autofill_profile.h" #include "components/autofill/common/form_field_data.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "testing/gtest/include/gtest/gtest.h" namespace autofill { @@ -141,7 +141,7 @@ TEST(AutofillProfileTest, PreviewSummaryString) { } TEST(AutofillProfileTest, AdjustInferredLabels) { - std::vector<AutofillProfile*> profiles; + ScopedVector<AutofillProfile> profiles; profiles.push_back(new AutofillProfile); test::SetProfileInfo( profiles[0], @@ -171,9 +171,9 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { "US", "12345678910"); // As labels are empty they are adjusted the first time. - EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles.get())); // No need to adjust them anymore. - EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles.get())); EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St."), profiles[0]->Label()); EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), @@ -193,7 +193,7 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { "91111", "US", "16502111111"); - EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles.get())); // Profile 0 and 2 inferred label now includes an e-mail. EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com"), @@ -203,8 +203,7 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com"), profiles[2]->Label()); - delete profiles[2]; - profiles.pop_back(); + profiles.resize(2); profiles.push_back(new AutofillProfile); test::SetProfileInfo( @@ -221,7 +220,7 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { "US", "16502111111"); - EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles.get())); // Profile 0 and 2 inferred label now includes a state. EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., CA"), @@ -246,7 +245,7 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { "US", "16504444444"); // Phone is different for some. - EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles.get())); EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., CA"), profiles[0]->Label()); @@ -274,7 +273,7 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { "US", "16504444444"); // Phone is different for some. - EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); + EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles.get())); EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., CA"), profiles[0]->Label()); @@ -291,14 +290,11 @@ TEST(AutofillProfileTest, AdjustInferredLabels) { EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., CO, johndoe@styx.com"), profiles[4]->Label()); - EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles)); - - // Clean up. - STLDeleteContainerPointers(profiles.begin(), profiles.end()); + EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles.get())); } TEST(AutofillProfileTest, CreateInferredLabels) { - std::vector<AutofillProfile*> profiles; + ScopedVector<AutofillProfile> profiles; profiles.push_back(new AutofillProfile); test::SetProfileInfo(profiles[0], "John", @@ -327,13 +323,13 @@ TEST(AutofillProfileTest, CreateInferredLabels) { "12345678910"); std::vector<base::string16> labels; // Two fields at least - no filter. - AutofillProfile::CreateInferredLabels(&profiles, NULL, UNKNOWN_TYPE, 2, + AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 2, &labels); EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St."), labels[0]); EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), labels[1]); // Three fields at least - no filter. - AutofillProfile::CreateInferredLabels(&profiles, NULL, UNKNOWN_TYPE, 3, + AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 3, &labels); EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., Elysium"), labels[0]); @@ -346,20 +342,20 @@ TEST(AutofillProfileTest, CreateInferredLabels) { suggested_fields.push_back(ADDRESS_HOME_ZIP); // Two fields at least, from suggested fields - no filter. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, UNKNOWN_TYPE, 2, &labels); EXPECT_EQ(ASCIIToUTF16("Elysium, CA"), labels[0]); EXPECT_EQ(ASCIIToUTF16("Dis, CA"), labels[1]); // Three fields at least, from suggested fields - no filter. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, UNKNOWN_TYPE, 3, &labels); EXPECT_EQ(ASCIIToUTF16("Elysium, CA, 91111"), labels[0]); EXPECT_EQ(ASCIIToUTF16("Dis, CA, 91222"), labels[1]); // Three fields at least, from suggested fields - but filter reduces available // fields to two. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, ADDRESS_HOME_STATE, 3, &labels); EXPECT_EQ(ASCIIToUTF16("Elysium, 91111"), labels[0]); EXPECT_EQ(ASCIIToUTF16("Dis, 91222"), labels[1]); @@ -368,14 +364,14 @@ TEST(AutofillProfileTest, CreateInferredLabels) { // In our implementation we always display NAME_FULL for all NAME* fields... suggested_fields.push_back(NAME_MIDDLE); // One field at least, from suggested fields - no filter. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, UNKNOWN_TYPE, 1, &labels); EXPECT_EQ(ASCIIToUTF16("John Doe"), labels[0]); EXPECT_EQ(ASCIIToUTF16("Jane Doe"), labels[1]); // One field at least, from suggested fields - filter the same as suggested // field. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, NAME_MIDDLE, 1, &labels); EXPECT_EQ(base::string16(), labels[0]); EXPECT_EQ(base::string16(), labels[1]); @@ -384,7 +380,7 @@ TEST(AutofillProfileTest, CreateInferredLabels) { // In our implementation we always display NAME_FULL for NAME_MIDDLE_INITIAL suggested_fields.push_back(NAME_MIDDLE_INITIAL); // One field at least, from suggested fields - no filter. - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, UNKNOWN_TYPE, 1, &labels); EXPECT_EQ(ASCIIToUTF16("John Doe"), labels[0]); EXPECT_EQ(ASCIIToUTF16("Jane Doe"), labels[1]); @@ -395,13 +391,10 @@ TEST(AutofillProfileTest, CreateInferredLabels) { suggested_fields.push_back(UNKNOWN_TYPE); suggested_fields.push_back(NAME_FULL); suggested_fields.push_back(ADDRESS_HOME_LINE1); - AutofillProfile::CreateInferredLabels(&profiles, &suggested_fields, NAME_FULL, - 1, &labels); + AutofillProfile::CreateInferredLabels(&profiles.get(), &suggested_fields, + NAME_FULL, 1, &labels); EXPECT_EQ(base::string16(ASCIIToUTF16("666 Erebus St.")), labels[0]); EXPECT_EQ(base::string16(ASCIIToUTF16("123 Letha Shore.")), labels[1]); - - // Clean up. - STLDeleteContainerPointers(profiles.begin(), profiles.end()); } // Test that we fall back to using the full name if there are no other diff --git a/components/autofill/browser/credit_card.cc b/components/autofill/browser/credit_card.cc index 479d2ac396..056a79cc17 100644 --- a/components/autofill/browser/credit_card.cc +++ b/components/autofill/browser/credit_card.cc @@ -23,7 +23,7 @@ #include "components/autofill/browser/field_types.h" #include "components/autofill/browser/validation.h" #include "components/autofill/common/form_field_data.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "grit/webkit_resources.h" #include "third_party/icu/public/common/unicode/uloc.h" #include "third_party/icu/public/i18n/unicode/dtfmtsym.h" @@ -40,90 +40,6 @@ const char16 kCreditCardObfuscationSymbol = '*'; // too large and fills the screen. const size_t kMaxObfuscationSize = 20; -std::string GetCreditCardType(const base::string16& number) { - // Don't check for a specific type if this is not a credit card number. - if (!autofill::IsValidCreditCardNumber(number)) - return kGenericCard; - - // Credit card number specifications taken from: - // http://en.wikipedia.org/wiki/Credit_card_numbers and - // http://www.beachnet.com/~hstiles/cardtype.html - // Card Type Prefix(es) Length - // --------------------------------------------------------------- - // Visa 4 13,16 - // American Express 34,37 15 - // Diners Club 300-305,2014,2149,36, 14,15 - // Discover Card 6011,65 16 - // JCB 3 16 - // JCB 2131,1800 15 - // MasterCard 51-55 16 - // Solo (debit card) 6334,6767 16,18,19 - - // We need at least 4 digits to work with. - if (number.length() < 4) - return kGenericCard; - - int first_four_digits = 0; - if (!base::StringToInt(number.substr(0, 4), &first_four_digits)) - return kGenericCard; - - int first_three_digits = first_four_digits / 10; - int first_two_digits = first_three_digits / 10; - int first_digit = first_two_digits / 10; - - switch (number.length()) { - case 13: - if (first_digit == 4) - return kVisaCard; - - break; - case 14: - if (first_three_digits >= 300 && first_three_digits <= 305) - return kDinersCard; - - if (first_digit == 36) - return kDinersCard; - - break; - case 15: - if (first_two_digits == 34 || first_two_digits == 37) - return kAmericanExpressCard; - - if (first_four_digits == 2131 || first_four_digits == 1800) - return kJCBCard; - - if (first_four_digits == 2014 || first_four_digits == 2149) - return kDinersCard; - - break; - case 16: - if (first_four_digits == 6011 || first_two_digits == 65) - return kDiscoverCard; - - if (first_four_digits == 6334 || first_four_digits == 6767) - return kSoloCard; - - if (first_two_digits >= 51 && first_two_digits <= 55) - return kMasterCard; - - if (first_digit == 3) - return kJCBCard; - - if (first_digit == 4) - return kVisaCard; - - break; - case 18: - case 19: - if (first_four_digits == 6334 || first_four_digits == 6767) - return kSoloCard; - - break; - } - - return kGenericCard; -} - bool ConvertYear(const base::string16& year, int* num) { // If the |year| is empty, clear the stored value. if (year.empty()) { @@ -245,6 +161,91 @@ base::string16 CreditCard::TypeForDisplay(const std::string& type) { return base::string16(); } +// static +std::string CreditCard::GetCreditCardType(const base::string16& number) { + // Don't check for a specific type if this is not a credit card number. + if (!autofill::IsValidCreditCardNumber(number)) + return kGenericCard; + + // Credit card number specifications taken from: + // http://en.wikipedia.org/wiki/Credit_card_numbers and + // http://www.beachnet.com/~hstiles/cardtype.html + // Card Type Prefix(es) Length + // --------------------------------------------------------------- + // Visa 4 13,16 + // American Express 34,37 15 + // Diners Club 300-305,2014,2149,36, 14,15 + // Discover Card 6011,65 16 + // JCB 3 16 + // JCB 2131,1800 15 + // MasterCard 51-55 16 + // Solo (debit card) 6334,6767 16,18,19 + + // We need at least 4 digits to work with. + if (number.length() < 4) + return kGenericCard; + + int first_four_digits = 0; + if (!base::StringToInt(number.substr(0, 4), &first_four_digits)) + return kGenericCard; + + int first_three_digits = first_four_digits / 10; + int first_two_digits = first_three_digits / 10; + int first_digit = first_two_digits / 10; + + switch (number.length()) { + case 13: + if (first_digit == 4) + return kVisaCard; + + break; + case 14: + if (first_three_digits >= 300 && first_three_digits <= 305) + return kDinersCard; + + if (first_digit == 36) + return kDinersCard; + + break; + case 15: + if (first_two_digits == 34 || first_two_digits == 37) + return kAmericanExpressCard; + + if (first_four_digits == 2131 || first_four_digits == 1800) + return kJCBCard; + + if (first_four_digits == 2014 || first_four_digits == 2149) + return kDinersCard; + + break; + case 16: + if (first_four_digits == 6011 || first_two_digits == 65) + return kDiscoverCard; + + if (first_four_digits == 6334 || first_four_digits == 6767) + return kSoloCard; + + if (first_two_digits >= 51 && first_two_digits <= 55) + return kMasterCard; + + if (first_digit == 3) + return kJCBCard; + + if (first_digit == 4) + return kVisaCard; + + break; + case 18: + case 19: + if (first_four_digits == 6334 || first_four_digits == 6767) + return kSoloCard; + + break; + } + + return kGenericCard; +} + base::string16 CreditCard::GetRawInfo(AutofillFieldType type) const { switch (type) { case CREDIT_CARD_NAME: diff --git a/components/autofill/browser/credit_card.h b/components/autofill/browser/credit_card.h index 452627dd57..c17babbaa0 100644 --- a/components/autofill/browser/credit_card.h +++ b/components/autofill/browser/credit_card.h @@ -34,6 +34,9 @@ class CreditCard : public AutofillDataModel { // The user-visible type of the card, e.g. 'Mastercard'. static base::string16 TypeForDisplay(const std::string& type); + // The internal representation of credit card type. + static std::string GetCreditCardType(const base::string16& number); + // FormGroup: virtual void GetMatchingTypes(const base::string16& text, const std::string& app_locale, diff --git a/components/autofill/browser/personal_data_manager_mac.mm b/components/autofill/browser/personal_data_manager_mac.mm index 789357f05c..61d1c34b34 100644 --- a/components/autofill/browser/personal_data_manager_mac.mm +++ b/components/autofill/browser/personal_data_manager_mac.mm @@ -19,7 +19,7 @@ #include "components/autofill/browser/autofill_country.h" #include "components/autofill/browser/autofill_profile.h" #include "components/autofill/browser/phone_number.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "ui/base/l10n/l10n_util_mac.h" namespace autofill { diff --git a/components/autofill/browser/wallet/encryption_escrow_client.cc b/components/autofill/browser/wallet/encryption_escrow_client.cc index 4b74c1acae..53754a2092 100644 --- a/components/autofill/browser/wallet/encryption_escrow_client.cc +++ b/components/autofill/browser/wallet/encryption_escrow_client.cc @@ -109,6 +109,10 @@ void EncryptionEscrowClient::CancelRequest() { request_type_ = NO_PENDING_REQUEST; } +bool EncryptionEscrowClient::HasRequestInProgress() const { + return request_; +} + void EncryptionEscrowClient::MakeRequest(const GURL& url, const std::string& post_body) { DCHECK(!request_.get()); diff --git a/components/autofill/browser/wallet/encryption_escrow_client.h b/components/autofill/browser/wallet/encryption_escrow_client.h index ddd93d4bc3..9af04f6aad 100644 --- a/components/autofill/browser/wallet/encryption_escrow_client.h +++ b/components/autofill/browser/wallet/encryption_escrow_client.h @@ -52,6 +52,8 @@ class EncryptionEscrowClient : public net::URLFetcherDelegate { // Cancels |request_| (if it exists). void CancelRequest(); + bool HasRequestInProgress() const; + protected: // Exposed for testing. const net::URLFetcher* request() const { return request_.get(); } diff --git a/components/autofill/browser/wallet/full_wallet.cc b/components/autofill/browser/wallet/full_wallet.cc index b68c1aa2a0..14dc6058cf 100644 --- a/components/autofill/browser/wallet/full_wallet.cc +++ b/components/autofill/browser/wallet/full_wallet.cc @@ -8,6 +8,7 @@ #include "base/strings/string_number_conversions.h" #include "base/utf_string_conversions.h" #include "base/values.h" +#include "components/autofill/browser/credit_card.h" namespace { @@ -136,11 +137,40 @@ base::string16 FullWallet::GetInfo(AutofillFieldType type) { return UTF8ToUTF16(GetCvn()); case CREDIT_CARD_EXP_MONTH: + if (expiration_month() == 0) + return base::string16(); return base::IntToString16(expiration_month()); case CREDIT_CARD_EXP_4_DIGIT_YEAR: + if (expiration_year() == 0) + return base::string16(); return base::IntToString16(expiration_year()); + case CREDIT_CARD_EXP_2_DIGIT_YEAR: + if (expiration_year() == 0) + return base::string16(); + return base::IntToString16(expiration_year() % 100); + + case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR: + if (expiration_month() == 0 || expiration_year() == 0) + return base::string16(); + return base::IntToString16(expiration_month()) + ASCIIToUTF16("/") + + base::IntToString16(expiration_year() % 100); + + case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR: + if (expiration_month() == 0 || expiration_year() == 0) + return base::string16(); + return base::IntToString16(expiration_month()) + ASCIIToUTF16("/") + + base::IntToString16(expiration_year()); + + case CREDIT_CARD_TYPE: { + std::string internal_type = + CreditCard::GetCreditCardType(UTF8ToUTF16(GetPan())); + if (internal_type == kGenericCard) + return base::string16(); + return CreditCard::TypeForDisplay(internal_type); + } + default: NOTREACHED(); } diff --git a/components/autofill/browser/wallet/full_wallet.h b/components/autofill/browser/wallet/full_wallet.h index f2d287a664..5f03c2385d 100644 --- a/components/autofill/browser/wallet/full_wallet.h +++ b/components/autofill/browser/wallet/full_wallet.h @@ -70,6 +70,7 @@ class FullWallet { FRIEND_TEST_ALL_PREFIXES(FullWalletTest, CreateFullWalletWithRequiredActions); FRIEND_TEST_ALL_PREFIXES(FullWalletTest, EvenRestDecryptionTest); FRIEND_TEST_ALL_PREFIXES(FullWalletTest, OddRestDecryptionTest); + FRIEND_TEST_ALL_PREFIXES(FullWalletTest, GetCreditCardInfo); FullWallet(int expiration_month, int expiration_year, const std::string& iin, diff --git a/components/autofill/browser/wallet/full_wallet_unittest.cc b/components/autofill/browser/wallet/full_wallet_unittest.cc index 9ab93a0e28..f262cec976 100644 --- a/components/autofill/browser/wallet/full_wallet_unittest.cc +++ b/components/autofill/browser/wallet/full_wallet_unittest.cc @@ -475,5 +475,31 @@ TEST_F(FullWalletTest, OddRestDecryptionTest) { full_wallet.GetInfo(CREDIT_CARD_VERIFICATION_CODE)); } +TEST_F(FullWalletTest, GetCreditCardInfo) { + std::vector<RequiredAction> required_actions; + FullWallet full_wallet(12, + 2015, + "528512", + "1a068673eb0", + GetTestAddress(), + GetTestShippingAddress(), + required_actions); + + EXPECT_EQ(ASCIIToUTF16("15"), + full_wallet.GetInfo(CREDIT_CARD_EXP_2_DIGIT_YEAR)); + + EXPECT_EQ(ASCIIToUTF16("12/15"), + full_wallet.GetInfo(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR)); + + EXPECT_EQ(ASCIIToUTF16("12/2015"), + full_wallet.GetInfo(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR)); + + std::vector<uint8> one_time_pad; + EXPECT_TRUE(base::HexStringToBytes("075DA779F98B", &one_time_pad)); + full_wallet.set_one_time_pad(one_time_pad); + EXPECT_EQ(ASCIIToUTF16("MasterCard"), + full_wallet.GetInfo(CREDIT_CARD_TYPE)); +} + } // namespace wallet } // namespace autofill diff --git a/components/autofill/browser/wallet/wallet_client.cc b/components/autofill/browser/wallet/wallet_client.cc index 4dbf5524e1..ace0f5d4c0 100644 --- a/components/autofill/browser/wallet/wallet_client.cc +++ b/components/autofill/browser/wallet/wallet_client.cc @@ -188,6 +188,7 @@ const char kInstrumentKey[] = "instrument"; const char kInstrumentEscrowHandleKey[] = "instrument_escrow_handle"; const char kInstrumentExpMonthKey[] = "instrument.credit_card.exp_month"; const char kInstrumentExpYearKey[] = "instrument.credit_card.exp_year"; +const char kInstrumentType[] = "instrument.type"; const char kInstrumentPhoneNumberKey[] = "instrument_phone_number"; const char kMerchantDomainKey[] = "merchant_domain"; const char kReasonKey[] = "reason"; @@ -559,6 +560,9 @@ void WalletClient::UpdateInstrument( update_instrument_request.expiration_year); } + if (active_request_body->HasKey(kInstrumentKey)) + active_request_body->SetString(kInstrumentType, "CREDIT_CARD"); + if (update_instrument_request.card_verification_number.empty()) { std::string post_body; base::JSONWriter::Write(active_request_body, &post_body); @@ -571,7 +575,10 @@ void WalletClient::UpdateInstrument( } bool WalletClient::HasRequestInProgress() const { - return request_.get() != NULL; + // |SaveInstrument*()| and |UpdateInstrument()| methods don't set |request_| + // until sensitive info has been escrowed, so this class is considered to have + // a request in progress if |encryption_escrow_client_| is working as well. + return request_ || encryption_escrow_client_.HasRequestInProgress(); } void WalletClient::CancelRequests() { diff --git a/components/autofill/browser/wallet/wallet_client.h b/components/autofill/browser/wallet/wallet_client.h index 31ec90ab26..51f74ba551 100644 --- a/components/autofill/browser/wallet/wallet_client.h +++ b/components/autofill/browser/wallet/wallet_client.h @@ -214,16 +214,14 @@ class WalletClient const std::string& google_transaction_id); // UpdateAddress updates Online Wallet with the data in |address|. - void UpdateAddress(const Address& address, - const GURL& source_url); + virtual void UpdateAddress(const Address& address, const GURL& source_url); // Updates Online Wallet with the data in |update_instrument_request| and, if // it's provided, |billing_address|. - void UpdateInstrument( + virtual void UpdateInstrument( const UpdateInstrumentRequest& update_instrument_request, scoped_ptr<Address> billing_address); - // Whether there is a currently running request (i.e. |request_| != NULL). bool HasRequestInProgress() const; // Cancels and clears the current |request_| and |pending_requests_| (if any). diff --git a/components/autofill/browser/wallet/wallet_client_unittest.cc b/components/autofill/browser/wallet/wallet_client_unittest.cc index 8ceb029a07..dd5244c4d1 100644 --- a/components/autofill/browser/wallet/wallet_client_unittest.cc +++ b/components/autofill/browser/wallet/wallet_client_unittest.cc @@ -532,7 +532,8 @@ const char kUpdateInstrumentAddressAndExpirationDateValidRequest[] = "{" "\"exp_month\":12," "\"exp_year\":2015" - "}" + "}," + "\"type\":\"CREDIT_CARD\"" "}," "\"instrument_escrow_handle\":\"escrow_handle\"," "\"instrument_phone_number\":\"phone_number\"," @@ -562,7 +563,8 @@ const char kUpdateInstrumentExpirationDateValidRequest[] = "{" "\"exp_month\":12," "\"exp_year\":2015" - "}" + "}," + "\"type\":\"CREDIT_CARD\"" "}," "\"instrument_escrow_handle\":\"escrow_handle\"," "\"merchant_domain\":\"https://example.com/\"," diff --git a/components/autofill/browser/wallet/wallet_items.cc b/components/autofill/browser/wallet/wallet_items.cc index 6d99c5ed34..ff81bcc474 100644 --- a/components/autofill/browser/wallet/wallet_items.cc +++ b/components/autofill/browser/wallet/wallet_items.cc @@ -11,7 +11,7 @@ #include "components/autofill/browser/autofill_type.h" #include "components/autofill/browser/credit_card.h" #include "googleurl/src/gurl.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "grit/webkit_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" diff --git a/components/autofill/browser/webdata/autofill_webdata_backend.h b/components/autofill/browser/webdata/autofill_webdata_backend.h index 3ab841e64c..6287de7fd4 100644 --- a/components/autofill/browser/webdata/autofill_webdata_backend.h +++ b/components/autofill/browser/webdata/autofill_webdata_backend.h @@ -5,127 +5,39 @@ #ifndef COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ #define COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ -#include "base/memory/ref_counted.h" -#include "base/observer_list.h" -#include "components/autofill/browser/webdata/autofill_webdata.h" -#include "components/autofill/common/form_field_data.h" -#include "components/webdata/common/web_data_results.h" -#include "components/webdata/common/web_data_service_base.h" -#include "components/webdata/common/web_data_service_consumer.h" -#include "components/webdata/common/web_database.h" +class WebDatabase; namespace autofill { -class AutofillChange; -class AutofillProfile; class AutofillWebDataServiceObserverOnDBThread; -class CreditCard; -// Backend implentation for the AutofillWebDataService. This class runs on the -// DB thread, as it handles reads and writes to the WebDatabase, and functions -// in it should only be called from that thread. Most functions here are just -// the implementations of the corresponding functions in the Autofill -// WebDataService. -class AutofillWebDataBackend - : public base::RefCountedThreadSafe<AutofillWebDataBackend, - content::BrowserThread::DeleteOnDBThread> { +// Interface for doing Autofill work directly on the DB thread (used by +// Sync, mostly), without fully exposing the AutofillWebDataBackend to clients. +class AutofillWebDataBackend { public: - AutofillWebDataBackend(); + virtual ~AutofillWebDataBackend() {} - // Adds form fields to the web database. - WebDatabase::State AddFormElements(const std::vector<FormFieldData>& fields, - WebDatabase* db); - - // Returns a vector of values which have been entered in form input fields - // named |name|. - scoped_ptr<WDTypedResult> GetFormValuesForElementName( - const base::string16& name, - const base::string16& prefix, - int limit, - WebDatabase* db); - - // Returns true if there are any elements in the form. - scoped_ptr<WDTypedResult> HasFormElements(WebDatabase* db); - - // Removes form elements recorded for Autocomplete from the database. - WebDatabase::State RemoveFormElementsAddedBetween( - const base::Time& delete_begin, - const base::Time& delete_end, - WebDatabase* db); - - // Removes expired form elements recorded for Autocomplete from the database. - WebDatabase::State RemoveExpiredFormElements(WebDatabase* db); - - // Removes the Form-value |value| which has been entered in form input fields - // named |name| from the database. - WebDatabase::State RemoveFormValueForElementName(const base::string16& name, - const base::string16& value, - WebDatabase* db); - - // Adds an Autofill profile to the web database. - WebDatabase::State AddAutofillProfile(const AutofillProfile& profile, - WebDatabase* db); - - // Updates an Autofill profile in the web database. - WebDatabase::State UpdateAutofillProfile(const AutofillProfile& profile, - WebDatabase* db); - - // Removes an Autofill profile from the web database. - WebDatabase::State RemoveAutofillProfile(const std::string& guid, - WebDatabase* db); - - // Returns all Autofill profiles from the web database. - scoped_ptr<WDTypedResult> GetAutofillProfiles(WebDatabase* db); - - // Adds a credit card to the web database. - WebDatabase::State AddCreditCard(const CreditCard& credit_card, - WebDatabase* db); - - // Updates a credit card in the web database. - WebDatabase::State UpdateCreditCard(const CreditCard& credit_card, - WebDatabase* db); - - // Removes a credit card from the web database. - WebDatabase::State RemoveCreditCard(const std::string& guid, - WebDatabase* db); - - // Returns a vector of all credit cards from the web database. - scoped_ptr<WDTypedResult> GetCreditCards(WebDatabase* db); - - // Removes Autofill records from the database. - WebDatabase::State RemoveAutofillDataModifiedBetween( - const base::Time& delete_begin, - const base::Time& delete_end, - WebDatabase* db); + // Get a raw pointer to the WebDatabase. + virtual WebDatabase* GetDatabase() = 0; // Add an observer to be notified of changes on the DB thread. - void AddObserver(AutofillWebDataServiceObserverOnDBThread* observer); + virtual void AddObserver( + AutofillWebDataServiceObserverOnDBThread* observer) = 0; // Remove an observer. - void RemoveObserver(AutofillWebDataServiceObserverOnDBThread* observer); - - protected: - virtual ~AutofillWebDataBackend(); - - private: - friend struct content::BrowserThread::DeleteOnThread< - content::BrowserThread::DB>; - friend class base::DeleteHelper<AutofillWebDataBackend>; - // We have to friend RCTS<> so WIN shared-lib build is happy - // (http://crbug/112250). - friend class base::RefCountedThreadSafe<AutofillWebDataBackend, - content::BrowserThread::DeleteOnDBThread>; - - // Callbacks to ensure that sensitive info is destroyed if request is - // cancelled. - void DestroyAutofillProfileResult(const WDTypedResult* result); - void DestroyAutofillCreditCardResult(const WDTypedResult* result); + virtual void RemoveObserver( + AutofillWebDataServiceObserverOnDBThread* observer) = 0; - ObserverList<AutofillWebDataServiceObserverOnDBThread> db_observer_list_; + // Remove expired elements from the database and commit if needed. + virtual void RemoveExpiredFormElementsWrapper() = 0; - DISALLOW_COPY_AND_ASSIGN(AutofillWebDataBackend); + // Notifies listeners on the UI thread that multiple changes have been made to + // to Autofill records of the database. + // NOTE: This method is intended to be called from the DB thread. It + // asynchronously notifies listeners on the UI thread. + virtual void NotifyOfMultipleAutofillChanges() = 0; }; -} // namespace autofill +} // namespace autofill #endif // COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ diff --git a/components/autofill/browser/webdata/autofill_webdata_backend.cc b/components/autofill/browser/webdata/autofill_webdata_backend_impl.cc index e8c5fd8fdc..f7e4f30c16 100644 --- a/components/autofill/browser/webdata/autofill_webdata_backend.cc +++ b/components/autofill/browser/webdata/autofill_webdata_backend_impl.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "components/autofill/browser/webdata/autofill_webdata_backend.h" +#include "components/autofill/browser/webdata/autofill_webdata_backend_impl.h" #include "base/logging.h" #include "base/stl_util.h" @@ -14,6 +14,7 @@ #include "components/autofill/browser/webdata/autofill_table.h" #include "components/autofill/browser/webdata/autofill_webdata_service_observer.h" #include "components/autofill/common/form_field_data.h" +#include "components/webdata/common/web_data_service_backend.h" using base::Bind; using base::Time; @@ -21,25 +22,46 @@ using content::BrowserThread; namespace autofill { -AutofillWebDataBackend::AutofillWebDataBackend() { +AutofillWebDataBackendImpl::AutofillWebDataBackendImpl( + scoped_refptr<WebDataServiceBackend> web_database_backend, + const base::Closure& on_changed_callback) + : web_database_backend_(web_database_backend), + on_changed_callback_(on_changed_callback) { } -void AutofillWebDataBackend::AddObserver( +void AutofillWebDataBackendImpl::AddObserver( AutofillWebDataServiceObserverOnDBThread* observer) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); db_observer_list_.AddObserver(observer); } -void AutofillWebDataBackend::RemoveObserver( +void AutofillWebDataBackendImpl::RemoveObserver( AutofillWebDataServiceObserverOnDBThread* observer) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); db_observer_list_.RemoveObserver(observer); } -AutofillWebDataBackend::~AutofillWebDataBackend() { +AutofillWebDataBackendImpl::~AutofillWebDataBackendImpl() { } -WebDatabase::State AutofillWebDataBackend::AddFormElements( +WebDatabase* AutofillWebDataBackendImpl::GetDatabase() { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); + return web_database_backend_->database(); +} + +void AutofillWebDataBackendImpl::RemoveExpiredFormElementsWrapper() { + web_database_backend_->ExecuteWriteTask( + Bind(&AutofillWebDataBackendImpl::RemoveExpiredFormElements, this)); +} + +void AutofillWebDataBackendImpl::NotifyOfMultipleAutofillChanges() { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); + BrowserThread::PostTask(BrowserThread::UI, + FROM_HERE, + on_changed_callback_); +} + +WebDatabase::State AutofillWebDataBackendImpl::AddFormElements( const std::vector<FormFieldData>& fields, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); AutofillChangeList changes; @@ -60,7 +82,7 @@ WebDatabase::State AutofillWebDataBackend::AddFormElements( } scoped_ptr<WDTypedResult> -AutofillWebDataBackend::GetFormValuesForElementName( +AutofillWebDataBackendImpl::GetFormValuesForElementName( const base::string16& name, const base::string16& prefix, int limit, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); @@ -72,7 +94,7 @@ AutofillWebDataBackend::GetFormValuesForElementName( values)); } -scoped_ptr<WDTypedResult> AutofillWebDataBackend::HasFormElements( +scoped_ptr<WDTypedResult> AutofillWebDataBackendImpl::HasFormElements( WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); bool value = AutofillTable::FromWebDatabase(db)->HasFormElements(); @@ -80,7 +102,7 @@ scoped_ptr<WDTypedResult> AutofillWebDataBackend::HasFormElements( new WDResult<bool>(AUTOFILL_VALUE_RESULT, value)); } -WebDatabase::State AutofillWebDataBackend::RemoveFormElementsAddedBetween( +WebDatabase::State AutofillWebDataBackendImpl::RemoveFormElementsAddedBetween( const base::Time& delete_begin, const base::Time& delete_end, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); @@ -101,7 +123,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveFormElementsAddedBetween( return WebDatabase::COMMIT_NOT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::RemoveExpiredFormElements( +WebDatabase::State AutofillWebDataBackendImpl::RemoveExpiredFormElements( WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); AutofillChangeList changes; @@ -120,7 +142,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveExpiredFormElements( return WebDatabase::COMMIT_NOT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::RemoveFormValueForElementName( +WebDatabase::State AutofillWebDataBackendImpl::RemoveFormValueForElementName( const base::string16& name, const base::string16& value, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); @@ -139,7 +161,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveFormValueForElementName( return WebDatabase::COMMIT_NOT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::AddAutofillProfile( +WebDatabase::State AutofillWebDataBackendImpl::AddAutofillProfile( const AutofillProfile& profile, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); if (!AutofillTable::FromWebDatabase(db)->AddAutofillProfile(profile)) { @@ -157,7 +179,7 @@ WebDatabase::State AutofillWebDataBackend::AddAutofillProfile( return WebDatabase::COMMIT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::UpdateAutofillProfile( +WebDatabase::State AutofillWebDataBackendImpl::UpdateAutofillProfile( const AutofillProfile& profile, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); // Only perform the update if the profile exists. It is currently @@ -186,7 +208,7 @@ WebDatabase::State AutofillWebDataBackend::UpdateAutofillProfile( return WebDatabase::COMMIT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::RemoveAutofillProfile( +WebDatabase::State AutofillWebDataBackendImpl::RemoveAutofillProfile( const std::string& guid, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); AutofillProfile* profile = NULL; @@ -210,7 +232,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveAutofillProfile( return WebDatabase::COMMIT_NEEDED; } -scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetAutofillProfiles( +scoped_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetAutofillProfiles( WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); std::vector<AutofillProfile*> profiles; @@ -219,11 +241,11 @@ scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetAutofillProfiles( new WDDestroyableResult<std::vector<AutofillProfile*> >( AUTOFILL_PROFILES_RESULT, profiles, - base::Bind(&AutofillWebDataBackend::DestroyAutofillProfileResult, + base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillProfileResult, base::Unretained(this)))); } -WebDatabase::State AutofillWebDataBackend::AddCreditCard( +WebDatabase::State AutofillWebDataBackendImpl::AddCreditCard( const CreditCard& credit_card, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); if (!AutofillTable::FromWebDatabase(db)->AddCreditCard(credit_card)) { @@ -234,7 +256,7 @@ WebDatabase::State AutofillWebDataBackend::AddCreditCard( return WebDatabase::COMMIT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::UpdateCreditCard( +WebDatabase::State AutofillWebDataBackendImpl::UpdateCreditCard( const CreditCard& credit_card, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); // It is currently valid to try to update a missing profile. We simply drop @@ -253,7 +275,7 @@ WebDatabase::State AutofillWebDataBackend::UpdateCreditCard( return WebDatabase::COMMIT_NEEDED; } -WebDatabase::State AutofillWebDataBackend::RemoveCreditCard( +WebDatabase::State AutofillWebDataBackendImpl::RemoveCreditCard( const std::string& guid, WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); if (!AutofillTable::FromWebDatabase(db)->RemoveCreditCard(guid)) { @@ -263,7 +285,7 @@ WebDatabase::State AutofillWebDataBackend::RemoveCreditCard( return WebDatabase::COMMIT_NEEDED; } -scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetCreditCards( +scoped_ptr<WDTypedResult> AutofillWebDataBackendImpl::GetCreditCards( WebDatabase* db) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); std::vector<CreditCard*> credit_cards; @@ -272,12 +294,12 @@ scoped_ptr<WDTypedResult> AutofillWebDataBackend::GetCreditCards( new WDDestroyableResult<std::vector<CreditCard*> >( AUTOFILL_CREDITCARDS_RESULT, credit_cards, - base::Bind(&AutofillWebDataBackend::DestroyAutofillCreditCardResult, + base::Bind(&AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult, base::Unretained(this)))); } WebDatabase::State - AutofillWebDataBackend::RemoveAutofillDataModifiedBetween( + AutofillWebDataBackendImpl::RemoveAutofillDataModifiedBetween( const base::Time& delete_begin, const base::Time& delete_end, WebDatabase* db) { @@ -303,7 +325,7 @@ WebDatabase::State return WebDatabase::COMMIT_NOT_NEEDED; } -void AutofillWebDataBackend::DestroyAutofillProfileResult( +void AutofillWebDataBackendImpl::DestroyAutofillProfileResult( const WDTypedResult* result) { DCHECK(result->GetType() == AUTOFILL_PROFILES_RESULT); const WDResult<std::vector<AutofillProfile*> >* r = @@ -312,7 +334,7 @@ void AutofillWebDataBackend::DestroyAutofillProfileResult( STLDeleteElements(&profiles); } -void AutofillWebDataBackend::DestroyAutofillCreditCardResult( +void AutofillWebDataBackendImpl::DestroyAutofillCreditCardResult( const WDTypedResult* result) { DCHECK(result->GetType() == AUTOFILL_CREDITCARDS_RESULT); const WDResult<std::vector<CreditCard*> >* r = diff --git a/components/autofill/browser/webdata/autofill_webdata_backend_impl.h b/components/autofill/browser/webdata/autofill_webdata_backend_impl.h new file mode 100644 index 0000000000..525adcbc81 --- /dev/null +++ b/components/autofill/browser/webdata/autofill_webdata_backend_impl.h @@ -0,0 +1,151 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_ +#define COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_ + +#include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" +#include "base/observer_list.h" +#include "components/autofill/browser/webdata/autofill_webdata.h" +#include "components/autofill/browser/webdata/autofill_webdata_backend.h" +#include "components/autofill/common/form_field_data.h" +#include "components/webdata/common/web_data_results.h" +#include "components/webdata/common/web_data_service_base.h" +#include "components/webdata/common/web_data_service_consumer.h" +#include "components/webdata/common/web_database.h" + +class WebDataServiceBackend; + +namespace autofill { + +class AutofillChange; +class AutofillProfile; +class AutofillWebDataServiceObserverOnDBThread; +class CreditCard; + +// Backend implentation for the AutofillWebDataService. This class runs on the +// DB thread, as it handles reads and writes to the WebDatabase, and functions +// in it should only be called from that thread. Most functions here are just +// the implementations of the corresponding functions in the Autofill +// WebDataService. +class AutofillWebDataBackendImpl + : public base::RefCountedThreadSafe<AutofillWebDataBackendImpl, + content::BrowserThread::DeleteOnDBThread>, + public AutofillWebDataBackend { + public: + // |web_database_backend| is used to access the WebDatabase directly for + // Sync-related operations. |on_changed_callback| is a closure which can be + // used to notify the UI thread of changes initiated by Sync (this callback + // may be called multiple times). + AutofillWebDataBackendImpl( + scoped_refptr<WebDataServiceBackend> web_database_backend, + const base::Closure& on_changed_callback); + + // AutofillWebDataBackend implementation. + virtual void AddObserver(AutofillWebDataServiceObserverOnDBThread* observer) + OVERRIDE; + virtual void RemoveObserver( + AutofillWebDataServiceObserverOnDBThread* observer) OVERRIDE; + virtual WebDatabase* GetDatabase() OVERRIDE; + virtual void RemoveExpiredFormElementsWrapper() OVERRIDE; + virtual void NotifyOfMultipleAutofillChanges() OVERRIDE; + + // Adds form fields to the web database. + WebDatabase::State AddFormElements(const std::vector<FormFieldData>& fields, + WebDatabase* db); + + // Returns a vector of values which have been entered in form input fields + // named |name|. + scoped_ptr<WDTypedResult> GetFormValuesForElementName( + const base::string16& name, + const base::string16& prefix, + int limit, + WebDatabase* db); + + // Returns true if there are any elements in the form. + scoped_ptr<WDTypedResult> HasFormElements(WebDatabase* db); + + // Removes form elements recorded for Autocomplete from the database. + WebDatabase::State RemoveFormElementsAddedBetween( + const base::Time& delete_begin, + const base::Time& delete_end, + WebDatabase* db); + + // Removes expired form elements recorded for Autocomplete from the database. + WebDatabase::State RemoveExpiredFormElements(WebDatabase* db); + + // Removes the Form-value |value| which has been entered in form input fields + // named |name| from the database. + WebDatabase::State RemoveFormValueForElementName(const base::string16& name, + const base::string16& value, + WebDatabase* db); + + // Adds an Autofill profile to the web database. + WebDatabase::State AddAutofillProfile(const AutofillProfile& profile, + WebDatabase* db); + + // Updates an Autofill profile in the web database. + WebDatabase::State UpdateAutofillProfile(const AutofillProfile& profile, + WebDatabase* db); + + // Removes an Autofill profile from the web database. + WebDatabase::State RemoveAutofillProfile(const std::string& guid, + WebDatabase* db); + + // Returns all Autofill profiles from the web database. + scoped_ptr<WDTypedResult> GetAutofillProfiles(WebDatabase* db); + + // Adds a credit card to the web database. + WebDatabase::State AddCreditCard(const CreditCard& credit_card, + WebDatabase* db); + + // Updates a credit card in the web database. + WebDatabase::State UpdateCreditCard(const CreditCard& credit_card, + WebDatabase* db); + + // Removes a credit card from the web database. + WebDatabase::State RemoveCreditCard(const std::string& guid, + WebDatabase* db); + + // Returns a vector of all credit cards from the web database. + scoped_ptr<WDTypedResult> GetCreditCards(WebDatabase* db); + + // Removes Autofill records from the database. + WebDatabase::State RemoveAutofillDataModifiedBetween( + const base::Time& delete_begin, + const base::Time& delete_end, + WebDatabase* db); + + protected: + virtual ~AutofillWebDataBackendImpl(); + + private: + friend struct content::BrowserThread::DeleteOnThread< + content::BrowserThread::DB>; + friend class base::DeleteHelper<AutofillWebDataBackendImpl>; + // We have to friend RCTS<> so WIN shared-lib build is happy + // (http://crbug/112250). + friend class base::RefCountedThreadSafe<AutofillWebDataBackendImpl, + content::BrowserThread::DeleteOnDBThread>; + + // Callbacks to ensure that sensitive info is destroyed if request is + // cancelled. + void DestroyAutofillProfileResult(const WDTypedResult* result); + void DestroyAutofillCreditCardResult(const WDTypedResult* result); + + ObserverList<AutofillWebDataServiceObserverOnDBThread> db_observer_list_; + + // WebDataServiceBackend allows direct access to DB. + // TODO(caitkp): Make it so nobody but us needs direct DB access anymore. + scoped_refptr<WebDataServiceBackend> web_database_backend_; + + base::Closure on_changed_callback_; + + DISALLOW_COPY_AND_ASSIGN(AutofillWebDataBackendImpl); +}; + +} // namespace autofill + +#endif // COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_IMPL_H_ diff --git a/components/autofill/browser/webdata/autofill_webdata_service.cc b/components/autofill/browser/webdata/autofill_webdata_service.cc index 1f7e158fe8..b965b197e2 100644 --- a/components/autofill/browser/webdata/autofill_webdata_service.cc +++ b/components/autofill/browser/webdata/autofill_webdata_service.cc @@ -12,9 +12,10 @@ #include "components/autofill/browser/webdata/autofill_change.h" #include "components/autofill/browser/webdata/autofill_entry.h" #include "components/autofill/browser/webdata/autofill_table.h" -#include "components/autofill/browser/webdata/autofill_webdata_backend.h" +#include "components/autofill/browser/webdata/autofill_webdata_backend_impl.h" #include "components/autofill/browser/webdata/autofill_webdata_service_observer.h" #include "components/autofill/common/form_field_data.h" +#include "components/webdata/common/web_data_service_backend.h" #include "components/webdata/common/web_database_service.h" using base::Bind; @@ -41,16 +42,27 @@ AutofillWebDataService::AutofillWebDataService( scoped_refptr<WebDatabaseService> wdbs, const ProfileErrorCallback& callback) : WebDataServiceBase(wdbs, callback), - autofill_backend_(new AutofillWebDataBackend()) { + weak_ptr_factory_(this), + autofill_backend_(NULL) { + + base::Closure on_changed_callback = Bind( + &AutofillWebDataService::NotifyAutofillMultipleChangedOnUIThread, + weak_ptr_factory_.GetWeakPtr()); + + autofill_backend_ = new AutofillWebDataBackendImpl( + wdbs_->GetBackend(), + on_changed_callback); } AutofillWebDataService::AutofillWebDataService() : WebDataServiceBase(NULL, WebDataServiceBase::ProfileErrorCallback()), - autofill_backend_(new AutofillWebDataBackend()) { + weak_ptr_factory_(this), + autofill_backend_(new AutofillWebDataBackendImpl(NULL, base::Closure())) { } void AutofillWebDataService::ShutdownOnUIThread() { + weak_ptr_factory_.InvalidateWeakPtrs(); BrowserThread::PostTask( BrowserThread::DB, FROM_HERE, base::Bind(&AutofillWebDataService::ShutdownOnDBThread, this)); @@ -60,7 +72,7 @@ void AutofillWebDataService::ShutdownOnUIThread() { void AutofillWebDataService::AddFormFields( const std::vector<FormFieldData>& fields) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::AddFormElements, + Bind(&AutofillWebDataBackendImpl::AddFormElements, autofill_backend_, fields)); } @@ -68,69 +80,69 @@ WebDataServiceBase::Handle AutofillWebDataService::GetFormValuesForElementName( const base::string16& name, const base::string16& prefix, int limit, WebDataServiceConsumer* consumer) { return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, - Bind(&AutofillWebDataBackend::GetFormValuesForElementName, + Bind(&AutofillWebDataBackendImpl::GetFormValuesForElementName, autofill_backend_, name, prefix, limit), consumer); } WebDataServiceBase::Handle AutofillWebDataService::HasFormElements( WebDataServiceConsumer* consumer) { return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, - Bind(&AutofillWebDataBackend::HasFormElements, autofill_backend_), + Bind(&AutofillWebDataBackendImpl::HasFormElements, autofill_backend_), consumer); } void AutofillWebDataService::RemoveFormElementsAddedBetween( const Time& delete_begin, const Time& delete_end) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveFormElementsAddedBetween, + Bind(&AutofillWebDataBackendImpl::RemoveFormElementsAddedBetween, autofill_backend_, delete_begin, delete_end)); } void AutofillWebDataService::RemoveExpiredFormElements() { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveExpiredFormElements, + Bind(&AutofillWebDataBackendImpl::RemoveExpiredFormElements, autofill_backend_)); } void AutofillWebDataService::RemoveFormValueForElementName( const base::string16& name, const base::string16& value) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveFormValueForElementName, + Bind(&AutofillWebDataBackendImpl::RemoveFormValueForElementName, autofill_backend_, name, value)); } void AutofillWebDataService::AddAutofillProfile( const AutofillProfile& profile) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::AddAutofillProfile, + Bind(&AutofillWebDataBackendImpl::AddAutofillProfile, autofill_backend_, profile)); } void AutofillWebDataService::UpdateAutofillProfile( const AutofillProfile& profile) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::UpdateAutofillProfile, + Bind(&AutofillWebDataBackendImpl::UpdateAutofillProfile, autofill_backend_, profile)); } void AutofillWebDataService::RemoveAutofillProfile( const std::string& guid) { wdbs_->ScheduleDBTask(FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveAutofillProfile, + Bind(&AutofillWebDataBackendImpl::RemoveAutofillProfile, autofill_backend_, guid)); } WebDataServiceBase::Handle AutofillWebDataService::GetAutofillProfiles( WebDataServiceConsumer* consumer) { return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, - Bind(&AutofillWebDataBackend::GetAutofillProfiles, autofill_backend_), + Bind(&AutofillWebDataBackendImpl::GetAutofillProfiles, autofill_backend_), consumer); } void AutofillWebDataService::AddCreditCard(const CreditCard& credit_card) { wdbs_->ScheduleDBTask( FROM_HERE, - Bind(&AutofillWebDataBackend::AddCreditCard, + Bind(&AutofillWebDataBackendImpl::AddCreditCard, autofill_backend_, credit_card)); } @@ -138,20 +150,21 @@ void AutofillWebDataService::UpdateCreditCard( const CreditCard& credit_card) { wdbs_->ScheduleDBTask( FROM_HERE, - Bind(&AutofillWebDataBackend::UpdateCreditCard, + Bind(&AutofillWebDataBackendImpl::UpdateCreditCard, autofill_backend_, credit_card)); } void AutofillWebDataService::RemoveCreditCard(const std::string& guid) { wdbs_->ScheduleDBTask( FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveCreditCard, autofill_backend_, guid)); + Bind(&AutofillWebDataBackendImpl::RemoveCreditCard, + autofill_backend_, guid)); } WebDataServiceBase::Handle AutofillWebDataService::GetCreditCards( WebDataServiceConsumer* consumer) { return wdbs_->ScheduleDBTaskWithResult(FROM_HERE, - Bind(&AutofillWebDataBackend::GetCreditCards, autofill_backend_), + Bind(&AutofillWebDataBackendImpl::GetCreditCards, autofill_backend_), consumer); } @@ -160,7 +173,7 @@ void AutofillWebDataService::RemoveAutofillDataModifiedBetween( const Time& delete_end) { wdbs_->ScheduleDBTask( FROM_HERE, - Bind(&AutofillWebDataBackend::RemoveAutofillDataModifiedBetween, + Bind(&AutofillWebDataBackendImpl::RemoveAutofillDataModifiedBetween, autofill_backend_, delete_begin, delete_end)); } @@ -197,6 +210,13 @@ base::SupportsUserData* AutofillWebDataService::GetDBUserData() { return db_thread_user_data_.get(); } +void AutofillWebDataService::GetAutofillBackend( + const base::Callback<void(AutofillWebDataBackend*)>& callback) { + BrowserThread::PostTask(BrowserThread::DB, + FROM_HERE, + base::Bind(callback, autofill_backend_)); +} + void AutofillWebDataService::ShutdownOnDBThread() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); db_thread_user_data_.reset(); diff --git a/components/autofill/browser/webdata/autofill_webdata_service.h b/components/autofill/browser/webdata/autofill_webdata_service.h index 2ca80ef953..2a8731749b 100644 --- a/components/autofill/browser/webdata/autofill_webdata_service.h +++ b/components/autofill/browser/webdata/autofill_webdata_service.h @@ -8,6 +8,7 @@ #include <vector> #include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/supports_user_data.h" #include "components/autofill/browser/webdata/autofill_webdata.h" @@ -28,6 +29,7 @@ namespace autofill { class AutofillChange; class AutofillProfile; class AutofillWebDataBackend; +class AutofillWebDataBackendImpl; class AutofillWebDataServiceObserverOnDBThread; class AutofillWebDataServiceObserverOnUIThread; class CreditCard; @@ -99,6 +101,12 @@ class AutofillWebDataService : public AutofillWebData, // |ShutdownOnUIThread()| is called. base::SupportsUserData* GetDBUserData(); + // Takes a callback which will be called on the DB thread with a pointer to an + // |AutofillWebdataBackend|. This backend can be used to access or update the + // WebDatabase directly on the DB thread. + void GetAutofillBackend( + const base::Callback<void(AutofillWebDataBackend*)>& callback); + protected: virtual ~AutofillWebDataService(); @@ -126,7 +134,11 @@ class AutofillWebDataService : public AutofillWebData, ObserverList<AutofillWebDataServiceObserverOnUIThread> ui_observer_list_; - scoped_refptr<AutofillWebDataBackend> autofill_backend_; + // This factory is used on the UI thread. All vended weak pointers are + // invalidated in ShutdownOnUIThread(). + base::WeakPtrFactory<AutofillWebDataService> weak_ptr_factory_; + + scoped_refptr<AutofillWebDataBackendImpl> autofill_backend_; DISALLOW_COPY_AND_ASSIGN(AutofillWebDataService); }; diff --git a/components/autofill/renderer/autofill_agent.cc b/components/autofill/renderer/autofill_agent.cc index 27795c41a8..eff68be26f 100644 --- a/components/autofill/renderer/autofill_agent.cc +++ b/components/autofill/renderer/autofill_agent.cc @@ -25,8 +25,7 @@ #include "content/public/common/password_form.h" #include "content/public/common/ssl_status.h" #include "content/public/renderer/render_view.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebRect.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" diff --git a/components/autofill/renderer/form_cache.cc b/components/autofill/renderer/form_cache.cc index 5d0bed0923..988aa3d10b 100644 --- a/components/autofill/renderer/form_cache.cc +++ b/components/autofill/renderer/form_cache.cc @@ -12,7 +12,7 @@ #include "components/autofill/common/form_field_data.h" #include "components/autofill/common/form_field_data_predictions.h" #include "components/autofill/renderer/form_autofill_util.h" -#include "grit/generated_resources.h" +#include "grit/component_resources.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebVector.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" diff --git a/components/autofill_browser.target.darwin-arm.mk b/components/autofill_browser.target.darwin-arm.mk index 9922a3a3d4..6bced9ceee 100644 --- a/components/autofill_browser.target.darwin-arm.mk +++ b/components/autofill_browser.target.darwin-arm.mk @@ -19,7 +19,7 @@ GYP_TARGET_DEPENDENCIES := \ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a \ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_ui_gyp)/ui_ui_gyp.a \ $(call intermediates-dir-for,GYP,webkit_support_webkit_resources_gyp)/webkit_resources.stamp \ - $(call intermediates-dir-for,GYP,chrome_chrome_strings_gyp)/chrome_strings.stamp + $(call intermediates-dir-for,GYP,components_component_resources_gyp)/component_resources.stamp GYP_GENERATED_OUTPUTS := @@ -86,7 +86,7 @@ LOCAL_SRC_FILES := \ components/autofill/browser/webdata/autofill_change.cc \ components/autofill/browser/webdata/autofill_entry.cc \ components/autofill/browser/webdata/autofill_table.cc \ - components/autofill/browser/webdata/autofill_webdata_backend.cc \ + components/autofill/browser/webdata/autofill_webdata_backend_impl.cc \ components/autofill/browser/webdata/autofill_webdata_service.cc @@ -146,7 +146,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DFEATURE_ENABLE_SSL' \ '-DFEATURE_ENABLE_VOICEMAIL' \ @@ -207,7 +207,7 @@ LOCAL_C_INCLUDES := \ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber \ $(LOCAL_PATH)/third_party/libphonenumber/src \ $(gyp_shared_intermediate_dir)/webkit \ - $(gyp_shared_intermediate_dir)/chrome \ + $(gyp_shared_intermediate_dir)/component_resources \ $(GYP_ABS_ANDROID_TOP_DIR)/frameworks/wilhelm/include \ $(GYP_ABS_ANDROID_TOP_DIR)/bionic \ $(GYP_ABS_ANDROID_TOP_DIR)/external/stlport/stlport diff --git a/components/autofill_browser.target.darwin-x86.mk b/components/autofill_browser.target.darwin-x86.mk index 67df85279a..d87925861c 100644 --- a/components/autofill_browser.target.darwin-x86.mk +++ b/components/autofill_browser.target.darwin-x86.mk @@ -19,7 +19,7 @@ GYP_TARGET_DEPENDENCIES := \ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a \ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_ui_gyp)/ui_ui_gyp.a \ $(call intermediates-dir-for,GYP,webkit_support_webkit_resources_gyp)/webkit_resources.stamp \ - $(call intermediates-dir-for,GYP,chrome_chrome_strings_gyp)/chrome_strings.stamp + $(call intermediates-dir-for,GYP,components_component_resources_gyp)/component_resources.stamp GYP_GENERATED_OUTPUTS := @@ -86,7 +86,7 @@ LOCAL_SRC_FILES := \ components/autofill/browser/webdata/autofill_change.cc \ components/autofill/browser/webdata/autofill_entry.cc \ components/autofill/browser/webdata/autofill_table.cc \ - components/autofill/browser/webdata/autofill_webdata_backend.cc \ + components/autofill/browser/webdata/autofill_webdata_backend_impl.cc \ components/autofill/browser/webdata/autofill_webdata_service.cc @@ -148,7 +148,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DFEATURE_ENABLE_SSL' \ '-DFEATURE_ENABLE_VOICEMAIL' \ @@ -208,7 +208,7 @@ LOCAL_C_INCLUDES := \ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber \ $(LOCAL_PATH)/third_party/libphonenumber/src \ $(gyp_shared_intermediate_dir)/webkit \ - $(gyp_shared_intermediate_dir)/chrome \ + $(gyp_shared_intermediate_dir)/component_resources \ $(GYP_ABS_ANDROID_TOP_DIR)/frameworks/wilhelm/include \ $(GYP_ABS_ANDROID_TOP_DIR)/bionic \ $(GYP_ABS_ANDROID_TOP_DIR)/external/stlport/stlport diff --git a/components/autofill_browser.target.linux-arm.mk b/components/autofill_browser.target.linux-arm.mk index 9922a3a3d4..6bced9ceee 100644 --- a/components/autofill_browser.target.linux-arm.mk +++ b/components/autofill_browser.target.linux-arm.mk @@ -19,7 +19,7 @@ GYP_TARGET_DEPENDENCIES := \ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a \ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_ui_gyp)/ui_ui_gyp.a \ $(call intermediates-dir-for,GYP,webkit_support_webkit_resources_gyp)/webkit_resources.stamp \ - $(call intermediates-dir-for,GYP,chrome_chrome_strings_gyp)/chrome_strings.stamp + $(call intermediates-dir-for,GYP,components_component_resources_gyp)/component_resources.stamp GYP_GENERATED_OUTPUTS := @@ -86,7 +86,7 @@ LOCAL_SRC_FILES := \ components/autofill/browser/webdata/autofill_change.cc \ components/autofill/browser/webdata/autofill_entry.cc \ components/autofill/browser/webdata/autofill_table.cc \ - components/autofill/browser/webdata/autofill_webdata_backend.cc \ + components/autofill/browser/webdata/autofill_webdata_backend_impl.cc \ components/autofill/browser/webdata/autofill_webdata_service.cc @@ -146,7 +146,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DFEATURE_ENABLE_SSL' \ '-DFEATURE_ENABLE_VOICEMAIL' \ @@ -207,7 +207,7 @@ LOCAL_C_INCLUDES := \ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber \ $(LOCAL_PATH)/third_party/libphonenumber/src \ $(gyp_shared_intermediate_dir)/webkit \ - $(gyp_shared_intermediate_dir)/chrome \ + $(gyp_shared_intermediate_dir)/component_resources \ $(GYP_ABS_ANDROID_TOP_DIR)/frameworks/wilhelm/include \ $(GYP_ABS_ANDROID_TOP_DIR)/bionic \ $(GYP_ABS_ANDROID_TOP_DIR)/external/stlport/stlport diff --git a/components/autofill_browser.target.linux-x86.mk b/components/autofill_browser.target.linux-x86.mk index 67df85279a..d87925861c 100644 --- a/components/autofill_browser.target.linux-x86.mk +++ b/components/autofill_browser.target.linux-x86.mk @@ -19,7 +19,7 @@ GYP_TARGET_DEPENDENCIES := \ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a \ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_ui_gyp)/ui_ui_gyp.a \ $(call intermediates-dir-for,GYP,webkit_support_webkit_resources_gyp)/webkit_resources.stamp \ - $(call intermediates-dir-for,GYP,chrome_chrome_strings_gyp)/chrome_strings.stamp + $(call intermediates-dir-for,GYP,components_component_resources_gyp)/component_resources.stamp GYP_GENERATED_OUTPUTS := @@ -86,7 +86,7 @@ LOCAL_SRC_FILES := \ components/autofill/browser/webdata/autofill_change.cc \ components/autofill/browser/webdata/autofill_entry.cc \ components/autofill/browser/webdata/autofill_table.cc \ - components/autofill/browser/webdata/autofill_webdata_backend.cc \ + components/autofill/browser/webdata/autofill_webdata_backend_impl.cc \ components/autofill/browser/webdata/autofill_webdata_service.cc @@ -148,7 +148,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DFEATURE_ENABLE_SSL' \ '-DFEATURE_ENABLE_VOICEMAIL' \ @@ -208,7 +208,7 @@ LOCAL_C_INCLUDES := \ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber \ $(LOCAL_PATH)/third_party/libphonenumber/src \ $(gyp_shared_intermediate_dir)/webkit \ - $(gyp_shared_intermediate_dir)/chrome \ + $(gyp_shared_intermediate_dir)/component_resources \ $(GYP_ABS_ANDROID_TOP_DIR)/frameworks/wilhelm/include \ $(GYP_ABS_ANDROID_TOP_DIR)/bionic \ $(GYP_ABS_ANDROID_TOP_DIR)/external/stlport/stlport diff --git a/components/autofill_common.target.darwin-arm.mk b/components/autofill_common.target.darwin-arm.mk index c48d85ad68..99f67904ed 100644 --- a/components/autofill_common.target.darwin-arm.mk +++ b/components/autofill_common.target.darwin-arm.mk @@ -96,7 +96,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DPOSIX_AVOID_MMAP' \ '-D__STDC_CONSTANT_MACROS' \ diff --git a/components/autofill_common.target.darwin-x86.mk b/components/autofill_common.target.darwin-x86.mk index ddc5eac489..a5604bc5e3 100644 --- a/components/autofill_common.target.darwin-x86.mk +++ b/components/autofill_common.target.darwin-x86.mk @@ -98,7 +98,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/autofill_common.target.linux-arm.mk b/components/autofill_common.target.linux-arm.mk index c48d85ad68..99f67904ed 100644 --- a/components/autofill_common.target.linux-arm.mk +++ b/components/autofill_common.target.linux-arm.mk @@ -96,7 +96,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DPOSIX_AVOID_MMAP' \ '-D__STDC_CONSTANT_MACROS' \ diff --git a/components/autofill_common.target.linux-x86.mk b/components/autofill_common.target.linux-x86.mk index ddc5eac489..a5604bc5e3 100644 --- a/components/autofill_common.target.linux-x86.mk +++ b/components/autofill_common.target.linux-x86.mk @@ -98,7 +98,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/component_resources.grd b/components/component_resources.grd new file mode 100644 index 0000000000..61d32395d2 --- /dev/null +++ b/components/component_resources.grd @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="utf-8"?> + +<grit latest_public_release="0" current_release="1" + source_lang_id="en" enc_check="möl"> + <outputs> + <output filename="grit/component_resources.h" type="rc_header"> + <emit emit_type='prepend'></emit> + </output> + <output filename="component_resources_am.pak" type="data_package" lang="am" /> + <output filename="component_resources_ar.pak" type="data_package" lang="ar" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_ast.pak" type="data_package" lang="ast" /> + </if> + <output filename="component_resources_bg.pak" type="data_package" lang="bg" /> + <output filename="component_resources_bn.pak" type="data_package" lang="bn" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_bs.pak" type="data_package" lang="bs" /> + </if> + <output filename="component_resources_ca.pak" type="data_package" lang="ca" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_ca@valencia.pak" type="data_package" lang="ca@valencia" /> + </if> + <output filename="component_resources_cs.pak" type="data_package" lang="cs" /> + <output filename="component_resources_da.pak" type="data_package" lang="da" /> + <output filename="component_resources_de.pak" type="data_package" lang="de" /> + <output filename="component_resources_el.pak" type="data_package" lang="el" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_en-AU.pak" type="data_package" lang="en-AU" /> + </if> + <output filename="component_resources_en-GB.pak" type="data_package" lang="en-GB" /> + <output filename="component_resources_en-US.pak" type="data_package" lang="en" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_eo.pak" type="data_package" lang="eo" /> + </if> + <output filename="component_resources_es.pak" type="data_package" lang="es" /> + <output filename="component_resources_es-419.pak" type="data_package" lang="es-419" /> + <output filename="component_resources_et.pak" type="data_package" lang="et" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_eu.pak" type="data_package" lang="eu" /> + </if> + <output filename="component_resources_fa.pak" type="data_package" lang="fa" /> + <output filename="component_resources_fake-bidi.pak" type="data_package" lang="fake-bidi" /> + <output filename="component_resources_fi.pak" type="data_package" lang="fi" /> + <output filename="component_resources_fil.pak" type="data_package" lang="fil" /> + <output filename="component_resources_fr.pak" type="data_package" lang="fr" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_gl.pak" type="data_package" lang="gl" /> + </if> + <output filename="component_resources_gu.pak" type="data_package" lang="gu" /> + <output filename="component_resources_he.pak" type="data_package" lang="he" /> + <output filename="component_resources_hi.pak" type="data_package" lang="hi" /> + <output filename="component_resources_hr.pak" type="data_package" lang="hr" /> + <output filename="component_resources_hu.pak" type="data_package" lang="hu" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_hy.pak" type="data_package" lang="hy" /> + <output filename="component_resources_ia.pak" type="data_package" lang="ia" /> + </if> + <output filename="component_resources_id.pak" type="data_package" lang="id" /> + <output filename="component_resources_it.pak" type="data_package" lang="it" /> + <output filename="component_resources_ja.pak" type="data_package" lang="ja" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_ka.pak" type="data_package" lang="ka" /> + </if> + <output filename="component_resources_kn.pak" type="data_package" lang="kn" /> + <output filename="component_resources_ko.pak" type="data_package" lang="ko" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_ku.pak" type="data_package" lang="ku" /> + <output filename="component_resources_kw.pak" type="data_package" lang="kw" /> + </if> + <output filename="component_resources_lt.pak" type="data_package" lang="lt" /> + <output filename="component_resources_lv.pak" type="data_package" lang="lv" /> + <output filename="component_resources_ml.pak" type="data_package" lang="ml" /> + <output filename="component_resources_mr.pak" type="data_package" lang="mr" /> + <output filename="component_resources_ms.pak" type="data_package" lang="ms" /> + <output filename="component_resources_nl.pak" type="data_package" lang="nl" /> + <!-- The translation console uses 'no' for Norwegian Bokmål. It should + be 'nb'. --> + <output filename="component_resources_nb.pak" type="data_package" lang="no" /> + <output filename="component_resources_pl.pak" type="data_package" lang="pl" /> + <if expr="pp_ifdef('ios')"> + <!-- iOS uses pt for pt-BR --> + <output filename="component_resources_pt.pak" type="data_package" lang="pt-BR" /> + </if> + <if expr="not pp_ifdef('ios')"> + <output filename="component_resources_pt-BR.pak" type="data_package" lang="pt-BR" /> + </if> + <output filename="component_resources_pt-PT.pak" type="data_package" lang="pt-PT" /> + <output filename="component_resources_ro.pak" type="data_package" lang="ro" /> + <output filename="component_resources_ru.pak" type="data_package" lang="ru" /> + <output filename="component_resources_sk.pak" type="data_package" lang="sk" /> + <output filename="component_resources_sl.pak" type="data_package" lang="sl" /> + <output filename="component_resources_sr.pak" type="data_package" lang="sr" /> + <output filename="component_resources_sv.pak" type="data_package" lang="sv" /> + <output filename="component_resources_sw.pak" type="data_package" lang="sw" /> + <output filename="component_resources_ta.pak" type="data_package" lang="ta" /> + <output filename="component_resources_te.pak" type="data_package" lang="te" /> + <output filename="component_resources_th.pak" type="data_package" lang="th" /> + <output filename="component_resources_tr.pak" type="data_package" lang="tr" /> + <if expr="pp_ifdef('use_third_party_translations')"> + <output filename="component_resources_ug.pak" type="data_package" lang="ug" /> + </if> + <output filename="component_resources_uk.pak" type="data_package" lang="uk" /> + <output filename="component_resources_vi.pak" type="data_package" lang="vi" /> + <output filename="component_resources_zh-CN.pak" type="data_package" lang="zh-CN" /> + <output filename="component_resources_zh-TW.pak" type="data_package" lang="zh-TW" /> + </outputs> + <release seq="1" allow_pseudo="false"> + <messages fallback_to_english="true"> + <message name="IDS_AUTOFILL_CLEAR_FORM_MENU_ITEM" desc="The entry in the suggestions dropdown that clears an auto-filled form."> + Clear form + </message> + <message name="IDS_AUTOFILL_WARNING_FORM_DISABLED" desc="Warning text to show when autofill is disabled by the website for a given form."> + This webpage has disabled automatic filling for this form. + </message> + <message name="IDS_AUTOFILL_WARNING_INSECURE_CONNECTION" desc="Warning text to show when credit card autofill is disabled because the website is not using a secure connection."> + Automatic credit card filling is disabled because this form does not use a secure connection. + </message> + <message name="IDS_AUTOFILL_CC_AMEX" desc="American Express credit card name."> + American Express + </message> + <message name="IDS_AUTOFILL_CC_DINERS" desc="Diners Club credit card name."> + Diners Club + </message> + <message name="IDS_AUTOFILL_CC_DISCOVER" desc="Discover credit card name."> + Discover + </message> + <message name="IDS_AUTOFILL_CC_JCB" desc="JCB credit card name."> + JCB + </message> + <message name="IDS_AUTOFILL_CC_MASTERCARD" desc="MasterCard credit card name."> + MasterCard + </message> + <message name="IDS_AUTOFILL_CC_SOLO" desc="Solo debit card name."> + Solo + </message> + <message name="IDS_AUTOFILL_CC_VISA" desc="Visa credit card name."> + Visa + </message> + <message name="IDS_AUTOFILL_MAC_ADDRESS_LINE_SEPARATOR" desc="The separator character used to join multi-line addresses on the Mac."> + , ''' + </message> + <message name="IDS_AUTOFILL_ADDRESS_SUMMARY_SEPARATOR" desc="The separator character used in the summary of an address."> + , ''' + </message> + <message name="IDS_CREDIT_CARD_NUMBER_PREVIEW_FORMAT" + desc="Credit card preview format"> + <ph name="OBFUSCATED_CC_NUMBER">$1<ex>************1234</ex> + </ph>, Exp: <ph name="CC_EXPIRATION_DATE">$2<ex>03/2020</ex> + </ph> + </message> + + <!-- These are all variants of the same logical field: The major subdivision below the "country" level. --> + <message name="IDS_AUTOFILL_FIELD_LABEL_STATE" desc="The label of the State entry."> + State + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_AREA" desc="The label of the Area entry."> + Area + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_COUNTY" desc="The label of the County entry."> + County + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_DEPARTMENT" desc="The label of the Department entry."> + Department + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_DISTRICT" desc="The label of the District entry."> + District + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_EMIRATE" desc="The label of the Emirate entry."> + Emirate + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_ISLAND" desc="The label of the Island entry."> + Island + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_PARISH" desc="The label of the Parish entry."> + Parish + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_PREFECTURE" desc="The label of the Prefecture entry."> + Prefecture + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_PROVINCE" desc="The label of the Province entry."> + Province + </message> + <!-- End state variants. --> + <message name="IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE" desc="The label of the ZIP code entry."> + ZIP code + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE" desc="The label of the Postal code entry."> + Postal code + </message> + <message name="IDS_AUTOFILL_FIELD_LABEL_COUNTRY" desc="The label of the Country entry."> + Country + </message> + + <message name="IDS_AUTOFILL_SHOW_PREDICTIONS_TITLE" desc="The title for form elements when annotated with Autofill predictions."> +heuristic type: <ph name="HEURISTIC_TYPE">$1<ex>NAME_FIRST</ex></ph> +server type: <ph name="SERVER_TYPE">$2<ex>NAME_FIRST</ex></ph> +field signature: <ph name="FIELD_SIGNATURE">$3<ex>12345678</ex></ph> +form signature: <ph name="FORM_SIGNATURE">$4<ex>1234567812345678</ex></ph> +experiment id: "<ph name="EXPERIMENT_ID">$5<ex>ar1</ex></ph>" + </message> + + <!-- Autofill dialog: legal documents --> + <message name="IDS_AUTOFILL_DIALOG_PRIVACY_POLICY_LINK" desc="The text of an extra link that is appended to the end of whatever other legal documents need to be accepted or updated."> + Privacy Policy + </message> + + <message name="IDS_AUTOFILL_OPTIONS_POPUP" desc="The value of the Autofill options menu entry."> + Chrome Autofill settings + </message> + </messages> + </release> +</grit> diff --git a/components/component_resources.gyp b/components/component_resources.gyp new file mode 100644 index 0000000000..94839c1f48 --- /dev/null +++ b/components/component_resources.gyp @@ -0,0 +1,30 @@ +# Copyright (c) 2012 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. + +{ + 'variables': { + 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome', + }, + 'targets': [ + { + 'target_name': 'component_resources', + 'type': 'none', + 'actions': [ + { + 'action_name': 'component_resources', + 'variables': { + 'grit_grd_file': 'component_resources.grd', + 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/component_resources', + }, + 'includes': [ '../build/grit_action.gypi' ], + }, + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/component_resources', + ], + }, + }, + ], +} diff --git a/components/component_resources.target.darwin-arm.mk b/components/component_resources.target.darwin-arm.mk new file mode 100644 index 0000000000..e7db866e09 --- /dev/null +++ b/components/component_resources.target.darwin-arm.mk @@ -0,0 +1,158 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := GYP +LOCAL_MODULE := components_component_resources_gyp +LOCAL_MODULE_STEM := component_resources +LOCAL_MODULE_SUFFIX := .stamp +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := + +### Rules for action "component_resources": +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_local_path := $(LOCAL_PATH) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_shared_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH)) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/component_resources.grd $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/clique_unittest.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/c_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_writer_base_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/gather/txt_unittest.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grd_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/grit_runner_unittest.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/lazy_re_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/base_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/include_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/io_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/message_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/misc_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/structure_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/pseudo_unittest.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/tclib_unittest.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/build_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb_unittest.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/util_unittest.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES) + @echo "Gyp action: Generating resources from component_resources.grd ($@)" + $(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/component_resources/grit $(gyp_shared_intermediate_dir)/component_resources; python ../tools/grit/grit.py -i component_resources.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/component_resources" -D _chromium -E "CHROMIUM_BUILD=chromium" -D android -E "ANDROID_JAVA_TAGGED_ONLY=true" -D use_concatenated_impulse_responses + +$(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; + + +GYP_GENERATED_OUTPUTS := \ + $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +### Rules for final target. +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: components_component_resources_gyp + +# Alias gyp target name. +.PHONY: component_resources +component_resources: components_component_resources_gyp + +LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp +LOCAL_UNINSTALLABLE_MODULE := true + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(hide) echo "Gyp timestamp: $@" + $(hide) mkdir -p $(dir $@) + $(hide) touch $@ diff --git a/components/component_resources.target.darwin-x86.mk b/components/component_resources.target.darwin-x86.mk new file mode 100644 index 0000000000..e7db866e09 --- /dev/null +++ b/components/component_resources.target.darwin-x86.mk @@ -0,0 +1,158 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := GYP +LOCAL_MODULE := components_component_resources_gyp +LOCAL_MODULE_STEM := component_resources +LOCAL_MODULE_SUFFIX := .stamp +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := + +### Rules for action "component_resources": +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_local_path := $(LOCAL_PATH) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_shared_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH)) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/component_resources.grd $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/clique_unittest.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/c_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_writer_base_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/gather/txt_unittest.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grd_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/grit_runner_unittest.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/lazy_re_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/base_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/include_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/io_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/message_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/misc_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/structure_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/pseudo_unittest.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/tclib_unittest.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/build_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb_unittest.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/util_unittest.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES) + @echo "Gyp action: Generating resources from component_resources.grd ($@)" + $(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/component_resources/grit $(gyp_shared_intermediate_dir)/component_resources; python ../tools/grit/grit.py -i component_resources.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/component_resources" -D _chromium -E "CHROMIUM_BUILD=chromium" -D android -E "ANDROID_JAVA_TAGGED_ONLY=true" -D use_concatenated_impulse_responses + +$(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; + + +GYP_GENERATED_OUTPUTS := \ + $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +### Rules for final target. +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: components_component_resources_gyp + +# Alias gyp target name. +.PHONY: component_resources +component_resources: components_component_resources_gyp + +LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp +LOCAL_UNINSTALLABLE_MODULE := true + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(hide) echo "Gyp timestamp: $@" + $(hide) mkdir -p $(dir $@) + $(hide) touch $@ diff --git a/components/component_resources.target.linux-arm.mk b/components/component_resources.target.linux-arm.mk new file mode 100644 index 0000000000..e7db866e09 --- /dev/null +++ b/components/component_resources.target.linux-arm.mk @@ -0,0 +1,158 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := GYP +LOCAL_MODULE := components_component_resources_gyp +LOCAL_MODULE_STEM := component_resources +LOCAL_MODULE_SUFFIX := .stamp +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := + +### Rules for action "component_resources": +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_local_path := $(LOCAL_PATH) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_shared_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH)) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/component_resources.grd $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/clique_unittest.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/c_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_writer_base_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/gather/txt_unittest.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grd_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/grit_runner_unittest.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/lazy_re_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/base_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/include_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/io_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/message_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/misc_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/structure_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/pseudo_unittest.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/tclib_unittest.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/build_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb_unittest.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/util_unittest.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES) + @echo "Gyp action: Generating resources from component_resources.grd ($@)" + $(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/component_resources/grit $(gyp_shared_intermediate_dir)/component_resources; python ../tools/grit/grit.py -i component_resources.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/component_resources" -D _chromium -E "CHROMIUM_BUILD=chromium" -D android -E "ANDROID_JAVA_TAGGED_ONLY=true" -D use_concatenated_impulse_responses + +$(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; + + +GYP_GENERATED_OUTPUTS := \ + $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +### Rules for final target. +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: components_component_resources_gyp + +# Alias gyp target name. +.PHONY: component_resources +component_resources: components_component_resources_gyp + +LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp +LOCAL_UNINSTALLABLE_MODULE := true + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(hide) echo "Gyp timestamp: $@" + $(hide) mkdir -p $(dir $@) + $(hide) touch $@ diff --git a/components/component_resources.target.linux-x86.mk b/components/component_resources.target.linux-x86.mk new file mode 100644 index 0000000000..e7db866e09 --- /dev/null +++ b/components/component_resources.target.linux-x86.mk @@ -0,0 +1,158 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := GYP +LOCAL_MODULE := components_component_resources_gyp +LOCAL_MODULE_STEM := component_resources +LOCAL_MODULE_SUFFIX := .stamp +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := + +### Rules for action "component_resources": +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_local_path := $(LOCAL_PATH) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: gyp_shared_intermediate_dir := $(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH)) +$(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h: $(LOCAL_PATH)/tools/gritsettings/resource_ids $(LOCAL_PATH)/components/component_resources.grd $(LOCAL_PATH)/tools/grit/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit.py $(LOCAL_PATH)/tools/grit/grit/__init__.py $(LOCAL_PATH)/tools/grit/grit/clique.py $(LOCAL_PATH)/tools/grit/grit/clique_unittest.py $(LOCAL_PATH)/tools/grit/grit/constants.py $(LOCAL_PATH)/tools/grit/grit/exception.py $(LOCAL_PATH)/tools/grit/grit/extern/BogoFP.py $(LOCAL_PATH)/tools/grit/grit/extern/FP.py $(LOCAL_PATH)/tools/grit/grit/extern/__init__.py $(LOCAL_PATH)/tools/grit/grit/extern/tclib.py $(LOCAL_PATH)/tools/grit/grit/format/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml.py $(LOCAL_PATH)/tools/grit/grit/format/android_xml_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/c_format.py $(LOCAL_PATH)/tools/grit/grit/format/c_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json.py $(LOCAL_PATH)/tools/grit/grit/format/chrome_messages_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack.py $(LOCAL_PATH)/tools/grit/grit/format/data_pack_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline.py $(LOCAL_PATH)/tools/grit/grit/format/html_inline_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format.py $(LOCAL_PATH)/tools/grit/grit/format/js_map_format_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/PRESUBMIT.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/policy_template_generator_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/template_formatter.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writer_configuration.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/__init__.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adm_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/adml_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/admx_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/doc_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/json_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/mock_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_helper.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_strings_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/plist_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/reg_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/template_writer_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/writer_unittest_common.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_formatted_writer.py $(LOCAL_PATH)/tools/grit/grit/format/policy_templates/writers/xml_writer_base_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header.py $(LOCAL_PATH)/tools/grit/grit/format/rc_header_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/format/repack.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map.py $(LOCAL_PATH)/tools/grit/grit/format/resource_map_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/__init__.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template.py $(LOCAL_PATH)/tools/grit/grit/gather/admin_template_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image.py $(LOCAL_PATH)/tools/grit/grit/gather/chrome_scaled_image_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/igoogle_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/interface.py $(LOCAL_PATH)/tools/grit/grit/gather/json_loader.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings.py $(LOCAL_PATH)/tools/grit/grit/gather/muppet_strings_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json.py $(LOCAL_PATH)/tools/grit/grit/gather/policy_json_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/rc.py $(LOCAL_PATH)/tools/grit/grit/gather/rc_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/regexp.py $(LOCAL_PATH)/tools/grit/grit/gather/skeleton_gatherer.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html.py $(LOCAL_PATH)/tools/grit/grit/gather/tr_html_unittest.py $(LOCAL_PATH)/tools/grit/grit/gather/txt.py $(LOCAL_PATH)/tools/grit/grit/gather/txt_unittest.py $(LOCAL_PATH)/tools/grit/grit/grd_reader.py $(LOCAL_PATH)/tools/grit/grit/grd_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit/grit_runner.py $(LOCAL_PATH)/tools/grit/grit/grit_runner_unittest.py $(LOCAL_PATH)/tools/grit/grit/lazy_re.py $(LOCAL_PATH)/tools/grit/grit/lazy_re_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/base.py $(LOCAL_PATH)/tools/grit/grit/node/base_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/custom/__init__.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename.py $(LOCAL_PATH)/tools/grit/grit/node/custom/filename_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/empty.py $(LOCAL_PATH)/tools/grit/grit/node/include.py $(LOCAL_PATH)/tools/grit/grit/node/include_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/io.py $(LOCAL_PATH)/tools/grit/grit/node/io_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/mapping.py $(LOCAL_PATH)/tools/grit/grit/node/message.py $(LOCAL_PATH)/tools/grit/grit/node/message_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/misc.py $(LOCAL_PATH)/tools/grit/grit/node/misc_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/structure.py $(LOCAL_PATH)/tools/grit/grit/node/structure_unittest.py $(LOCAL_PATH)/tools/grit/grit/node/variant.py $(LOCAL_PATH)/tools/grit/grit/pseudo.py $(LOCAL_PATH)/tools/grit/grit/pseudo_rtl.py $(LOCAL_PATH)/tools/grit/grit/pseudo_unittest.py $(LOCAL_PATH)/tools/grit/grit/scons.py $(LOCAL_PATH)/tools/grit/grit/shortcuts.py $(LOCAL_PATH)/tools/grit/grit/shortcuts_unittests.py $(LOCAL_PATH)/tools/grit/grit/tclib.py $(LOCAL_PATH)/tools/grit/grit/tclib_unittest.py $(LOCAL_PATH)/tools/grit/grit/test_suite_all.py $(LOCAL_PATH)/tools/grit/grit/tool/__init__.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/android2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/build.py $(LOCAL_PATH)/tools/grit/grit/tool/build_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo.py $(LOCAL_PATH)/tools/grit/grit/tool/buildinfo_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/count.py $(LOCAL_PATH)/tools/grit/grit/tool/diff_structures.py $(LOCAL_PATH)/tools/grit/grit/tool/interface.py $(LOCAL_PATH)/tools/grit/grit/tool/menu_from_parts.py $(LOCAL_PATH)/tools/grit/grit/tool/newgrd.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/postprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_interface.py $(LOCAL_PATH)/tools/grit/grit/tool/preprocess_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd.py $(LOCAL_PATH)/tools/grit/grit/tool/rc2grd_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/resize.py $(LOCAL_PATH)/tools/grit/grit/tool/test.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_postprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/toolbar_preprocess.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc.py $(LOCAL_PATH)/tools/grit/grit/tool/transl2tc_unittest.py $(LOCAL_PATH)/tools/grit/grit/tool/unit.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb.py $(LOCAL_PATH)/tools/grit/grit/tool/xmb_unittest.py $(LOCAL_PATH)/tools/grit/grit/util.py $(LOCAL_PATH)/tools/grit/grit/util_unittest.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader.py $(LOCAL_PATH)/tools/grit/grit/xtb_reader_unittest.py $(LOCAL_PATH)/tools/grit/grit_info.py $(GYP_TARGET_DEPENDENCIES) + @echo "Gyp action: Generating resources from component_resources.grd ($@)" + $(hide)cd $(gyp_local_path)/components; mkdir -p $(gyp_shared_intermediate_dir)/component_resources/grit $(gyp_shared_intermediate_dir)/component_resources; python ../tools/grit/grit.py -i component_resources.grd build -f ../tools/gritsettings/resource_ids -o "$(gyp_shared_intermediate_dir)/component_resources" -D _chromium -E "CHROMIUM_BUILD=chromium" -D android -E "ANDROID_JAVA_TAGGED_ONLY=true" -D use_concatenated_impulse_responses + +$(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; +$(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak: $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h ; + + +GYP_GENERATED_OUTPUTS := \ + $(gyp_shared_intermediate_dir)/component_resources/grit/component_resources.h \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_am.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ar.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bg.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_bn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ca.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_cs.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_da.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_de.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_el.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-GB.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_en-US.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_es-419.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_et.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fa.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fake-bidi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fil.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_fr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_gu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_he.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_hu.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_id.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_it.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ja.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_kn.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ko.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lt.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_lv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ml.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_mr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ms.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_nb.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-BR.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_pt-PT.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ro.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ru.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sl.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sv.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_sw.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_ta.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_te.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_th.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_tr.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_uk.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_vi.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-CN.pak \ + $(gyp_shared_intermediate_dir)/component_resources/component_resources_zh-TW.pak + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +### Rules for final target. +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: components_component_resources_gyp + +# Alias gyp target name. +.PHONY: component_resources +component_resources: components_component_resources_gyp + +LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp +LOCAL_UNINSTALLABLE_MODULE := true + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(hide) echo "Gyp timestamp: $@" + $(hide) mkdir -p $(dir $@) + $(hide) touch $@ diff --git a/components/tracing/child_trace_message_filter.cc b/components/tracing/child_trace_message_filter.cc index c8d3147543..154903a15d 100644 --- a/components/tracing/child_trace_message_filter.cc +++ b/components/tracing/child_trace_message_filter.cc @@ -5,12 +5,12 @@ #include "components/tracing/child_trace_message_filter.h" #include "base/debug/trace_event.h" -#include "base/message_loop_proxy.h" +#include "base/message_loop/message_loop_proxy.h" #include "components/tracing/tracing_messages.h" using base::debug::TraceLog; -namespace components { +namespace tracing { ChildTraceMessageFilter::ChildTraceMessageFilter( base::MessageLoopProxy* ipc_message_loop) @@ -115,4 +115,4 @@ void ChildTraceMessageFilter::OnTraceNotification(int notification) { channel_->Send(new TracingHostMsg_TraceNotification(notification)); } -} // namespace components +} // namespace tracing diff --git a/components/tracing/child_trace_message_filter.h b/components/tracing/child_trace_message_filter.h index 9f3f03aa41..3da936f1da 100644 --- a/components/tracing/child_trace_message_filter.h +++ b/components/tracing/child_trace_message_filter.h @@ -11,7 +11,7 @@ namespace base { class MessageLoopProxy; } -namespace components { +namespace tracing { // This class sends and receives trace messages on child processes. class ChildTraceMessageFilter : public IPC::ChannelProxy::MessageFilter { @@ -48,6 +48,6 @@ class ChildTraceMessageFilter : public IPC::ChannelProxy::MessageFilter { DISALLOW_COPY_AND_ASSIGN(ChildTraceMessageFilter); }; -} // namespace components +} // namespace tracing #endif // COMPONENTS_TRACING_CHILD_TRACE_MESSAGE_FILTER_H_ diff --git a/components/visitedlink_renderer.target.darwin-arm.mk b/components/visitedlink_renderer.target.darwin-arm.mk index 5a6f157cc6..204a168cae 100644 --- a/components/visitedlink_renderer.target.darwin-arm.mk +++ b/components/visitedlink_renderer.target.darwin-arm.mk @@ -80,7 +80,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/visitedlink_renderer.target.darwin-x86.mk b/components/visitedlink_renderer.target.darwin-x86.mk index 64481430a0..ed44a44c3e 100644 --- a/components/visitedlink_renderer.target.darwin-x86.mk +++ b/components/visitedlink_renderer.target.darwin-x86.mk @@ -82,7 +82,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/visitedlink_renderer.target.linux-arm.mk b/components/visitedlink_renderer.target.linux-arm.mk index 5a6f157cc6..204a168cae 100644 --- a/components/visitedlink_renderer.target.linux-arm.mk +++ b/components/visitedlink_renderer.target.linux-arm.mk @@ -80,7 +80,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/visitedlink_renderer.target.linux-x86.mk b/components/visitedlink_renderer.target.linux-x86.mk index 64481430a0..ed44a44c3e 100644 --- a/components/visitedlink_renderer.target.linux-x86.mk +++ b/components/visitedlink_renderer.target.linux-x86.mk @@ -82,7 +82,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/web_contents_delegate_android.target.darwin-arm.mk b/components/web_contents_delegate_android.target.darwin-arm.mk index 909f593706..5bbe26dcae 100644 --- a/components/web_contents_delegate_android.target.darwin-arm.mk +++ b/components/web_contents_delegate_android.target.darwin-arm.mk @@ -86,7 +86,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/web_contents_delegate_android.target.darwin-x86.mk b/components/web_contents_delegate_android.target.darwin-x86.mk index 55871dfab3..d6bf47f926 100644 --- a/components/web_contents_delegate_android.target.darwin-x86.mk +++ b/components/web_contents_delegate_android.target.darwin-x86.mk @@ -87,7 +87,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/web_contents_delegate_android.target.linux-arm.mk b/components/web_contents_delegate_android.target.linux-arm.mk index 909f593706..5bbe26dcae 100644 --- a/components/web_contents_delegate_android.target.linux-arm.mk +++ b/components/web_contents_delegate_android.target.linux-arm.mk @@ -86,7 +86,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/web_contents_delegate_android.target.linux-x86.mk b/components/web_contents_delegate_android.target.linux-x86.mk index 55871dfab3..d6bf47f926 100644 --- a/components/web_contents_delegate_android.target.linux-x86.mk +++ b/components/web_contents_delegate_android.target.linux-x86.mk @@ -87,7 +87,7 @@ MY_DEFS := \ '-DGR_AGGRESSIVE_SHADER_OPTS=1' \ '-DSK_ENABLE_INST_COUNT=0' \ '-DSK_USE_POSIX_THREADS' \ - '-DSK_BUILD_FOR_ANDROID_NDK' \ + '-DSK_BUILD_FOR_ANDROID' \ '-DU_USING_ICU_NAMESPACE=0' \ '-D__STDC_CONSTANT_MACROS' \ '-D__STDC_FORMAT_MACROS' \ diff --git a/components/webdata/common/web_data_service_backend.cc b/components/webdata/common/web_data_service_backend.cc index 3b945b0b54..300b182bc8 100644 --- a/components/webdata/common/web_data_service_backend.cc +++ b/components/webdata/common/web_data_service_backend.cc @@ -73,23 +73,40 @@ void WebDataServiceBackend::ShutdownDatabase(bool should_reinit) { void WebDataServiceBackend::DBWriteTaskWrapper( const WebDatabaseService::WriteTask& task, scoped_ptr<WebDataRequest> request) { + if (request->IsCancelled()) + return; + + ExecuteWriteTask(task); + request_manager_->RequestCompleted(request.Pass()); +} + +void WebDataServiceBackend::ExecuteWriteTask( + const WebDatabaseService::WriteTask& task) { LoadDatabaseIfNecessary(); - if (db_ && init_status_ == sql::INIT_OK && !request->IsCancelled()) { + if (db_ && init_status_ == sql::INIT_OK) { WebDatabase::State state = task.Run(db_.get()); if (state == WebDatabase::COMMIT_NEEDED) Commit(); } - request_manager_->RequestCompleted(request.Pass()); } void WebDataServiceBackend::DBReadTaskWrapper( const WebDatabaseService::ReadTask& task, scoped_ptr<WebDataRequest> request) { + if (request->IsCancelled()) + return; + + request->SetResult(ExecuteReadTask(task).Pass()); + request_manager_->RequestCompleted(request.Pass()); +} + +scoped_ptr<WDTypedResult> WebDataServiceBackend::ExecuteReadTask( + const WebDatabaseService::ReadTask& task) { LoadDatabaseIfNecessary(); - if (db_ && init_status_ == sql::INIT_OK && !request->IsCancelled()) { - request->SetResult(task.Run(db_.get()).Pass()); + if (db_ && init_status_ == sql::INIT_OK) { + return task.Run(db_.get()); } - request_manager_->RequestCompleted(request.Pass()); + return scoped_ptr<WDTypedResult>(NULL); } WebDataServiceBackend::~WebDataServiceBackend() { diff --git a/components/webdata/common/web_data_service_backend.h b/components/webdata/common/web_data_service_backend.h index 0e1d8f247e..c12ade6eda 100644 --- a/components/webdata/common/web_data_service_backend.h +++ b/components/webdata/common/web_data_service_backend.h @@ -13,6 +13,7 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/scoped_vector.h" #include "components/webdata/common/web_database_service.h" +#include "components/webdata/common/webdata_export.h" #include "content/public/browser/browser_thread.h" @@ -29,7 +30,9 @@ class Location; // WebDatabaseService. It is refcounted to allow asynchronous destruction on the // DB thread. -class WebDataServiceBackend +// TODO(caitkp): Rename this class to WebDatabaseBackend. + +class WEBDATA_EXPORT WebDataServiceBackend : public base::RefCountedThreadSafe< WebDataServiceBackend, content::BrowserThread::DeleteOnDBThread> { @@ -62,7 +65,10 @@ class WebDataServiceBackend // possible to re-initialize the DB after the shutdown. void ShutdownDatabase(bool should_reinit); - // Task wrappers to run database tasks. + // Task wrappers to update requests and and notify |request_manager_|. These + // are used in cases where the request is being made from the UI thread and an + // asyncronous callback is required to notify the client of |request|'s + // completion. void DBWriteTaskWrapper( const WebDatabaseService::WriteTask& task, scoped_ptr<WebDataRequest> request); @@ -70,18 +76,28 @@ class WebDataServiceBackend const WebDatabaseService::ReadTask& task, scoped_ptr<WebDataRequest> request); + // Task runners to run database tasks. + void ExecuteWriteTask(const WebDatabaseService::WriteTask& task); + scoped_ptr<WDTypedResult> ExecuteReadTask( + const WebDatabaseService::ReadTask& task); + const scoped_refptr<WebDataRequestManager>& request_manager() { return request_manager_; } WebDatabase* database() { return db_.get(); } + protected: + virtual ~WebDataServiceBackend(); + private: friend struct content::BrowserThread::DeleteOnThread< content::BrowserThread::DB>; friend class base::DeleteHelper<WebDataServiceBackend>; - - virtual ~WebDataServiceBackend(); + // We have to friend RCTS<> so WIN shared-lib build is happy + // (http://crbug/112250). + friend class base::RefCountedThreadSafe<WebDataServiceBackend, + content::BrowserThread::DeleteOnDBThread>; // Commit the current transaction. void Commit(); diff --git a/components/webdata/common/web_database_service.cc b/components/webdata/common/web_database_service.cc index baef346b11..ddbf7338f4 100644 --- a/components/webdata/common/web_database_service.cc +++ b/components/webdata/common/web_database_service.cc @@ -91,6 +91,10 @@ WebDatabase* WebDatabaseService::GetDatabaseOnDB() const { return wds_backend_->database(); } +scoped_refptr<WebDataServiceBackend> WebDatabaseService::GetBackend() const { + return wds_backend_; +} + void WebDatabaseService::ScheduleDBTask( const tracked_objects::Location& from_here, const WriteTask& task) { diff --git a/components/webdata/common/web_database_service.h b/components/webdata/common/web_database_service.h index 1bdfca8504..c8b1bfa0f4 100644 --- a/components/webdata/common/web_database_service.h +++ b/components/webdata/common/web_database_service.h @@ -71,10 +71,13 @@ class WEBDATA_EXPORT WebDatabaseService // Unloads database and will not reload. virtual void ShutdownDatabase(); - // Gets a ptr to the WebDatabase (owned by WebDatabaseService). + // Gets a pointer to the WebDatabase (owned by WebDatabaseService). // TODO(caitkp): remove this method once SyncServices no longer depend on it. virtual WebDatabase* GetDatabaseOnDB() const; + // Returns a pointer to the WebDataServiceBackend. + scoped_refptr<WebDataServiceBackend> GetBackend() const; + // Schedule an update/write task on the DB thread. virtual void ScheduleDBTask( const tracked_objects::Location& from_here, |