Changeset 104552 in webkit


Ignore:
Timestamp:
Jan 10, 2012 4:19:42 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Add NULL checks to setting access obtained on frame and document.
https://bugs.webkit.org/show_bug.cgi?id=72002

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-01-10
Reviewed by Andreas Kling.

Adds NULL checks to setting object where it's required.
Generally WebCore checks NULL which may be returned from setting object obtained
on frame or document but in some cases these are skipped. These checks are not
needed to setting's access on page object.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::shouldAccelerate):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestPlugin):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):

  • page/DragController.cpp:

(WebCore::DragController::draggableNode):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseReleaseEvent):

  • page/FocusController.cpp:

(WebCore::FocusController::advanceFocusInDocumentOrder):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::flattenFrameSet):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::flattenFrame):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

  • rendering/RenderText.cpp:

(WebCore::SecureTextTimer::restartWithNewText):

Location:
trunk/Source/WebCore
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r104550 r104552  
     12012-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
     2
     3        Add NULL checks to setting access obtained on frame and document.
     4        https://bugs.webkit.org/show_bug.cgi?id=72002
     5
     6        Reviewed by Andreas Kling.
     7
     8        Adds NULL checks to setting object where it's required.
     9        Generally WebCore checks NULL which may be returned from setting object obtained
     10        on frame or document but in some cases these are skipped. These checks are not
     11        needed to setting's access on page object.
     12
     13        * html/HTMLCanvasElement.cpp:
     14        (WebCore::HTMLCanvasElement::shouldAccelerate):
     15        * loader/DocumentLoader.cpp:
     16        (WebCore::DocumentLoader::scheduleArchiveLoad):
     17        * loader/SubframeLoader.cpp:
     18        (WebCore::SubframeLoader::requestPlugin):
     19        * loader/appcache/ApplicationCacheGroup.cpp:
     20        (WebCore::ApplicationCacheGroup::selectCache):
     21        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
     22        * page/DragController.cpp:
     23        (WebCore::DragController::draggableNode):
     24        * page/EventHandler.cpp:
     25        (WebCore::EventHandler::handleMouseReleaseEvent):
     26        * page/FocusController.cpp:
     27        (WebCore::FocusController::advanceFocusInDocumentOrder):
     28        * rendering/RenderFrameSet.cpp:
     29        (WebCore::RenderFrameSet::flattenFrameSet):
     30        * rendering/RenderIFrame.cpp:
     31        (WebCore::RenderIFrame::flattenFrame):
     32        * rendering/RenderLayerCompositor.cpp:
     33        (WebCore::RenderLayerCompositor::updateBacking):
     34        * rendering/RenderText.cpp:
     35        (WebCore::SecureTextTimer::restartWithNewText):
     36
    1372012-01-10  Andreas Kling  <awesomekling@apple.com>
    238
  • trunk/Source/WebCore/html/HTMLCanvasElement.cpp

    r104501 r104552  
    424424#if USE(IOSURFACE_CANVAS_BACKING_STORE)
    425425    UNUSED_PARAM(size);
    426     return document()->settings()->canvasUsesAcceleratedDrawing();
     426    return document()->settings() && document()->settings()->canvasUsesAcceleratedDrawing();
    427427#elif ENABLE(ACCELERATED_2D_CANVAS)
    428428    if (m_context && !m_context->is2d())
     
    430430
    431431    Settings* settings = document()->settings();
    432     if (!settings->accelerated2dCanvasEnabled())
     432    if (!settings || !settings->accelerated2dCanvasEnabled())
    433433        return false;
    434434
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r102786 r104552  
    641641    case Archive::WebArchive:
    642642        // WebArchiveDebugMode means we fail loads instead of trying to fetch them from the network if they're not in the archive.
    643         return m_frame->settings()->webArchiveDebugModeEnabled() && ArchiveFactory::isArchiveMimeType(responseMIMEType());
     643        return m_frame->settings() && m_frame->settings()->webArchiveDebugModeEnabled() && ArchiveFactory::isArchiveMimeType(responseMIMEType());
    644644#endif
    645645#if ENABLE(MHTML)
  • trunk/Source/WebCore/loader/SubframeLoader.cpp

    r100895 r104552  
    110110         // permitted, rather than WebKit.
    111111         && !MIMETypeRegistry::isApplicationPluginMIMEType(mimeType))
    112         || (!settings->isJavaEnabled() && MIMETypeRegistry::isJavaAppletMIMEType(mimeType)))
     112        || ((!settings || !settings->isJavaEnabled()) && MIMETypeRegistry::isJavaAppletMIMEType(mimeType)))
    113113        return false;
    114114
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp

    r100541 r104552  
    139139    ASSERT(frame && frame->page());
    140140   
    141     if (!frame->settings()->offlineWebApplicationCacheEnabled())
     141    if (!frame->settings() || !frame->settings()->offlineWebApplicationCacheEnabled())
    142142        return;
    143143   
     
    194194
    195195    // Don't change anything on disk if private browsing is enabled.
    196     if (!frame->settings() || frame->settings()->privateBrowsingEnabled()) {
     196    if (frame->settings()->privateBrowsingEnabled()) {
    197197        postListenerTask(ApplicationCacheHost::CHECKING_EVENT, documentLoader);
    198198        postListenerTask(ApplicationCacheHost::ERROR_EVENT, documentLoader);
     
    212212void ApplicationCacheGroup::selectCacheWithoutManifestURL(Frame* frame)
    213213{
    214     if (!frame->settings()->offlineWebApplicationCacheEnabled())
     214    if (!frame->settings() || !frame->settings()->offlineWebApplicationCacheEnabled())
    215215        return;
    216216
  • trunk/Source/WebCore/page/DragController.cpp

    r103365 r104552  
    627627                if ((m_dragSourceAction & DragSourceActionImage)
    628628                    && node->hasTagName(HTMLNames::imgTag)
     629                    && src->settings()
    629630                    && src->settings()->loadsImagesAutomatically()) {
    630631                    state.m_dragType = static_cast<DragSourceAction>(state.m_dragType | DragSourceActionImage);
  • trunk/Source/WebCore/page/EventHandler.cpp

    r103346 r104552  
    772772        VisibleSelection newSelection;
    773773        Node* node = targetNode(event);
    774         bool caretBrowsing = m_frame->settings()->caretBrowsingEnabled();
     774        bool caretBrowsing = m_frame->settings() && m_frame->settings()->caretBrowsingEnabled();
    775775        if (node && (caretBrowsing || node->rendererIsEditable()) && node->renderer()) {
    776776            VisiblePosition pos = node->renderer()->positionForPoint(event.localPoint());
  • trunk/Source/WebCore/page/FocusController.cpp

    r103365 r104552  
    245245    Node* currentNode = document->focusedNode();
    246246    // FIXME: Not quite correct when it comes to focus transitions leaving/entering the WebView itself
    247     bool caretBrowsing = focusedOrMainFrame()->settings()->caretBrowsingEnabled();
     247    bool caretBrowsing = frame->settings() && frame->settings()->caretBrowsingEnabled();
    248248
    249249    if (caretBrowsing && !currentNode)
  • trunk/Source/WebCore/rendering/RenderFrameSet.cpp

    r96566 r104552  
    663663bool RenderFrameSet::flattenFrameSet() const
    664664{
    665     return frame() && frame()->settings()->frameFlatteningEnabled();
     665    return frame() && frame()->settings() && frame()->settings()->frameFlatteningEnabled();
    666666}
    667667
  • trunk/Source/WebCore/rendering/RenderIFrame.cpp

    r103076 r104552  
    9696
    9797    Frame* frame = element->document()->frame();
    98     bool enabled = frame && frame->settings()->frameFlatteningEnabled();
     98    bool enabled = frame && frame->settings() && frame->settings()->frameFlatteningEnabled();
    9999
    100100    if (!enabled || !frame->page())
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r104347 r104552  
    369369
    370370#if PLATFORM(MAC) && USE(CA)
    371             if (m_renderView->document()->settings()->acceleratedDrawingEnabled())
     371            Settings* settings = m_renderView->document()->settings();
     372            if (settings && settings->acceleratedDrawingEnabled())
    372373                layer->backing()->graphicsLayer()->setAcceleratesDrawing(true);
    373374            else if (layer->renderer()->isCanvas()) {
  • trunk/Source/WebCore/rendering/RenderText.cpp

    r101342 r104552  
    6969    {
    7070        m_lastTypedCharacterOffset = lastTypedCharacterOffset;
    71         startOneShot(m_renderText->document()->settings()->passwordEchoDurationInSeconds());
     71        if (Settings* settings = m_renderText->document()->settings())
     72            startOneShot(settings->passwordEchoDurationInSeconds());
    7273    }
    7374    void invalidate() { m_lastTypedCharacterOffset = -1; }
Note: See TracChangeset for help on using the changeset viewer.