[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 13:38:49 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 7ec7807afb71cafd7d6e321534313ece4c0f7bef
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 22 08:58:55 2010 +0000
2010-09-22 Chris Guillory <chris.guillory at google.com>
Reviewed by Chris Fleizach.
Crash due to bad cast in AXObjectCacheChromium.cpp.
https://bugs.webkit.org/show_bug.cgi?id=46237
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* page/ChromeClient.h:
(WebCore::ChromeClient::postAccessibilityNotification):
(WebCore::ChromeClient::didChangeAccessibilityObjectState):
(WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
* page/chromium/ChromeClientChromium.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 04b5815..80fdebb 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-09-22 Chris Guillory <chris.guillory at google.com>
+
+ Reviewed by Chris Fleizach.
+
+ Crash due to bad cast in AXObjectCacheChromium.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=46237
+
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::postAccessibilityNotification):
+ (WebCore::ChromeClient::didChangeAccessibilityObjectState):
+ (WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
+ * page/chromium/ChromeClientChromium.h:
+
2010-09-22 Chris Rogers <crogers at google.com>
Reviewed by James Robinson.
diff --git a/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp b/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
index 3ff0837..93c748e 100644
--- a/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
+++ b/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
@@ -28,20 +28,11 @@
#include "AXObjectCache.h"
#include "AccessibilityObject.h"
#include "Chrome.h"
-#include "ChromeClientChromium.h"
+#include "ChromeClient.h"
#include "FrameView.h"
namespace WebCore {
-static ChromeClientChromium* toChromeClientChromium(FrameView* view)
-{
- Page* page = view->frame() ? view->frame()->page() : 0;
- if (!page)
- return 0;
-
- return static_cast<ChromeClientChromium*>(page->chrome()->client());
-}
-
void AXObjectCache::detachWrapper(AccessibilityObject* obj)
{
// In Chromium, AccessibilityObjects are wrapped lazily.
@@ -56,10 +47,10 @@ void AXObjectCache::attachWrapper(AccessibilityObject*)
void AXObjectCache::postPlatformNotification(AccessibilityObject* obj, AXNotification notification)
{
- if (!obj || !obj->document() || !obj->documentFrameView())
+ if (!obj || !obj->document() || !obj->documentFrameView() || !obj->documentFrameView()->frame() || !obj->documentFrameView()->frame()->page())
return;
- ChromeClientChromium* client = toChromeClientChromium(obj->documentFrameView());
+ ChromeClient* client = obj->documentFrameView()->frame()->page()->chrome()->client();
if (!client)
return;
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h
index bd9de6b..5175858 100644
--- a/WebCore/page/ChromeClient.h
+++ b/WebCore/page/ChromeClient.h
@@ -21,6 +21,7 @@
#ifndef ChromeClient_h
#define ChromeClient_h
+#include "AXObjectCache.h"
#include "Console.h"
#include "Cursor.h"
#include "FocusDirection.h"
@@ -46,6 +47,7 @@ class NSResponder;
namespace WebCore {
+ class AccessibilityObject;
class Element;
class FileChooser;
class FloatRect;
@@ -268,6 +270,10 @@ namespace WebCore {
virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const = 0;
virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const = 0;
+ virtual void postAccessibilityNotification(AccessibilityObject*, AXObjectCache::AXNotification) { }
+ virtual void didChangeAccessibilityObjectState(AccessibilityObject*) { }
+ virtual void didChangeAccessibilityObjectChildren(AccessibilityObject*) { }
+
protected:
virtual ~ChromeClient() { }
};
diff --git a/WebCore/page/chromium/ChromeClientChromium.h b/WebCore/page/chromium/ChromeClientChromium.h
index 44e005f..02e2a94 100644
--- a/WebCore/page/chromium/ChromeClientChromium.h
+++ b/WebCore/page/chromium/ChromeClientChromium.h
@@ -31,12 +31,10 @@
#ifndef ChromeClientChromium_h
#define ChromeClientChromium_h
-#include "AXObjectCache.h"
#include "ChromeClient.h"
#include <wtf/Forward.h>
namespace WebCore {
-class AccessibilityObject;
class IntRect;
class PopupContainer;
@@ -53,15 +51,6 @@ public:
// Notifies the client a popup was closed.
virtual void popupClosed(PopupContainer* popupContainer) = 0;
-
- // Notifies embedder that the state of an accessibility object has changed.
- virtual void didChangeAccessibilityObjectState(AccessibilityObject*) = 0;
-
- // Notified embedder that the children of an accessibility object has changed.
- virtual void didChangeAccessibilityObjectChildren(AccessibilityObject*) = 0;
-
- // Notifies embedder about an accessibility notification.
- virtual void postAccessibilityNotification(AccessibilityObject*, AXObjectCache::AXNotification) = 0;
};
} // namespace WebCore
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list