Changeset 19423 in webkit


Ignore:
Timestamp:
Feb 5, 2007 7:55:20 PM (17 years ago)
Author:
brmorris
Message:

bujtas, reviewed by Yongjun.

DESC: PartialImage() can end up in a dialog box which starts up a nested active scheduler JELE-6XSH3P
http://bugs.webkit.org/show_bug.cgi?id=12550

Location:
S60/branches/3.1m/WebKit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • S60/branches/3.1m/WebKit/BrowserCore/Formcontrols/src/FControlInputWidget.cpp

    r19404 r19423  
    507507      }
    508508
     509    CWebKitView* webkitView = static_cast<CWebKitView*>(iParent);
     510    CWebKitFrame* focused = webkitView->MainFrame().FocusedFrame();
     511    // send keys to webcore
     512    if (focused)
     513        {       
     514        // send as keypress/keyrelease
     515        if (aType == EEventKeyDown)
     516            {
     517            focused->WebKitBridge().WebCoreBridge().KeyEvent(aKeyEvent,EFalse);
     518            }
     519        else if (aType == EEventKeyUp)
     520            {
     521            focused->WebKitBridge().WebCoreBridge().KeyEvent(aKeyEvent,ETrue);
     522            }
     523        }
     524
    509525    // Send arrow keys and OK key to list box first
    510526    //if (aType == EEventKeyDown  &&
  • S60/branches/3.1m/WebKit/BrowserCore/Renderers/inc/StaticImageDecoder.h

    r19405 r19423  
    9393        RPointerArray<CRawData> iQueue;
    9494        CRawData*               iContext;   // current decoding data
     95        TBool                   iBlocked;
    9596    };
    9697
  • S60/branches/3.1m/WebKit/BrowserCore/Renderers/src/StaticImageDecoder.cpp

    r19405 r19423  
    176176void CStaticImageDecoder::LoadOneFrame()
    177177    {
     178    // the first frame, partial information is available
     179    // PartialImage() can end up in a dialog box which
     180    // starts up a nested active scheduler and since
     181    // the page still being loaded in the background
     182    // new image data could come to the image decoder.
     183    // that's a fatal re-entry on the image decoder.
     184    iBlocked = ETrue;
     185    // the first frame, partial information is available
     186    iContext->iObserver->PartialImage();
     187    iBlocked = EFalse;
     188
    178189    // static image has only one frame;
    179190    const TFrameInfo& frameInfo = iDecoder->FrameInfo( 0 );
     
    187198        {
    188199        iDecoder->Convert( &iStatus, bmp, 0 );
    189         }
    190    
    191     // the first frame, partial information is available
    192     iContext->iObserver->PartialImage();
     200        }
    193201   
    194202    SetActive();
     
    206214void CStaticImageDecoder::StartLoading()
    207215    {
    208     if( !IsActive() )
     216    // see LoadOneFrame for iBlocked
     217    if( !IsActive() && !iBlocked )
    209218        {
    210219        // initalize decoding
  • S60/branches/3.1m/WebKit/BrowserView/src/KeyEventHandler.cpp

    r19053 r19423  
    180180                case EKeyDownArrow:
    181181                    {
     182                    // Don't generate keyevent for arrows since they are oveloaded for pointer
     183                    // unless it is tabbed navigation
     184                    CWebKitFrame* focused = iWebKitView->MainFrame().FocusedFrame();
     185                    if (iWebKitView->TabbedNavigation() && !iWebKitView->WebKitControl().InPageViewMode() && focused)
     186                        {
     187                        // send keyevent to the webcore
     188                        focused->WebKitBridge().WebCoreBridge().KeyEvent(iLastEventKey,EFalse);
     189                        }
    182190                    keyResponse = HandleArrowKeysL(aKeyEvent);
    183191                    break;
  • S60/branches/3.1m/WebKit/ChangeLog

    r19405 r19423  
     1bujtas, reviewed by Yongjun.
     2        DESC: PartialImage() can end up in a dialog box which starts up a nested active scheduler JELE-6XSH3P
     3         and since the page still being loaded in the background new image
     4         data could come to the image decoder. that's a fatal re-entry on
     5         the image decoder.
     6
     7        http://bugs.webkit.org/show_bug.cgi?id=12550
     8
     9        * BrowserCore/Renderers/inc/StaticImageDecoder.h:
     10        * BrowserCore/Renderers/src/StaticImageDecoder.cpp:
     11        (CStaticImageDecoder::LoadOneFrame):
     12
    113bujtas  <zbujtas@gmail.com>, Reviewed by Yongjun.
    214        DESC: browser is crashing if it is closed while a page is loading and closing and opening a new window crashes the browser as well TMCN-6XRQP2
Note: See TracChangeset for help on using the changeset viewer.