Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim: set ts=2 et sw=2 tw=80: */
3 : /* This Source Code is subject to the terms of the Mozilla Public License
4 : * version 2.0 (the "License"). You can obtain a copy of the License at
5 : * http://mozilla.org/MPL/2.0/. */
6 :
7 : /* base class for ruby rendering objects that directly contain content */
8 :
9 : #include "nsRubyContentFrame.h"
10 : #include "nsPresContext.h"
11 : #include "nsStyleContext.h"
12 : #include "nsCSSAnonBoxes.h"
13 :
14 : using namespace mozilla;
15 :
16 : //----------------------------------------------------------------------
17 :
18 : // nsRubyContentFrame Method Implementations
19 : // ======================================
20 :
21 : /* virtual */ bool
22 0 : nsRubyContentFrame::IsFrameOfType(uint32_t aFlags) const
23 : {
24 0 : if (aFlags & eBidiInlineContainer) {
25 0 : return false;
26 : }
27 0 : return nsInlineFrame::IsFrameOfType(aFlags);
28 : }
29 :
30 : bool
31 0 : nsRubyContentFrame::IsIntraLevelWhitespace() const
32 : {
33 0 : nsIAtom* pseudoType = StyleContext()->GetPseudo();
34 0 : if (pseudoType != nsCSSAnonBoxes::rubyBase &&
35 0 : pseudoType != nsCSSAnonBoxes::rubyText) {
36 0 : return false;
37 : }
38 :
39 0 : nsIFrame* child = mFrames.OnlyChild();
40 0 : return child && child->GetContent()->TextIsOnlyWhitespace();
41 : }
|