http://trac.webkit.org/changeset/96422
https://bugs.webkit.org/show_bug.cgi?id=69170
Broke Windows build and kling wanted to roll it out as well
(Requested by rniwa on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-30
* rendering/InlineBox.cpp:
(WebCore::InlineBox::prevOnLineExists):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-09-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r96422.
+ http://trac.webkit.org/changeset/96422
+ https://bugs.webkit.org/show_bug.cgi?id=69170
+
+ Broke Windows build and kling wanted to roll it out as well
+ (Requested by rniwa on #webkit).
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::prevOnLineExists):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+
2011-09-30 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=69167
using namespace std;
namespace WebCore {
-
-class SameSizeAsInlineBox {
- virtual ~SameSizeAsInlineBox() { }
- void* a[4];
- FloatPoint b;
- float c;
- uint32_t d;
-#ifndef NDEBUG
- bool e;
-#endif
-};
-
-COMPILE_ASSERT(sizeof(InlineBox) == sizeof(SameSizeAsInlineBox), InlineBox_size_guard);
#ifndef NDEBUG
static bool inInlineBoxDetach;
return m_nextOnLineExists;
}
+bool InlineBox::prevOnLineExists() const
+{
+ if (!m_determinedIfPrevOnLineExists) {
+ m_determinedIfPrevOnLineExists = true;
+
+ if (!parent())
+ m_prevOnLineExists = false;
+ else if (prevOnLine())
+ m_prevOnLineExists = true;
+ else
+ m_prevOnLineExists = parent()->prevOnLineExists();
+ }
+ return m_prevOnLineExists;
+}
+
InlineBox* InlineBox::nextLeafChild() const
{
InlineBox* leaf = 0;
, m_dirOverride(false)
, m_isText(false)
, m_determinedIfNextOnLineExists(false)
+ , m_determinedIfPrevOnLineExists(false)
, m_nextOnLineExists(false)
+ , m_prevOnLineExists(false)
, m_expansion(0)
#ifndef NDEBUG
, m_hasBadParent(false)
, m_dirOverride(false)
, m_isText(false)
, m_determinedIfNextOnLineExists(false)
+ , m_determinedIfPrevOnLineExists(false)
, m_nextOnLineExists(false)
+ , m_prevOnLineExists(false)
, m_expansion(0)
#ifndef NDEBUG
, m_hasBadParent(false)
m_prev = prev;
}
bool nextOnLineExists() const;
+ bool prevOnLineExists() const;
virtual bool isLeaf() const { return true; }
bool m_isText : 1; // Whether or not this object represents text with a non-zero height. Includes non-image list markers, text boxes.
protected:
mutable bool m_determinedIfNextOnLineExists : 1;
+ mutable bool m_determinedIfPrevOnLineExists : 1;
mutable bool m_nextOnLineExists : 1;
+ mutable bool m_prevOnLineExists : 1;
signed m_expansion : 11; // for justified text
#ifndef NDEBUG