[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
levin at chromium.org
levin at chromium.org
Tue Jan 5 23:59:37 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 37aa17107b49c3060ad881dd7b9b1d9e7ba5d259
Author: levin at chromium.org <levin at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Dec 24 01:15:10 2009 +0000
2009-12-23 David Levin <levin at chromium.org>
REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
https://bugs.webkit.org/show_bug.cgi?id=32903
No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
LayoutTests:
* fast/forms/selection-layout-reentry-strange-case-expected.txt: Removed.
* fast/forms/selection-layout-reentry-strange-case.html: Removed.
* platform/mac/accessibility/frame-with-title-expected.txt:
WebCore:
* editing/SelectionController.cpp:
(WebCore::SelectionController::SelectionController):
(WebCore::SelectionController::setSelection):
* editing/SelectionController.h:
* page/Frame.cpp:
(WebCore::Frame::setCaretVisible):
(WebCore::Frame::selectionLayoutChanged):
* page/FrameView.cpp:
(WebCore::FrameView::needsLayout):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index eff7be8..223bb29 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-23 David Levin <levin at chromium.org>
+
+ REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
+ https://bugs.webkit.org/show_bug.cgi?id=32903
+
+ No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
+
+ * fast/forms/selection-layout-reentry-strange-case-expected.txt: Removed.
+ * fast/forms/selection-layout-reentry-strange-case.html: Removed.
+ * platform/mac/accessibility/frame-with-title-expected.txt:
+
2009-12-23 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Eric Seidel.
diff --git a/LayoutTests/fast/forms/selection-layout-reentry-strange-case-expected.txt b/LayoutTests/fast/forms/selection-layout-reentry-strange-case-expected.txt
deleted file mode 100644
index 811b710..0000000
--- a/LayoutTests/fast/forms/selection-layout-reentry-strange-case-expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-t down
-Yes, this is a strange test case. If you can see this and it did not crash, then all is well.
diff --git a/LayoutTests/fast/forms/selection-layout-reentry-strange-case.html b/LayoutTests/fast/forms/selection-layout-reentry-strange-case.html
deleted file mode 100644
index 72b96c6..0000000
--- a/LayoutTests/fast/forms/selection-layout-reentry-strange-case.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<textarea id="container">si
-<DIV abcdefgh_POSIT></DIV>
-</textarea>t down
-
-<script>
- document.execCommand("FindString", true, "sit");
- document.execCommand("FindString", true, "down");
-</script>
-
-<style></style>
-
-<script type="text/javascript">
- if (window.layoutTestController)
- layoutTestController.dumpAsText();
- document.getElementById('container').innerHTML="";
-</script>
-
-<p>Yes, this is a strange test case. If you can see this and it
-did not crash, then all is well.</p>
diff --git a/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt b/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt
index 538cfd8..0cad128 100644
--- a/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt
+++ b/LayoutTests/platform/mac/accessibility/frame-with-title-expected.txt
@@ -21,7 +21,7 @@ AXBlockQuoteLevel: 0
AXTopLevelUIElement: <AXWebArea>
AXLinkUIElements: <array of size 0>
AXLoaded: 1
-AXLayoutCount: 4
+AXLayoutCount: 3
AXURL: about:blank
@@ -48,7 +48,7 @@ AXBlockQuoteLevel: 0
AXTopLevelUIElement: <AXWebArea>
AXLinkUIElements: <array of size 0>
AXLoaded: 1
-AXLayoutCount: 5
+AXLayoutCount: 4
AXURL: about:blank
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4184034..7d0fcd2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2009-12-23 David Levin <levin at chromium.org>
+
+ REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
+ https://bugs.webkit.org/show_bug.cgi?id=32903
+
+ No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::SelectionController):
+ (WebCore::SelectionController::setSelection):
+ * editing/SelectionController.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::setCaretVisible):
+ (WebCore::Frame::selectionLayoutChanged):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::needsLayout):
+
2009-12-23 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Eric Seidel.
diff --git a/WebCore/editing/SelectionController.cpp b/WebCore/editing/SelectionController.cpp
index bf24aba..518df45 100644
--- a/WebCore/editing/SelectionController.cpp
+++ b/WebCore/editing/SelectionController.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -70,7 +70,6 @@ SelectionController::SelectionController(Frame* frame, bool isDragCaretControlle
, m_isDragCaretController(isDragCaretController)
, m_isCaretBlinkingSuspended(false)
, m_focused(frame && frame->page() && frame->page()->focusController()->focusedFrame() == frame)
- , m_needsDisplayUpdate(false)
{
}
@@ -146,8 +145,7 @@ void SelectionController::setSelection(const VisibleSelection& s, bool closeTypi
if (!s.isNone())
m_frame->setFocusedNodeIfNeeded();
- setNeedsDisplayUpdate();
-
+ m_frame->selectionLayoutChanged();
// Always clear the x position used for vertical arrow navigation.
// It will be restored by the vertical arrow navigation code if necessary.
m_xPosForVerticalArrowNavigation = NoXPosForVerticalArrowNavigation;
@@ -1303,20 +1301,6 @@ bool SelectionController::isFocusedAndActive() const
return m_focused && m_frame->page() && m_frame->page()->focusController()->isActive();
}
-void SelectionController::setNeedsDisplayUpdate(bool needsUpdate)
-{
- if (m_needsDisplayUpdate == needsUpdate)
- return;
- m_needsDisplayUpdate = needsUpdate;
-
- if (!m_needsDisplayUpdate)
- return;
- FrameView* view = m_frame->view();
- if (!view)
- return;
- view->scheduleRelayout();
-}
-
#ifndef NDEBUG
void SelectionController::formatForDebugger(char* buffer, unsigned length) const
diff --git a/WebCore/editing/SelectionController.h b/WebCore/editing/SelectionController.h
index 532f4d9..d03df52 100644
--- a/WebCore/editing/SelectionController.h
+++ b/WebCore/editing/SelectionController.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -124,10 +124,6 @@ public:
bool isFocusedAndActive() const;
void pageActivationChanged();
- // Selection display machinery
- void setNeedsDisplayUpdate(bool = true);
- bool needsDisplayUpdate() const { return m_needsDisplayUpdate; }
-
#ifndef NDEBUG
void formatForDebugger(char* buffer, unsigned length) const;
void showTreeForThis() const;
@@ -178,7 +174,7 @@ private:
bool m_isDragCaretController : 1;
bool m_isCaretBlinkingSuspended : 1;
bool m_focused : 1;
- bool m_needsDisplayUpdate : 1;
+
};
inline bool operator==(const SelectionController& a, const SelectionController& b)
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp
index 5206372..bc1b1ca 100644
--- a/WebCore/page/Frame.cpp
+++ b/WebCore/page/Frame.cpp
@@ -563,7 +563,7 @@ void Frame::setCaretVisible(bool flag)
return;
clearCaretRectIfNeeded();
m_caretVisible = flag;
- selection()->setNeedsDisplayUpdate();
+ selectionLayoutChanged();
}
void Frame::clearCaretRectIfNeeded()
@@ -630,8 +630,6 @@ void Frame::setFocusedNodeIfNeeded()
void Frame::selectionLayoutChanged()
{
- selection()->setNeedsDisplayUpdate(false);
-
bool caretRectChanged = selection()->recomputeCaretRect();
#if ENABLE(TEXT_CARET)
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index e2f6382..483a220 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -1198,8 +1198,7 @@ bool FrameView::needsLayout() const
|| m_layoutRoot
|| (document && document->childNeedsStyleRecalc()) // can occur when using WebKit ObjC interface
|| m_frame->needsReapplyStyles()
- || (m_deferSetNeedsLayouts && m_setNeedsLayoutWasDeferred)
- || m_frame->selection()->needsDisplayUpdate();
+ || (m_deferSetNeedsLayouts && m_setNeedsLayoutWasDeferred);
}
void FrameView::setNeedsLayout()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list