Skip to content
Permalink
Browse files
2011-04-20 Maciej Stachowiak <mjs@apple.com>
        Reviewed by Sam Weinig.

        Reproducible crash under WebPageProxy::didReceiveEvent
        https://bugs.webkit.org/show_bug.cgi?id=59036
        <rdar://problem/9252083>

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _resendKeyDownEvent:]): Protect against self-destruction
        when re-dispatching the event.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage): Fixed a type mismatch
        I noticed while debugging.


Canonical link: https://commits.webkit.org/74173@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@84434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
othermaciej committed Apr 20, 2011
1 parent 49d590c commit 03502079e47911193ec70f1c5d516d1afe6de042
Showing with 19 additions and 1 deletion.
  1. +15 −0 Source/WebKit2/ChangeLog
  2. +3 −0 Source/WebKit2/UIProcess/API/mac/WKView.mm
  3. +1 −1 Source/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -1,3 +1,18 @@
2011-04-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.

Reproducible crash under WebPageProxy::didReceiveEvent
https://bugs.webkit.org/show_bug.cgi?id=59036
<rdar://problem/9252083>

* UIProcess/API/mac/WKView.mm:
(-[WKView _resendKeyDownEvent:]): Protect against self-destruction
when re-dispatching the event.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createWebPage): Fixed a type mismatch
I noticed while debugging.

2011-04-20 Timothy Hatcher <timothy@apple.com>

Make the Web Insepctor come to the front when a breakpoint is hit.
@@ -1987,6 +1987,9 @@ - (void)_setUserInterfaceItemState:(NSString *)commandName enabled:(BOOL)isEnabl

- (void)_resendKeyDownEvent:(NSEvent *)event
{
// resending the event may destroy this WKView
RetainPtr<WKView> protect(self);

ASSERT(!_data->_keyDownEventBeingResent);
_data->_keyDownEventBeingResent = event;
[NSApp _setCurrentEvent:event];
@@ -169,7 +169,7 @@ PassRefPtr<WebPageProxy> WebProcessProxy::createWebPage(PageClient* pageClient,
{
ASSERT(context->process() == this);

unsigned pageID = generatePageID();
uint64_t pageID = generatePageID();
RefPtr<WebPageProxy> webPage = WebPageProxy::create(pageClient, this, pageGroup, pageID);
m_pageMap.set(pageID, webPage.get());
return webPage.release();

0 comments on commit 0350207

Please sign in to comment.