Diff
Modified: trunk/ChangeLog (149431 => 149432)
--- trunk/ChangeLog 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/ChangeLog 2013-05-01 14:17:12 UTC (rev 149432)
@@ -1,3 +1,13 @@
+2013-05-01 Sergio Villar Senin <svil...@igalia.com>
+
+ Show a block cursor in overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=114819
+
+ Reviewed by Ryosuke Niwa.
+
+ * Source/autotools/symbols.filter: export some extra symbols for
+ testing purposes.
+
2013-04-30 Christophe Dumez <ch.du...@sisa.samsung.com>
[EFL] Enable scaled cursors
Modified: trunk/LayoutTests/ChangeLog (149431 => 149432)
--- trunk/LayoutTests/ChangeLog 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/LayoutTests/ChangeLog 2013-05-01 14:17:12 UTC (rev 149432)
@@ -1,3 +1,19 @@
+2013-05-01 Sergio Villar Senin <svil...@igalia.com>
+
+ Show a block cursor in overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=114819
+
+ Reviewed by Ryosuke Niwa.
+
+ New test case for the new block cursor to be used in overtype
+ mode. The test verifies that the 1-pixel long caret is replaced by
+ a selection like 1-character long block cursor when in overtype
+ mode. This test covers LTR and RTL text in LTR and RTL blocks and
+ bidi text.
+
+ * editing/selection/block-cursor-overtype-mode-expected.txt: Added.
+ * editing/selection/block-cursor-overtype-mode.html: Added.
+
2013-04-30 David Hyatt <hy...@apple.com>
<button> ignores margin-bottom.
Added: trunk/LayoutTests/editing/selection/block-cursor-overtype-mode-expected.txt (0 => 149432)
--- trunk/LayoutTests/editing/selection/block-cursor-overtype-mode-expected.txt (rev 0)
+++ trunk/LayoutTests/editing/selection/block-cursor-overtype-mode-expected.txt 2013-05-01 14:17:12 UTC (rev 149432)
@@ -0,0 +1,156 @@
+This test checks that the cursor covers the next character to be overwritten in overtype mode instead of being painted as a caret (1px width bar)
+
+ABC
+ABC
+שדן
+שדן
+שדןABC
+שדןABC
+Verifying block cursor position and width for each position in 'ABC' in a ltr block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] < blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] < blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+Verifying block cursor position and width for each position in 'ABC' in a rtl block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] < blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] < blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+Verifying block cursor position and width for each position in 'שדן' in a ltr block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] > blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] > blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+Verifying block cursor position and width for each position in 'שדן' in a rtl block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] > blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] > blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+Verifying block cursor position and width for each position in 'שדןABC' in a ltr block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] > blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] > blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursorStartPosition[2] < blockCursorStartPosition[3] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 4)
+PASS blockCursorStartPosition[3] < blockCursorStartPosition[4] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 5)
+PASS blockCursorStartPosition[4] < blockCursorStartPosition[5] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 6)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+Verifying block cursor position and width for each position in 'שדןABC' in a rtl block
+getSelection().collapse(textNode, 0)
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 1)
+PASS blockCursorStartPosition[0] > blockCursorStartPosition[1] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 2)
+PASS blockCursorStartPosition[1] > blockCursorStartPosition[2] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 3)
+PASS blockCursorStartPosition[2] > blockCursorStartPosition[3] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 4)
+PASS blockCursorStartPosition[3] < blockCursorStartPosition[4] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 5)
+PASS blockCursorStartPosition[4] < blockCursorStartPosition[5] is true
+PASS getSelection().isCollapsed is true
+PASS blockCursor.width > 1 is true
+PASS internals.absoluteCaretBounds().width is 1
+getSelection().collapse(textNode, 6)
+PASS blockCursor.width is 0
+PASS internals.absoluteCaretBounds().width is 1
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/editing/selection/block-cursor-overtype-mode.html (0 => 149432)
--- trunk/LayoutTests/editing/selection/block-cursor-overtype-mode.html (rev 0)
+++ trunk/LayoutTests/editing/selection/block-cursor-overtype-mode.html 2013-05-01 14:17:12 UTC (rev 149432)
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script type="text/_javascript_" src=""
+<script src="" type="text/_javascript_"></script>
+</head>
+<body style="font: 20px Ahem">
+<p>This test checks that the cursor covers the next character to be overwritten in overtype mode instead of being painted as a caret (1px width bar)</p>
+<div id="ltrtext" style="direction: ltr;" contenteditable="true">ABC</div>
+<div id="ltrtext-rtl" style="direction: rtl;" contenteditable="true">ABC</div>
+<div id="rtltext" style="direction: ltr;" contenteditable="true">שדן</div>
+<div id="rtltext-rtl" style="direction: rtl;" contenteditable="true">שדן</div>
+<div id="mixed" style="direction: ltr;" contenteditable="true">שדןABC</div>
+<div id="mixed-rtl" style="direction: rtl;" contenteditable="true">שדןABC</div>
+<div id="console"></div>
+</body>
+<script>
+
+var blockCursorStartPosition;
+var blockCursor;
+var textNode;
+
+function verifyBlockCursorLeftPositionAndWidth(elementId, expected)
+{
+ blockCursorStartPosition = new Array();
+
+ var element = document.getElementById(elementId);
+ textNode = element.firstChild;
+ debug("Verifying block cursor position and width for each position in '" + textNode.nodeValue + "' in a " + element.style.direction + " block");
+
+ for (var i = 0; i < textNode.length; i++) {
+ evalAndLog("getSelection().collapse(textNode, "+i+")");
+
+ blockCursor = internals.selectionBounds();
+ blockCursorStartPosition.push(blockCursor.left);
+
+ if (i > 0 && i < textNode.length) {
+ if (expected[i-1] == ">")
+ shouldBeTrue("blockCursorStartPosition["+(i-1)+"] > blockCursorStartPosition["+i+"]");
+ else
+ shouldBeTrue("blockCursorStartPosition["+(i-1)+"] < blockCursorStartPosition["+i+"]");
+ }
+
+ shouldBeTrue("getSelection().isCollapsed");
+ shouldBeTrue("blockCursor.width > 1");
+ shouldBe("internals.absoluteCaretBounds().width", "1");
+ }
+
+ evalAndLog("getSelection().collapse(textNode, "+i+")");
+ blockCursor = internals.selectionBounds();
+ shouldBeZero("blockCursor.width");
+ shouldBe("internals.absoluteCaretBounds().width", "1");
+ debug("");
+}
+
+if (window.testRunner) {
+
+ internals.toggleOverwriteModeEnabled(document);
+
+ verifyBlockCursorLeftPositionAndWidth("ltrtext", ["<", "<", "<"]);
+ verifyBlockCursorLeftPositionAndWidth("ltrtext-rtl", ["<", "<", "<"]);
+ verifyBlockCursorLeftPositionAndWidth("rtltext", [">", ">", ">"]);
+ verifyBlockCursorLeftPositionAndWidth("rtltext-rtl", [">", ">", ">"]);
+ verifyBlockCursorLeftPositionAndWidth("mixed", [">", ">", "<", "<", "<"]);
+ verifyBlockCursorLeftPositionAndWidth("mixed-rtl", [">", ">", ">", "<", "<"]);
+}
+</script>
+<script src="" type="text/_javascript_"></script>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (149431 => 149432)
--- trunk/Source/WebCore/ChangeLog 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/ChangeLog 2013-05-01 14:17:12 UTC (rev 149432)
@@ -1,3 +1,45 @@
+2013-05-01 Sergio Villar Senin <svil...@igalia.com>
+
+ Show a block cursor in overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=114819
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: editing/selection/block-cursor-overtype-mode.html
+
+ Overtype mode will use block cursor instead of a caret to
+ highlight the next character to be replaced. It will fully cover
+ the next character to be replaced (except at the end of a line
+ where the usual blinking caret will be shown).
+
+ This new block cursor is internally implemented as a selection
+ (not exposed to _javascript_) because the selection code knows how
+ to deal with bidi text.
+
+ * WebCore.exp.in: Export symbols for testing purposes.
+ * WebCore.order: Ditto.
+ * editing/Editor.cpp:
+ (WebCore::Editor::toggleOverwriteModeEnabled): Added a call to
+ FrameLoader::setShouldShowBlockCursor.
+ (WebCore):
+ * editing/Editor.h:
+ (Editor):
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::FrameSelection):
+ (WebCore::FrameSelection::updateAppearance): Use a 1-character
+ long selection to paint the cursor in overtype mode.
+ (WebCore::FrameSelection::setShouldShowBlockCursor):
+ (WebCore):
+ * editing/FrameSelection.h:
+ (WebCore::FrameSelection::shouldShowBlockCursor):
+ (FrameSelection):
+ * testing/Internals.cpp:
+ (WebCore):
+ (WebCore::Internals::selectionBounds): Added a new method which
+ returns the IntRect issued by FrameSelection::bounds().
+ * testing/Internals.h: Ditto.
+ * testing/Internals.idl: Ditto.
+
2013-04-30 Darin Adler <da...@apple.com>
[Mac] Remove adoptNS/retain pairs, since the two cancel each other out
Modified: trunk/Source/WebCore/WebCore.exp.in (149431 => 149432)
--- trunk/Source/WebCore/WebCore.exp.in 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/WebCore.exp.in 2013-05-01 14:17:12 UTC (rev 149432)
@@ -68,6 +68,7 @@
__ZN3WTF6StringC1EP8NSString
__ZN3WTF6StringC1EPK10__CFString
__ZN7WebCore10ClientRectC1ERKNS_7IntRectE
+__ZN7WebCore10ClientRectC1ERKNS_9FloatRectE
__ZN7WebCore10ClientRectC1Ev
__ZN7WebCore10CredentialC1ERKN3WTF6StringES4_NS_21CredentialPersistenceE
__ZN7WebCore10CredentialC1Ev
@@ -960,6 +961,7 @@
__ZN7WebCore6Editor7CommandC1Ev
__ZN7WebCore6Editor7commandERKN3WTF6StringE
__ZN7WebCore6Editor7outdentEv
+__ZN7WebCore6Editor26toggleOverwriteModeEnabledEv
__ZN7WebCore6JSNode6s_infoE
__ZN7WebCore6Region5uniteERKS0_
__ZN7WebCore6Region8subtractERKS0_
Modified: trunk/Source/WebCore/WebCore.order (149431 => 149432)
--- trunk/Source/WebCore/WebCore.order 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/WebCore.order 2013-05-01 14:17:12 UTC (rev 149432)
@@ -42859,3 +42859,4 @@
__ZN7WebCoreL19gPropertyWrapperMapE
__ZN7WebCoreL12gFunctionMapE
__ZN7WebCoreL12gFunctionMapE
+__ZN7WebCore6Editor26toggleOverwriteModeEnabledEv
\ No newline at end of file
Modified: trunk/Source/WebCore/editing/Editor.cpp (149431 => 149432)
--- trunk/Source/WebCore/editing/Editor.cpp 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/editing/Editor.cpp 2013-05-01 14:17:12 UTC (rev 149432)
@@ -3124,4 +3124,10 @@
m_alternativeTextController->applyDictationAlternative(alternativeString);
}
+void Editor::toggleOverwriteModeEnabled()
+{
+ m_overwriteModeEnabled = !m_overwriteModeEnabled;
+ frame()->selection()->setShouldShowBlockCursor(m_overwriteModeEnabled);
+};
+
} // namespace WebCore
Modified: trunk/Source/WebCore/editing/Editor.h (149431 => 149432)
--- trunk/Source/WebCore/editing/Editor.h 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/editing/Editor.h 2013-05-01 14:17:12 UTC (rev 149432)
@@ -246,7 +246,7 @@
void markAndReplaceFor(PassRefPtr<SpellCheckRequest>, const Vector<TextCheckingResult>&);
bool isOverwriteModeEnabled() const { return m_overwriteModeEnabled; }
- void toggleOverwriteModeEnabled() { m_overwriteModeEnabled = !m_overwriteModeEnabled; }
+ void toggleOverwriteModeEnabled();
#if USE(APPKIT)
void uppercaseWord();
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (149431 => 149432)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2013-05-01 14:17:12 UTC (rev 149432)
@@ -114,6 +114,7 @@
, m_caretPaint(true)
, m_isCaretBlinkingSuspended(false)
, m_focused(frame && frame->page() && frame->page()->focusController()->focusedFrame() == frame)
+ , m_shouldShowBlockCursor(false)
{
if (shouldAlwaysUseDirectionalSelection(m_frame))
m_selection.setIsDirectional(true);
@@ -1753,11 +1754,19 @@
void FrameSelection::updateAppearance()
{
+ // Paint a block cursor instead of a caret in overtype mode unless the caret is at the end of a line (in this case
+ // the FrameSelection will paint a blinking caret as usual).
+ VisiblePosition forwardPosition;
+ if (m_shouldShowBlockCursor && m_selection.isCaret()) {
+ forwardPosition = modifyExtendingForward(CharacterGranularity);
+ m_caretPaint = forwardPosition.isNull();
+ }
+
#if ENABLE(TEXT_CARET)
bool caretRectChangedOrCleared = recomputeCaretRect();
bool caretBrowsing = m_frame->settings() && m_frame->settings()->caretBrowsingEnabled();
- bool shouldBlink = caretIsVisible() && isCaret() && (isContentEditable() || caretBrowsing);
+ bool shouldBlink = caretIsVisible() && isCaret() && (isContentEditable() || caretBrowsing) && forwardPosition.isNull();
// If the caret moved, stop the blink timer so we can restart with a
// black caret in the new location.
@@ -1783,7 +1792,7 @@
// Construct a new VisibleSolution, since m_selection is not necessarily valid, and the following steps
// assume a valid selection. See <https://bugs.webkit.org/show_bug.cgi?id=69563> and <rdar://problem/10232866>.
- VisibleSelection selection(m_selection.visibleStart(), m_selection.visibleEnd());
+ VisibleSelection selection(m_selection.visibleStart(), forwardPosition.isNotNull() ? forwardPosition : m_selection.visibleEnd());
if (!selection.isRange()) {
view->clearSelection();
@@ -2056,6 +2065,15 @@
return settings && settings->visualWordMovementEnabled();
}
+void FrameSelection::setShouldShowBlockCursor(bool shouldShowBlockCursor)
+{
+ m_shouldShowBlockCursor = shouldShowBlockCursor;
+
+ m_frame->document()->updateLayoutIgnorePendingStylesheets();
+
+ updateAppearance();
+}
+
#ifndef NDEBUG
void FrameSelection::formatForDebugger(char* buffer, unsigned length) const
Modified: trunk/Source/WebCore/editing/FrameSelection.h (149431 => 149432)
--- trunk/Source/WebCore/editing/FrameSelection.h 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/editing/FrameSelection.h 2013-05-01 14:17:12 UTC (rev 149432)
@@ -255,6 +255,9 @@
void revealSelection(const ScrollAlignment& = ScrollAlignment::alignCenterIfNeeded, RevealExtentOption = DoNotRevealExtent);
void setSelectionFromNone();
+ bool shouldShowBlockCursor() const { return m_shouldShowBlockCursor; }
+ void setShouldShowBlockCursor(bool);
+
private:
enum EPositionType { START, END, BASE, EXTENT };
@@ -311,6 +314,7 @@
bool m_caretPaint : 1;
bool m_isCaretBlinkingSuspended : 1;
bool m_focused : 1;
+ bool m_shouldShowBlockCursor : 1;
};
inline EditingStyle* FrameSelection::typingStyle() const
Modified: trunk/Source/WebCore/testing/Internals.cpp (149431 => 149432)
--- trunk/Source/WebCore/testing/Internals.cpp 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/testing/Internals.cpp 2013-05-01 14:17:12 UTC (rev 149432)
@@ -2295,6 +2295,18 @@
{
return ranges->nearest(time);
}
+
+PassRefPtr<ClientRect> Internals::selectionBounds(ExceptionCode& ec)
+{
+ Document* document = contextDocument();
+ if (!document || !document->frame() || !document->frame()->selection()) {
+ ec = INVALID_ACCESS_ERR;
+ return ClientRect::create();
+ }
+
+ return ClientRect::create(document->frame()->selection()->bounds());
+}
+
#endif
}
Modified: trunk/Source/WebCore/testing/Internals.h (149431 => 149432)
--- trunk/Source/WebCore/testing/Internals.h 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/testing/Internals.h 2013-05-01 14:17:12 UTC (rev 149432)
@@ -328,6 +328,8 @@
double closestTimeToTimeRanges(double time, TimeRanges*);
#endif
+ PassRefPtr<ClientRect> selectionBounds(ExceptionCode&);
+
private:
explicit Internals(Document*);
Document* contextDocument() const;
Modified: trunk/Source/WebCore/testing/Internals.idl (149431 => 149432)
--- trunk/Source/WebCore/testing/Internals.idl 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebCore/testing/Internals.idl 2013-05-01 14:17:12 UTC (rev 149432)
@@ -287,4 +287,6 @@
[Conditional=VIDEO] double closestTimeToTimeRanges(double time, TimeRanges ranges);
boolean isSelectPopupVisible(Node node);
+
+ ClientRect selectionBounds() raises(DOMException);
};
Modified: trunk/Source/WebKit/ChangeLog (149431 => 149432)
--- trunk/Source/WebKit/ChangeLog 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebKit/ChangeLog 2013-05-01 14:17:12 UTC (rev 149432)
@@ -1,3 +1,14 @@
+2013-05-01 Sergio Villar Senin <svil...@igalia.com>
+
+ Show a block cursor in overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=114819
+
+ Reviewed by Ryosuke Niwa.
+
+ Export three more WebCore symbols.
+
+ * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+
2013-04-29 Brent Fulgham <bfulg...@webkit.org>
[Windows, WinCairo] Remove pthread paths for WebKit build.
Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (149431 => 149432)
--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in 2013-05-01 14:17:12 UTC (rev 149432)
@@ -155,6 +155,7 @@
??1NodeRenderingContext@WebCore@@QAE@XZ
??1Range@WebCore@@QAE@XZ
?toNode@WebCore@@YAPAVNode@1@VJSValue@JSC@@@Z
+ ??0ClientRect@WebCore@@AAE@ABVFloatRect@1@@Z
??0ClientRect@WebCore@@AAE@ABVIntRect@1@@Z
??0ClientRect@WebCore@@AAE@XZ
??0ClientRectList@WebCore@@AAE@XZ
@@ -187,6 +188,7 @@
?find@StringImpl@WTF@@QAEIPAV12@I@Z
?find@StringImpl@WTF@@QAEIPAV12@@Z
?absoluteCaretBounds@FrameSelection@WebCore@@QAE?AVIntRect@2@XZ
+ ?bounds@FrameSelection@WebCore@@QBE?AVFloatRect@2@_N@Z
?fromUTF8@String@WTF@@SA?AV12@PBE@Z
?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PBEI@Z
?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QAEXXZ
@@ -317,6 +319,7 @@
?selectionStartHasMarkerFor@Editor@WebCore@@QBE_NW4MarkerType@DocumentMarker@2@HH@Z
?isContinuousSpellCheckingEnabled@Editor@WebCore@@QBE_NXZ
?toggleContinuousSpellChecking@Editor@WebCore@@QAEXXZ
+ ?toggleOverwriteModeEnabled@Editor@WebCore@@QAEXXZ
#if ENABLE(FULLSCREEN_API)
?webkitWillEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
?webkitDidEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
Modified: trunk/Source/WebKit/win/ChangeLog (149431 => 149432)
--- trunk/Source/WebKit/win/ChangeLog 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebKit/win/ChangeLog 2013-05-01 14:17:12 UTC (rev 149432)
@@ -1,3 +1,14 @@
+2013-05-01 Sergio Villar Senin <svil...@igalia.com>
+
+ Show a block cursor in overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=114819
+
+ Reviewed by Ryosuke Niwa.
+
+ Export three more WebCore symbols.
+
+ * WebKit.vcproj/WebKitExports.def.in:
+
2013-04-29 Brent Fulgham <bfulg...@webkit.org>
[Windows, WinCairo] Remove pthread paths for WebKit build.
Modified: trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in (149431 => 149432)
--- trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in 2013-05-01 14:17:12 UTC (rev 149432)
@@ -156,6 +156,7 @@
??1NodeRenderingContext@WebCore@@QAE@XZ
??1Range@WebCore@@QAE@XZ
?toNode@WebCore@@YAPAVNode@1@VJSValue@JSC@@@Z
+ ??0ClientRect@WebCore@@AAE@ABVFloatRect@1@@Z
??0ClientRect@WebCore@@AAE@ABVIntRect@1@@Z
??0ClientRect@WebCore@@AAE@XZ
??0ClientRectList@WebCore@@AAE@XZ
@@ -188,6 +189,7 @@
?find@StringImpl@WTF@@QAEIPAV12@I@Z
?find@StringImpl@WTF@@QAEIPAV12@@Z
?absoluteCaretBounds@FrameSelection@WebCore@@QAE?AVIntRect@2@XZ
+ ?bounds@FrameSelection@WebCore@@QBE?AVFloatRect@2@_N@Z
?fromUTF8@String@WTF@@SA?AV12@PBE@Z
?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PBEI@Z
?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QAEXXZ
@@ -318,6 +320,7 @@
?selectionStartHasMarkerFor@Editor@WebCore@@QBE_NW4MarkerType@DocumentMarker@2@HH@Z
?isContinuousSpellCheckingEnabled@Editor@WebCore@@QBE_NXZ
?toggleContinuousSpellChecking@Editor@WebCore@@QAEXXZ
+ ?toggleOverwriteModeEnabled@Editor@WebCore@@QAEXXZ
#if ENABLE(FULLSCREEN_API)
?webkitWillEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
?webkitDidEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
Modified: trunk/Source/autotools/symbols.filter (149431 => 149432)
--- trunk/Source/autotools/symbols.filter 2013-05-01 11:22:13 UTC (rev 149431)
+++ trunk/Source/autotools/symbols.filter 2013-05-01 14:17:12 UTC (rev 149432)
@@ -311,6 +311,9 @@
_ZNK7WebCore7IntRect10intersectsERKS0_;
_ZNK7WebCore8Document13nodesFromRectEiijjjjj;
_ZTVN7WebCore14StaticNodeListE;
+_ZN7WebCore6Editor26toggleOverwriteModeEnabledEv;
+_ZNK7WebCore14FrameSelection6boundsEb;
+_ZN7WebCore10ClientRectC1ERKNS_9FloatRectE;
local:
_Z*;