1. 03 Mar, 2010 15 commits
    • eric@webkit.org's avatar
      2010-03-03 Diego Gonzalez <diego.gonzalez@openbossa.org> · 70b14116
      eric@webkit.org authored
              Reviewed by Kenneth Rohde Christiansen.
      
              Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
      
              LayoutTests:
                  fast/events/key-events-in-input-text.html
                  fast/events/special-key-events-in-input-text.html
      
              [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
              https://bugs.webkit.org/show_bug.cgi?id=35694
      
              * platform/qt/Skipped:
      2010-03-03  Diego Gonzalez  <diego.gonzalez@openbossa.org>
      
              Reviewed by Kenneth Rohde Christiansen.
      
              Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
      
              LayoutTests:
                  fast/events/key-events-in-input-text.html
                  fast/events/special-key-events-in-input-text.html
      
              [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
              https://bugs.webkit.org/show_bug.cgi?id=35694
      
              * platform/qt/PlatformKeyboardEventQt.cpp:
              (WebCore::keyIdentifierForQtKeyCode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70b14116
    • eric@webkit.org's avatar
      2010-03-03 Chad Faragher <wyck@chromium.org> · 1d30efea
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              Changed the double-click framework code to pass adjusted page
              coordinates for zoomed pages.  Added a new test to expose
              mistreatment of mouse click coordinates during a double-click.
      
              https://bugs.webkit.org/show_bug.cgi?id=35690
      
              * fast/events/zoom-dblclick-expected.txt: Added.
              * fast/events/zoom-dblclick.html: Added.
      2010-03-03  Chad Faragher  <wyck@chromium.org>
      
              Reviewed by Darin Adler.
              Changed the double-click framework code to pass adjusted page
              coordinates for zoomed pages.  Added a new test to expose
              mistreatment of mouse click coordinates during a double-click.
      
              https://bugs.webkit.org/show_bug.cgi?id=35690
      
              Test: fast/events/zoom-dblclick.html
      
              * dom/Node.cpp:
              (WebCore::Node::dispatchMouseEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d30efea
    • dumi@chromium.org's avatar
      Making database-lock-after-reload.html a bit more robust and · 49c07970
      dumi@chromium.org authored
      cleaning up some style issues.
      
      Reviewed by Dimitri Glazkov.
      
      * storage/database-lock-after-reload.html:
      * storage/resources/database-lock-after-reload-2.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49c07970
    • levin@chromium.org's avatar
      No review, rolling out r55474. · 9aac0415
      levin@chromium.org authored
      The patch broke fast/frames/sandboxed-iframe-storage.html
      
      Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
      
      WebCore:
      
      * bindings/js/JSDatabaseCallback.cpp: Removed.
      * bindings/js/JSDatabaseCallback.h: Removed.
      * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
      * bindings/v8/custom/V8DatabaseCallback.h: Removed.
      * storage/DatabaseCallback.h: Removed.
      
      LayoutTests:
      
      * storage/open-database-creation-callback-expected.txt: Removed.
      * storage/open-database-creation-callback-isolated-world-expected.txt: Removed.
      * storage/open-database-creation-callback-isolated-world.html: Removed.
      * storage/open-database-creation-callback.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aac0415
    • ap@apple.com's avatar
      Not reviewed. · 801ded60
      ap@apple.com authored
              Try better to fix Java tests on Tiger bot.
      
              * platform/mac-tiger/Skipped:
              * platform/mac-tiger/java/lc3/JavaArray/ToString-001-expected.txt: Removed.
              This test gets different resultson each run when it fails, so it needs to be disabled on
              Tiger.
      
              * platform/mac-tiger/java/lc3/JavaObject/JavaObjectToString-001-expected.txt: Added a
              newline I didn't get when copying actual results from buildbot.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      801ded60
    • ossy@webkit.org's avatar
      [Qt] Skip new test introduced in r55474, because of · b2625d66
      ossy@webkit.org authored
      missing layoutTestController.evaluateScriptInIsolatedWorld()
      
      * platform/qt/Skipped: storage/open-database-creation-callback-isolated-world.html skipped.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2625d66
    • ap@apple.com's avatar
      Rubber-stamped by Dan Bernstein. · 0525fe5e
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=35700
              Some of the newly added Java tests fail randomly on buildbot
      
              * fast/js/resources/js-test-post-async.js: Added a version that calls notifyDone(). I first
              wanted to add a notifyDone() call to js-test-post.js, but it turns out that multiple tests
              dump results after "TEST COMPLETE", and we need to get bots back to green fast.
      
              * java/lc3: (Many files). Don't load two scripts dynamically, WebKit has issues with order of
              execution in this case.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0525fe5e
    • dumi@chromium.org's avatar
      WebCore: Adding support for the optional creation callback that could be · 2d346ae6
      dumi@chromium.org authored
      passed to openDatabase().
      
      Reviewed by Adam Barth.
      
      Test: storage/open-database-creation-callback.html
      
      https://bugs.webkit.org/show_bug.cgi?id=34726
      
      * Android.jscbindings.mk
      * Android.v8bindings.mk
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::openDatabase):
      * bindings/js/JSDatabaseCallback.cpp: Added.
      (WebCore::JSDatabaseCallback::JSDatabaseCallback):
      (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
      (WebCore::JSDatabaseCallback::handleEvent):
      * bindings/js/JSDatabaseCallback.h: Added.
      (WebCore::JSDatabaseCallback::create):
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      (WebCore::V8DOMWindow::openDatabaseCallback):
      * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
      (WebCore::V8DatabaseCallback::V8DatabaseCallback):
      (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
      (WebCore::V8DatabaseCallback::handleEvent):
      * bindings/v8/custom/V8DatabaseCallback.h: Added.
      (WebCore::V8DatabaseCallback::create):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::openDatabase):
      * page/DOMWindow.h:
      * page/DOMWindow.idl:
      * storage/Database.cpp:
      (WebCore::DatabaseCreationCallbackTask::create):
      (WebCore::DatabaseCreationCallbackTask::performTask):
      (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
      (WebCore::Database::openDatabase):
      (WebCore::Database::Database):
      (WebCore::Database::performOpenAndVerify):
      (WebCore::Database::performCreationCallback):
      * storage/Database.h:
      (WebCore::Database::isNew):
      * storage/DatabaseCallback.h: Added.
      (WebCore::DatabaseCallback::~DatabaseCallback):
      * workers/WorkerContext.cpp:
      (WebCore::WorkerContext::openDatabase):
      * workers/WorkerContext.h:
      
      LayoutTests: Adding a test to test the creation callback passed to
      openDatabase() and another one to make sure it is executed in the
      correct world.
      
      Reviewed by Adam Barth.
      
      https://bugs.webkit.org/show_bug.cgi?id=34726
      
      * storage/open-database-creation-callback-expected.txt: Added.
      * storage/open-database-creation-callback.html: Added.
      * storage/open-database-creation-callback-isolated-world-expected.txt: Added.
      * storage/open-database-creation-callback-isolated-world.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d346ae6
    • ap@apple.com's avatar
      Not reviewed. · 9b2c01fb
      ap@apple.com authored
              Two newly added Java tests fail on Tiger build bot.
      
              Just land actual results as expected. I don't even know which behavior is more correct.
      
              * platform/mac-tiger/java: Added.
              * platform/mac-tiger/java/lc3: Added.
              * platform/mac-tiger/java/lc3/JavaArray: Added.
              * platform/mac-tiger/java/lc3/JavaArray/ToString-001-expected.txt: Added.
              * platform/mac-tiger/java/lc3/JavaObject: Added.
              * platform/mac-tiger/java/lc3/JavaObject/JavaObjectToString-001-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b2c01fb
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · fd21c99f
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=35617
              Import Mozilla LiveConnect 3 test suite
      
              * java/lc3/sources: Added (many files). Sources for Mozilla test applet.
      
              * java/jstests.jar: Added in compiled form, since it's unlikely that we'll ever need to
              modify the above sources.
      
              * java/lc3.java: Added.
              (lc3): This is a small wrapper around jstests.jar. The latter only adds some classes, but
              WebKit needs an actual applet to call into Java.
              (lc3.createQAObject): Instantiate a class defined in jstests.jar by name.
              (lc3.stringToByteArray): A helper to make a byte array out of string. Tests originally
              relied on window.java package interface to do this, but it's not available in WebKit. We
              need more functions like this to work around other uses of window.java, but this is one I
              wrote for now.
      
              * java/Makefile: Link test applets to Mozilla's jstests.jar. This is not needed ...
      fd21c99f
    • eric.carlson@apple.com's avatar
      2010-03-03 Eric Carlson <eric.carlson@apple.com> · a22e7d94
      eric.carlson@apple.com authored
              Unreviewed, build fix.
      
              Update expected results for fast/js/custom-constructors-expected.txt
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a22e7d94
    • cmarrin@apple.com's avatar
    • eric.carlson@apple.com's avatar
      2010-03-03 Eric Carlson <eric.carlson@apple.com> · 9f8dbf40
      eric.carlson@apple.com authored
              Reviewed by Adele Peterson.
      
              Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
              https://bugs.webkit.org/show_bug.cgi?id=35385
              rdar://problem/7689602
      
              Tests: media/audio-constructor-preload.html
                     media/video-dom-preload.html
      
              * html/HTMLAttributeNames.in: Remove autobuffer, add preload
      
              * html/HTMLAudioElement.cpp:
              (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of 
                  autobuffer to true.
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
              (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
              (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
                  before calling load() so it can pass the setting through to the media engine.
              (WebCore::HTMLMediaElement::preload): New.
              (WebCore::HTMLMediaElement::setPreload): Ditto
              * html/HTMLMediaElement.h:
              * html/HTMLMediaElement.idl:
      
              * platform/graphics/MediaPlayer.cpp:
              (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
              (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
              (WebCore::MediaPlayer::preload): New, return m_preload.
              (WebCore::MediaPlayer::setPreload): New, set m_preload.
              * platform/graphics/MediaPlayer.h:
              (WebCore::MediaPlayer::):
              * platform/graphics/MediaPlayerPrivate.h:
              (WebCore::MediaPlayerPrivateInterface::setPreload):
      
              * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
              * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
      
      2010-03-03  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Adele Peterson.
      
              Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
              https://bugs.webkit.org/show_bug.cgi?id=35385
              rdar://problem/7689602
      
              * media/audio-constructor-autobuffer-expected.txt: Removed.
              * media/audio-constructor-autobuffer.html: Removed.
              * media/audio-constructor-preload-expected.txt: Added.
              * media/audio-constructor-preload.html: Added.
              * media/video-dom-autobuffer-expected.txt: Removed.
              * media/video-dom-autobuffer.html: Removed.
              * media/video-dom-preload-expected.txt: Added.
              * media/video-dom-preload.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f8dbf40
    • mitz@apple.com's avatar
      <rdar://problem/7682756> Assertion failure when replacing the contents of a <select> · 1aa6c4d3
      mitz@apple.com authored
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      Test: fast/dom/remove-children-notification-order.html
      
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
      before calling removedFromDocument() on each removed child, which matches
      the order removeChild() does things, and avoids the assertion. This required
      temporarily storing the removed children in a vector.
      Also added comments about other discrepancies between this function and
      removeChild().
      
      LayoutTests: 
      
      * fast/dom/remove-children-notification-order-expected.txt: Added.
      * fast/dom/remove-children-notification-order.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1aa6c4d3
    • kov@webkit.org's avatar
      2010-03-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> · f78758d6
      kov@webkit.org authored
              [GTK] build slaves need working geoclue service
              https://bugs.webkit.org/show_bug.cgi?id=35674
      
              Skip tests we're not really able to run for the time being.
      
              * platform/gtk/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f78758d6
  2. 02 Mar, 2010 13 commits
    • tony@chromium.org's avatar
      2010-03-02 Tony Chang <tony@chromium.org> · 98b2b800
      tony@chromium.org authored
              Not reviewed, test fix.
      
              Revert r55447 because the new layout test is crashing consistently
              on Leopard Intel Debug (tests).
              https://bugs.webkit.org/show_bug.cgi?id=35261
      
              * svg/custom/tiling-regular-hexagonal-crash-expected.txt: Removed.
              * svg/custom/tiling-regular-hexagonal-crash.svg: Removed.
      2010-03-02  Tony Chang  <tony@chromium.org>
      
              Not reviewed, test fix.
      
              Revert r55447 because the new layout test is crashing consistently
              on Leopard Intel Debug (tests).
              https://bugs.webkit.org/show_bug.cgi?id=35261
      
              * platform/graphics/skia/ImageSkia.cpp:
              (WebCore::BitmapImageSingleFrameSkia::create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98b2b800
    • eric@webkit.org's avatar
      2010-03-02 Evan Stade <estade@chromium.org> · 28ad61de
      eric@webkit.org authored
              Reviewed by David Levin.
      
              https://bugs.webkit.org/show_bug.cgi?id=35261
              [skia] crash when attempting to render certain SVGs with Skia
      
              This test passes if it doesn't crash.
      
              * svg/custom/tiling-regular-hexagonal-crash-expected.txt: Added.
              * svg/custom/tiling-regular-hexagonal-crash.svg: Added.
      2010-03-02  Evan Stade  <estade@chromium.org>
      
              Reviewed by David Levin.
      
              https://bugs.webkit.org/show_bug.cgi?id=35261
              [skia] crash when attempting to render certain SVGs
      
              This fixes the crash, but the SVG still doesn't render properly.
      
              Test: svg/custom/tiling-regular-hexagonal-crash.svg
      
              * platform/graphics/skia/ImageSkia.cpp:
              (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
              the copy fails; instead return a blank bitmap. The caller doesn't
              check for 0 before dereferencing.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28ad61de
    • eric@webkit.org's avatar
      2010-03-02 Arno Renevier <arno@renevier.net> · 1c78acca
      eric@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
              https://bugs.webkit.org/show_bug.cgi?id=35210
      
              * GNUmakefile.am:
      2010-03-02  Arno Renevier  <arno@renevier.net>
      
              Reviewed by Gustavo Noronha Silva.
      
              [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
              https://bugs.webkit.org/show_bug.cgi?id=35210
      
              * platform/gtk/Skipped:
      2010-03-02  Arno Renevier  <arno@renevier.net>
      
              Reviewed by Gustavo Noronha Silva.
      
              [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
              https://bugs.webkit.org/show_bug.cgi?id=35210
      
              * WebCoreSupport/ChromeClientGtk.cpp:
              * WebCoreSupport/ChromeClientGtk.h:
              * docs/webkitgtk-sections.txt:
              * webkit/webkit.h:
              * webkit/webkitdefines.h:
              * webkit/webkitgeolocationpolicydecision.cpp: Added.
              (webkit_geolocation_policy_decision_class_init):
              (webkit_geolocation_policy_decision_init):
              (webkit_geolocation_policy_decision_new):
              (webkit_geolocation_policy_allow):
              (webkit_geolocation_policy_deny):
              * webkit/webkitgeolocationpolicydecision.h: Added.
              * webkit/webkitprivate.h:
              * webkit/webkitwebview.cpp:
              (DNDContentsRequest::webkit_web_view_class_init):
              * webkitmarshal.list:
      2010-03-02  Arno Renevier  <arno@renevier.net>
      
              Reviewed by Gustavo Noronha Silva.
      
              [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
              https://bugs.webkit.org/show_bug.cgi?id=35210
      
              * DumpRenderTree/gtk/DumpRenderTree.cpp:
              (geolocationPolicyDecisionRequested):
              (createWebView):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c78acca
    • mrowe@apple.com's avatar
      WebCore: Add the capability to create and dispatch a WheelEvent in JavaScript. · 95c4eac6
      mrowe@apple.com authored
      Ensure the event's default handler is triggered in the same way as it is
      during a PlatformWheelEvent.
      
      Patch by Andy Estes <aestes@apple.com> on 2010-03-02
      Reviewed by Maciej Stachowiak.
      
      https://bugs.webkit.org/show_bug.cgi?id=35566
      
      Test: fast/events/wheelevent-in-scrolling-div.html
      
      * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
      wheel events originating both from the platform and from
      JavaScript/ObjC.
      (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
      the graunularity of the PlatformWheelEvent.
      (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
      * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
      and m_granularity.  m_deltaX and m_deltaY differ from m_wheelDeltaX and
      m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
      IE compatibility.
      (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
      (WebCore::WheelEvent::initWheelEvent): Same.
      (WebCore::WheelEvent::initWebKitWheelEvent): Same.
      * dom/WheelEvent.h: See WheelEvent.cpp.
      (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
      (WebCore::WheelEvent::create): Add new arguments.
      (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
      (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
      (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
      * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript.  This is
      the same as the initWheelEvent ObjC method.  As the DOM Level 3 Events
      specification is still a working draft and subject to change, prefix
      'WebKit' to the method signature to indicate experimental support.
      * page/EventHandler.cpp: Move the scroll handling from
      handleWheelEvent() to defaultWheelEventHandler(), which is executed on
      both PlatformWheelEvents and JavaScript WheelEvents.
      (WebCore::scrollNode): Renamed from scrollAndAcceptEvent().  Remove
      the PlatformWheelEvent from the argument list and instead return a
      boolean indicating if the scroll event was accepted.
      (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
      (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
      * page/EventHandler.h: Add function signature.
      
      LayoutTests: Add a test for the patch to https://bugs.webkit.org/show_bug.cgi?id=35566.
      These can be run manually or from DRT.
      
      Patch by Andy Estes <aestes@apple.com> on 2010-03-02
      Reviewed by Maciej Stachowiak.
      
      * fast/events/wheelevent-in-scrolling-div-expected.txt: Added.
      * fast/events/wheelevent-in-scrolling-div.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95c4eac6
    • mrowe@apple.com's avatar
      Bug 35576: WebKit should tell plug-in instances when private browsing state changes · af0e53e0
      mrowe@apple.com authored
      <http://webkit.org/b/35576>
      
      Reviewed by Darin Adler.
      
      WebCore:
      
      Notify plug-in instances when the private browsing state changes to match the behavior of the
      Mac plug-in code.
      
      * page/Page.cpp:
      (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
      the private browsing state has changed.
      * page/Page.h:
      * page/Settings.cpp:
      (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
      has changed.
      * plugins/PluginView.cpp:
      (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
      browsing state.
      * plugins/PluginView.h:
      
      WebKitTools:
      
      TestNetscapePlugin is another bit of plug-in code where copy-paste was heavily used
      when porting.  Update the Windows and UNIX implementations of NPP_New and NPP_SetValue
      to provide the expected behavior related to NPNVprivateModeBool.  Hopefully this code
      duplication can be cleaned up in the future.
      
      * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
      (webkit_test_plugin_new_instance):
      (webkit_test_plugin_set_value):
      * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
      (NPP_New):
      (NPP_SetValue):
      
      LayoutTests:
      
      * platform/win/Skipped: Remove plugins/private-browsing-mode.html now that it passes.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af0e53e0
    • mrowe@apple.com's avatar
      Bug 30348: Implement private mode for plug-ins on Windows · 6d211777
      mrowe@apple.com authored
      <http://webkit.org/b/30348> / <rdar://problem/7562261>
      
      Reviewed by Oliver Hunt.
      
      WebCore:
      
      Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
      was duplicated across platforms.  getValue and getValueStatic now call in to platform-specific
      variants that indicate whether they handled the query.  If the query is not handled by the
      platform-specific variants then the cross-platform handler has a chance to handle it.
      
      * plugins/PluginView.cpp:
      (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
      variable lookup.  If it does not handle it, return an error.
      (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
      variant a chance to handle the variable lookup.  If they do not handle it, apply the cross-platform
      handler.  At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
      and NPNVprivateModeBool as they have an identical implementation across ports.
      * plugins/PluginView.h:
      * plugins/PluginViewNone.cpp:
      (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
      (WebCore::PluginView::platformGetValueStatic): Ditto.
      * plugins/gtk/PluginViewGtk.cpp:
      (WebCore::PluginView::platformGetValueStatic):
      (WebCore::PluginView::platformGetValue):
      platform-independent implementation.
      * plugins/mac/PluginViewMac.cpp:
      (WebCore::PluginView::platformGetValueStatic):
      (WebCore::PluginView::platformGetValue):
      * plugins/qt/PluginViewQt.cpp:
      (WebCore::PluginView::platformGetValueStatic):
      (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
      The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
      to have some values handled by the static handler.  When NPNVprivateModeBool was added
      it was placed before the default case, interferring with this fall-through.  It now
      explicitly indicates in this situation that it was not handled.
      * plugins/symbian/PluginViewSymbian.cpp:
      (WebCore::PluginView::platformGetValueStatic):
      (WebCore::PluginView::platformGetValue):
      * plugins/win/PluginViewWin.cpp:
      (WebCore::PluginView::platformGetValueStatic):
      (WebCore::PluginView::platformGetValue):
      
      LayoutTests:
      
      * platform/win/Skipped: Remove plugins/private-browsing-mode-2.html now that it passes.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d211777
    • ap@apple.com's avatar
      Reviewed by Adam Roben. · e70f6042
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=35600
              shouldBe() fails when comparing an array to null.
      
              * fast/js/resources/js-test-pre.js: (areArraysEqual): This function is expected to be called
              with weird arguments, as it's used with array-like objects like WebGLByteArray. Made it
              resilient against exceptions raised when dealing with those.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e70f6042
    • beidson@apple.com's avatar
      Followup for REGRESSION(r51097) - Unable to log in to statefarm.com · 72e59dea
      beidson@apple.com authored
      <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
      
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      * dom/ScriptElement.cpp:
      (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
        strip whitespace from the attribute values before comparing to window/onload/onload().
      
      LayoutTests: 
      
      * fast/loader/for-window-event-onload-scripts-expected.txt:
      * fast/loader/for-window-event-onload-scripts.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72e59dea
    • cfleizach@apple.com's avatar
      aria-label isn't respected on option elements · 7a5d26ff
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=35400
      
      Reviewed by Beth Dakin.
      
      WebCore: 
      
      When aria-label is used on an <option> element, it can take three forms.
      An option in a multi-select list, a popup button and the menu that is displayed 
      from the popup button. This patches the three requisite locations so that if
      aria-label is used, the correct accessibility text is returned.
      
      Test: platform/mac/accessibility/option-with-arialabel.html
      
      * accessibility/AccessibilityListBoxOption.cpp:
      (WebCore::AccessibilityListBoxOption::stringValue):
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::getAttribute):
      * accessibility/AccessibilityObject.h:
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::getAttribute):
      (WebCore::AccessibilityRenderObject::stringValue):
      * platform/PopupMenuClient.h:
      * platform/mac/PopupMenuMac.mm:
      (WebCore::PopupMenu::populate):
      * rendering/RenderMenuList.cpp:
      (WebCore::RenderMenuList::itemAccessibilityText):
      * rendering/RenderMenuList.h:
      * rendering/RenderTextControlSingleLine.h:
      (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
      
      WebKit/chromium: 
      
      * src/SuggestionsPopupMenuClient.h:
      (WebKit::SuggestionsPopupMenuClient::itemAccessibilityText):
      
      LayoutTests: 
      
      * platform/mac/accessibility/option-with-arialabel-expected.txt: Added.
      * platform/mac/accessibility/option-with-arialabel.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a5d26ff
    • eric@webkit.org's avatar
      2010-03-02 Kent Tamura <tkent@chromium.org> · d83ad7d3
      eric@webkit.org authored
              Reviewed by Shinichiro Hamaji.
      
              Merge ValidityState-stepMismatch-{number,range,unsupported}.html and
              input-step-{number,range,unsupported}.html to other tests
              https://bugs.webkit.org/show_bug.cgi?id=35435
      
              - Merge ValidityState-stepMismatch-{number,range,unsupported}.html to
              ValidityState-stepMismatch.html
              - Merge input-step--{number,range,unsupported}.html to input-step.html
      
              * fast/forms/ValidityState-stepMismatch-expected.txt:
              * fast/forms/ValidityState-stepMismatch-number-expected.txt: Removed.
              * fast/forms/ValidityState-stepMismatch-number.html: Removed.
              * fast/forms/ValidityState-stepMismatch-range-expected.txt: Removed.
              * fast/forms/ValidityState-stepMismatch-range.html: Removed.
              * fast/forms/ValidityState-stepMismatch-unsupported-expected.txt: Removed.
              * fast/forms/ValidityState-stepMismatch-unsupported.html: Removed.
              * fast/forms/input-step-number-expected.txt: Removed.
              * fast/forms/input-step-number.html: Removed.
              * fast/forms/input-step-range-expected.txt: Removed.
              * fast/forms/input-step-range.html: Removed.
              * fast/forms/input-step-unsupported-expected.txt: Removed.
              * fast/forms/input-step-unsupported.html: Removed.
              * fast/forms/input-stepup-stepdown-expected.txt:
              * fast/forms/script-tests/ValidityState-stepMismatch-number.js: Removed.
              * fast/forms/script-tests/ValidityState-stepMismatch-range.js: Removed.
              * fast/forms/script-tests/ValidityState-stepMismatch-unsupported.js: Removed.
              * fast/forms/script-tests/ValidityState-stepMismatch.js:
              * fast/forms/script-tests/input-step-number.js: Removed.
              * fast/forms/script-tests/input-step-range.js: Removed.
              * fast/forms/script-tests/input-step-unsupported.js: Removed.
              * fast/forms/script-tests/input-stepup-stepdown.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d83ad7d3
    • beidson@apple.com's avatar
      REGRESSION(r51097) - Unable to log in to statefarm.com · 2118e9f3
      beidson@apple.com authored
      <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
      
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      Test: fast/loader/for-window-event-onload-scripts.html
      
      Match Gecko's rules for executing "for/event" scripts:
        -If there's only a 'for' attribute, execute it.
        -If there's only an 'event' attribute, execute it.
        -If there's a 'for=window' and 'event=onload', execute it.
        -If there's a 'for=window' and 'event=onload()', execute it.
        -If there's any other combination of both 'for' and 'event', don't execute it.
      
      * dom/ScriptElement.cpp:
      (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
      * dom/ScriptElement.h:
      
      * html/HTMLScriptElement.cpp:
      (WebCore::HTMLScriptElement::eventAttributeValue):
      * html/HTMLScriptElement.h:
      
      * svg/SVGScriptElement.cpp:
      (WebCore::SVGScriptElement::eventAttributeValue):
      * svg/SVGScriptElement.h:
      
      Add the event attribute name:
      * html/HTMLAttributeNames.in:
      
      LayoutTests: 
      
      * fast/loader/for-window-event-onload-scripts-expected.txt: Added.
      * fast/loader/for-window-event-onload-scripts.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2118e9f3
    • cfleizach@apple.com's avatar
      Fixing layout test problems. No review. · 3e61c63c
      cfleizach@apple.com authored
      AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
      https://bugs.webkit.org/show_bug.cgi?id=35514
      
      AXTable tests crash on Leopard/Tiger because tables don't exist. This test needs to be skipped
      on those playtforms.
      
      * platform/mac-leopard/Skipped:
      * platform/mac-tiger/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e61c63c
    • zecke@webkit.org's avatar
      [Gtk] Support private browsing mode in plugins. · 840436fd
      zecke@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=35500
      
      Integrate the PluginViewQt.cpp changes from
      r55358 into Gtk+ and unskip the test.
      
      * plugins/gtk/PluginViewGtk.cpp:
      (WebCore::PluginView::getValue):
      * platform/gtk/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      840436fd
  3. 01 Mar, 2010 11 commits
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · fc8b9144
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=26520
              Accessing a DOM node from a parent window in a child iframe moves the prototype to the child
              iframe and resets it in the parent window
      
              Adding a test for a bug that no longer occurs in ToT.
      
              * fast/dom/cross-frame-node-prototype-expected.txt: Added.
              * fast/dom/cross-frame-node-prototype.html: Added.
              * fast/dom/resources/cross-frame-node-prototype-iframe.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc8b9144
    • kov@webkit.org's avatar
      2010-03-01 Gustavo Noronha Silva <gns@gnome.org> · c06b295e
      kov@webkit.org authored
              Rebaseline the two editing tests we stopped skipping - we failed
              to take the new caret position result into account while
              unskipping these.
      
              * platform/gtk/editing/selection/5109817-expected.txt:
              * platform/gtk/editing/selection/5354455-2-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c06b295e
    • kov@webkit.org's avatar
      WebKitTools · f60452f4
      kov@webkit.org authored
      2010-03-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
      
              Reviewed by Eric Seidel.
      
              [GTK] plugins/setProperty.html fails on 64bit Release
              https://bugs.webkit.org/show_bug.cgi?id=35425
      
              Check invoke's return code before releasing the variant, since
              there's a chance it won't be properly initialized, leading to
              memory corruption, in some cases.
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
              (testCallback):
              (testEnumerate):
              (testDocumentOpen):
              (testWindowOpen):
              (handleCallback):
      
      LayoutTests
      
      2010-03-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
      
              Reviewed by Eric Seidel.
      
              [GTK] plugins/setProperty.html fails on 64bit Release
              https://bugs.webkit.org/show_bug.cgi?id=35425
      
              Unskip the tests that failed as a consequence of the memory
              corruption.
      
              * platform/gtk/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f60452f4
    • cfleizach@apple.com's avatar
      AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver · e4893cbb
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=35514
      
      Reviewed by Darin Adler.
      
      WebCore: 
      
      When a table's DOM is changed and an AX Table is not asked first for its children,
      it would return wrong information. A table needs to make sure children are up to date in
      all methods that can be called from the outside.
      
      Test: platform/mac/accessibility/stale-table-rows.html
      
      * accessibility/AccessibilityARIAGrid.cpp:
      (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::clearChildren):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::clearChildren):
      (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
      (WebCore::AccessibilityRenderObject::children):
      * accessibility/AccessibilityRenderObject.h:
      (WebCore::AccessibilityRenderObject::needsToUpdateChildren):
      (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
      * accessibility/AccessibilityTable.cpp:
      (WebCore::AccessibilityTable::clearChildren):
      (WebCore::AccessibilityTable::columns):
      (WebCore::AccessibilityTable::rows):
      (WebCore::AccessibilityTable::rowHeaders):
      (WebCore::AccessibilityTable::columnHeaders):
      (WebCore::AccessibilityTable::cells):
      (WebCore::AccessibilityTable::columnCount):
      (WebCore::AccessibilityTable::rowCount):
      (WebCore::AccessibilityTable::cellForColumnAndRow):
      
      WebKitTools: 
      
      Add rowCount, columnCount for tables.
      
      * DumpRenderTree/AccessibilityUIElement.cpp:
      (rowCountCallback):
      (columnCountCallback):
      (AccessibilityUIElement::getJSClass):
      * DumpRenderTree/AccessibilityUIElement.h:
      * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
      (AccessibilityUIElement::rowCount):
      (AccessibilityUIElement::columnCount):
      * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
      (AccessibilityUIElement::rowCount):
      (AccessibilityUIElement::columnCount):
      * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
      (AccessibilityUIElement::rowCount):
      (AccessibilityUIElement::columnCount):
      
      LayoutTests: 
      
      * platform/mac/accessibility/stale-table-rows-expected.txt: Added.
      * platform/mac/accessibility/stale-table-rows.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4893cbb
    • eric@webkit.org's avatar
      2010-03-01 José Millán Soto <jmillan@igalia.com> · e53260ad
      eric@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] Right click does not activate text entry
              https://bugs.webkit.org/show_bug.cgi?id=29177
      
              Stop skipping some tests which where failing because of right click
              not being correct handled.
      
              * platform/gtk/Skipped:
      2010-03-01  José Millán Soto  <jmillan@igalia.com>
      
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] Right click does not activate text entry
              https://bugs.webkit.org/show_bug.cgi?id=29177
      
              Makes the frame handle the mouse click event before sending the
              context menu event.
      
              * webkit/webkitwebview.cpp:
              (PopupMenuPositionFunc):
              Function created to make the popup menu appear in the correct position, especially
              when invoked from the keyboard.
              (webkit_web_view_forward_context_menu_event):
              Mouse click event is sent to frame before creating context menu,
              PopupMenuPositionFunc used to determine the position where the menu should appear.
              (webkit_web_view_popup_menu_handler):
              Improved focused node position detection. Event button set to right button.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e53260ad
    • eric@webkit.org's avatar
      2010-03-01 Alex Milowski <alex@milowski.com> · ba875881
      eric@webkit.org authored
              Reviewed by Kenneth Rohde Christiansen.
      
              Added test for basic msubsup support.
      
              * mathml/presentation/subsup.xhtml: Added.
              * platform/mac/mathml/presentation/subsup-expected.checksum: Added.
              * platform/mac/mathml/presentation/subsup-expected.png: Added.
              * platform/mac/mathml/presentation/subsup-expected.txt: Added.
      2010-03-01  Alex Milowski  <alex@milowski.com>
      
              Reviewed by Kenneth Rohde Christiansen.
      
              Added support for the msubsup element that also handles the msup and msub elements.
      
              Test: mathml/presentation/subsup.xhtml
      
              * WebCore.xcodeproj/project.pbxproj:
              * mathml/MathMLInlineContainerElement.cpp:
              (WebCore::MathMLInlineContainerElement::createRenderer):
              * mathml/RenderMathMLSubSup.cpp: Added.
              (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
              (WebCore::RenderMathMLSubSup::addChild):
              (WebCore::RenderMathMLSubSup::stretchToHeight):
              (WebCore::RenderMathMLSubSup::nonOperatorHeight):
              (WebCore::RenderMathMLSubSup::layout):
              (WebCore::RenderMathMLSubSup::baselinePosition):
              * mathml/RenderMathMLSubSup.h: Added.
              (WebCore::RenderMathMLSubSup::hasBase):
              (WebCore::RenderMathMLSubSup::):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba875881
    • eric@webkit.org's avatar
      2010-03-01 Thatcher Ulrich <tulrich@google.com> · 869ecb03
      eric@webkit.org authored
              Reviewed by Darin Fisher.
      
              Fix chromium iframe shims.  Add another test case to the
              iframes-shims test.  After r53637, the plugin widget doesn't get
              moved every paint.  This used to hide the bug that if an iframe
              gets added, the plugin's cutout rectangles don't get updated until
              a layout happens.
              https://bugs.webkit.org/show_bug.cgi?id=35184
      
              * plugins/iframe-shims.html: test case that adds an iframe shim dynamically
      2010-03-01  Thatcher Ulrich  <tulrich@google.com>
      
              Reviewed by Darin Fisher.
      
              Fix chromium iframe shims.  Add another test case to the
              iframes-shims test.  After r53637, the plugin widget doesn't get
              moved every paint.  This used to hide the bug that if an iframe
              gets added, the plugin's cutout rectangles don't get updated until
              a layout happens.
              https://bugs.webkit.org/show_bug.cgi?id=35184
      
              * platform/Widget.h:
              (WebCore::Widget::widgetPositionsUpdated): new virtual method
                  widgetPositionsUpdated() to notify widgets when other widgets on
                  the page have been repositioned.
              * rendering/RenderView.cpp:
              (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget
              * rendering/RenderWidget.h:
      2010-03-01  Thatcher Ulrich  <tulrich@google.com>
      
              Reviewed by Darin Fisher.
      
              Fix chromium iframe shims.  Add another test case to the
              iframes-shims test.  After r53637, the plugin widget doesn't get
              moved every paint.  This used to hide the bug that if an iframe
              gets added, the plugin's cutout rectangles don't get updated until
              a layout happens.
              https://bugs.webkit.org/show_bug.cgi?id=35184
      
              * src/WebPluginContainerImpl.cpp:
              (WebKit::WebPluginContainerImpl::widgetPositionsUpdated): do reportGeometry() to ensure that
                  the plugin is aware of the positions of cutouts on the page (for iframe shim behavior).
              * src/WebPluginContainerImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      869ecb03
    • barraclough@apple.com's avatar
      Bug 35537 - put_by_id does will incorrectly cache writes where a specific value exists, · 40ddeb92
      barraclough@apple.com authored
                  where at the point of caching the same value is being written.
      
      Reviewed by Oliver Hunt.
      
      JavaScriptCore: 
      
      When performing a put_by_id that is replacing a property already present on the object,
      there are three interesting cases regarding the state of the specific value:
      
      (1) No specific value set - nothing to do, leave the structure in it's current state,
          can cache.
      (2) A specific value was set, the new put is not of a specified value (i.e. function),
          or is of a different specific value - in these cases we need to perform a despecifying
          transition to clear the specific value in the structure, but having done so this is a
          normal property so as such we can again cache normally.
      (3) A specific value was set, and we are overwriting with the same value - in these cases
          leave the structure unchanged, but since a specific value is set we cannot cache this
          put (we would need the JIT to dynamically check the value being written matched).
      
      Unfortunately, the current behaviour does not match this.  the checks for a specific value
      being present & the value matching are combined in such a way that in case (2), above we
      will unnecessarily prevent the transition being cached, but in case (3) we will incorrectly
      fail to prevent caching.
      
      The bug exposes itself if multiple puts of the same specific value are performed to a
      property, and erroneously the put is allowed to be cached by the JIT.  Method checks may be
      generated caching calls of this structure.  Subsequent puts performed from JIT code may
      write different values without triggering a despecify transition, and as such cached method
      checks will continue to pass, despite the value having changed.
      
      * runtime/JSObject.h:
      (JSC::JSObject::putDirectInternal):
      
      LayoutTests: 
      
      Add test case.
      
      * fast/js/method-check-expected.txt:
      * fast/js/script-tests/method-check.js:
      (addOne):
      (addOneHundred):
      (totalizer.makeCall):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40ddeb92
    • kbr@google.com's avatar
      2010-03-01 Kenneth Russell <kbr@google.com> · cb5a2330
      kbr@google.com authored
              Reviewed by Oliver Hunt.
      
              Integer overflow in WebGL arrays
              https://bugs.webkit.org/show_bug.cgi?id=35241
      
              Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
      
              * bindings/js/JSWebGLArrayBufferConstructor.cpp:
              (WebCore::constructCanvasArrayBuffer):
              * bindings/js/JSWebGLArrayBufferConstructor.h:
              (WebCore::construct):
              * bindings/js/JSWebGLArrayHelper.h:
              (WebCore::setWebGLArrayFromArray):
              * bindings/js/JSWebGLByteArrayConstructor.cpp:
              (WebCore::constructCanvasByteArray):
              * bindings/js/JSWebGLFloatArrayConstructor.cpp:
              (WebCore::constructCanvasFloatArray):
              * bindings/js/JSWebGLIntArrayConstructor.cpp:
              (WebCore::constructCanvasIntArray):
              * bindings/js/JSWebGLShortArrayConstructor.cpp:
              (WebCore::constructCanvasShortArray):
              * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp:
              (WebCore::constructCanvasUnsignedByteArray):
              * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp:
              (WebCore::constructCanvasUnsignedIntArray):
              * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp:
              (WebCore::constructCanvasUnsignedShortArray):
              * bindings/v8/V8Binding.cpp:
              (WebCore::toUInt32):
              * bindings/v8/V8Binding.h:
              (WebCore::toUInt32):
              * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
              (WebCore::V8WebGLArrayBuffer::constructorCallback):
              * bindings/v8/custom/V8WebGLArrayCustom.h:
              (WebCore::constructWebGLArray):
              (WebCore::getWebGLArrayElement):
              (WebCore::setWebGLArrayFromArray):
              (WebCore::setWebGLArray):
              * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
              (WebCore::V8WebGLByteArray::constructorCallback):
              * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
              (WebCore::V8WebGLFloatArray::constructorCallback):
              * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
              (WebCore::V8WebGLIntArray::constructorCallback):
              * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
              (WebCore::V8WebGLShortArray::constructorCallback):
              * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
              (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
              * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
              (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
              * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
              (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
              * html/canvas/WebGLArray.cpp:
              (WebCore::WebGLArray::setImpl):
              * html/canvas/WebGLArray.h:
              (WebCore::WebGLArray::verifySubRange):
              (WebCore::WebGLArray::clampOffsetAndNumElements):
              * html/canvas/WebGLArrayBuffer.cpp:
              (WebCore::WebGLArrayBuffer::create):
              (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
              (WebCore::WebGLArrayBuffer::tryAllocate):
              * html/canvas/WebGLArrayBuffer.h:
              * html/canvas/WebGLByteArray.cpp:
              (WebCore::WebGLByteArray::create):
              (WebCore::WebGLByteArray::WebGLByteArray):
              (WebCore::WebGLByteArray::slice):
              * html/canvas/WebGLByteArray.h:
              * html/canvas/WebGLFloatArray.cpp:
              (WebCore::WebGLFloatArray::create):
              (WebCore::WebGLFloatArray::WebGLFloatArray):
              (WebCore::WebGLFloatArray::slice):
              * html/canvas/WebGLFloatArray.h:
              * html/canvas/WebGLIntArray.cpp:
              (WebCore::WebGLIntArray::create):
              (WebCore::WebGLIntArray::WebGLIntArray):
              (WebCore::WebGLIntArray::slice):
              * html/canvas/WebGLIntArray.h:
              * html/canvas/WebGLShortArray.cpp:
              (WebCore::WebGLShortArray::create):
              (WebCore::WebGLShortArray::WebGLShortArray):
              (WebCore::WebGLShortArray::slice):
              * html/canvas/WebGLShortArray.h:
              * html/canvas/WebGLUnsignedByteArray.cpp:
              (WebCore::WebGLUnsignedByteArray::create):
              (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
              (WebCore::WebGLUnsignedByteArray::slice):
              * html/canvas/WebGLUnsignedByteArray.h:
              * html/canvas/WebGLUnsignedIntArray.cpp:
              (WebCore::WebGLUnsignedIntArray::create):
              (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
              (WebCore::WebGLUnsignedIntArray::slice):
              * html/canvas/WebGLUnsignedIntArray.h:
              * html/canvas/WebGLUnsignedShortArray.cpp:
              (WebCore::WebGLUnsignedShortArray::create):
              (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
              (WebCore::WebGLUnsignedShortArray::slice):
              * html/canvas/WebGLUnsignedShortArray.h:
      
      2010-03-01  Kenneth Russell  <kbr@google.com>
      
              Reviewed by Oliver Hunt.
      
              Integer overflow in WebGL arrays
              https://bugs.webkit.org/show_bug.cgi?id=35241
      
              * fast/canvas/webgl/array-unit-tests-expected.txt:
              * fast/canvas/webgl/array-unit-tests.html:
              * fast/canvas/webgl/webgl-array-invalid-ranges-expected.txt: Added.
              * fast/canvas/webgl/webgl-array-invalid-ranges.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb5a2330
    • beidson@apple.com's avatar
      REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken. · 35b83394
      beidson@apple.com authored
      <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
      
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      Test: fast/loader/api-test-go-to-current-back-forward-item.html
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't
        consider this to be a same document navigation.
      
      * page/Page.cpp:
      (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship
        as a precondition for stopping all loaders, as that will be a new document load.
      
      WebKitTools: 
      
      * DumpRenderTree/LayoutTestController.cpp:
      (apiTestGoToCurrentBackForwardItemCallback):
      (LayoutTestController::staticFunctions):
      * DumpRenderTree/LayoutTestController.h:
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::apiTestGoToCurrentBackForwardItem):
      
      Stubs for now:
      * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
      (LayoutTestController::apiTestGoToCurrentBackForwardItem):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::apiTestGoToCurrentBackForwardItem):
      * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
      (LayoutTestController::apiTestGoToCurrentBackForwardItem):
      
      LayoutTests: 
      
      * fast/loader/api-test-go-to-current-back-forward-item-expected.txt: Added.
      * fast/loader/api-test-go-to-current-back-forward-item.html: Added.
      * platform/gtk/Skipped:
      * platform/qt/Skipped:
      * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35b83394
    • pfeldman@chromium.org's avatar
      2010-02-27 Ilya Tikhonovsky <loislo@chromium.org> · c6c104a4
      pfeldman@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: callerScriptName and callerScriptLine should be obfuscated for timeline tests.
              https://bugs.webkit.org/show_bug.cgi?id=35478
      
              * ../../LayoutTests/inspector/timeline-test.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6c104a4
  4. 28 Feb, 2010 1 commit