Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Commit caa65f9

Browse files
authored
Search for non-existent domains entered by user (#1009)
Task/Issue URL: https://app.asana.com/0/1177771139624306/1204041033469842/f **Description**: - Opens SERP for non-existent domains when entered by user **Steps to test this PR**: 1. enter some domain-like search terms e.g. everg0.6mr or data.json - it should search for it instead of displaying an error page <!-- Tagging instructions If this PR isn't ready to be merged for whatever reason it should be marked with the `DO NOT MERGE` label (particularly if it's a draft) If it's pending Product Review/PFR, please add the `Pending Product Review` label. If at any point it isn't actively being worked on/ready for review/otherwise moving forward (besides the above PR/PFR exception) strongly consider closing it (or not opening it in the first place). If you decide not to close it, make sure it's labelled to make it clear the PRs state and comment with more information. --> --- ###### Internal references: [Pull Request Review Checklist](https://app.asana.com/0/1202500774821704/1203764234894239/f) [Software Engineering Expectations](https://app.asana.com/0/59792373528535/199064865822552) [Technical Design Template](https://app.asana.com/0/59792373528535/184709971311943) **When ready for review, remember to post the PR in MM**
1 parent c8b4e3a commit caa65f9

17 files changed

+480
-88
lines changed

DuckDuckGo.xcodeproj/project.pbxproj

+27-3
Original file line numberDiff line numberDiff line change
@@ -1500,6 +1500,8 @@
15001500
B604085C274B8FBA00680351 /* UnprotectedDomains.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B604085A274B8CA300680351 /* UnprotectedDomains.xcdatamodeld */; };
15011501
B6085D062743905F00A9C456 /* CoreDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6085D052743905F00A9C456 /* CoreDataStore.swift */; };
15021502
B6085D092743AAB600A9C456 /* FireproofDomains.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B6085D072743993C00A9C456 /* FireproofDomains.xcdatamodeld */; };
1503+
B60C6F7729B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F7629B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift */; };
1504+
B60C6F7829B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F7629B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift */; };
15031505
B60C6F7E29B1B41D007BFAA8 /* TestRunHelperInitializer.m in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F7D29B1B41D007BFAA8 /* TestRunHelperInitializer.m */; };
15041506
B60C6F7F29B1B41D007BFAA8 /* TestRunHelperInitializer.m in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F7D29B1B41D007BFAA8 /* TestRunHelperInitializer.m */; };
15051507
B60C6F8129B1B4AD007BFAA8 /* TestRunHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F8029B1B4AD007BFAA8 /* TestRunHelper.swift */; };
@@ -1575,6 +1577,10 @@
15751577
B63FCB3629B5B2730022C61A /* FileManagerTempDirReplacement.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60C6F8329B1BAD3007BFAA8 /* FileManagerTempDirReplacement.swift */; };
15761578
B642738227B65BAC0005DFD1 /* SecureVaultErrorReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B642738127B65BAC0005DFD1 /* SecureVaultErrorReporter.swift */; };
15771579
B643BF1427ABF772000BACEC /* NSWorkspaceExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B643BF1327ABF772000BACEC /* NSWorkspaceExtension.swift */; };
1580+
B644B43D29D56829003FA9AB /* SearchNonexistentDomainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B644B43929D565DB003FA9AB /* SearchNonexistentDomainTests.swift */; };
1581+
B644B43E29D5682B003FA9AB /* SearchNonexistentDomainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B644B43929D565DB003FA9AB /* SearchNonexistentDomainTests.swift */; };
1582+
B644B43F29D57298003FA9AB /* SuggestionLoadingMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA0F3DB6261A566C0077F2D9 /* SuggestionLoadingMock.swift */; };
1583+
B644B44029D57299003FA9AB /* SuggestionLoadingMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA0F3DB6261A566C0077F2D9 /* SuggestionLoadingMock.swift */; };
15781584
B647EFBB2922584B00BA628D /* AdClickAttributionTabExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B647EFBA2922584B00BA628D /* AdClickAttributionTabExtension.swift */; };
15791585
B64C84DE2692D7400048FEBE /* PermissionAuthorization.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B64C84DD2692D7400048FEBE /* PermissionAuthorization.storyboard */; };
15801586
B64C84E32692DC9F0048FEBE /* PermissionAuthorizationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B64C84E22692DC9F0048FEBE /* PermissionAuthorizationViewController.swift */; };
@@ -1734,10 +1740,10 @@
17341740
B6C0B23C26E87D900031CB7F /* NSAlert+ActiveDownloadsTermination.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0B23B26E87D900031CB7F /* NSAlert+ActiveDownloadsTermination.swift */; };
17351741
B6C0B23E26E8BF1F0031CB7F /* DownloadListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0B23D26E8BF1F0031CB7F /* DownloadListViewModel.swift */; };
17361742
B6C0B24626E9CB190031CB7F /* RunLoopExtensionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0B24526E9CB190031CB7F /* RunLoopExtensionTests.swift */; };
1737-
B6C0BB6A29AF1C7000AE8E3C /* BrowserTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */; };
1738-
B6C0BB6B29AF1C7000AE8E3C /* BrowserTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */; };
17391743
B6C0BB6729AEFF8100AE8E3C /* BookmarkExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6629AEFF8100AE8E3C /* BookmarkExtension.swift */; };
17401744
B6C0BB6829AEFF8100AE8E3C /* BookmarkExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6629AEFF8100AE8E3C /* BookmarkExtension.swift */; };
1745+
B6C0BB6A29AF1C7000AE8E3C /* BrowserTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */; };
1746+
B6C0BB6B29AF1C7000AE8E3C /* BrowserTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */; };
17411747
B6C2C9EF276081AB005B7F0A /* DeallocationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C2C9EE276081AB005B7F0A /* DeallocationTests.swift */; };
17421748
B6C2C9F62760B659005B7F0A /* TestDataModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B6C2C9F42760B659005B7F0A /* TestDataModel.xcdatamodeld */; };
17431749
B6C416A7294A4AE500C4F2E7 /* DuckPlayerTabExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C416A6294A4AE500C4F2E7 /* DuckPlayerTabExtension.swift */; };
@@ -2552,6 +2558,7 @@
25522558
B604085B274B8CA400680351 /* Permissions.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Permissions.xcdatamodel; sourceTree = "<group>"; };
25532559
B6085D052743905F00A9C456 /* CoreDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataStore.swift; sourceTree = "<group>"; };
25542560
B6085D082743993D00A9C456 /* Permissions.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Permissions.xcdatamodel; sourceTree = "<group>"; };
2561+
B60C6F7629B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchNonexistentDomainNavigationResponder.swift; sourceTree = "<group>"; };
25552562
B60C6F7D29B1B41D007BFAA8 /* TestRunHelperInitializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestRunHelperInitializer.m; sourceTree = "<group>"; };
25562563
B60C6F8029B1B4AD007BFAA8 /* TestRunHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestRunHelper.swift; sourceTree = "<group>"; };
25572564
B60C6F8329B1BAD3007BFAA8 /* FileManagerTempDirReplacement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManagerTempDirReplacement.swift; sourceTree = "<group>"; };
@@ -2606,6 +2613,7 @@
26062613
B63ED0E426BB8FB900A9DAD1 /* SharingMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingMenu.swift; sourceTree = "<group>"; };
26072614
B642738127B65BAC0005DFD1 /* SecureVaultErrorReporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureVaultErrorReporter.swift; sourceTree = "<group>"; };
26082615
B643BF1327ABF772000BACEC /* NSWorkspaceExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSWorkspaceExtension.swift; sourceTree = "<group>"; };
2616+
B644B43929D565DB003FA9AB /* SearchNonexistentDomainTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchNonexistentDomainTests.swift; sourceTree = "<group>"; };
26092617
B647EFBA2922584B00BA628D /* AdClickAttributionTabExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdClickAttributionTabExtension.swift; sourceTree = "<group>"; };
26102618
B64C84DD2692D7400048FEBE /* PermissionAuthorization.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = PermissionAuthorization.storyboard; sourceTree = "<group>"; };
26112619
B64C84E22692DC9F0048FEBE /* PermissionAuthorizationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionAuthorizationViewController.swift; sourceTree = "<group>"; };
@@ -2748,8 +2756,8 @@
27482756
B6C0B23B26E87D900031CB7F /* NSAlert+ActiveDownloadsTermination.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAlert+ActiveDownloadsTermination.swift"; sourceTree = "<group>"; };
27492757
B6C0B23D26E8BF1F0031CB7F /* DownloadListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadListViewModel.swift; sourceTree = "<group>"; };
27502758
B6C0B24526E9CB190031CB7F /* RunLoopExtensionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RunLoopExtensionTests.swift; sourceTree = "<group>"; };
2751-
B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowserTabView.swift; sourceTree = "<group>"; };
27522759
B6C0BB6629AEFF8100AE8E3C /* BookmarkExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkExtension.swift; sourceTree = "<group>"; };
2760+
B6C0BB6929AF1C7000AE8E3C /* BrowserTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowserTabView.swift; sourceTree = "<group>"; };
27532761
B6C2C9EE276081AB005B7F0A /* DeallocationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeallocationTests.swift; sourceTree = "<group>"; };
27542762
B6C2C9F52760B659005B7F0A /* Permissions.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Permissions.xcdatamodel; sourceTree = "<group>"; };
27552763
B6C416A6294A4AE500C4F2E7 /* DuckPlayerTabExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuckPlayerTabExtension.swift; sourceTree = "<group>"; };
@@ -3415,6 +3423,7 @@
34153423
B603973229BEF84900902A34 /* HTTPSUpgrade */,
34163424
B62A233A29C322A000D22475 /* NavigationProtection */,
34173425
B603973629BF0E9400902A34 /* PrivacyDashboard */,
3426+
B644B43C29D56811003FA9AB /* TabExtensions */,
34183427
4B1AD91625FC46FB00261379 /* CoreDataEncryptionTests.swift */,
34193428
4BA1A6EA258C288C00F6F690 /* EncryptionKeyStoreTests.swift */,
34203429
4B1AD8A125FC27E200261379 /* Info.plist */,
@@ -5442,6 +5451,14 @@
54425451
path = History;
54435452
sourceTree = "<group>";
54445453
};
5454+
B644B43C29D56811003FA9AB /* TabExtensions */ = {
5455+
isa = PBXGroup;
5456+
children = (
5457+
B644B43929D565DB003FA9AB /* SearchNonexistentDomainTests.swift */,
5458+
);
5459+
path = TabExtensions;
5460+
sourceTree = "<group>";
5461+
};
54455462
B647EFB32922539400BA628D /* TabExtensions */ = {
54465463
isa = PBXGroup;
54475464
children = (
@@ -5651,6 +5668,7 @@
56515668
isa = PBXGroup;
56525669
children = (
56535670
B6BF5D922947199A006742B1 /* SerpHeadersNavigationResponder.swift */,
5671+
B60C6F7629B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift */,
56545672
B687B7CB2947A1E9001DEA6F /* ExternalAppSchemeHandler.swift */,
56555673
);
56565674
path = Navigation;
@@ -6812,6 +6830,7 @@
68126830
3706FC00293F65D500E42796 /* PrivacyIconViewModel.swift in Sources */,
68136831
3706FC01293F65D500E42796 /* ChromiumBookmarksReader.swift in Sources */,
68146832
3706FC02293F65D500E42796 /* Downloads.xcdatamodeld in Sources */,
6833+
B60C6F7829B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift in Sources */,
68156834
3707C720294B5D2900682A9F /* WKWebsiteDataStoreExtension.swift in Sources */,
68166835
3706FC03293F65D500E42796 /* TabPreviewViewController.swift in Sources */,
68176836
4B9754EC2984300100D7B834 /* EmailManagerExtension.swift in Sources */,
@@ -7203,6 +7222,7 @@
72037222
B603973529BEF86200902A34 /* HTTPSUpgradeIntegrationTests.swift in Sources */,
72047223
3707C72E294B5D4400682A9F /* ContentBlockerRulesManagerMock.swift in Sources */,
72057224
3707C72C294B5D3D00682A9F /* ContentBlockingMock.swift in Sources */,
7225+
B644B44029D57299003FA9AB /* SuggestionLoadingMock.swift in Sources */,
72067226
B630E80229C887ED00363609 /* NSErrorAdditionalInfo.swift in Sources */,
72077227
3706FEA3293F662100E42796 /* CoreDataEncryptionTests.swift in Sources */,
72087228
B60C6F8929B1CAB7007BFAA8 /* TestRunHelperInitializer.m in Sources */,
@@ -7211,6 +7231,7 @@
72117231
B626A77229928C6A00053070 /* MockPrivacyConfiguration.swift in Sources */,
72127232
B62A234129C41D4400D22475 /* HistoryIntegrationTests.swift in Sources */,
72137233
B603973929BF0EBE00902A34 /* PrivacyDashboardIntegrationTests.swift in Sources */,
7234+
B644B43E29D5682B003FA9AB /* SearchNonexistentDomainTests.swift in Sources */,
72147235
3706FEA5293F662100E42796 /* CoreDataEncryptionTesting.xcdatamodeld in Sources */,
72157236
B603973D29BF1D7D00902A34 /* AutoconsentIntegrationTests.swift in Sources */,
72167237
B60C6F8729B1CAB2007BFAA8 /* TestRunHelper.swift in Sources */,
@@ -7235,6 +7256,7 @@
72357256
B6DA06E22913AEDC00225DE2 /* TestNavigationDelegate.swift in Sources */,
72367257
B603973429BEF86200902A34 /* HTTPSUpgradeIntegrationTests.swift in Sources */,
72377258
4B1AD91725FC46FB00261379 /* CoreDataEncryptionTests.swift in Sources */,
7259+
B644B43F29D57298003FA9AB /* SuggestionLoadingMock.swift in Sources */,
72387260
B630E7FF29C887ED00363609 /* NSErrorAdditionalInfo.swift in Sources */,
72397261
7BA4727D26F01BC400EAA165 /* CoreDataTestUtilities.swift in Sources */,
72407262
B60C6F8829B1CAB6007BFAA8 /* TestRunHelperInitializer.m in Sources */,
@@ -7243,6 +7265,7 @@
72437265
B626A77329928C6B00053070 /* MockPrivacyConfiguration.swift in Sources */,
72447266
B62A234029C41D4400D22475 /* HistoryIntegrationTests.swift in Sources */,
72457267
B603973829BF0EBE00902A34 /* PrivacyDashboardIntegrationTests.swift in Sources */,
7268+
B644B43D29D56829003FA9AB /* SearchNonexistentDomainTests.swift in Sources */,
72467269
B6BDD9F62940B5B500F68088 /* ContentBlockingMock.swift in Sources */,
72477270
B603973C29BF1D7D00902A34 /* AutoconsentIntegrationTests.swift in Sources */,
72487271
B60C6F8629B1CAB0007BFAA8 /* TestRunHelper.swift in Sources */,
@@ -7779,6 +7802,7 @@
77797802
B655124829A79465009BFE1C /* NavigationActionExtension.swift in Sources */,
77807803
85308E25267FC9F2001ABD76 /* NSAlertExtension.swift in Sources */,
77817804
4B59024826B3673600489384 /* ThirdPartyBrowser.swift in Sources */,
7805+
B60C6F7729B0E286007BFAA8 /* SearchNonexistentDomainNavigationResponder.swift in Sources */,
77827806
B65E6B9E26D9EC0800095F96 /* CircularProgressView.swift in Sources */,
77837807
AABEE69C24A902BB0043105B /* SuggestionContainer.swift in Sources */,
77847808
B6C00ECD292F89D9009C73A6 /* FindInPageTabExtension.swift in Sources */,

0 commit comments

Comments
 (0)