diff --git a/layout/build/nsLayoutCID.h b/layout/build/nsLayoutCID.h index 47a90d7d8d80..8c07e84886c8 100644 --- a/layout/build/nsLayoutCID.h +++ b/layout/build/nsLayoutCID.h @@ -14,10 +14,6 @@ #define NS_LAYOUT_DEBUGGER_CID \ { 0xa6cf90f9, 0x15b3, 0x11d2,{0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}} -/* a6cf90d7-15b3-11d2-932e-00805f8add32 */ -#define NS_FRAME_UTIL_CID \ - { 0xa6cf90d5, 0x15b3, 0x11d2,{0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}} - #define NS_DOMSELECTION_CID \ {/* {C87A37FC-8109-4ce2-A322-8CDEC925379F}*/ \ 0xc87a37fc, 0x8109, 0x4ce2, { 0xa3, 0x22, 0x8c, 0xde, 0xc9, 0x25, 0x37, 0x9f } } diff --git a/layout/build/nsLayoutModule.cpp b/layout/build/nsLayoutModule.cpp index f9e63e7610e9..743507a5faf7 100644 --- a/layout/build/nsLayoutModule.cpp +++ b/layout/build/nsLayoutModule.cpp @@ -27,7 +27,6 @@ #include "nsIDocument.h" #include "nsIDocumentEncoder.h" #include "nsIFactory.h" -#include "nsIFrameUtil.h" #include "nsIIdleService.h" #include "nsHTMLStyleSheet.h" #include "nsILayoutDebugger.h" @@ -342,7 +341,6 @@ Shutdown() } #ifdef DEBUG -nsresult NS_NewFrameUtil(nsIFrameUtil** aResult); nsresult NS_NewLayoutDebugger(nsILayoutDebugger** aResult); #endif @@ -411,7 +409,6 @@ ctor_(nsISupports* aOuter, REFNSIID aIID, void** aResult) \ } #ifdef DEBUG -MAKE_CTOR(CreateNewFrameUtil, nsIFrameUtil, NS_NewFrameUtil) MAKE_CTOR(CreateNewLayoutDebugger, nsILayoutDebugger, NS_NewLayoutDebugger) #endif @@ -568,7 +565,6 @@ Construct_nsIScriptSecurityManager(nsISupports *aOuter, REFNSIID aIID, } #ifdef DEBUG -NS_DEFINE_NAMED_CID(NS_FRAME_UTIL_CID); NS_DEFINE_NAMED_CID(NS_LAYOUT_DEBUGGER_CID); #endif NS_DEFINE_NAMED_CID(NS_FRAMETRAVERSAL_CID); @@ -827,7 +823,6 @@ nsEditingCommandTableConstructor(nsISupports *aOuter, REFNSIID aIID, static const mozilla::Module::CIDEntry kLayoutCIDs[] = { XPCONNECT_CIDENTRIES #ifdef DEBUG - { &kNS_FRAME_UTIL_CID, false, nullptr, CreateNewFrameUtil }, { &kNS_LAYOUT_DEBUGGER_CID, false, nullptr, CreateNewLayoutDebugger }, #endif { &kNS_FRAMETRAVERSAL_CID, false, nullptr, CreateNewFrameTraversal }, diff --git a/layout/generic/moz.build b/layout/generic/moz.build index a936cc1bfe82..dc2b93d15fe2 100644 --- a/layout/generic/moz.build +++ b/layout/generic/moz.build @@ -81,7 +81,6 @@ EXPORTS += [ 'nsIAnonymousContentCreator.h', 'nsIFrame.h', 'nsIFrameInlines.h', - 'nsIFrameUtil.h', 'nsILineIterator.h', 'nsIObjectFrame.h', 'nsIPageSequenceFrame.h', @@ -148,7 +147,6 @@ UNIFIED_SOURCES += [ 'nsFrameSelection.cpp', 'nsFrameSetFrame.cpp', 'nsFrameState.cpp', - 'nsFrameUtil.cpp', 'nsGfxScrollFrame.cpp', 'nsGridContainerFrame.cpp', 'nsHTMLCanvasFrame.cpp', diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 5dd6b656554a..6d790231c457 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -7458,74 +7458,6 @@ nsIFrame::GetConstFrameSelection() const return PresContext()->PresShell()->ConstFrameSelection(); } -#ifdef DEBUG -nsresult -nsFrame::DumpRegressionData(nsPresContext* aPresContext, FILE* out, int32_t aIndent) -{ - IndentBy(out, aIndent); - fprintf(out, "\n", - (unsigned long long)GetDebugStateBits(), (void*)GetParent()); - - aIndent++; - DumpBaseRegressionData(aPresContext, out, aIndent); - aIndent--; - - IndentBy(out, aIndent); - fprintf(out, "\n"); - - return NS_OK; -} - -void -nsFrame::DumpBaseRegressionData(nsPresContext* aPresContext, FILE* out, int32_t aIndent) -{ - if (GetNextSibling()) { - IndentBy(out, aIndent); - fprintf(out, "\n", (void*)GetNextSibling()); - } - - if (HasView()) { - IndentBy(out, aIndent); - fprintf(out, "\n", (void*)GetView()); - aIndent++; - // XXX add in code to dump out view state too... - aIndent--; - IndentBy(out, aIndent); - fprintf(out, "\n"); - } - - IndentBy(out, aIndent); - fprintf(out, "\n", - mRect.x, mRect.y, mRect.width, mRect.height); - - // Now dump all of the children on all of the child lists - ChildListIterator lists(this); - for (; !lists.IsDone(); lists.Next()) { - IndentBy(out, aIndent); - if (lists.CurrentID() != kPrincipalList) { - fprintf(out, "\n", mozilla::layout::ChildListName(lists.CurrentID())); - } - else { - fprintf(out, "\n"); - } - aIndent++; - nsFrameList::Enumerator childFrames(lists.CurrentList()); - for (; !childFrames.AtEnd(); childFrames.Next()) { - nsIFrame* kid = childFrames.get(); - kid->DumpRegressionData(aPresContext, out, aIndent); - } - aIndent--; - IndentBy(out, aIndent); - fprintf(out, "\n"); - } -} -#endif - bool nsIFrame::IsFrameSelected() const { diff --git a/layout/generic/nsFrame.h b/layout/generic/nsFrame.h index 46b326853699..cf33ada7b746 100644 --- a/layout/generic/nsFrame.h +++ b/layout/generic/nsFrame.h @@ -496,17 +496,6 @@ public: static void XMLQuote(nsString& aString); - /** - * Dump out the "base classes" regression data. This should dump - * out the interior data, not the "frame" XML container. And it - * should call the base classes same named method before doing - * anything specific in a derived class. This means that derived - * classes need not override DumpRegressionData unless they need - * some custom behavior that requires changing how the outer "frame" - * XML container is dumped. - */ - virtual void DumpBaseRegressionData(nsPresContext* aPresContext, FILE* out, int32_t aIndent); - // Display Reflow Debugging static void* DisplayReflowEnter(nsPresContext* aPresContext, nsIFrame* aFrame, @@ -743,17 +732,6 @@ public: * is, those bits which indicate a real difference when they differ */ nsFrameState GetDebugStateBits() const override; - /** - * Called to dump out regression data that describes the layout - * of the frame and its children, and so on. The format of the - * data is dictated to be XML (using a specific DTD); the - * specific kind of data dumped is up to the frame itself, with - * the caveat that some base types are defined. - * For more information, see XXX. - */ - nsresult DumpRegressionData(nsPresContext* aPresContext, - FILE* out, int32_t aIndent) override; - /** * See if style tree verification is enabled. To enable style tree * verification add "styleverifytree:1" to your MOZ_LOG diff --git a/layout/generic/nsFrameUtil.cpp b/layout/generic/nsFrameUtil.cpp deleted file mode 100644 index 04d252732cfe..000000000000 --- a/layout/generic/nsFrameUtil.cpp +++ /dev/null @@ -1,670 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -/* utilities for regression tests based on frame tree comparison */ - -#include "nsIFrameUtil.h" -#include "nsFrame.h" -#include "nsString.h" -#include "nsRect.h" -#include -#include "plstr.h" - - -#ifdef DEBUG -class nsFrameUtil : public nsIFrameUtil { -protected: - virtual ~nsFrameUtil(); - -public: - nsFrameUtil(); - - NS_DECL_ISUPPORTS - - NS_IMETHOD CompareRegressionData(FILE* aFile1, FILE* aFile2,int32_t aRegressionOutput=0) override; - NS_IMETHOD DumpRegressionData(FILE* aInputFile, FILE* aOutputFile) override; - - struct Node; - struct Tag; - - struct NodeList { - NodeList(); - ~NodeList(); - - static void Destroy(NodeList* aLists); - - NodeList* next; // for lists of lists - Node* node; - char* name; - }; - - struct Node { - Node(); - ~Node(); - - static void Destroy(Node* aNode); - - static Node* Read(FILE* aFile, Tag* aTag); - - static Node* ReadTree(FILE* aFile); - - Node* next; - char* type; - uint32_t state; - nsRect bbox; - nsCString styleData; - NodeList* lists; - }; - - struct Tag { - Tag(); - ~Tag(); - - static Tag* Parse(FILE* aFile); - - void AddAttr(char* aAttr, char* aValue); - - const char* GetAttr(const char* aAttr); - - void ReadAttrs(FILE* aFile); - - void ToString(nsString& aResult); - - enum Type { - open, - close, - openClose - }; - - char* name; - Type type; - char** attributes; - int32_t num; - int32_t size; - char** values; - }; - - static char* Copy(const char* aString); - - static void DumpNode(Node* aNode, FILE* aOutputFile, int32_t aIndent); - static void DumpTree(Node* aNode, FILE* aOutputFile, int32_t aIndent); - static bool CompareTrees(Node* aNode1, Node* aNode2); -}; - -char* -nsFrameUtil::Copy(const char* aString) -{ - if (aString) { - int l = ::strlen(aString); - char* c = new char[l+1]; - if (!c) - return nullptr; - memcpy(c, aString, l+1); - return c; - } - return nullptr; -} - -//---------------------------------------------------------------------- - -nsFrameUtil::NodeList::NodeList() - : next(nullptr), node(nullptr), name(nullptr) -{ -} - -nsFrameUtil::NodeList::~NodeList() -{ - if (nullptr != name) { - delete name; - } - if (nullptr != node) { - Node::Destroy(node); - } -} - -void -nsFrameUtil::NodeList::Destroy(NodeList* aLists) -{ - while (nullptr != aLists) { - NodeList* next = aLists->next; - delete aLists; - aLists = next; - } -} - -//---------------------------------------------------------------------- - -nsFrameUtil::Node::Node() - : next(nullptr), type(nullptr), state(0), lists(nullptr) -{ -} - -nsFrameUtil::Node::~Node() -{ - if (nullptr != type) { - delete type; - } - if (nullptr != lists) { - NodeList::Destroy(lists); - } -} - -void -nsFrameUtil::Node::Destroy(Node* aList) -{ - while (nullptr != aList) { - Node* next = aList->next; - delete aList; - aList = next; - } -} - -static int32_t GetInt(nsFrameUtil::Tag* aTag, const char* aAttr) -{ - const char* value = aTag->GetAttr(aAttr); - if (nullptr != value) { - return int32_t( atoi(value) ); - } - return 0; -} - -nsFrameUtil::Node* -nsFrameUtil::Node::ReadTree(FILE* aFile) -{ - Tag* tag = Tag::Parse(aFile); - if (nullptr == tag) { - return nullptr; - } - if (PL_strcmp(tag->name, "frame") != 0) { - delete tag; - return nullptr; - } - Node* result = Read(aFile, tag); - fclose(aFile); - return result; -} - -nsFrameUtil::Node* -nsFrameUtil::Node::Read(FILE* aFile, Tag* tag) -{ - Node* node = new Node; - node->type = Copy(tag->GetAttr("type")); - if (!node->type) { - /* crash() */ - } - node->state = GetInt(tag, "state"); - delete tag; - - for (;;) { - tag = Tag::Parse(aFile); - if (nullptr == tag) break; - if (PL_strcmp(tag->name, "frame") == 0) { - delete tag; - break; - } - if (PL_strcmp(tag->name, "bbox") == 0) { - nscoord x = nscoord( GetInt(tag, "x") ); - nscoord y = nscoord( GetInt(tag, "y") ); - nscoord w = nscoord( GetInt(tag, "w") ); - nscoord h = nscoord( GetInt(tag, "h") ); - node->bbox.SetRect(x, y, w, h); - } - else if (PL_strcmp(tag->name, "child-list") == 0) { - NodeList* list = new NodeList(); - list->name = Copy(tag->GetAttr("name")); - if (!list->name) { - /* crash() */ - } - list->next = node->lists; - node->lists = list; - delete tag; - - Node** tailp = &list->node; - for (;;) { - tag = Tag::Parse(aFile); - if (nullptr == tag) { - break; - } - if (PL_strcmp(tag->name, "child-list") == 0) { - break; - } - if (PL_strcmp(tag->name, "frame") != 0) { - break; - } - Node* child = Node::Read(aFile, tag); - if (nullptr == child) { - break; - } - *tailp = child; - tailp = &child->next; - } - } - else if((PL_strcmp(tag->name, "font") == 0) || - (PL_strcmp(tag->name, "color") == 0) || - (PL_strcmp(tag->name, "spacing") == 0) || - (PL_strcmp(tag->name, "list") == 0) || - (PL_strcmp(tag->name, "position") == 0) || - (PL_strcmp(tag->name, "text") == 0) || - (PL_strcmp(tag->name, "display") == 0) || - (PL_strcmp(tag->name, "table") == 0) || - (PL_strcmp(tag->name, "content") == 0) || - (PL_strcmp(tag->name, "UI") == 0) || - (PL_strcmp(tag->name, "print") == 0)) { - const char* attr = tag->GetAttr("data"); - node->styleData.Append('|'); - node->styleData.Append(attr ? attr : "null attr"); - } - - delete tag; - } - return node; -} - -//---------------------------------------------------------------------- - -nsFrameUtil::Tag::Tag() - : name(nullptr), type(open), attributes(nullptr), num(0), size(0), - values(nullptr) -{ -} - -nsFrameUtil::Tag::~Tag() -{ - int32_t i, n = num; - if (0 != n) { - for (i = 0; i < n; i++) { - delete attributes[i]; - delete values[i]; - } - delete attributes; - delete values; - } -} - -void -nsFrameUtil::Tag::AddAttr(char* aAttr, char* aValue) -{ - if (num == size) { - int32_t newSize = size * 2 + 4; - char** a = new char*[newSize]; - char** v = new char*[newSize]; - if (0 != num) { - memcpy(a, attributes, num * sizeof(char*)); - memcpy(v, values, num * sizeof(char*)); - delete attributes; - delete values; - } - attributes = a; - values = v; - size = newSize; - } - attributes[num] = aAttr; - values[num] = aValue; - num = num + 1; -} - -const char* -nsFrameUtil::Tag::GetAttr(const char* aAttr) -{ - int32_t i, n = num; - for (i = 0; i < n; i++) { - if (PL_strcmp(attributes[i], aAttr) == 0) { - return values[i]; - } - } - return nullptr; -} - -static inline int IsWhiteSpace(int c) { - return (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r'); -} - -static bool EatWS(FILE* aFile) -{ - for (;;) { - int c = getc(aFile); - if (c < 0) { - return false; - } - if (!IsWhiteSpace(c)) { - ungetc(c, aFile); - break; - } - } - return true; -} - -static bool Expect(FILE* aFile, char aChar) -{ - int c = getc(aFile); - if (c < 0) return false; - if (c != aChar) { - ungetc(c, aFile); - return false; - } - return true; -} - -static char* ReadIdent(FILE* aFile) -{ - char id[1000]; - char* ip = id; - char* end = ip + sizeof(id) - 1; - while (ip < end) { - int c = fgetc(aFile); - if (c < 0) return nullptr; - if ((c == '=') || (c == '>') || (c == '/') || IsWhiteSpace(c)) { - ungetc(c, aFile); - break; - } - *ip++ = char(c); - } - *ip = '\0'; - return nsFrameUtil::Copy(id); - /* may return a null pointer */ -} - -static char* ReadString(FILE* aFile) -{ - if (!Expect(aFile, '\"')) { - return nullptr; - } - char id[1000]; - char* ip = id; - char* end = ip + sizeof(id) - 1; - while (ip < end) { - int c = fgetc(aFile); - if (c < 0) return nullptr; - if (c == '\"') { - break; - } - *ip++ = char(c); - } - *ip = '\0'; - return nsFrameUtil::Copy(id); - /* may return a null pointer */ -} - -void -nsFrameUtil::Tag::ReadAttrs(FILE* aFile) -{ - for (;;) { - if (!EatWS(aFile)) { - break; - } - int c = getc(aFile); - if (c < 0) break; - if (c == '/') { - if (!EatWS(aFile)) { - return; - } - if (Expect(aFile, '>')) { - type = openClose; - break; - } - } - else if (c == '>') { - break; - } - ungetc(c, aFile); - char* attr = ReadIdent(aFile); - if ((nullptr == attr) || !EatWS(aFile)) { - break; - } - char* value = nullptr; - if (Expect(aFile, '=')) { - value = ReadString(aFile); - if (nullptr == value) { - delete [] attr; - break; - } - } - AddAttr(attr, value); - } -} - -nsFrameUtil::Tag* -nsFrameUtil::Tag::Parse(FILE* aFile) -{ - if (!EatWS(aFile)) { - return nullptr; - } - if (Expect(aFile, '<')) { - Tag* tag = new Tag; - if (Expect(aFile, '/')) { - tag->type = close; - } - else { - tag->type = open; - } - tag->name = ReadIdent(aFile); - tag->ReadAttrs(aFile); - return tag; - } - return nullptr; -} - -void -nsFrameUtil::Tag::ToString(nsString& aResult) -{ - aResult.Truncate(); - aResult.Append(char16_t('<')); - if (type == close) { - aResult.Append(char16_t('/')); - } - aResult.AppendASCII(name); - if (0 != num) { - int32_t i, n = num; - for (i = 0; i < n; i++) { - aResult.Append(char16_t(' ')); - aResult.AppendASCII(attributes[i]); - if (values[i]) { - aResult.AppendLiteral("=\""); - aResult.AppendASCII(values[i]); - aResult.Append(char16_t('\"')); - } - } - } - if (type == openClose) { - aResult.Append(char16_t('/')); - } - aResult.Append(char16_t('>')); -} - -//---------------------------------------------------------------------- - -nsresult -NS_NewFrameUtil(nsIFrameUtil** aResult) -{ - NS_PRECONDITION(nullptr != aResult, "null pointer"); - if (nullptr == aResult) { - return NS_ERROR_NULL_POINTER; - } - - nsFrameUtil* it = new nsFrameUtil(); - - NS_ADDREF(*aResult = it); - return NS_OK; -} - -nsFrameUtil::nsFrameUtil() -{ -} - -nsFrameUtil::~nsFrameUtil() -{ -} - -NS_IMPL_ISUPPORTS(nsFrameUtil, nsIFrameUtil) - -void -nsFrameUtil::DumpNode(Node* aNode, FILE* aOutputFile, int32_t aIndent) -{ - nsFrame::IndentBy(aOutputFile, aIndent); - fprintf(aOutputFile, "%s 0x%x %d,%d,%d,%d, %s\n", aNode->type, aNode->state, - aNode->bbox.x, aNode->bbox.y, - aNode->bbox.width, aNode->bbox.height, - aNode->styleData.get()); -} - -void -nsFrameUtil::DumpTree(Node* aNode, FILE* aOutputFile, int32_t aIndent) -{ - while (nullptr != aNode) { - DumpNode(aNode, aOutputFile, aIndent); - nsFrameUtil::NodeList* lists = aNode->lists; - if (nullptr != lists) { - while (nullptr != lists) { - nsFrame::IndentBy(aOutputFile, aIndent); - fprintf(aOutputFile, " list: %s\n", - lists->name ? lists->name : "primary"); - DumpTree(lists->node, aOutputFile, aIndent + 1); - lists = lists->next; - } - } - aNode = aNode->next; - } -} - -bool -nsFrameUtil::CompareTrees(Node* tree1, Node* tree2) -{ - bool result = true; - for (;; tree1 = tree1->next, tree2 = tree2->next) { - // Make sure both nodes are non-null, or at least agree with each other - if (nullptr == tree1) { - if (nullptr == tree2) { - break; - } - printf("first tree prematurely ends\n"); - return false; - } - else if (nullptr == tree2) { - printf("second tree prematurely ends\n"); - return false; - } - - // Check the attributes that we care about - if (0 != PL_strcmp(tree1->type, tree2->type)) { - printf("frame type mismatch: %s vs. %s\n", tree1->type, tree2->type); - printf("Node 1:\n"); - DumpNode(tree1, stdout, 1); - printf("Node 2:\n"); - DumpNode(tree2, stdout, 1); - return false; - } - - // Ignore the XUL scrollbar frames - static const char kScrollbarFrame[] = "ScrollbarFrame"; - if (0 == PL_strncmp(tree1->type, kScrollbarFrame, sizeof(kScrollbarFrame) - 1)) - continue; - - if (tree1->state != tree2->state) { - printf("frame state mismatch: 0x%x vs. 0x%x\n", - tree1->state, tree2->state); - printf("Node 1:\n"); - DumpNode(tree1, stdout, 1); - printf("Node 2:\n"); - DumpNode(tree2, stdout, 1); - result = false; // we have a non-critical failure, so remember that but continue - } - if (tree1->bbox.IsEqualInterior(tree2->bbox)) { - printf("frame bbox mismatch: %d,%d,%d,%d vs. %d,%d,%d,%d\n", - tree1->bbox.x, tree1->bbox.y, - tree1->bbox.width, tree1->bbox.height, - tree2->bbox.x, tree2->bbox.y, - tree2->bbox.width, tree2->bbox.height); - printf("Node 1:\n"); - DumpNode(tree1, stdout, 1); - printf("Node 2:\n"); - DumpNode(tree2, stdout, 1); - result = false; // we have a non-critical failure, so remember that but continue - } - if (tree1->styleData != tree2->styleData) { - printf("frame style data mismatch: %s vs. %s\n", - tree1->styleData.get(), - tree2->styleData.get()); - } - - // Check child lists too - NodeList* list1 = tree1->lists; - NodeList* list2 = tree2->lists; - for (;;) { - if (nullptr == list1) { - if (nullptr != list2) { - printf("first tree prematurely ends (no child lists)\n"); - printf("Node 1:\n"); - DumpNode(tree1, stdout, 1); - printf("Node 2:\n"); - DumpNode(tree2, stdout, 1); - return false; - } - else { - break; - } - } - if (nullptr == list2) { - printf("second tree prematurely ends (no child lists)\n"); - printf("Node 1:\n"); - DumpNode(tree1, stdout, 1); - printf("Node 2:\n"); - DumpNode(tree2, stdout, 1); - return false; - } - if (0 != PL_strcmp(list1->name, list2->name)) { - printf("child-list name mismatch: %s vs. %s\n", - list1->name ? list1->name : "(null)", - list2->name ? list2->name : "(null)"); - result = false; // we have a non-critical failure, so remember that but continue - } - else { - bool equiv = CompareTrees(list1->node, list2->node); - if (!equiv) { - return equiv; - } - } - list1 = list1->next; - list2 = list2->next; - } - } - return result; -} - -NS_IMETHODIMP -nsFrameUtil::CompareRegressionData(FILE* aFile1, FILE* aFile2,int32_t aRegressionOutput) -{ - Node* tree1 = Node::ReadTree(aFile1); - Node* tree2 = Node::ReadTree(aFile2); - - nsresult rv = NS_OK; - if (!CompareTrees(tree1, tree2)) { - // only output this if aRegressionOutput is 0 - if( 0 == aRegressionOutput ){ - printf("Regression data 1:\n"); - DumpTree(tree1, stdout, 0); - printf("Regression data 2:\n"); - DumpTree(tree2, stdout, 0); - } - rv = NS_ERROR_FAILURE; - } - - Node::Destroy(tree1); - Node::Destroy(tree2); - - return rv; -} - -NS_IMETHODIMP -nsFrameUtil::DumpRegressionData(FILE* aInputFile, FILE* aOutputFile) -{ - Node* tree1 = Node::ReadTree(aInputFile); - if (nullptr != tree1) { - DumpTree(tree1, aOutputFile, 0); - Node::Destroy(tree1); - return NS_OK; - } - return NS_ERROR_FAILURE; -} -#endif diff --git a/layout/generic/nsIFrame.h b/layout/generic/nsIFrame.h index cbefa2b664fb..9af9f00a9b22 100644 --- a/layout/generic/nsIFrame.h +++ b/layout/generic/nsIFrame.h @@ -4447,8 +4447,6 @@ public: #ifdef DEBUG public: virtual nsFrameState GetDebugStateBits() const = 0; - virtual nsresult DumpRegressionData(nsPresContext* aPresContext, - FILE* out, int32_t aIndent) = 0; #endif }; diff --git a/layout/generic/nsIFrameUtil.h b/layout/generic/nsIFrameUtil.h deleted file mode 100644 index 07879aa2f78c..000000000000 --- a/layout/generic/nsIFrameUtil.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -/* utilities for regression tests based on frame tree comparison */ - -#ifndef nsIFrameUtil_h___ -#define nsIFrameUtil_h___ - -#include -#include "nsISupports.h" - -/* a6cf90d4-15b3-11d2-932e-00805f8add32 */ -#define NS_IFRAME_UTIL_IID \ - { 0xa6cf90d6, 0x15b3, 0x11d2,{0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}} - -/** - * Frame utility interface - */ -class nsIFrameUtil : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_IFRAME_UTIL_IID) - /** - * Compare two regression data dumps. The return status will be NS_OK - * if the trees compare favoribly, otherwise the return will indicate - * NS_ERROR_FAILURE. Other return status's will indicate some other - * type of failure. The files, aFile1 and aFile2 are closed before - * returning. - * aRegressionOutput will vary output, 0 is full output, 1 is brief - */ - NS_IMETHOD CompareRegressionData(FILE* aFile1, FILE* aFile2,int32_t aRegressionOutput) = 0; - - /** - * Display the regression dump data stored in aInputFile1 to - * aOutputFile . The file is closed before returning. If the - * regression data is in error somehow then NS_ERROR_FAILURE will be - * returned. - */ - NS_IMETHOD DumpRegressionData(FILE* aInputFile, FILE* aOutputFile) = 0; -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsIFrameUtil, NS_IFRAME_UTIL_IID) - -#endif /* nsIFrameUtil_h___ */ diff --git a/layout/generic/nsSplittableFrame.cpp b/layout/generic/nsSplittableFrame.cpp index e366422958f7..c1d230684399 100644 --- a/layout/generic/nsSplittableFrame.cpp +++ b/layout/generic/nsSplittableFrame.cpp @@ -297,20 +297,3 @@ nsSplittableFrame::PreReflowBlockLevelLogicalSkipSides() const } return LogicalSides(); } - -#ifdef DEBUG -void -nsSplittableFrame::DumpBaseRegressionData(nsPresContext* aPresContext, FILE* out, int32_t aIndent) -{ - nsFrame::DumpBaseRegressionData(aPresContext, out, aIndent); - if (nullptr != mNextContinuation) { - IndentBy(out, aIndent); - fprintf(out, "\n", (void*)mNextContinuation); - } - if (nullptr != mPrevContinuation) { - IndentBy(out, aIndent); - fprintf(out, "\n", (void*)mPrevContinuation); - } - -} -#endif diff --git a/layout/generic/nsSplittableFrame.h b/layout/generic/nsSplittableFrame.h index 0309d83e9d16..4d712cb67695 100644 --- a/layout/generic/nsSplittableFrame.h +++ b/layout/generic/nsSplittableFrame.h @@ -114,10 +114,6 @@ protected: */ LogicalSides PreReflowBlockLevelLogicalSkipSides() const; -#ifdef DEBUG - virtual void DumpBaseRegressionData(nsPresContext* aPresContext, FILE* out, int32_t aIndent) override; -#endif - nsIFrame* mPrevContinuation; nsIFrame* mNextContinuation; };