1. 20 Apr, 2009 2 commits
    • mitz@apple.com's avatar
      WebCore: · 72b9d35f
      mitz@apple.com authored
              Reviewed by Mark Rowe.
      
              - fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link
                does nothing the second time search results are opened
      
              Test: fast/dom/HTMLScriptElement/nested-execution.html
      
              Instead of executing scripts as soon as they finish loading, which may
              happen synchronously during execution of another script, defer their
              execution until the next run loop iteration, using a queue that is
              similar to the HTML5 notion of the "list of scripts that will execute as
              soon as possible", and in my testing was consistent with how Firefox
              behaved.
      
              * dom/Document.cpp:
              (WebCore::Document::Document): Initialize m_executeScriptSoonTimer.
              (WebCore::Document::~Document): deref() script elements in
              m_scriptsToExecuteSoon.
              (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the
              scripts in m_scriptsToExecuteSoon and deref()s them.
              (WebCore::Document::executeScriptSoon): Added. Appends to
              m_scriptsToExecuteSoon and ref()s the script element, which keeps the
              ScriptElementData alive as well.
              * dom/Document.h:
              * dom/ScriptElement.cpp:
              (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested.
              (WebCore::ScriptElementData::requestScript): Set m_requested to true, to
              prevent further load requests.
              (WebCore::ScriptElementData::execute): Added. Moved the code from
              notifyFinished() which should not execute synchronously here, to be
              called by the Document on a 0-interval timer.
              (WebCore::ScriptElementData::notifyFinished): Moved the code to
              dispatch events and evaluate the script, which should not execute
              synchronously, out of here.
              (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for
              m_requested instead of m_cachedScript, because the latter is cleared
              before the script is evaluated.
              * dom/ScriptElement.h:
      
      LayoutTests:
      
              Reviewed by Mark Rowe.
      
              - test and updated tests for <rdar://problem/6734365> eBay "Save this
                search" link does nothing the second time search results are opened
      
              * fast/dom/HTMLScriptElement/nested-execution-expected.txt: Added.
              * fast/dom/HTMLScriptElement/nested-execution.html: Added.
              * fast/dom/HTMLScriptElement/resources/nested-execution.js: Added.
              * fast/dom/HTMLScriptElement/script-reexecution.html:
              * fast/dom/HTMLScriptElement/script-set-src.html:
              * fast/dom/script-element-gc.html:
              * fast/loader/local-JavaScript-from-local.html:
              * svg/dom/SVGScriptElement/script-reexecution.svg:
              * svg/dom/SVGScriptElement/script-set-href.svg:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42665 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      72b9d35f
    • oliver@apple.com's avatar
      <rdar://problem/6127705> Excessive memory consumption on image load failure · b54df599
      oliver@apple.com authored
      Reviewed by Antti Koivisto and Darin Adler
      
      When we fail to decode an image we clear most of the image data, but not the
      input data itself, which can be backed by a CFData object that itself holds onto
      a few hundred Kbs of memory.  This patch merely ensures that this buffer gets
      cleared.
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42664 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b54df599
  2. 19 Apr, 2009 19 commits
    • darin@apple.com's avatar
      2009-04-19 Darin Adler <darin@apple.com> · 4b36a66d
      darin@apple.com authored
              * StringsNotToBeLocalized.txt: Updated for recent changes.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42663 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      4b36a66d
    • weinig@apple.com's avatar
      2009-04-19 Sam Weinig <sam@webkit.org> · 16ccab9f
      weinig@apple.com authored
              Reviewed by Darin Adler.
      
              Better fix for JSStringCreateWithCFString hardening.
      
              * API/JSStringRefCF.cpp:
              (JSStringCreateWithCFString):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42662 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      16ccab9f
    • darin@apple.com's avatar
      ooo · 2ff8a023
      darin@apple.com authored
      git-svn-id: svn://svn.chromium.org/blink/trunk@42661 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      2ff8a023
    • darin@apple.com's avatar
      2009-04-19 Darin Adler <darin@apple.com> · c0cf1979
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              Add hoooks so sudden termination will not cause loss of icons or local storage.
              rdar://problem/5951701
      
              * loader/icon/IconDatabase.cpp: Marked various constants static to give them
              internal linkage.
              (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer.
              Removed unneeded initial value for m_defaultIconRecord. Changed assertion to
              work cross-platform.
              (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so
              we won't terminate until the sync thread has done its thing.
              (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination,
              so we won't terminate if we have an outstanding sync timer.
              (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to
              balance the one in scheduleOrDeferSyncTimer.
              (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to
              balance the one in wakeSyncThread.
              (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0).
      
              * loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>.
      
              * storage/LocalStorageArea.cpp:
              (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination.
              (WebCore::LocalStorageArea::scheduleItemForSync): Ditto.
              (WebCore::LocalStorageArea::scheduleClear): Ditto.
              (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if
              we schedule a performSync callback for later and an unconditional
              enableSuddenTermination to balance the ones in the schedule calls above.
              (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it
              can continue to use early return idiom.
              (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination.
      
              * storage/LocalStorageArea.h: Added declaration of the sync function.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42660 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c0cf1979
    • weinig@apple.com's avatar
      2009-04-19 Sam Weinig <sam@webkit.org> · 6378da9c
      weinig@apple.com authored
              Reviewed by Dan Bernstein.
      
              Fix for <rdar://problem/5860954>
              Harden JSStringCreateWithCFString against malformed CFStringRefs.
      
              * API/JSStringRefCF.cpp:
              (JSStringCreateWithCFString):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42659 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6378da9c
    • ddkilzer@apple.com's avatar
      Make FEATURE_DEFINES completely dynamic · be917321
      ddkilzer@apple.com authored
              Reviewed by Darin Adler.
      
              Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
              variables for each feature, making it possible to remove all
              knowledge of FEATURE_DEFINES from build-webkit.
      
      JavaScriptCore:
      
              * Configurations/FeatureDefines.xcconfig: Extract a variable
              from FEATURE_DEFINES for each feature setting.
      
      WebCore:
      
              * Configurations/FeatureDefines.xcconfig: Extract a variable
              from FEATURE_DEFINES for each feature setting.
      
      WebKit/mac:
      
              * Configurations/FeatureDefines.xcconfig: Extract a variable
              from FEATURE_DEFINES for each feature setting.
      
      WebKitTools:
      
              * Scripts/build-webkit: Define individual ENABLE_FEATURE_NAME
              variables instead of the whole FEATURE_DEFINES string when
              building with Xcode.  Miscellaneous clean up:
              - Reordered/sorted command-line switch variables.
              - Reordered/sorted command-line switches in $usage.
              - Reordered/sorted command-line switches in GetOptions().
              - Defined $svgSupport to true if any --svg-feature switch is
                set in order to match "Implies SVG Support" claim.
              - Build JavaScriptGlue after JavaScriptCore again!
              - Fixed --[no-]geolocation for GTK+ port and sorted GTK+
                command-line switches.
              - Added "exit 0" statement at the end of the script.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42658 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      be917321
    • ggaren@apple.com's avatar
      2009-04-18 Geoffrey Garen <ggaren@apple.com> · c4682ceb
      ggaren@apple.com authored
              Reviewed by Alexey Proskuryakov.
      
              More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
              Unbounded memory growth when churning elements with anonymous event handler functions
              
              Removed a little more complexity from event handler creation and destruction.
              
              Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners,
              and jsInlineEventListeners maps, and all the code for managing them.
              
              ProtectedEventListeners don't exist anymore, so they're easy to nix.
              
              Inline EventListeners do still exist, but there's no reason to track
              them in a map. The map exists to enable 'removeEventListener' to associate
              a unique JSEventListener with a given JavaScript function. But the
              'removeEventListener' API only works with non-inline event listeners!
              
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::createJSInlineEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              (WebCore::JSEventListener::clearJSFunctionInline):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::~JSLazyEventListener):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42657 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c4682ceb
    • weinig@apple.com's avatar
      2009-04-18 Sam Weinig <sam@webkit.org> · dd8e16be
      weinig@apple.com authored
              Reviewed by Dan Bernstein.
      
              Fix typo.  s/VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE/VM_MEMORY_JAVASCRIPT_CORE/
      
              * runtime/Collector.cpp:
              (JSC::allocateBlock): Fix bozo typo.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42656 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      dd8e16be
    • mitz@apple.com's avatar
      - try to fix the Windows build · 275fd0da
      mitz@apple.com authored
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::characterAfter):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42655 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      275fd0da
    • mitz@apple.com's avatar
      - revert the previous change, which was to a file that the Windows · 3547b204
      mitz@apple.com authored
                port does not even use
      
              * icu/unicode/utf16.h:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42654 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      3547b204
    • simon.fraser@apple.com's avatar
      Fix the dates in my Changelog entries · 7d38a105
      simon.fraser@apple.com authored
      git-svn-id: svn://svn.chromium.org/blink/trunk@42653 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      7d38a105
    • mitz@apple.com's avatar
      Reviewed by Geoffrey Garen. · 57ba61fc
      mitz@apple.com authored
              - try to fix the Windows build
      
              * icu/unicode/utf16.h:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42652 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      57ba61fc
    • simon.fraser@apple.com's avatar
      2009-04-17 Simon Fraser <simon.fraser@apple.com> · 8a119a1a
      simon.fraser@apple.com authored
              Reviewed by Antti Koivisto.
      
              https://bugs.webkit.org/show_bug.cgi?id=25066
      
              When a <video> element gained a RenderLayer via opacity, reflection etc., the
              layer hierarchy was not correctly updated because RenderMedia skipped a level
              when asked for its children; it skipped m_controlsShadowRoot's renderer, which
              actually has a layer.
      
              Test: fast/layers/video-layer.html
      
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
              Don't manually call setParent() on the renderer. It will happen later
              as a result of addChild().
      
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::createControlsShadowRoot):
              Add m_controlsShadowRoot's renderer as a child.
      
              * rendering/RenderMedia.h:
              (WebCore::RenderMedia::children):
              Now maintain a RenderObjectChildList, m_children, and remove the unneeded
              removeChild() method. Make the two children() methods inline.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::moveLayers):
              Assert if moveLayers() is called with an oldParent that is not the
              layer's actual parent (which would have revealed this bug).
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42651 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      8a119a1a
    • ggaren@apple.com's avatar
      2009-04-18 Geoffrey Garen <ggaren@apple.com> · c915a7e4
      ggaren@apple.com authored
              Reviewed by Cameron Zwarich.
      
              Fixed a layout test failure, caused by my last check-in
              (fast/dom/script-element-gc.html).
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::isObservableThroughDOM):
              * html/HTMLScriptElement.h:
              (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements
              just like image elements: if a script element is loading, mark its JS
              wrapper, even if the element is not in the document.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42650 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c915a7e4
    • weinig@apple.com's avatar
      2009-04-18 Sam Weinig <sam@webkit.org> · 475ebe22
      weinig@apple.com authored
              Reviewed by Anders Carlsson.
      
              Fix for <rdar://problem/6801555> Tag JavaScript memory on SnowLeopard
      
              * interpreter/RegisterFile.h:
              (JSC::RegisterFile::RegisterFile):
              * jit/ExecutableAllocatorFixedVMPool.cpp:
              (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
              * jit/ExecutableAllocatorPosix.cpp:
              (JSC::ExecutablePool::systemAlloc):
              * runtime/Collector.cpp:
              (JSC::allocateBlock):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42649 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      475ebe22
    • dimich@chromium.org's avatar
      2009-04-18 Jian Li <jianli@chromium.org> · efd5bd44
      dimich@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              https://bugs.webkit.org/show_bug.cgi?id=25170
              Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings.
      
              * bindings/v8/WorkerContextExecutionProxy.cpp:
              (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
              * bindings/v8/WorkerContextExecutionProxy.h:
              * bindings/v8/custom/V8WorkerContextCustom.cpp: Added.
              * bindings/v8/custom/V8WorkerCustom.cpp: Added.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42648 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      efd5bd44
    • dimich@chromium.org's avatar
      2009-04-18 Jian Li <jianli@chromium.org> · 21f88447
      dimich@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167
              Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.
      
              * bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp.
              (WebCore::createHiddenDependency):
              (WebCore::removeHiddenDependency):
              * bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h.
              * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
              (WebCore::ACCESSOR_SETTER):
              (WebCore::CALLBACK_FUNC_DECL):
              * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
              (WebCore::ACCESSOR_SETTER):
              (WebCore::CALLBACK_FUNC_DECL):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42647 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      21f88447
    • ddkilzer@apple.com's avatar
      2009-04-18 Drew Wilson <amw@apple.com> · 80b63307
      ddkilzer@apple.com authored
              <rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32
      
              Reviewed by Dan Bernstein.
      
      JavaScriptCore:
      
              * wtf/unicode/icu/UnicodeIcu.h:
              (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): Added.
      
      WebCore:
      
              No test case since there is no change in behavior.
      
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::characterAfter): Now handles surrogate
              pairs correctly and returns a UChar32.
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::characterBefore): Now returns a UChar32.
              * editing/visible_units.cpp:
              (WebCore::endOfFirstWordBoundaryContext): Renamed
              firstNonComplexContextLineBreak() to this. Changed it to use the
              generic requiresContextForWordBoundary() instead of
              hasLineBreakingPropertyComplexContext().
              (WebCore::startOfLastWordBoundaryContext): Replaces
              lastNonComplexContextLineBreak(), but returns the offset of
              the character after the last character that does not require
              context for word breaking. Also changed to use
              requiresContextForWordBoundary().
              (WebCore::previousBoundary): Updated for the above changes in
              names and semantics, and changed to use
              requiresContextForWordBoundary().
              (WebCore::nextBoundary): Ditto.
              (WebCore::startWordBoundary): Ditto.
              (WebCore::endWordBoundary): Ditto.
              (WebCore::previousWordPositionBoundary): Ditto.
              (WebCore::nextWordPositionBoundary): Ditto.
              * platform/text/TextBoundaries.h:
              (WebCore::requiresContextForWordBoundary): Added.
              * platform/text/mac/TextBoundaries.mm:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42646 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      80b63307
    • ggaren@apple.com's avatar
      WebCore: · 81f12a8d
      ggaren@apple.com authored
      2009-04-18  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
              REGRESSION (r42569): Profiles cannot be selected in inspector profiler
              
              EventListeners are shared; RegisteredEventListeners are not. Therefore,
              when a node wrapper needs to invalidate the node's JS event listeners,
              it should invalidate its RegisteredEventListeners, not its EventListeners.
              Otherwise, it might invalidate an EventListener shared by another node.
      
              * dom/RegisteredEventListener.h:
              (WebCore::invalidateEventListeners): ditto
      
      LayoutTests:
      
      2009-04-18  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
              
              Test for <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
              REGRESSION (r42569): Profiles cannot be selected in inspector profiler
      
              * fast/events/event-listener-sharing-expected.txt: Added.
              * fast/events/event-listener-sharing.html: Added.
              * fast/events/resources/event-listener-sharing.js: Added.
              (gc):
              (clickHandler):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42645 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      81f12a8d
  3. 18 Apr, 2009 12 commits
    • weinig@apple.com's avatar
      2009-04-18 Sam Weinig <sam@webkit.org> · 5d6943d6
      weinig@apple.com authored
              Reviewed by Mark Rowe.
      
              Fix for <rdar://problem/5861045>
              A little bit of hardening for UString.
      
              * runtime/UString.cpp:
              (JSC::concatenate):
              (JSC::UString::append):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42644 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      5d6943d6
    • weinig@apple.com's avatar
      2009-04-18 Sam Weinig <sam@webkit.org> · ba738fb8
      weinig@apple.com authored
              Reviewed by Mark Rowe and Dan Bernstein.
      
              Fix for <rdar://problem/5861188>
              A little bit of hardening for Vector.
      
              * wtf/Vector.h:
              (WTF::Vector<T, inlineCapacity>::append):
              (WTF::Vector<T, inlineCapacity>::insert):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42643 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      ba738fb8
    • eric.carlson@apple.com's avatar
      2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com> · ccb48ace
      eric.carlson@apple.com authored
              Reviewed by Mark Rowe.
      
              <rdar://problem/6781295> video.buffered and video.seekable are not
              the same. 
      
              * WebCore.base.exp: Added wkQTMovieMaxTimeSeekable.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable.
      
              * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable.
              * platform/mac/WebCoreSystemInterface.mm: Ditto.
      
      2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
      
              Reviewed by Mark Rowe.
      
              <rdar://problem/6781295> video.buffered and video.seekable are not
              the same. 
      
              * WebCoreSupport/WebSystemInterface.m:
              (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.
      
      2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
      
              Reviewed by Mark Rowe.
      
              <rdar://problem/6781295> video.buffered and video.seekable are not
              the same. 
      
              * WebKitSystemInterface.h:
              * libWebKitSystemInterfaceLeopard.a:
              * libWebKitSystemInterfaceTiger.a:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42642 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      ccb48ace
    • eric.carlson@apple.com's avatar
      2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com> · 0961059e
      eric.carlson@apple.com authored
              Reviewed by Mark Rowe.
      
              <rdar://problem/6747241> work around QTKit no longer reaching
              QTMovieLoadStateComplete
      
              * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification.
              (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of
              using QTMovieLoadStateComplete to determine if a movie are fully loaded.
      
              * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
              * platform/mac/WebCoreSystemInterface.mm: Ditto.
      
      2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
      
              Reviewed by Mark Rowe.
      
              <rdar://problem/6747241> work around QTKit no longer reaching
              QTMovieLoadStateComplete
      
              * WebCoreSupport/WebSystemInterface.m:
              (InitWebCoreSystemInterface): Init the new WKSI exported symbol.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42641 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      0961059e
    • justin.garcia@apple.com's avatar
      2009-04-18 Justin Garcia <justin.garcia@apple.com> · 6cea9714
      justin.garcia@apple.com authored
              Updated test results for https://bugs.webkit.org/show_bug.cgi?id=25277
      
              * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.checksum:
              * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
              * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42640 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6cea9714
    • staikos@webkit.org's avatar
      2009-04-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> · be0cbb48
      staikos@webkit.org authored
              Reviewed by George Staikos.
      
              Make WML work again, most regressions test were failing.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42639 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      be0cbb48
    • barraclough@apple.com's avatar
      2009-04-17 Gavin Barraclough <barraclough@apple.com> · c63e1b9e
      barraclough@apple.com authored
              Reviewed by Geoff Garen.
      
              On x86_64, make all JIT-code allocations from a new heap, managed
              by FixedVMPoolAllocator.  This class allocates a single large (2Gb)
              pool of virtual memory from which all further allocations take place.
              Since all JIT code is allocated from this pool, we can continue to
              safely assume (as is already asserted) that it will always be possible
              to link any JIT-code to JIT-code jumps and calls.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
                  Add new file.
              * jit/ExecutableAllocatorFixedVMPool.cpp: Added.
              (JSC::FreeListEntry::FreeListEntry):
              (JSC::AVLTreeAbstractorForFreeList::get_less):
              (JSC::AVLTreeAbstractorForFreeList::set_less):
              (JSC::AVLTreeAbstractorForFreeList::get_greater):
              (JSC::AVLTreeAbstractorForFreeList::set_greater):
              (JSC::AVLTreeAbstractorForFreeList::get_balance_factor):
              (JSC::AVLTreeAbstractorForFreeList::set_balance_factor):
              (JSC::AVLTreeAbstractorForFreeList::null):
              (JSC::AVLTreeAbstractorForFreeList::compare_key_key):
              (JSC::AVLTreeAbstractorForFreeList::compare_key_node):
              (JSC::AVLTreeAbstractorForFreeList::compare_node_node):
              (JSC::sortFreeListEntriesByPointer):
              (JSC::sortCommonSizedAllocations):
              (JSC::FixedVMPoolAllocator::release):
              (JSC::FixedVMPoolAllocator::reuse):
              (JSC::FixedVMPoolAllocator::addToFreeList):
              (JSC::FixedVMPoolAllocator::coalesceFreeSpace):
              (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
              (JSC::FixedVMPoolAllocator::alloc):
              (JSC::FixedVMPoolAllocator::free):
              (JSC::ExecutableAllocator::intializePageSize):
              (JSC::ExecutablePool::systemAlloc):
              (JSC::ExecutablePool::systemRelease):
                  The new 2Gb heap class!
              * jit/ExecutableAllocatorPosix.cpp:
                  Disable use of this implementation on x86_64.
              * wtf/AVLTree.h:
                  Add missing variable initialization.
              (WTF::::remove):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42638 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c63e1b9e
    • justin.garcia@apple.com's avatar
      Accidently checked in outdated pixel results. · d8eb6ed6
      justin.garcia@apple.com authored
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42637 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      d8eb6ed6
    • oliver@apple.com's avatar
      Fix bug where the VM reentry cache would not correctly unroll the cached callframe · 6cb83af4
      oliver@apple.com authored
      Reviewed by Darin Adler
      
      Fix a check that was intended to mark a cached call as invalid when the callframe could
      not be constructed.  Instead it was just checking that there was a place to put the
      exception.  This eventually results in a non-recoverable RegisterFile starvation.
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42636 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      6cb83af4
    • justin.garcia@apple.com's avatar
      Forgot to uncomment some code before checking in. · 2c41941c
      justin.garcia@apple.com authored
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42635 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      2c41941c
    • justin.garcia@apple.com's avatar
      WebCore: · c87103ca
      justin.garcia@apple.com authored
      2009-04-17  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Dan Bernstein.
      
              https://bugs.webkit.org/show_bug.cgi?id=25277
              If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
              
              Also added code to handle a caret wider than one pixel.
              
              Added fast/inline/25277.html and fast/inline/25277-2.html
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset,
              so that a caret between two characters doesn't hang over one character more than the other.
              If there is no wrapping, the caret can leave its containing block, but not its root line box.
      
      LayoutTests:
      
      2009-04-17  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Dan Bernstein.
              
              https://bugs.webkit.org/show_bug.cgi?id=25277
              If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
      
              * fast/inline/25277-2.html: Added.
              * fast/inline/25277.html: Added.
              * platform/mac/fast/inline/25277-2-expected.checksum: Added.
              * platform/mac/fast/inline/25277-2-expected.png: Added.
              * platform/mac/fast/inline/25277-2-expected.txt: Added.
              * platform/mac/fast/inline/25277-expected.checksum: Added.
              * platform/mac/fast/inline/25277-expected.png: Added.
              * platform/mac/fast/inline/25277-expected.txt: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42634 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c87103ca
    • ggaren@apple.com's avatar
      2009-04-17 Geoffrey Garen <ggaren@apple.com> · dd767887
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
              Unbounded memory growth when churning elements with anonymous event handler functions
              
              Some refactoring of "inline" event listeners.
              
              Renames:
                  dispatchEventForType => dispatchEvent
                  setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
                  removeInlineEventListenerForType => clearInlineEventListener
                  setInlineEventListenerForType => setInlineEventListener
                  inlineEventListenerForType => getInlineEventListener
      
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::eventParameterName):
              (WebCore::JSLazyEventListener::JSLazyEventListener):
              (WebCore::createInlineEventListener):
              * bindings/js/JSLazyEventListener.h: Added two helper functions for
              creating "inline" event listeners. These replace Document::createEventListener,
              and abstract the creation of JS event listeners for DOM attributes out
              of the DOM. Removed legacy JSProtectedEventListener constructor code for
              adding the event listener's function to a map, since lazy event listeners
              don't have functions at construction time.
      
              * dom/Document.cpp:
              (WebCore::Document::setFocusedNode):
              * dom/Document.h:
              (WebCore::Document::isSVGDocument):
              * dom/Element.cpp:
              (WebCore::Element::setWindowInlineEventListener):
              * dom/Element.h: Updated for renames. Nixed Document::createEventListener,
              mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute
              to Element, for simplicity.
      
              * dom/InputElement.cpp:
              (WebCore::InputElement::setValueFromRenderer):
              * dom/Node.cpp:
              (WebCore::Node::dispatchFocusEvent):
              (WebCore::Node::dispatchBlurEvent):
              (WebCore::Node::dispatchEvent):
              (WebCore::Node::clearInlineEventListener):
              (WebCore::Node::setInlineEventListener):
              (WebCore::Node::getInlineEventListener):
              (WebCore::Node::onabort):
              (WebCore::Node::setOnabort):
              (WebCore::Node::etc.):
              * dom/Node.h: Updated for renames.
              
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.
              
              Updated these files for renames, and to use the new createInlineEventListener
              helper function:
      
              * html/HTMLBodyElement.cpp:
              (WebCore::HTMLBodyElement::parseMappedAttribute):
              * html/HTMLButtonElement.cpp:
              (WebCore::HTMLButtonElement::parseMappedAttribute):
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::parseMappedAttribute):
              * html/HTMLFormControlElement.cpp:
              (WebCore::HTMLFormControlElement::onChange):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::prepareSubmit):
              (WebCore::HTMLFormElement::reset):
              (WebCore::HTMLFormElement::parseMappedAttribute):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::parseMappedAttribute):
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::parseMappedAttribute):
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::parseMappedAttribute):
              * html/HTMLImageLoader.cpp:
              (WebCore::HTMLImageLoader::dispatchLoadEvent):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::parseMappedAttribute):
              (WebCore::HTMLInputElement::onSearch):
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::loadInternal):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::parseMappedAttribute):
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::parseMappedAttribute):
              (WebCore::HTMLScriptElement::dispatchLoadEvent):
              (WebCore::HTMLScriptElement::dispatchErrorEvent):
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::parseMappedAttribute):
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::parseMappedAttribute):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::notifyFinished):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::mouseButtonListener):
              * page/DOMWindow.cpp:
              * page/DOMWindow.h:
              (WebCore::DOMWindow::eventListeners):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::canMouseDownStartSelect):
              (WebCore::EventHandler::canMouseDragExtendSelect):
              (WebCore::EventHandler::sendScrollEvent):
              * page/Page.cpp:
              (WebCore::networkStateChanged):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::valueChanged):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::selectionChanged):
              * svg/SVGElement.cpp:
              (WebCore::SVGElement::parseMappedAttribute):
              * svg/SVGElementInstance.cpp:
              * svg/SVGImageLoader.cpp:
              (WebCore::SVGImageLoader::dispatchLoadEvent):
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::parseMappedAttribute):
              * svg/SVGScriptElement.cpp:
              (WebCore::SVGScriptElement::dispatchErrorEvent):
              * wml/WMLInputElement.cpp:
              (WebCore::WMLInputElement::defaultEventHandler):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42633 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      dd767887
  4. 17 Apr, 2009 7 commits
    • andersca@apple.com's avatar
      2009-04-17 Anders Carlsson <andersca@apple.com> · aa1a9633
      andersca@apple.com authored
              Reviewed by Dan Bernstein.
      
              <rdar://problem/6714488>
              REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content
              
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
              Send a keyDown event to the plug-in host.
              
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]):
              Call the plug-in instance proxy.
              
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
              Add this. Subclasses are required to override it.
              
              (-[WebBaseNetscapePluginView cut:]):
              (-[WebBaseNetscapePluginView copy:]):
              (-[WebBaseNetscapePluginView paste:]):
              (-[WebBaseNetscapePluginView selectAll:]):
              Call sendModifierEventWithKeyCode.
              
              * Plugins/WebNetscapePluginEventHandler.h:
              Add syntheticKeyDownWithCommandModifier.
              
              * Plugins/WebNetscapePluginEventHandlerCarbon.h:
              * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
              (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier):
              Send the synthetic event.
              
              * Plugins/WebNetscapePluginEventHandlerCocoa.h:
              * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
              (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier):
              Send the synthetic event.
              
              * Plugins/WebNetscapePluginView.mm:
              (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]):
              Call the event handler.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42632 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      aa1a9633
    • ddkilzer@apple.com's avatar
      Simplify FEATURE_DEFINES definition · 33755800
      ddkilzer@apple.com authored
              Reviewed by Darin Adler.
      
              This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
              variables to their own FeatureDefines.xcconfig file.  It also
              extracts a new ENABLE_GEOLOCATION variable so that
              FEATURE_DEFINES only needs to be defined once.
      
      JavaScriptCore:
      
              * Configurations/FeatureDefines.xcconfig: Added.
              * Configurations/JavaScriptCore.xcconfig: Removed definition of
              ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
              of FeatureDefines.xcconfig.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added
              FeatureDefines.xcconfig file.
      
      WebCore:
      
              * Configurations/FeatureDefines.xcconfig: Added.
              * Configurations/WebCore.xcconfig: Removed definition of
              ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
              of FeatureDefines.xcconfig.
              * WebCore.xcodeproj/project.pbxproj: Added
              FeatureDefines.xcconfig file.
              * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of
              command-line macro definitions, split on one-or-more spaces
              instead of a single space since the FEATURE_DEFINES macro may
              now contain more than one space between macros if some macros
              aren't defined.
      
      WebKit:
      
              * WebKit.xcodeproj/project.pbxproj: Added
              FeatureDefines.xcconfig file.
      
      WebKit/mac:
      
              * Configurations/FeatureDefines.xcconfig: Added.
              * Configurations/WebKit.xcconfig: Removed definition of
              ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
              of FeatureDefines.xcconfig.
      
      WebKitTools:
      
              * Scripts/build-webkit: Realphabetized code related to enabling
              Geolation features for WebKit.  Also set ENABLE_GEOLOCATION
              variable for xcodebuild.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42631 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      33755800
    • adachan@apple.com's avatar
      <rdar://problem/6803905> Lots of ASSERTs firing when trying to clear history · f7f2d9a1
      adachan@apple.com authored
              Reviewed by Steve Falkenburg.
      
              * WebHistory.cpp:
              (WebHistory::data): Return null if there are no history items.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42630 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      f7f2d9a1
    • simon.fraser@apple.com's avatar
      2009-04-17 Simon Fraser <simon.fraser@apple.com> · c3454200
      simon.fraser@apple.com authored
              Reviewed by Steve Falkenburg
      
              Fix the link for setting the Platform SDK paths in the Windows instructions.
      
              * building/build.html:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42629 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c3454200
    • beidson@apple.com's avatar
      WebCore: · b4f3e064
      beidson@apple.com authored
      2009-04-17  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Mark Rowe
      
              <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.
      
              * platform/network/mac/ResourceHandleMac.mm:
              (WebCore::ResourceHandle::willLoadFromCache):
      
      LayoutTests:
      
      2009-04-17  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Mark Rowe
      
              <rdar://problem/6778137> - Disable post-goback-repost-policy.html until the networking layer allows it to be useful.
      
              * http/tests/navigation/post-goback-repost-policy.html: Removed.
              * http/tests/navigation/post-goback-repost-policy.html-disabled: Copied from http/tests/navigation/post-goback-repost-policy.html.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42628 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b4f3e064
    • darin@apple.com's avatar
      2009-04-17 Darin Adler <darin@apple.com> · b01cb63d
      darin@apple.com authored
              Reviewed by Timothy Hatcher.
      
              Added sudden termination functions that can be called without involving
              the page or client.
      
              * GNUmakefile.am: Added SuddenTermination.h.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
      
              * platform/SuddenTermination.h: Added.
              * platform/mac/SuddenTermination.mm: Added.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42627 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b01cb63d
    • eric@webkit.org's avatar
      Reviewed by Simon Fraser. · a9dd5bd9
      eric@webkit.org authored
              Move more code into RenderSVGModelObject
      
              needsLayer() already returns false from RenderSVGModelObject
              lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.
      
              I also added comments to explain how focus rings work (now that I understand)
              I got rid of two more uses of m_absoluteBounds (nearly dead!)
      
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              (WebCore::RenderSVGContainer::addFocusRingRects):
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGModelObject.cpp:
              (WebCore::RenderSVGModelObject::absoluteRects):
              (WebCore::RenderSVGModelObject::absoluteQuads):
              * rendering/RenderSVGModelObject.h:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42626 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      a9dd5bd9