// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// downloadsInternal
[nodoc=true]
namespace downloadsInternal {
  interface Functions {
    // Secretly called when onDeterminingFilename handlers return.
    static void determineFilename(long downloadId,
                                  DOMString filename,
                                  DOMString conflict_action);
  };
};
