diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /layout/base/DisplayItemScrollClip.cpp | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'layout/base/DisplayItemScrollClip.cpp')
-rw-r--r-- | layout/base/DisplayItemScrollClip.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/layout/base/DisplayItemScrollClip.cpp b/layout/base/DisplayItemScrollClip.cpp new file mode 100644 index 000000000..a78a43dbd --- /dev/null +++ b/layout/base/DisplayItemScrollClip.cpp @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 20; 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/. */ + +#include "DisplayItemScrollClip.h" + +#include "DisplayItemClip.h" + +namespace mozilla { + +/* static */ bool +DisplayItemScrollClip::IsAncestor(const DisplayItemScrollClip* aAncestor, + const DisplayItemScrollClip* aDescendant) +{ + if (!aAncestor) { + // null means root. + return true; + } + + for (const DisplayItemScrollClip* sc = aDescendant; sc; sc = sc->mParent) { + if (sc == aAncestor) { + return true; + } + } + + return false; +} + +bool +DisplayItemScrollClip::HasRoundedCorners() const +{ + for (const DisplayItemScrollClip* scrollClip = this; + scrollClip; scrollClip = scrollClip->mParent) { + if (scrollClip->mClip->GetRoundedRectCount() > 0) { + return true; + } + } + return false; +} + +/* static */ nsCString +DisplayItemScrollClip::ToString(const DisplayItemScrollClip* aScrollClip) +{ + nsAutoCString str; + for (const DisplayItemScrollClip* scrollClip = aScrollClip; + scrollClip; scrollClip = scrollClip->mParent) { + str.AppendPrintf("<%s>%s", scrollClip->mClip ? scrollClip->mClip->ToString().get() : "null", + scrollClip->mIsAsyncScrollable ? " [async-scrollable]" : ""); + if (scrollClip->mParent) { + str.Append(", "); + } + } + return str; +} + +} // namespace mozilla |