John Smith
John Smith

Reputation: 6269

Receive EntryChangedEvent on folder

Currently i'm experementing with the the chrome.fileSystem-Api and i was curious about the new EntryChangedEvent that was added in Version 38. But im writing because i do not really know how to receive this event in my app. I tried it like this, what obviously didn't worked :

chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(folder) {
  if (!folder) {
     output.textContent = 'No Folder selected.';
     return;
  }
  folder.on("entrychangedevent",function(v){
         console.log(v);
  });
});

How do i have to change my code so that i really can use receive EntryChangedEvents? Thanks!

Link to documentation: https://developer.chrome.com/apps/fileSystem#type-EntryChangedEvent

Upvotes: 1

Views: 100

Answers (2)

Mikael Tellhed
Mikael Tellhed

Reputation: 36

I actually think that this feature is not implemented yet. I don't know why it is in the documentation, but if you look at the chromium source there is a function called chrome.fileSystem.observeDirectory (which has a callback that should get these events) but when looking at the implementation it just says:

bool FileSystemObserveDirectoryFunction::RunSync() {
  NOTIMPLEMENTED();
  error_ = kUnknownIdError;
  return false;
}

I found this document which is a request for the API:

https://docs.google.com/document/d/1aW-37JOBZgoD2CIPvoBEgw6bog8gFSowpfqtDEKt5Vo/edit#heading=h.w8inspeo32bj

Anyways, great feature and will probably be available soon.

Upvotes: 2

Marc Rochkind
Marc Rochkind

Reputation: 3740

Three issues here:

  1. It's not clear from the documentation what object this listener should be attached to. In your example, you have attached it to the DirectoryEntry representing a directory. While I don't know the answer, that sounds like it's probably wrong, as a DirectoryEntry is only a means for accessing a directory, and is not itself a directory.

  2. The documentation says that this event is fired for only certain filesystems, and I guess neither of us knows whether it is even effective for whatever file systems we're testing with.

  3. In your example, even if the code were right and the event were enabled, you don't have any changes to the directory, so the event wouldn't fire.

Upvotes: 2

Related Questions