/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface mozIDOMWindow; interface nsIFile; [scriptable, uuid(0a065e41-3a55-4b5c-bb41-1e848bb2d10c)] interface nsILayoutRegressionTester : nsISupports { /** * Dumps the content of a window * @param aWindowToDump the window to dump (may be an iframe etc) * @param aFile the file to dump to. It will be created if necessary, otherwise truncated. If nil, write to stdout. * @param aFlagsMask some flags that determine what to dump * @param aFlagsMask some flags that determine what to dump * @param aResult a status value indicating whether the dump happened, whether the page was still loading, or whether some other error happened. */ const short DUMP_FLAGS_MASK_DEFAULT = 0; const short DUMP_FLAGS_MASK_PRINT_MODE = 1; const long DUMP_RESULT_COMPLETED = 0; // loaded OK const long DUMP_RESULT_LOADING = 1; // still loading const long DUMP_RESULT_ERROR = 2; // an error occurred long dumpFrameModel(in mozIDOMWindow aWindowToDump, in nsIFile aFile, in unsigned long aFlagsMask); /** * Compares the contents of frame model files * @param aBaseFile the baseline file, opened with read permissions * @param aVerFile file containing the results to verify, opened with read permissions * @param aFlags flags specifying output verbosity * @param aResult result of the comparison: zero if the files are same, non-zero if different */ const short COMPARE_FLAGS_VERBOSE = 0; const short COMPARE_FLAGS_BRIEF = 1; boolean compareFrameModels(in nsIFile aBaseFile, in nsIFile aVerFile, in unsigned long aFlags); };