Diff
Modified: trunk/LayoutTests/ChangeLog (117571 => 117572)
--- trunk/LayoutTests/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/LayoutTests/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * editing/spelling/spellcheck-async-remove-frame-expected.txt: Added.
+ * editing/spelling/spellcheck-async-remove-frame.html: Added.
+
2012-05-18 Pavel Feldman <[email protected]>
Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
Added: trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame-expected.txt (0 => 117572)
--- trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame-expected.txt (rev 0)
+++ trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame-expected.txt 2012-05-18 10:17:52 UTC (rev 117572)
@@ -0,0 +1,2 @@
+PASS unless crash.
+
Property changes on: trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame.html (0 => 117572)
--- trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame.html (rev 0)
+++ trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame.html 2012-05-18 10:17:52 UTC (rev 117572)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ layoutTestController.dumpAsText();
+ layoutTestController.setAsynchronousSpellCheckingEnabled(true);
+ internals.settings.setUnifiedTextCheckingEnabled(true);
+}
+
+function runTest() {
+ var textToSelect = "This text should be selected, but this frame shouldn't be focused.";
+ var frame = document.getElementById("frame");
+ var s = frame.contentDocument.getSelection();
+ s.setPosition(frame.contentDocument.body, 0);
+ frame.contentDocument.execCommand("InsertText", false, textToSelect);
+ frame.parentNode.removeChild(frame);
+ window.setTimeout(function() {
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }, 50);
+}
+</script>
+</head>
+<body>
+<div>PASS unless crash.</div>
+<iframe id="frame" src="" _onload_="runTest();"></iframe>
+</body>
+</html>
Property changes on: trunk/LayoutTests/editing/spelling/spellcheck-async-remove-frame.html
___________________________________________________________________
Added: svn:eol-style
Modified: trunk/Source/WebCore/ChangeLog (117571 => 117572)
--- trunk/Source/WebCore/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebCore/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,24 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ Added EditorClient::frameWillDetachPage() notification to give a
+ change to invalidate pending spellcheck requests on the client.
+
+ Test: editing/spelling/spellcheck-async-remove-frame.html
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::Editor):
+ * editing/Editor.h:
+ (Editor):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyEditorClient::frameWillDetachPage):
+ * page/EditorClient.h:
+ (EditorClient):
+
2012-05-18 Pavel Feldman <[email protected]>
Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
Modified: trunk/Source/WebCore/editing/Editor.cpp (117571 => 117572)
--- trunk/Source/WebCore/editing/Editor.cpp 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebCore/editing/Editor.cpp 2012-05-18 10:17:52 UTC (rev 117572)
@@ -841,7 +841,7 @@
}
Editor::Editor(Frame* frame)
- : m_frame(frame)
+ : FrameDestructionObserver(frame)
, m_deleteButtonController(adoptPtr(new DeleteButtonController(frame)))
, m_ignoreCompositionSelectionChange(false)
, m_shouldStartNewKillRingSequence(false)
@@ -3057,4 +3057,10 @@
return WebCore::unifiedTextCheckerEnabled(m_frame);
}
+void Editor::willDetachPage() OVERRIDE
+{
+ if (EditorClient* editorClient = client())
+ editorClient->frameWillDetachPage(frame());
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/editing/Editor.h (117571 => 117572)
--- trunk/Source/WebCore/editing/Editor.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebCore/editing/Editor.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -35,6 +35,7 @@
#include "EditingStyle.h"
#include "EditorInsertAction.h"
#include "FindOptions.h"
+#include "FrameDestructionObserver.h"
#include "FrameSelection.h"
#include "TextChecking.h"
#include "VisibleSelection.h"
@@ -83,7 +84,7 @@
enum EditorCommandSource { CommandFromMenuOrKeyBinding, CommandFromDOM, CommandFromDOMWithUserInterface };
enum EditorParagraphSeparator { EditorParagraphSeparatorIsDiv, EditorParagraphSeparatorIsP };
-class Editor {
+class Editor : public FrameDestructionObserver {
public:
Editor(Frame*);
~Editor();
@@ -398,7 +399,8 @@
void setDefaultParagraphSeparator(EditorParagraphSeparator separator) { m_defaultParagraphSeparator = separator; }
private:
- Frame* m_frame;
+ virtual void willDetachPage() OVERRIDE;
+
OwnPtr<DeleteButtonController> m_deleteButtonController;
RefPtr<CompositeEditCommand> m_lastEditCommand;
RefPtr<Node> m_removedAnchor;
Modified: trunk/Source/WebCore/loader/EmptyClients.h (117571 => 117572)
--- trunk/Source/WebCore/loader/EmptyClients.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebCore/loader/EmptyClients.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -437,6 +437,7 @@
EmptyEditorClient() { }
virtual ~EmptyEditorClient() { }
virtual void pageDestroyed() { }
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(Range*) { return false; }
virtual bool shouldShowDeleteInterface(HTMLElement*) { return false; }
Modified: trunk/Source/WebCore/page/EditorClient.h (117571 => 117572)
--- trunk/Source/WebCore/page/EditorClient.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebCore/page/EditorClient.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -63,7 +63,8 @@
public:
virtual ~EditorClient() { }
virtual void pageDestroyed() = 0;
-
+ virtual void frameWillDetachPage(Frame*) = 0;
+
virtual bool shouldDeleteRange(Range*) = 0;
virtual bool shouldShowDeleteInterface(HTMLElement*) = 0;
virtual bool smartInsertDeleteEnabled() = 0;
Modified: trunk/Source/WebKit/blackberry/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/blackberry/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientBlackBerry.h:
+ (WebCore::EditorClientBlackBerry::frameWillDetachPage):
+
2012-05-17 Jacky Jiang <[email protected]>
[BlackBerry] www.thestar.com/iphone Viewport Weirdness
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h (117571 => 117572)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -37,6 +37,7 @@
public:
EditorClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(Range*);
virtual bool shouldShowDeleteInterface(HTMLElement*);
virtual bool smartInsertDeleteEnabled();
Modified: trunk/Source/WebKit/chromium/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,33 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Added WebTextCheckingCompletionImpl::invalidate() to mark
+ pending spellcheck request as invalid, and added frameWillDetachPage()
+ to fire it.
+
+ Reviewed by Ryosuke Niwa.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::frameWillDetachPage):
+ (WebKit):
+ (WebKit::EditorClientImpl::requestCheckingOfString):
+ (WebKit::EditorClientImpl::didCheckString):
+ * src/EditorClientImpl.h:
+ (WebKit):
+ (EditorClientImpl):
+ * src/WebTextCheckingCompletionImpl.cpp:
+ (WebKit::WebTextCheckingCompletionImpl::didFinishCheckingText):
+ (WebKit::WebTextCheckingCompletionImpl::didCancelCheckingText):
+ (WebKit::WebTextCheckingCompletionImpl::invalidate):
+ (WebKit):
+ * src/WebTextCheckingCompletionImpl.h:
+ (WebKit):
+ (WebKit::WebTextCheckingCompletionImpl::WebTextCheckingCompletionImpl):
+ (WebTextCheckingCompletionImpl):
+ (WebKit::WebTextCheckingCompletionImpl::spellChecker):
+
2012-05-18 Jochen Eisinger <[email protected]>
[chromium] plumb the frame for which a drag was initiated to the WebViewClient
Modified: trunk/Source/WebKit/chromium/src/EditorClientImpl.cpp (117571 => 117572)
--- trunk/Source/WebKit/chromium/src/EditorClientImpl.cpp 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/chromium/src/EditorClientImpl.cpp 2012-05-18 10:17:52 UTC (rev 117572)
@@ -88,6 +88,21 @@
// Our lifetime is bound to the WebViewImpl.
}
+void EditorClientImpl::frameWillDetachPage(WebCore::Frame* frame)
+{
+ HashSet<WebTextCheckingCompletionImpl*> validRequests;
+
+ for (HashSet<WebTextCheckingCompletionImpl*>::iterator i = m_pendingTextChecks.begin();
+ i != m_pendingTextChecks.end(); ++i) {
+ if (frame->editor()->spellChecker() == (*i)->spellChecker())
+ (*i)->invalidate();
+ else
+ validRequests.add(*i);
+ }
+
+ m_pendingTextChecks.swap(validRequests);
+}
+
bool EditorClientImpl::shouldShowDeleteInterface(HTMLElement* elem)
{
// Normally, we don't care to show WebCore's deletion UI, so we only enable
@@ -738,10 +753,19 @@
void EditorClientImpl::requestCheckingOfString(SpellChecker* sender, const WebCore::TextCheckingRequest& request)
{
- if (m_webView->spellCheckClient())
- m_webView->spellCheckClient()->requestCheckingOfText(request.text(), new WebTextCheckingCompletionImpl(request.sequence(), sender));
+ if (!m_webView->spellCheckClient())
+ return;
+
+ WebTextCheckingCompletionImpl* completion = new WebTextCheckingCompletionImpl(request.sequence(), sender, this);
+ m_pendingTextChecks.add(completion);
+ m_webView->spellCheckClient()->requestCheckingOfText(request.text(), completion);
}
+void EditorClientImpl::didCheckString(WebTextCheckingCompletionImpl* completion)
+{
+ m_pendingTextChecks.remove(completion);
+}
+
String EditorClientImpl::getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord)
{
if (!(isContinuousSpellCheckingEnabled() && m_webView->client()))
Modified: trunk/Source/WebKit/chromium/src/EditorClientImpl.h (117571 => 117572)
--- trunk/Source/WebKit/chromium/src/EditorClientImpl.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/chromium/src/EditorClientImpl.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -35,6 +35,7 @@
#include "TextCheckerClient.h"
#include "Timer.h"
#include <wtf/Deque.h>
+#include <wtf/HashSet.h>
namespace WebCore {
class Frame;
@@ -44,6 +45,7 @@
namespace WebKit {
class WebViewImpl;
+class WebTextCheckingCompletionImpl;
class EditorClientImpl : public WebCore::EditorClient, public WebCore::TextCheckerClient {
public:
@@ -51,6 +53,7 @@
virtual ~EditorClientImpl();
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(WebCore::Frame*) OVERRIDE;
virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*);
virtual bool smartInsertDeleteEnabled();
@@ -114,6 +117,8 @@
virtual WebCore::TextCheckerClient* textChecker() { return this; }
+ void didCheckString(WebTextCheckingCompletionImpl*);
+
private:
void modifySelection(WebCore::Frame*, WebCore::KeyboardEvent*);
@@ -141,6 +146,8 @@
SpellCheckForcedOff
};
int m_spellCheckThisFieldStatus;
+
+ WTF::HashSet<WebTextCheckingCompletionImpl*> m_pendingTextChecks;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp (117571 => 117572)
--- trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp 2012-05-18 10:17:52 UTC (rev 117572)
@@ -31,6 +31,7 @@
#include "config.h"
#include "WebTextCheckingCompletionImpl.h"
+#include "EditorClientImpl.h"
#include "SpellChecker.h"
#include "TextCheckerClient.h"
#include "WebTextCheckingResult.h"
@@ -51,14 +52,28 @@
void WebTextCheckingCompletionImpl::didFinishCheckingText(const WebVector<WebTextCheckingResult>& results)
{
- m_spellChecker->didCheckSucceeded(m_identifier, toCoreResults(results));
+ if (m_spellChecker) {
+ m_spellChecker->didCheckSucceeded(m_identifier, toCoreResults(results));
+ m_editorClient->didCheckString(this);
+ }
+
delete this;
}
void WebTextCheckingCompletionImpl::didCancelCheckingText()
{
- m_spellChecker->didCheckCanceled(m_identifier);
+ if (m_spellChecker) {
+ m_spellChecker->didCheckCanceled(m_identifier);
+ m_editorClient->didCheckString(this);
+ }
+
delete this;
}
+void WebTextCheckingCompletionImpl::invalidate()
+{
+ m_spellChecker = 0;
+ m_editorClient = 0;
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h (117571 => 117572)
--- trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -39,21 +39,29 @@
namespace WebKit {
+class EditorClientImpl;
+
class WebTextCheckingCompletionImpl : public WebTextCheckingCompletion {
public:
- WebTextCheckingCompletionImpl(int identifier, WebCore::SpellChecker* spellchecker)
- : m_identifier(identifier), m_spellChecker(spellchecker)
+ WebTextCheckingCompletionImpl(int identifier, WebCore::SpellChecker* spellchecker, EditorClientImpl* editorClient)
+ : m_identifier(identifier)
+ , m_spellChecker(spellchecker)
+ , m_editorClient(editorClient)
{
}
virtual void didFinishCheckingText(const WebVector<WebTextCheckingResult>&);
virtual void didCancelCheckingText();
+ void invalidate();
+ WebCore::SpellChecker* spellChecker() const { return m_spellChecker; }
+
private:
virtual ~WebTextCheckingCompletionImpl() { }
int m_identifier;
WebCore::SpellChecker* m_spellChecker;
+ EditorClientImpl* m_editorClient;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/efl/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/efl/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/efl/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientEfl.h:
+ (WebCore::EditorClientEfl::frameWillDetachPage):
+
2012-05-18 Sudarsana Nagineni <[email protected]>
[EFL] DRT needs an implementation of layoutTestController.setSerializeHTTPLoads
Modified: trunk/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h (117571 => 117572)
--- trunk/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -82,6 +82,7 @@
// from EditorClient
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(Range*);
virtual bool shouldShowDeleteInterface(HTMLElement*);
Modified: trunk/Source/WebKit/gtk/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/gtk/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/gtk/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientGtk.h:
+ (WebKit::EditorClient::frameWillDetachPage):
+
2012-05-17 Hironori Bono <[email protected]>
[Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h (117571 => 117572)
--- trunk/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -71,6 +71,7 @@
// from EditorClient
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(WebCore::Range*);
virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*);
Modified: trunk/Source/WebKit/mac/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/mac/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/mac/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,12 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/WebEditorClient.h:
+
2012-05-17 Andy Estes <[email protected]>
Don't let -[CALayer renderInContext:] try to render WebView's root layer
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h (117571 => 117572)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -41,6 +41,7 @@
WebEditorClient(WebView *);
virtual ~WebEditorClient();
virtual void pageDestroyed() OVERRIDE;
+ virtual void frameWillDetachPage(Frame*) OVERRIDE { }
virtual bool isGrammarCheckingEnabled() OVERRIDE;
virtual void toggleGrammarChecking() OVERRIDE;
Modified: trunk/Source/WebKit/qt/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/qt/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/qt/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientQt.h:
+ (WebCore::EditorClientQt::frameWillDetachPage):
+
2012-05-17 Hironori Bono <[email protected]>
[Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
Modified: trunk/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h (117571 => 117572)
--- trunk/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -44,6 +44,7 @@
EditorClientQt(QWebPage* page);
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(Range*);
virtual bool shouldShowDeleteInterface(HTMLElement*);
Modified: trunk/Source/WebKit/win/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/win/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/win/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/WebEditorClient.h:
+ (WebEditorClient::frameWillDetachPage):
+
2012-05-17 Hironori Bono <[email protected]>
[Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
Modified: trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h (117571 => 117572)
--- trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -41,6 +41,7 @@
~WebEditorClient();
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool isContinuousSpellCheckingEnabled();
virtual void toggleGrammarChecking();
Modified: trunk/Source/WebKit/wince/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/wince/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/wince/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientWinCE.h:
+ (WebKit::EditorClientWinCE::frameWillDetachPage):
+
2012-05-17 Hironori Bono <[email protected]>
[Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
Modified: trunk/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h (117571 => 117572)
--- trunk/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -38,6 +38,7 @@
~EditorClientWinCE();
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(WebCore::Range*);
virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*);
Modified: trunk/Source/WebKit/wx/ChangeLog (117571 => 117572)
--- trunk/Source/WebKit/wx/ChangeLog 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/wx/ChangeLog 2012-05-18 10:17:52 UTC (rev 117572)
@@ -1,3 +1,13 @@
+2012-05-18 MORITA Hajime <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85515
+ Stale frame in WebCore::SpellChecker::didCheckSucceeded
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebKitSupport/EditorClientWx.h:
+ (WebCore::EditorClientWx::frameWillDetachPage):
+
2012-05-17 Hironori Bono <[email protected]>
[Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
Modified: trunk/Source/WebKit/wx/WebKitSupport/EditorClientWx.h (117571 => 117572)
--- trunk/Source/WebKit/wx/WebKitSupport/EditorClientWx.h 2012-05-18 10:10:52 UTC (rev 117571)
+++ trunk/Source/WebKit/wx/WebKitSupport/EditorClientWx.h 2012-05-18 10:17:52 UTC (rev 117572)
@@ -45,6 +45,7 @@
virtual ~EditorClientWx();
void setPage(Page*);
virtual void pageDestroyed();
+ virtual void frameWillDetachPage(Frame*) { }
virtual bool shouldDeleteRange(Range*);
virtual bool shouldShowDeleteInterface(HTMLElement*);