1. 17 Oct, 2008 20 commits
    • kevino@webkit.org's avatar
      Reviewed by Kevin Ollivier · 75d2aeee
      kevino@webkit.org authored
      Fix wx port's scrollbar and drawing handling after recent changes.
              
      https://bugs.webkit.org/show_bug.cgi?id=21720
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75d2aeee
    • kevino@webkit.org's avatar
      wx build fix. EAppearance -> ControlPart. · c81374f7
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c81374f7
    • pam@chromium.org's avatar
      2008-10-17 Pamela Greene <pam@chromium.org> · 9e076f28
      pam@chromium.org authored
              Add a number of new tests.
              See https://bugs.webkit.org/show_bug.cgi?id=21407
      
              Reviewed by Alexey Proskuryakov.
      
              * fast/css/border-height.html: Added.
              * fast/dom/Window/orphaned-frame-access-expected.txt: Added.
              * fast/dom/Window/orphaned-frame-access.html: Added.
              * fast/forms/image-border.html: Added.
              * fast/forms/input-field-text-truncated.html: Added.
              * fast/forms/input-type-text-min-width.html: Added.
              * fast/forms/textarea-scrollbar-height-expected.txt: Added.
              * fast/forms/textarea-scrollbar-height.html: Added.
              * fast/forms/textarea-width.html: Added.
              * fast/overflow/overflow_hidden.html: Added.
              * fast/parser/resources/xml-declaration-missing-ending-mark.xml: Added.
              * fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
              * fast/parser/xml-declaration-missing-ending-mark.html: Added.
              * fast/text/international/hindi-spacing.html: Added.
              * http/tests/misc/crash-multiple-family-fontface-expected.txt: Added.
              * http/tests/misc/crash-multiple-family-fontface.html: Added.
              * platform/mac/fast/css/border-height-expected.checksum: Added.
              * platform/mac/fast/css/border-height-expected.png: Added.
              * platform/mac/fast/css/border-height-expected.txt: Added.
              * platform/mac/fast/forms/image-border-expected.checksum: Added.
              * platform/mac/fast/forms/image-border-expected.png: Added.
              * platform/mac/fast/forms/image-border-expected.txt: Added.
              * platform/mac/fast/forms/input-field-text-truncated-expected.checksum: Added.
              * platform/mac/fast/forms/input-field-text-truncated-expected.png: Added.
              * platform/mac/fast/forms/input-field-text-truncated-expected.txt: Added.
              * platform/mac/fast/forms/input-type-text-min-width-expected.checksum: Added.
              * platform/mac/fast/forms/input-type-text-min-width-expected.png: Added.
              * platform/mac/fast/forms/input-type-text-min-width-expected.txt: Added.
              * platform/mac/fast/forms/textarea-width-expected.checksum: Added.
              * platform/mac/fast/forms/textarea-width-expected.png: Added.
              * platform/mac/fast/forms/textarea-width-expected.txt: Added.
              * platform/mac/fast/overflow/overflow_hidden-expected.checksum: Added.
              * platform/mac/fast/overflow/overflow_hidden-expected.png: Added.
              * platform/mac/fast/overflow/overflow_hidden-expected.txt: Added.
              * platform/mac/fast/text/international/hindi-spacing-expected.checksum: Added.
              * platform/mac/fast/text/international/hindi-spacing-expected.png: Added.
              * platform/mac/fast/text/international/hindi-spacing-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e076f28
    • mjs@apple.com's avatar
      2008-10-17 Maciej Stachowiak <mjs@apple.com> · 6e72e895
      mjs@apple.com authored
              Reviewed by Cameron Zwarich
              
              - don't bother to do arguments tearoff when it will have no effect
      
              ~1% on v8 raytrace
              
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::emitReturn):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e72e895
    • hyatt@apple.com's avatar
      2008-10-17 David Hyatt <hyatt@apple.com> · 5cdc5e04
      hyatt@apple.com authored
              Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
              values from the enum since they are handled by ScrollbarTheme instead.
      
              Reviewed by Tim Hatcher
      
              * css/CSSPrimitiveValueMappings.h:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
              (WebCore::CSSPrimitiveValue::operator ControlPart):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::adjustRenderStyle):
              * css/CSSValueKeywords.in:
              * platform/gtk/RenderThemeGtk.cpp:
              (WebCore::supportsFocus):
              (WebCore::RenderThemeGtk::baselinePosition):
              (WebCore::setToggleSize):
              (WebCore::RenderThemeGtk::setCheckboxSize):
              (WebCore::RenderThemeGtk::setRadioSize):
              (WebCore::RenderThemeGtk::adjustButtonStyle):
              * platform/qt/RenderThemeQt.cpp:
              (WebCore::RenderThemeQt::baselinePosition):
              (WebCore::RenderThemeQt::controlSupportsTints):
              (WebCore::RenderThemeQt::adjustRepaintRect):
              (WebCore::RenderThemeQt::isControlStyled):
              (WebCore::computeSizeBasedOnStyle):
              (WebCore::RenderThemeQt::paintButton):
              (WebCore::RenderThemeQt::paintTextField):
              (WebCore::RenderThemeQt::paintMenuList):
              (WebCore::RenderThemeQt::supportsFocus):
              (WebCore::RenderThemeQt::applyTheme):
              (WebCore::RenderThemeQt::adjustSliderThumbSize):
              * platform/qt/RenderThemeQt.h:
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::createThumbStyle):
              (WebCore::RenderSlider::layout):
              (WebCore::RenderSlider::setValueForPosition):
              (WebCore::RenderSlider::setPositionFromValue):
              (WebCore::RenderSlider::positionForOffset):
              (WebCore::RenderSlider::currentPosition):
              (WebCore::RenderSlider::setCurrentPosition):
              (WebCore::RenderSlider::trackSize):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::adjustStyle):
              (WebCore::RenderTheme::paint):
              (WebCore::RenderTheme::paintBorderOnly):
              (WebCore::RenderTheme::paintDecorations):
              (WebCore::RenderTheme::isControlContainer):
              (WebCore::RenderTheme::isControlStyled):
              (WebCore::RenderTheme::supportsFocusRing):
              (WebCore::RenderTheme::isDefault):
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::isControlStyled):
              (WebCore::RenderThemeMac::adjustRepaintRect):
              (WebCore::RenderThemeMac::baselinePosition):
              (WebCore::RenderThemeMac::controlSupportsTints):
              (WebCore::RenderThemeMac::adjustButtonStyle):
              (WebCore::RenderThemeMac::setButtonCellState):
              (WebCore::RenderThemeMac::popupInternalPaddingLeft):
              (WebCore::RenderThemeMac::popupInternalPaddingRight):
              (WebCore::RenderThemeMac::popupInternalPaddingTop):
              (WebCore::RenderThemeMac::popupInternalPaddingBottom):
              (WebCore::RenderThemeMac::paintSliderTrack):
              (WebCore::RenderThemeMac::paintSliderThumb):
              (WebCore::RenderThemeMac::adjustSliderThumbSize):
              * rendering/RenderThemeSafari.cpp:
              (WebCore::RenderThemeSafari::isControlStyled):
              (WebCore::RenderThemeSafari::adjustRepaintRect):
              (WebCore::RenderThemeSafari::baselinePosition):
              (WebCore::RenderThemeSafari::controlSupportsTints):
              (WebCore::RenderThemeSafari::adjustButtonStyle):
              (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
              (WebCore::RenderThemeSafari::popupInternalPaddingRight):
              (WebCore::RenderThemeSafari::popupInternalPaddingTop):
              (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
              (WebCore::RenderThemeSafari::paintSliderTrack):
              (WebCore::RenderThemeSafari::adjustSliderThumbSize):
              * rendering/RenderThemeWin.cpp:
              (WebCore::RenderThemeWin::supportsFocus):
              (WebCore::RenderThemeWin::determineClassicState):
              (WebCore::RenderThemeWin::getClassicThemeData):
              (WebCore::RenderThemeWin::getThemeData):
              (WebCore::drawControl):
              (WebCore::RenderThemeWin::paintSliderTrack):
              (WebCore::RenderThemeWin::adjustSliderThumbSize):
              * rendering/RenderThemeWin.h:
              * rendering/style/RenderStyle.h:
              (WebCore::InheritedFlags::hasAppearance):
              (WebCore::InheritedFlags::appearance):
              (WebCore::InheritedFlags::setAppearance):
              (WebCore::InheritedFlags::initialAppearance):
              * rendering/style/RenderStyleConstants.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cdc5e04
    • hyatt@apple.com's avatar
      2008-10-17 David Hyatt <hyatt@apple.com> · 084394f0
      hyatt@apple.com authored
              Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
              file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
      
              Reviewed by Tim Hatcher
      
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * config.h:
              * platform/Theme.h: Added.
              (WebCore::Theme::Theme):
              (WebCore::Theme::~Theme):
              (WebCore::Theme::baselinePositionAdjustment):
              (WebCore::Theme::controlHasInactiveAppearance):
              (WebCore::Theme::controlsCanHaveInactiveAppearance):
              (WebCore::Theme::controlsCanHaveHoveredAppearance):
              (WebCore::Theme::controlDrawsBorder):
              (WebCore::Theme::controlDrawsBackground):
              (WebCore::Theme::controlDrawsFocusOutline):
              (WebCore::Theme::selectionColor):
              (WebCore::Theme::textSearchHighlightColor):
              (WebCore::Theme::systemColor):
              (WebCore::Theme::systemFont):
              (WebCore::Theme::caretBlinkFrequency):
              (WebCore::Theme::themeChanged):
              (WebCore::Theme::controlSize):
              (WebCore::Theme::controlFont):
              (WebCore::Theme::controlPadding):
              (WebCore::Theme::controlInternalPadding):
              (WebCore::Theme::controlBorder):
              (WebCore::Theme::controlBorderRadius):
              (WebCore::Theme::paint):
              (WebCore::Theme::inflateControlPaintRect):
              * platform/ThemeTypes.h: Added.
              (WebCore::):
              (WebCore::ControlBox::ControlBox):
              (WebCore::ControlBox::top):
              (WebCore::ControlBox::right):
              (WebCore::ControlBox::bottom):
              (WebCore::ControlBox::left):
              * platform/mac/ThemeMac.h: Added.
              (WebCore::ThemeMac::ThemeMac):
              (WebCore::ThemeMac::~ThemeMac):
              * platform/mac/ThemeMac.mm: Added.
              (WebCore::platformTheme):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::RenderTheme):
              * rendering/RenderTheme.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      084394f0
    • kmccullough@apple.com's avatar
      2008-10-16 Kevin McCullough <kmccullough@apple.com> · 39622594
      kmccullough@apple.com authored
              Reviewed by Steve Falkenburg.
      
              <rdar://problem/6292718>
              Implement a standard way to get the UA given an application name.
      
              * Interfaces/IWebViewPrivate.idl:
              * WebView.cpp:
              (WebView::standardUserAgentWithApplicationName):
              * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39622594
    • jmalonzo@webkit.org's avatar
      2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk> · 38edc137
      jmalonzo@webkit.org authored
              Reviewed by Sam Weinig. Landed by Jan Alonzo.
      
              https://bugs.webkit.org/show_bug.cgi?id=21603
              [GTK] Minor fixes to GOwnPtr
      
              * wtf/GOwnPtr.cpp:
              (WTF::GError):
              (WTF::GList):
              (WTF::GCond):
              (WTF::GMutex):
              (WTF::GPatternSpec):
              (WTF::GDir):
              * wtf/GOwnPtr.h:
              (WTF::freeOwnedGPtr):
              (WTF::GOwnPtr::~GOwnPtr):
              (WTF::GOwnPtr::outPtr):
              (WTF::GOwnPtr::set):
              (WTF::GOwnPtr::clear):
              * wtf/Threading.h:
      
      2008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
      
              Reviewed by Sam Weinig. Landed by Jan Alonzo.
      
              https://bugs.webkit.org/show_bug.cgi?id=21603
              [GTK] Minor fixes to GOwnPtr
      
              * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::mediaPlayerPrivateErrorCallback):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38edc137
    • timothy@apple.com's avatar
      Recompile the JavaScript functions when removing any listener, so functions that are · 22edf579
      timothy@apple.com authored
              not being debugged can resume normal speed again.
      
              https://bugs.webkit.org/show_bug.cgi?id=21715
      
              Reviewed by Geoffrey Garen.
      
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
              was firing when closing the window and having the recompile fire after. This was an
              overzelious assert now.
              * inspector/JavaScriptDebugServer.cpp:
              (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
              (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22edf579
    • mitz@apple.com's avatar
      Reviewed by Sam Weinig. · 3bb925d9
      mitz@apple.com authored
              - export WTF::initializeOnMainThread()
      
              * WebKit.vcproj/WebKit.def:
              * WebKit.vcproj/WebKit_debug.def:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bb925d9
    • pam@chromium.org's avatar
      2008-10-17 Pamela Greene <pam@chromium.org> · 6c8e4160
      pam@chromium.org authored
              Fix potential race by running two passes of test to defer notifyDone.
              See https://bugs.webkit.org/show_bug.cgi?id=21576
      
              Reviewed by Timothy Hatcher.
      
              * fast/history/resources/history_reload_window.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c8e4160
    • timothy@apple.com's avatar
      Fixes a regression where starting a debugging session in · 4bfc7338
      timothy@apple.com authored
              another Web Inspector window would not show any scripts.
              Also only attach the debugger to only the required Pages.
      
              https://bugs.webkit.org/show_bug.cgi?id=21708
      
              Reviewed by Darin Adler.
      
              * inspector/JavaScriptDebugServer.cpp:
              (WebCore::JavaScriptDebugServer::addListener): Add an assert and
              remove the call to willAddFirstListener(). Add a call to
              didAddListener().
              (WebCore::JavaScriptDebugServer::removeListener): Add an assert
              and call to didRemoveListener().
              (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
              if there is a listener interested in the new Page.
              (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
              Use hasGlobalListeners() instead of isEmpty().
              (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
              (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
              debugger to the page if non-null, or all pages if page is null.
              (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
              the debugger only if there are no interested listeners.
              (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
              call to Page::setDebuggerForAllPages().
              * inspector/JavaScriptDebugServer.h:
              (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bfc7338
    • brettw@chromium.org's avatar
      Reviewed by Timothy Hatcher. · af9954f2
      brettw@chromium.org authored
      Have ImageDocument generate its own filename for the title of images
      without relying on the suggested filename from the network layer, which
      may be nonexistant or not relevant.
      https://bugs.webkit.org/show_bug.cgi?id=21565
      
      * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::finish):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af9954f2
    • ap@webkit.org's avatar
      Non-Mac build fix. · 6959ea0d
      ap@webkit.org authored
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCoreSources.bkl:
              Added ActiveDOMObject to the build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6959ea0d
    • mjs@apple.com's avatar
      2008-10-17 Maciej Stachowiak <mjs@apple.com> · dc8a30cc
      mjs@apple.com authored
              Reviewed by Cameron Zwarich.
              
              - speed up transitions that resize the property storage a fair bit
              
              ~3% speedup on v8 RayTrace benchmark, ~1% on DeltaBlue
      
              * VM/CTI.cpp:
              (JSC::resizePropertyStorage): renamed from transitionObject, and reduced to just resize
              the object's property storage with one inline call.
              (JSC::CTI::privateCompilePutByIdTransition): Use a separate function for property storage
              resize, but still do all the rest of the work in assembly in that case, and pass the known
              compile-time constants of old and new size rather than structureIDs, saving a bunch of
              redundant memory access.
              * kjs/JSObject.cpp:
              (JSC::JSObject::allocatePropertyStorage): Just call the inline version.
              * kjs/JSObject.h:
              (JSC::JSObject::allocatePropertyStorageInline): Inline version of allocatePropertyStorage
              * masm/X86Assembler.h:
              (JSC::X86Assembler::):
              (JSC::X86Assembler::pushl_i32): Add code to assmeble push of a constant; code originally by Cameron Zwarich.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc8a30cc
    • cwzwarich@webkit.org's avatar
      2008-10-17 Cameron Zwarich <zwarich@apple.com> · 6e0fdcb6
      cwzwarich@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Remove some C style casts.
      
              * masm/X86Assembler.h:
              (JSC::JITCodeBuffer::putIntUnchecked):
              (JSC::X86Assembler::link):
              (JSC::X86Assembler::linkAbsoluteAddress):
              (JSC::X86Assembler::getRelocatedAddress):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e0fdcb6
    • cwzwarich@webkit.org's avatar
      2008-10-17 Cameron Zwarich <zwarich@apple.com> · 625bf3d8
      cwzwarich@webkit.org authored
              Rubber-stamped by Maciej Stachowiak.
      
              Remove some C style casts.
      
              * VM/CTI.cpp:
              (JSC::CTI::patchGetByIdSelf):
              (JSC::CTI::patchPutByIdReplace):
              * VM/Machine.cpp:
              (JSC::Machine::tryCTICachePutByID):
              (JSC::Machine::tryCTICacheGetByID):
              (JSC::Machine::cti_op_put_by_id):
              (JSC::Machine::cti_op_put_by_id_fail):
              (JSC::Machine::cti_op_get_by_id):
              (JSC::Machine::cti_op_get_by_id_fail):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      625bf3d8
    • mjs@apple.com's avatar
      2008-10-17 Maciej Stachowiak <mjs@apple.com> · 0d68a330
      mjs@apple.com authored
              Reviewed by Cameron Zwarich.
              
              - Avoid restoring the caller's 'r' value in op_ret
              https://bugs.webkit.org/show_bug.cgi?id=21319
      
              This patch stops writing the call frame at call and return points;
              instead it does so immediately before any CTI call.
              
              0.5% speedup or so on the v8 benchmark
                     
              * VM/CTI.cpp:
              (JSC::CTI::emitCTICall):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::emitSlowScriptCheck):
              (JSC::CTI::compileBinaryArithOpSlowCase):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileSlowCases):
              (JSC::CTI::privateCompile):
              * VM/CTI.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d68a330
    • ap@webkit.org's avatar
      Reviewed by Sam Weinig. · 2114abd5
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21642
              Abstract out active object tracking
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markActiveObjectsForDocument):
              * dom/ActiveDOMObject.cpp: Added.
              (WebCore::ActiveDOMObject::ActiveDOMObject):
              (WebCore::ActiveDOMObject::~ActiveDOMObject):
              (WebCore::ActiveDOMObject::contextDestroyed):
              (WebCore::ActiveDOMObject::stop):
              * dom/ActiveDOMObject.h: Added.
              (WebCore::ActiveDOMObject::document):
              (WebCore::ActiveDOMObject::hasPendingActivity):
              (WebCore::ActiveDOMObject::setPendingActivity):
              (WebCore::ActiveDOMObject::unsetPendingActivity):
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              (WebCore::Document::stopActiveDOMObjects):
              (WebCore::Document::createdActiveDOMObject):
              (WebCore::Document::destroyedActiveDOMObject):
              * dom/Document.h:
              (WebCore::Document::activeDOMObjects):
              * dom/MessagePort.cpp:
              (WebCore::MessagePort::contextDestroyed):
              * dom/MessagePort.h:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::stopLoading):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::XMLHttpRequest):
              (WebCore::XMLHttpRequest::~XMLHttpRequest):
              (WebCore::XMLHttpRequest::associatedFrame):
              (WebCore::XMLHttpRequest::responseXML):
              (WebCore::XMLHttpRequest::callReadyStateChangeListener):
              (WebCore::XMLHttpRequest::initSend):
              (WebCore::XMLHttpRequest::send):
              (WebCore::XMLHttpRequest::createRequest):
              (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
              (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
              (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
              (WebCore::XMLHttpRequest::loadRequestSynchronously):
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
              (WebCore::XMLHttpRequest::dropProtection):
              (WebCore::XMLHttpRequest::setRequestHeader):
              (WebCore::XMLHttpRequest::processSyncLoadResults):
              (WebCore::XMLHttpRequest::didFinishLoading):
              (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
              (WebCore::XMLHttpRequest::willSendRequest):
              (WebCore::XMLHttpRequest::accessControlCheck):
              (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
              (WebCore::XMLHttpRequest::stop):
              (WebCore::XMLHttpRequest::contextDestroyed):
              * xml/XMLHttpRequest.h:
              Move activity tracking to a new ActiveDOMObject class.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2114abd5
    • cwzwarich@webkit.org's avatar
      2008-10-17 Cameron Zwarich <zwarich@apple.com> · efaea23b
      cwzwarich@webkit.org authored
              Reviewed by Sam Weinig.
      
              Make WREC require CTI because it won't actually compile otherwise.
      
              * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efaea23b
  2. 16 Oct, 2008 18 commits
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · 2ac7a457
      mjs@apple.com authored
              Reviewed by Geoff Garen.
      
              - fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              This time there is no performance regression; we can avoid having
              to use the fastcall calling convention for CTI functions by using
              varargs to prevent the compiler from moving things around on the
              stack.
              
              * Configurations/DebugRelease.xcconfig:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * VM/CTI.cpp:
              * VM/Machine.h:
              * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ac7a457
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · e470558e
      mjs@apple.com authored
              Reviewed by Oliver Hunt.
      
              - fix for REGRESSION: r37631 causing crashes on buildbot
              https://bugs.webkit.org/show_bug.cgi?id=21682
              
              * kjs/collector.cpp:
              (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e470558e
    • weinig@apple.com's avatar
      2008-10-16 Sam Weinig <sam@webkit.org> · b420579a
      weinig@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
              Don't create intermediate StructureIDs for builtin objects
      
              First step in reduce number of StructureIDs created when initializing the
              JSGlobalObject.
      
              - In order to avoid creating the intermediate StructureIDs use the new putDirectWithoutTransition
                and putDirectFunctionWithoutTransition to add properties to JSObjects without transitioning
                the StructureID.  This patch just implements this strategy for ObjectPrototype but alone
                reduces the number of StructureIDs create for about:blank by 10, from 142 to 132.
      
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * kjs/JSObject.cpp:
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              * kjs/JSObject.h:
              (JSC::JSObject::putDirectWithoutTransition):
              * kjs/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              * kjs/ObjectPrototype.h:
              * kjs/StructureID.cpp:
              (JSC::StructureID::addPropertyWithoutTransition):
              * kjs/StructureID.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b420579a
    • hyatt@apple.com's avatar
      2008-10-16 David Hyatt <hyatt@apple.com> · d4925584
      hyatt@apple.com authored
              Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
              they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
              did though.  This patch removes the renderer argument and the Element subclass shadow implementation
              so that confusion like this can't occur again.
      
              Reviewed by Oliver Hunt
      
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Node.cpp:
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::styleForRenderer):
              * dom/Node.h:
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::attach):
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::attach):
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * svg/SVGFEDiffuseLightingElement.cpp:
              (WebCore::SVGFEDiffuseLightingElement::build):
              * svg/SVGFEFloodElement.cpp:
              (WebCore::SVGFEFloodElement::build):
              * svg/SVGFESpecularLightingElement.cpp:
              (WebCore::SVGFESpecularLightingElement::build):
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::buildStops):
              * svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::attachShadowTree):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4925584
    • hyatt@apple.com's avatar
      79e4dd90
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 305b6974
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      305b6974
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · f31fdfa5
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f31fdfa5
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 18be176b
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18be176b
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 71e8ba9d
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71e8ba9d
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 03b6bf04
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03b6bf04
    • hyatt@apple.com's avatar
      2008-10-16 David Hyatt <hyatt@apple.com> · dec0cbf2
      hyatt@apple.com authored
              https://bugs.webkit.org/attachment.cgi?bugid=21647
      
              Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
              out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
              all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
              to use the arena.
      
              At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
              as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
              arena also limited the usefulness.
      
              Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
              mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
              manual ref/deref far outweigh keeping them in the arena.
      
              Reviewed by Adam Roben
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              (WebCore::CSSStyleSelector::~CSSStyleSelector):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
              so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
      
              (WebCore::CSSStyleSelector::updateFont):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapFillSize):
              (WebCore::CSSStyleSelector::mapFillXPosition):
              (WebCore::CSSStyleSelector::mapFillYPosition):
              * css/CSSStyleSelector.h:
              (WebCore::CSSStyleSelector::style):
              * dom/Document.cpp:
              (WebCore::Document::recalcStyle):
              * dom/Element.cpp:
              (WebCore::Element::styleForRenderer):
              (WebCore::Element::recalcStyle):
              (WebCore::Element::computedStyle):
              * dom/Element.h:
              * dom/ElementRareData.h:
              (WebCore::ElementRareData::ElementRareData):
              (WebCore::ElementRareData::resetComputedStyle):
              * dom/Node.cpp:
              (WebCore::Node::diff):
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::styleForRenderer):
              (WebCore::Node::setRenderStyle):
              * dom/Node.h:
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::setFont):
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::attach):
              (WebCore::HTMLOptGroupElement::detach):
              (WebCore::HTMLOptGroupElement::setRenderStyle):
              (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::attach):
              (WebCore::HTMLOptionElement::detach):
              (WebCore::HTMLOptionElement::setRenderStyle):
              (WebCore::HTMLOptionElement::nonRendererRenderStyle):
              * html/HTMLOptionElement.h:
              * page/animation/AnimationBase.h:
              (WebCore::AnimationBase::animate):
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationController::updateAnimations):
              * page/animation/AnimationController.h:
              * page/animation/CompositeAnimation.cpp:
              (WebCore::CompositeAnimationPrivate::updateTransitions):
              (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
              (WebCore::CompositeAnimationPrivate::animate):
              (WebCore::CompositeAnimation::animate):
              * page/animation/CompositeAnimation.h:
              * page/animation/ImplicitAnimation.cpp:
              (WebCore::ImplicitAnimation::ImplicitAnimation):
              (WebCore::ImplicitAnimation::~ImplicitAnimation):
              (WebCore::ImplicitAnimation::animate):
              (WebCore::ImplicitAnimation::reset):
              (WebCore::ImplicitAnimation::isTargetPropertyEqual):
              (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
              * page/animation/ImplicitAnimation.h:
              (WebCore::ImplicitAnimation::create):
              * page/animation/KeyframeAnimation.cpp:
              (WebCore::KeyframeAnimation::KeyframeAnimation):
              (WebCore::KeyframeAnimation::~KeyframeAnimation):
              (WebCore::KeyframeAnimation::animate):
              (WebCore::KeyframeAnimation::validateTransformFunctionList):
              * page/animation/KeyframeAnimation.h:
              (WebCore::KeyframeAnimation::create):
              (WebCore::KeyframeAnimation::unanimatedStyle):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
              (WebCore::MediaControlInputElement::MediaControlInputElement):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleDidChange):
              (WebCore::RenderBlock::updateFirstLetter):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addChild):
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::updateFromElement):
              (WebCore::RenderFileUploadControl::createButtonStyle):
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::createAnonymousFlow):
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::addChildToFlow):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              (WebCore::RenderLayer::updateReflectionStyle):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::styleDidChange):
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::createPanel):
              (WebCore::RenderMedia::createTimeDisplay):
              (WebCore::RenderMedia::changeOpacity):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionBackgroundColor):
              (WebCore::RenderObject::selectionForegroundColor):
              (WebCore::RenderObject::createAnonymousBlock):
              (WebCore::RenderObject::setAnimatableStyle):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::setStyleInternal):
              (WebCore::RenderObject::arenaDelete):
              (WebCore::RenderObject::firstLineStyle):
              (WebCore::RenderObject::getPseudoStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::style):
              * rendering/RenderSVGBlock.cpp:
              (WebCore::RenderSVGBlock::setStyle):
              * rendering/RenderSVGBlock.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::styleDidChange):
              (WebCore::RenderSlider::createThumbStyle):
              (WebCore::RenderSlider::updateFromElement):
              * rendering/RenderSlider.h:
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::styleDidChange):
              (WebCore::RenderTextControl::createInnerBlockStyle):
              (WebCore::RenderTextControl::createInnerTextStyle):
              (WebCore::RenderTextControl::createResultsButtonStyle):
              (WebCore::RenderTextControl::createCancelButtonStyle):
              (WebCore::RenderTextControl::createSubtreeIfNeeded):
              (WebCore::RenderTextControl::updatePlaceholderVisibility):
              * rendering/RenderTextControl.h:
              * rendering/TextControlInnerElements.cpp:
              (WebCore::TextControlInnerElement::attachInnerElement):
              * rendering/TextControlInnerElements.h:
              * rendering/style/KeyframeList.cpp:
              (WebCore::KeyframeList::clear):
              (WebCore::KeyframeList::operator==):
              (WebCore::KeyframeList::insert):
              * rendering/style/KeyframeList.h:
              (WebCore::KeyframeValue::KeyframeValue):
              (WebCore::KeyframeValue::~KeyframeValue):
              (WebCore::KeyframeValue::key):
              (WebCore::KeyframeValue::style):
              * rendering/style/RenderStyle.cpp:
              (WebCore::defaultStyle):
              (WebCore::RenderStyle::create):
              (WebCore::RenderStyle::createDefaultStyle):
              (WebCore::RenderStyle::clone):
              (WebCore::RenderStyle::RenderStyle):
              (WebCore::RenderStyle::getCachedPseudoStyle):
              (WebCore::RenderStyle::addCachedPseudoStyle):
              * rendering/style/RenderStyle.h:
              (WebCore::):
              (WebCore::InheritedFlags::operator!=):
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::buildStops):
              * svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::resolveStyle):
              * svg/SVGStyledElement.h:
              * svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::recalcStyle):
              (WebCore::SVGUseElement::attachShadowTree):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dec0cbf2
    • andersca@apple.com's avatar
      2008-10-16 Kenneth Russell <kenneth.russell@sun.com> · 2c7cec41
      andersca@apple.com authored
              Reviewed and landed by Anders Carlsson.
      
              https://bugs.webkit.org/show_bug.cgi?id=21587
              NPN_PluginThreadAsyncCall does not work properly
              
              * plugins/PluginMainThreadScheduler.cpp:
              (WebCore::PluginMainThreadScheduler::dispatchCalls):
              Make sure to set m_callPending to false once the queue has been cleared.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c7cec41
    • jmalonzo@webkit.org's avatar
      2008-10-16 Jan Michael Alonzo <jmalonzo@webkit.org> · ae35121d
      jmalonzo@webkit.org authored
              Gtk build fix. Not reviewed.
      
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setSmartInsertDeleteEnabled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae35121d
    • jchaffraix@webkit.org's avatar
      2008-10-16 Julien Chaffraix <jchaffraix@pleyo.com> · 34c03886
      jchaffraix@webkit.org authored
              Rubber-stamped by Alexey Proskuryakov.
      
              Remove duplicated code in this test.
      
              * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34c03886
    • darin@apple.com's avatar
      WebKitTools: · 2e940225
      darin@apple.com authored
      2008-10-15  Glenn Wilson  <gwilson@google.com>
      
              Added new method to allow tests to disable smart editing in the course of a test.
              This is a possible solution to bug .20655
      
              Reviewed by Tim Hatcher.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (setSmartInsertDeleteEnabledCallback): new method
              (LayoutTestController::staticFunctions): added new method to static list of callbacks
              * DumpRenderTree/LayoutTestController.h: added signature of new method
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetWebViewToConsistentStateBeforeTesting): added state resetting
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setSmartInsertDeleteEnabled): added new method
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (resetWebViewToConsistentStateBeforeTesting): added state resetting
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setSmartInsertDeleteEnabled): added new method
      
      LayoutTests:
      
      2008-10-15  Glenn Wilson  <gwilson@google.com>
      
              Added tests to verify that smart editing can be disabled for some tests.
      
              Reviewed by Tim Hatcher.
      
              * editing/deleting/smart-editing-disabled-expected.txt: Added.
              * editing/deleting/smart-editing-disabled.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e940225
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · 389fb965
      mjs@apple.com authored
              Reviewed by Cameron Zwarich.
              
              - fix for: REGRESSION: over 100 StructureIDs leak loading about:blank (result of fix for bug 21633)
              
              Apparent slight progression (< 0.5%) on v8 benchmarks and SunSpider.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::~StructureID): Don't deref this object's parent's pointer to
              itself from the destructor; that doesn't even make sense.
              (JSC::StructureID::addPropertyTransition): Don't refer the single transition;
              the rule is that parent StructureIDs are ref'd but child ones are not. Refing
              the child creates a cycle.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      389fb965
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · a89bd1e2
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21609
              Make MessagePorts protect their peers across heaps
      
      JavaScriptCore:
              * JavaScriptCore.exp:
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::markCrossHeapDependentObjects):
              * kjs/JSGlobalObject.h:
              * kjs/collector.cpp:
              (JSC::Heap::collect):
              Before GC sweep phase, a function supplied by global object is now called for all global
              objects in the heap, making it possible to implement cross-heap dependencies.
      
      WebCore:
              * dom/MessagePort.cpp:
              (WebCore::MessagePort::MessagePort):
              * dom/MessagePort.h:
              (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
              (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
              Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
              means that the implementation object knows about JS bindings - but it is not possible to
              access JS wrappers from another heap/thread.
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markCrossHeapDependentObjectsForDocument):
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
              * bindings/js/JSDOMWindowBase.h:
              Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
              hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
              as long as its entangled port is accessible itself.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a89bd1e2
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · 7acc29ce
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21610
              run-webkit-threads --threaded crashes in StructureID destructor
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::StructureID):
              (JSC::StructureID::~StructureID):
              Protect access to a static (debug-only) HashSet with a lock.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7acc29ce
  3. 15 Oct, 2008 2 commits