- 17 Oct, 2008 22 commits
-
-
mjs@apple.com authored
Reviewed by Stephanie Lewis. - make run-webkit-tests --leaks default to 100 tests per run instead of 1000 This should reduce or eliminate crashes on the buildbot due to running out of memory while stack logging. * Scripts/run-webkit-tests: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs@apple.com authored
Reviewed by Geoff Garen. - remove ASSERT that makes the leaks buildbot cry * kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
kevino@webkit.org authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
- 16 Oct, 2008 18 commits
-
-
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
-
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
-
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
-
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
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-