Changeset 21101 for S60/trunk/WebCore

Show
Ignore:
Timestamp:
04/25/07 17:24:43 (21 months ago)
Author:
zbujtas
Message:

rathnasa, reviewed by zbujtas

DESC: widet menu api implementation
http://bugs.webkit.org/show_bug.cgi?id=13494

Location:
S60/trunk/WebCore
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • S60/trunk/WebCore/ChangeLog

    r20916 r21101  
     1rathnasa, reviewed by zbujtas 
     2 DESC: widet menu api implementation 
     3 http://bugs.webkit.org/show_bug.cgi?id=13494 
     4 
     5        WARNING: NO TEST CASES ADDED OR CHANGED 
     6 
     7        * ChangeLog: 
     8        * bridge/WebCoreBridge.h: 
     9        * khtml/ecma/kjs_window.cpp: 
     10        (Window::Window): 
     11        (Window::mark): 
     12        (Window::get): 
     13        * khtml/ecma/kjs_window.h: 
     14        (KJS::Window::): 
     15        * khtml/ecma/kjs_window.lut.h: 
     16        (KJS::):      
     17        * kwq/KWQKHTMLPart.cpp: 
     18        (KWQKHTMLPart::createWidgetMenuObject): 
     19        (KWQKHTMLPart::createWidgetMenuItemObject): 
     20        * kwq/KWQKHTMLPart.h: 
     21 
    1222007-04-17  bujtas  <zbujtas@gmail.com> 
    223 
  • S60/trunk/WebCore/bridge/WebCoreBridge.h

    r19307 r21101  
    754754#ifdef  RD_BROWSER_WIDGETS 
    755755    virtual void* createWidgetObject(void* exec) = 0; 
     756    virtual void* createWidgetMenuObject(void* exec) = 0; 
     757    virtual void* createWidgetMenuItemObject(void* exec) = 0; 
    756758#endif //RD_BROWSER_WIDGETS 
    757759}; 
  • S60/trunk/WebCore/khtml/ecma/kjs_window.cpp

    r19241 r21101  
    312312  frameElement  Window::FrameElement    DontDelete|ReadOnly 
    313313  showModalDialog Window::ShowModalDialog    DontDelete|Function 1 
     314  widget Window::_Widget DontDelete|Function 0 
     315  Menu Window::Menu DontDelete|ReadOnly 
     316  MenuItem Window::MenuItem DontDelete|ReadOnly 
    314317@end 
    315318*/ 
     
    325328#ifdef RD_BROWSER_WIDGETS 
    326329  , m_widget(0) 
     330  , m_widgetMenu(0) 
    327331#endif 
    328332  , m_selection(0) 
     
    490494  if (m_widget && !m_widget->marked()) 
    491495    m_widget->mark(); 
     496  if (m_widgetMenu && !m_widgetMenu->marked()) 
     497    m_widgetMenu->mark(); 
    492498#endif 
    493499} 
     
    819825        return Value(m_widget ? m_widget : 
    820826                   (const_cast<Window*>(this)->m_widget = KWQ(m_part)->createWidgetObject(exec))); 
    821  
     827    case Menu: 
     828      if ( !m_widget ) 
     829            (const_cast<Window*>(this)->m_widget = KWQ(m_part)->createWidgetObject(exec));         
     830      return Value(m_widgetMenu ? m_widgetMenu :  
     831            const_cast<Window*>(this)->m_widgetMenu = KWQ(m_part)->createWidgetMenuObject(exec)); 
     832    case MenuItem: 
     833      if ( !m_widget ) 
     834            (const_cast<Window*>(this)->m_widget = KWQ(m_part)->createWidgetObject(exec));   
     835      if ( !m_widgetMenu ) 
     836            (const_cast<Window*>(this)->m_widgetMenu = KWQ(m_part)->createWidgetMenuObject(exec));  
     837      return Value(KWQ(m_part)->createWidgetMenuItemObject(exec)); 
    822838#endif 
    823839    case Menubar: 
  • S60/trunk/WebCore/khtml/ecma/kjs_window.h

    r17301 r21101  
    150150           Statusbar, Toolbar, FrameElement, ShowModalDialog 
    151151#ifdef NOKIA_CHANGES 
    152            ,_Widget 
     152           ,_Widget,Menu,MenuItem 
    153153#endif 
    154154           }; 
     
    162162#ifdef RD_BROWSER_WIDGETS 
    163163    ObjectImp *m_widget; 
     164    ObjectImp *m_widgetMenu; 
    164165#endif 
    165166    Screen *screen; 
  • S60/trunk/WebCore/khtml/ecma/kjs_window.lut.h

    r17301 r21101  
    1 /* Automatically generated from kjs_window.cpp using ..\..\..\JavaScriptCore\kjs\create_hash_table. DO NOT EDIT ! */ 
     1/* Automatically generated from kjs_window.cpp using create_hash_table. DO NOT EDIT ! */ 
    22 
    33namespace KJS { 
     
    6464   { "status", Window::Status, DontDelete, 0, 0 }, 
    6565   { "onreset", Window::Onreset, DontDelete, 0, 0 }, 
    66    { 0, 0, 0, 0, 0 }, 
     66   { "Menu", Window::Menu, DontDelete|ReadOnly, 0, 0 }, 
    6767   { "onselect", Window::Onselect, DontDelete, 0, 0 }, 
    6868   { 0, 0, 0, 0, 0 }, 
     
    9999   { "locationbar", Window::Locationbar, DontDelete, 0, &WindowTableEntries[107] }, 
    100100   { "DOMException", Window::DOMException, DontDelete, 0, &WindowTableEntries[96] }, 
    101    { 0, 0, 0, 0, 0 }, 
     101   { "MenuItem", Window::MenuItem, DontDelete|ReadOnly, 0, 0 }, 
    102102   { "setInterval", Window::SetInterval, DontDelete|Function, 2, 0 }, 
    103103   { "scrollbars", Window::Scrollbars, DontDelete|ReadOnly, 0, &WindowTableEntries[127] }, 
  • S60/trunk/WebCore/kwq/KWQKHTMLPart.cpp

    r20451 r21101  
    41384138    return objImpl; 
    41394139} 
     4140KJS::ObjectImp* KWQKHTMLPart::createWidgetMenuObject(KJS::ExecState* exec) 
     4141{ 
     4142    KJS::ObjectImp* objImpl = static_cast<KJS::ObjectImp *>(_bridge->Client().createWidgetMenuObject((void* )exec)); 
     4143    return objImpl; 
     4144} 
     4145KJS::ObjectImp* KWQKHTMLPart::createWidgetMenuItemObject(KJS::ExecState* exec) 
     4146{ 
     4147    KJS::ObjectImp* objImpl = static_cast<KJS::ObjectImp *>(_bridge->Client().createWidgetMenuItemObject((void* )exec)); 
     4148    return objImpl; 
     4149} 
    41404150#endif 
    41414151 
  • S60/trunk/WebCore/kwq/KWQKHTMLPart.h

    r19282 r21101  
    230230#ifdef  RD_BROWSER_WIDGETS 
    231231    KJS::ObjectImp* createWidgetObject(KJS::ExecState* exec) ; 
     232    KJS::ObjectImp* createWidgetMenuObject(KJS::ExecState* exec) ; 
     233    KJS::ObjectImp* createWidgetMenuItemObject(KJS::ExecState* exec) ; 
    232234#endif //RD_BROWSER_WIDGETS 
    233235