Add API for restricting operations for sensitive files#2597
Add API for restricting operations for sensitive files#2597trancexpress wants to merge 1 commit intoeclipse-platform:masterfrom
Conversation
7c9b138 to
6aaeb1d
Compare
|
@merks if you can help with the API documentation wording, that would be great! |
...org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
FYI. I’m on vacation mostly monitoring from my iPhone with slow internet. Ping me when you think it’s done and I can look at it on my computer later. |
6aaeb1d to
fa30d36
Compare
...org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java
Outdated
Show resolved
Hide resolved
iloveeclipse
left a comment
There was a problem hiding this comment.
LGTM for me, just white space change on WorkspaceDescription should be reverted.
There was a problem hiding this comment.
Pull request overview
Adds a new session-scoped API in org.eclipse.core.resources to mark files as “restricted/sensitive” and to globally enable/disable restricted-content handling at the workspace level, intended to let downstream IDEs disable content-related operations for those files.
Changes:
- Add
IWorkspace.isRestrictedContentEnabled()/setRestrictedContentEnabled(boolean)workspace toggle. - Add
IFile.isContentRestricted()/setContentRestricted(boolean)backed by a session property (RESTRICTED_CONTENT). - Implement the workspace toggle in internal
Workspaceand bump bundle version.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java | Adds new workspace-level restricted-content enablement API + Javadoc. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java | Adds session-property key and default methods for per-file restricted-content marking. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java | Implements the new IWorkspace API via an internal boolean flag. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java | Whitespace-only change. |
| resources/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF | Bumps bundle version to 3.24.0.qualifier. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java
Show resolved
Hide resolved
...es/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
e8b9816 to
9c81084
Compare
....core.tests.resources/src/org/eclipse/core/tests/internal/resources/RestrictedFileTests.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
This change adds the following API: * org.eclipse.core.resources.IWorkspace.isRestrictedContentEnabled() * org.eclipse.core.resources.IWorkspace.setRestrictedContentEnabled(boolean) * org.eclipse.core.resources.IFile.isContentRestricted() * org.eclipse.core.resources.IFile.setContentRestricted(boolean) The goal of this API is to allow Eclipse-based IDEs to restrict certain platform functionality on a per-file basis, for sensitive files. To restrict access to sensitive files, at runtime call: 1. IWorkspace.setRestrictedContentEnabled(true) 2. For each sensitive file, call: IFile.setContentRestricted(true) Neither the IWorkspace nor the IFile flags are persisted, to enable restricted handling these flags must be set for each session. The restrictions will apply to following functionality: * File search * Storing file history Potentially more platform functionality will be restricted, if the workspace has restricted handling enabled. See: eclipse-platform#2588
9c81084 to
34da22a
Compare
This change adds the following API:
org.eclipse.core.resources.IWorkspace.isRestrictedContentEnabled()org.eclipse.core.resources.IWorkspace.setRestrictedContentEnabled(boolean)org.eclipse.core.resources.IFile.isContentRestricted()org.eclipse.core.resources.IFile.setContentRestricted(boolean)The goal of this API is to allow Eclipse-based IDEs to restrict certain platform functionality on a per-file basis, for sensitive files.
To restrict access to sensitive files, at runtime call:
IWorkspace.setRestrictedContentEnabled(true)IFile.setContentRestricted(true)Neither the
IWorkspacenor the IFile flags are persisted, to enable restricted handling these flags must be set for each session.The restrictions will apply to following functionality:
Potentially more platform functionality will be restricted, if the workspace has restricted handling enabled.
See: #2588