Changeset 92183 in webkit


Ignore:
Timestamp:
Aug 2, 2011 6:39:26 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Custom cursors cause the WebProcess to crash
https://bugs.webkit.org/show_bug.cgi?id=64802

Patch by Amruth Raj <amruthraj@motorola.com> on 2011-08-02
Reviewed by Martin Robinson.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
(CoreIPC::::decode): Decode the image only if required.

Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r92171 r92183  
     12011-08-02  Amruth Raj  <amruthraj@motorola.com>
     2
     3        Custom cursors cause the WebProcess to crash
     4        https://bugs.webkit.org/show_bug.cgi?id=64802
     5
     6        Reviewed by Martin Robinson.
     7
     8        * WebCore.exp.in:
     9
    1102011-08-02  Pavel Feldman  <pfeldman@google.com>
    211
  • trunk/Source/WebCore/WebCore.exp.in

    r92143 r92183  
    749749__ZN7WebCore5Frame9scalePageEfRKNS_8IntPointE
    750750__ZN7WebCore5FrameD1Ev
     751__ZN7WebCore5Image9nullImageEv
    751752__ZN7WebCore5Image12supportsTypeERKN3WTF6StringE
    752753__ZN7WebCore5Image20loadPlatformResourceEPKc
  • trunk/Source/WebKit2/ChangeLog

    r92143 r92183  
     12011-08-02  Amruth Raj  <amruthraj@motorola.com>
     2
     3        Custom cursors cause the WebProcess to crash
     4        https://bugs.webkit.org/show_bug.cgi?id=64802
     5
     6        Reviewed by Martin Robinson.
     7
     8        * Shared/WebCoreArgumentCoders.cpp:
     9        (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
     10        (CoreIPC::::decode): Decode the image only if required.
     11
    1122011-08-01  Scott Graham  <scottmg@chromium.org>
    213
  • trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp

    r92113 r92183  
    322322        return;
    323323
     324    if (cursor.image()->isNull()) {
     325        encoder->encodeBool(false); // There is no valid image being encoded.
     326        return;
     327    }
     328
     329    encoder->encodeBool(true);
    324330    encodeImage(encoder, cursor.image());
    325331    encoder->encode(cursor.hotSpot());
     
    342348
    343349        cursor = cursorReference;
     350        return true;
     351    }
     352
     353    bool isValidImagePresent;
     354    if (!decoder->decode(isValidImagePresent))
     355        return false;
     356
     357    if (!isValidImagePresent) {
     358        cursor = Cursor(Image::nullImage(), IntPoint());
    344359        return true;
    345360    }
Note: See TracChangeset for help on using the changeset viewer.