Title: [141692] trunk/Source/WebCore
Revision
141692
Author
grao...@apple.com
Date
2013-02-02 05:55:00 -0800 (Sat, 02 Feb 2013)

Log Message

Creating a WebInspector.ContextMenu without an event crashes WebCore when calling .show()
https://bugs.webkit.org/show_bug.cgi?id=108636

Reviewed by Pavel Feldman.

Return early if InspectorFrontendHost::showContextMenu() is called without an event and
assert in ContextMenuController::createContextMenu() in case no event was provided.

* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::showContextMenu):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::createContextMenu):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (141691 => 141692)


--- trunk/Source/WebCore/ChangeLog	2013-02-02 13:05:11 UTC (rev 141691)
+++ trunk/Source/WebCore/ChangeLog	2013-02-02 13:55:00 UTC (rev 141692)
@@ -1,3 +1,18 @@
+2013-02-02  Antoine Quint  <grao...@apple.com>
+
+        Creating a WebInspector.ContextMenu without an event crashes WebCore when calling .show()
+        https://bugs.webkit.org/show_bug.cgi?id=108636
+
+        Reviewed by Pavel Feldman.
+
+        Return early if InspectorFrontendHost::showContextMenu() is called without an event and
+        assert in ContextMenuController::createContextMenu() in case no event was provided.
+
+        * inspector/InspectorFrontendHost.cpp:
+        (WebCore::InspectorFrontendHost::showContextMenu):
+        * page/ContextMenuController.cpp:
+        (WebCore::ContextMenuController::createContextMenu):
+
 2013-02-02  Jonathan Feldstein  <jfeldst...@rim.com>
 
         [BlackBerry] Improper initialization of ANGLEResources

Modified: trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp (141691 => 141692)


--- trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp	2013-02-02 13:05:11 UTC (rev 141691)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp	2013-02-02 13:55:00 UTC (rev 141692)
@@ -269,6 +269,9 @@
 #if ENABLE(CONTEXT_MENUS)
 void InspectorFrontendHost::showContextMenu(Event* event, const Vector<ContextMenuItem>& items)
 {
+    if (!event)
+        return;
+
     ASSERT(m_frontendPage);
     ScriptState* frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage);
     ScriptObject frontendApiObject;

Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (141691 => 141692)


--- trunk/Source/WebCore/page/ContextMenuController.cpp	2013-02-02 13:05:11 UTC (rev 141691)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp	2013-02-02 13:55:00 UTC (rev 141692)
@@ -142,6 +142,8 @@
 
 PassOwnPtr<ContextMenu> ContextMenuController::createContextMenu(Event* event)
 {
+    ASSERT(event);
+    
     if (!event->isMouseEvent())
         return nullptr;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to