Skip to content
  • ggaren's avatar
    Reviewed by Darin Adler. · 6ad6e760
    ggaren authored
            Fixed a bug with Settings where a number of different objects held bare 
            Settings* data members, even though the Page owns the Settings object and 
            deletes it upon destruction.
    
            Added NULL checks since the Page can be deleted before the frame/document.
    
            * page/Settings.cpp: Removed reliance on setNeedsReapplyStylesForSettingsChange.
    
            * css/cssstyleselector.cpp: CSSStyleSelector was the worst offender. It 
            held a number of back pointers that were not guaranteed. I removed the 
            Settings*, Frame*, and FrameView* back pointers, but others could probably 
            go, too. I replaced them with a single Document* pointer, which is guaranteed
            because the Document owns the CSSStyleSelector.
    
            * page/Page.cpp: Removed setNeedsReapplyStylesForSettingsChange -- the 
            Settings object is now a proper subcontroller of Page, so it doesn't need
            to use a global table to find its page anymore. Also, this function
            confusingly implied that the Frames in a page can have heterogeneous settings,
            which is not true.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6ad6e760