-
Notifications
You must be signed in to change notification settings - Fork 893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Import Data from Safari iOS #26914
base: master
Are you sure you want to change the base?
Import Data from Safari iOS #26914
Conversation
The security team is monitoring all repositories for certain keywords. This PR includes the word(s) "password" and so security team members have been added as reviewers to take a look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick glance feedback (haven't looked at implementation details yet):
- Needs unit tests
- Everything under
ios/browser/api
should be Obj-C wrappers, please move all of the actual importer logic to separate directory/directories. Try to match Chromium's directory structure in this regard - Is it possible to share this logic with desktop so that they can get Safari import via exported zip as well? (Perhaps with a layered component)
ea6722c
to
f1a9c7d
Compare
} | ||
|
||
size_t field_idx = 0; | ||
CSVFieldParser parser(row); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems that the parser here considers the grammar simple enough that it doesn't require using a memory safe language or separate process.
I believe this the solves for the rule of 2 issue here as well.
in general this seems ok to me, but I think it would be useful for @stoletheminerals to give this one a deeper look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not clear if we need a header in DEPS files, but for now ++
f1a9c7d
to
67c2c7b
Compare
67c2c7b
to
c21ba1c
Compare
Add Password Importer Add History Importer Signed-off-by: Brandon <[email protected]>
Signed-off-by: Brandon <[email protected]>
c21ba1c
to
da8e55e
Compare
[puLL-Merge] - brave/brave-core@26914 DescriptionThis PR introduces Safari password import functionality to the Brave browser on iOS. It adds new components for importing bookmarks, history, and passwords from Safari, including support for importing from zip files. The changes include new utility classes, importers, and modifications to existing UI components to support these import operations. Possible Issues
Security Hotspots
ChangesChanges
sequenceDiagram
participant User
participant UI
participant Importer
participant FileSystem
participant Parser
participant DataStore
User->>UI: Initiate Safari data import
UI->>Importer: Start import process
Importer->>FileSystem: Read import file
FileSystem-->>Importer: Raw file data
Importer->>Parser: Parse data (CSV/JSON)
Parser-->>Importer: Structured data
Importer->>DataStore: Store imported data
DataStore-->>Importer: Import result
Importer-->>UI: Update import status
UI-->>User: Display import result
|
Security Review
Summary
Resolves brave/brave-browser#42727
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
wikinpm run presubmit
wiki,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan: