Source code

Revision control

Copy as Markdown

Other Tools

# Template to copy
Replace the title with a clear, action-oriented name (e.g., "Adding a Toolbar
Button", "Registering JS Actors").
## Overview
Add a few paragraphs describing what this operation accomplishes and when
developers might need to do it.
## Prerequisites
List what the developer needs before starting:
- Build system set up and working
- Relevant component knowledge or documentation to review
- Any specific tools or extensions needed
## Steps
Break down the operation into clear, sequential steps. Each step should have an
action-oriented title.
### 1. [First Action Step Title]
Describe what needs to be done in this step and why it's necessary.
**Files to modify:**
- `path/to/file1.cpp`
- `path/to/file2.js`
**Code pattern:**
```cpp
// Provide a concrete example of the code to add or modify
// Include enough context to show where it should go
// Use comments to explain non-obvious parts
```
**Explanation:**
Briefly explain what this code does and how it fits into the larger system.
### 2. [Second Action Step Title]
Continue with additional steps...
**Files to modify:**
- `path/to/another/file.jsm`
**Code pattern:**
```javascript
// More example code
```
## Verification
Explain how to verify that the operation was successful:
```bash
./mach build && ./mach run
# or specific test commands
./mach test path/to/relevant/tests/
```
Describe what to look for to confirm success (e.g., "The button should appear in
the toolbar", "Check the Browser Console for the expected log message").
## Common Pitfalls
List common mistakes and their solutions:
- **Issue X**: Brief description of the problem
- **Solution**: How to fix or avoid it
- **Issue Y**: Another common problem
- **Solution**: The fix
## See Also
Provide links to related documentation and examples:
- [Related Component Documentation](../path/to/docs/index.rst)
- Example implementation: [Bug XXXXXX](https://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX)
- Relevant source code: {searchfox}`the ProfilesDataStoreService code <toolkit/profile/ProfilesDatastoreService.sys.mjs>`