WebKit.git
13 years ago2008-10-03 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Fri, 3 Oct 2008 07:47:19 +0000 (07:47 +0000)]
2008-10-03  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Cameron Zwarich.

        - fix mistaken change of | to || which caused a big perf regression on EarleyBoyer

        * kjs/grammar.y:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Qt bustage.
hyatt@apple.com [Fri, 3 Oct 2008 07:44:49 +0000 (07:44 +0000)]
Fix Qt bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoSpeculative fix for gtk not painting on scroll.
hyatt@apple.com [Fri, 3 Oct 2008 07:41:40 +0000 (07:41 +0000)]
Speculative fix for gtk not painting on scroll.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-03 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 3 Oct 2008 07:38:27 +0000 (07:38 +0000)]
2008-10-03  David Hyatt  <hyatt@apple.com>

        Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
        Hopefully this is a temporary hack that could eventually be removed.

        Reviewed by Sam Weinig

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        * platform/ScrollView.h:
        (WebCore::ScrollView::rootPreventsBlitting):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):
        (WebCore::ScrollView::platformAddChild):
        (WebCore::ScrollView::platformRemoveChild):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
hyatt@apple.com [Fri, 3 Oct 2008 07:06:28 +0000 (07:06 +0000)]
WebCore:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21328

        Make widget invalidation more cross-platform.

        (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.

        (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
        This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.

        (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.

        (4) FrameViews now do a repaintRectangle on their owner element's renderer.

        Reviewed by Sam Weinig

        * WebCore.base.exp:
        * page/FrameView.cpp:
        (WebCore::FrameView::invalidateRect):
        (WebCore::FrameView::invalidateScrollbarRect):
        * page/FrameView.h:
        * platform/PopupMenu.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::setEnabled):
        (WebCore::Scrollbar::invalidateRect):
        * platform/Scrollbar.h:
        * platform/ScrollbarClient.h:
        * platform/Widget.h:
        * platform/gtk/WidgetGtk.cpp:
        * platform/mac/WidgetMac.mm:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::invalidateScrollbarRect):
        * platform/win/WidgetWin.cpp:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::invalidateTimerFired):
        (WebCore::PluginView::invalidateWindowlessPluginRect):
        * plugins/PluginView.h:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::invalidateRect):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::invalidateRect):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::invalidateRegion):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::invalidateScrollbarRect):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        (WebCore::RenderListBox::paintScrollbar):
        (WebCore::RenderListBox::invalidateScrollbarRect):
        * rendering/RenderListBox.h:

WebKit/mac:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21328

        Make widget invalidation more cross-platform.

        (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.

        (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
        This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.

        (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.

        (4) FrameViews now do a repaintRectangle on their owner element's renderer.

        Reviewed by Sam Weinig

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (PluginWidget::PluginWidget):
        (PluginWidget::invalidateRect):
        (NetscapePluginWidget::NetscapePluginWidget):
        (WebFrameLoaderClient::createPlugin):

WebKit/win:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21328

        Make widget invalidation more cross-platform.

        (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.

        (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
        This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.

        (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.

        (4) FrameViews now do a repaintRectangle on their owner element's renderer.

        Reviewed by Sam Weinig

        * WebCoreSupport/EmbeddedWidget.cpp:
        (EmbeddedWidget::invalidateRect):
        * WebCoreSupport/EmbeddedWidget.h:
        * WebScrollBar.cpp:
        (WebScrollBar::invalidateScrollbarRect):
        * WebScrollBar.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
mitz@apple.com [Fri, 3 Oct 2008 06:20:41 +0000 (06:20 +0000)]
WebCore:

        Reviewed by Geoffrey Garen and Sam Weinig.

        - fix SVGFontFaceElement leaks seen in Acid3
        - make font-face elements take effect only when they are in the document tree

        Test: svg/custom/font-face-not-in-document.svg

        * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
        RefPtr to a plain pointer to break a ref cycle.
        (WebCore::SVGFontData::svgFontFaceElement):

        * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
        @font-face rule from the document's mapped element sheet when the
        element is inserted and removed from the document, and to update it
        only when the element is in the document.
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::parseMappedAttribute):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::insertedIntoDocument):
        (WebCore::SVGFontFaceElement::removedFromDocument):
        (WebCore::SVGFontFaceElement::childrenChanged):
        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
        * svg/SVGFontFaceElement.h:

LayoutTests:

        Reviewed by Geoffrey Garen and Sam Weinig.

        * svg/custom/font-face-not-in-document-expected.txt: Added.
        * svg/custom/font-face-not-in-document.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 3 Oct 2008 00:43:39 +0000 (00:43 +0000)]
2008-10-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Fix RenderFileUploadControl::setStyle() and
        RenderMenuList::setStyle() to not touch the style; replace
        with html4.css and CSSStyleSelector changes.

        https://bugs.webkit.org/show_bug.cgi?id=21287

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * css/html4.css:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setStyle):
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::setStyle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 3 Oct 2008 00:41:29 +0000 (00:41 +0000)]
2008-10-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Clean up code that changes the RenderStyle passed in to
        table renderer setStyle() methods.

        https://bugs.webkit.org/show_bug.cgi?id=21287

        Tests: fast/table/floating-th.html
               fast/table/table-display-types-strict.html
               fast/table/table-display-types.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::setStyle):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::setStyle):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::setStyle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 3 Oct 2008 00:28:54 +0000 (00:28 +0000)]
2008-10-02  Darin Adler  <darin@apple.com>

        - fix build

        * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
        Not just locally in my generated file!

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
adele@apple.com [Fri, 3 Oct 2008 00:25:37 +0000 (00:25 +0000)]
WebCore:

2008-10-02  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
        REGRESSION: <input> color specified in inline style applies to placeholder

        I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
        is more appropriate.  This change adds "-webkit-input-placeholder".

        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
        Added definition for "-webkit-input-placeholder" pseudo element.
        * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        Added case for PseudoInputPlaceholder.
        * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
        * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
        (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
        (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
        setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
        (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
        the text will be updated correctly.
        * rendering/RenderTextControl.h:

LayoutTests:

2008-10-02  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Update tests for https://bugs.webkit.org/show_bug.cgi?id=21299
        REGRESSION: <input> color specified in inline style applies to placeholder

        * fast/forms/placeholder-pseudo-style.html:
        * platform/mac/fast/forms/password-placeholder-expected.txt:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37217 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago<rdar://problem/6227690> There are a bunch of tables on this page that don't seem...
cfleizach@apple.com [Thu, 2 Oct 2008 23:59:49 +0000 (23:59 +0000)]
<rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37216 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
darin@apple.com [Thu, 2 Oct 2008 23:48:47 +0000 (23:48 +0000)]
JavaScriptCore:

2008-10-02  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        - https://bugs.webkit.org/show_bug.cgi?id=21321
          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData

        1.019x as fast on SunSpider.

        * API/JSBase.cpp:
        (JSEvaluateScript): Use heap. instead of heap-> to work with the heap.
        (JSCheckScriptSyntax): Ditto.
        (JSGarbageCollect): Ditto.
        (JSReportExtraMemoryCost): Ditto.
        * API/JSContextRef.cpp:
        (JSGlobalContextRetain): Ditto.
        (JSGlobalContextRelease): Destroy the heap with the destroy function instead
        of the delete operator.
        (JSContextGetGlobalObject): Use heap. instead of heap-> to work with the heap.
        * API/JSObjectRef.cpp:
        (JSObjectMake): Use heap. instead of heap-> to work with the heap.
        (JSObjectMakeFunctionWithCallback): Ditto.
        (JSObjectMakeConstructor): Ditto.
        (JSObjectMakeFunction): Ditto.
        (JSObjectMakeArray): Ditto.
        (JSObjectMakeDate): Ditto.
        (JSObjectMakeError): Ditto.
        (JSObjectMakeRegExp): Ditto.
        (JSObjectHasProperty): Ditto.
        (JSObjectGetProperty): Ditto.
        (JSObjectSetProperty): Ditto.
        (JSObjectGetPropertyAtIndex): Ditto.
        (JSObjectSetPropertyAtIndex): Ditto.
        (JSObjectDeleteProperty): Ditto.
        (JSObjectCallAsFunction): Ditto.
        (JSObjectCallAsConstructor): Ditto.
        (JSObjectCopyPropertyNames): Ditto.
        (JSPropertyNameAccumulatorAddName): Ditto.
        * API/JSValueRef.cpp:
        (JSValueIsEqual): Ditto.
        (JSValueIsInstanceOfConstructor): Ditto.
        (JSValueMakeNumber): Ditto.
        (JSValueMakeString): Ditto.
        (JSValueToNumber): Ditto.
        (JSValueToStringCopy): Ditto.
        (JSValueToObject): Ditto.
        (JSValueProtect): Ditto.
        (JSValueUnprotect): Ditto.

        * kjs/ExecState.h:
        (JSC::ExecState::heap): Update to use the & operator.

        * kjs/JSGlobalData.cpp:
        (JSC::JSGlobalData::JSGlobalData): Update to initialize a heap member
        instead of calling new to make a heap.
        (JSC::JSGlobalData::~JSGlobalData): Destroy the heap with the destroy
        function instead of the delete operator.
        * kjs/JSGlobalData.h: Change from Heap* to a Heap.
        * kjs/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::mark): Use the & operator here.
        (JSC::JSGlobalObject::operator new): Use heap. instead of heap-> to work
        with the heap.

WebCore:

2008-10-02  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        - https://bugs.webkit.org/show_bug.cgi?id=21321
          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData

        * bindings/js/GCController.cpp:
        (WebCore::collect): Use heap. instead of heap-> to work with the heap.
        (WebCore::GCController::gcTimerFired): Ditto.
        (WebCore::GCController::garbageCollectNow): Ditto.
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::operator new): Ditto.
        * storage/Database.cpp:
        (WebCore::Database::Database): Ditto.

WebKit/mac:

2008-10-02  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        - https://bugs.webkit.org/show_bug.cgi?id=21321
          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData

        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
        work with the heap.
        (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
        (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
        (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.

WebKit/win:

2008-10-02  Darin Adler  <darin@apple.com>

        - https://bugs.webkit.org/show_bug.cgi?id=21321
          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData

        * WebCoreStatistics.cpp:
        (WebCoreStatistics::javaScriptObjectsCount): Use heap. instead of heap-> to
        work with the heap.
        (WebCoreStatistics::javaScriptGlobalObjectsCount): Ditto.
        (WebCoreStatistics::javaScriptProtectedObjectsCount): Ditto.
        (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount): Ditto.
        (WebCoreStatistics::javaScriptProtectedObjectTypeCounts): Ditto.
        * WebJavaScriptCollector.cpp:
        (WebJavaScriptCollector::objectCount): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37215 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Gtk bustage.
hyatt@apple.com [Thu, 2 Oct 2008 23:05:31 +0000 (23:05 +0000)]
Fix Gtk bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37214 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 2 Oct 2008 22:19:05 +0000 (22:19 +0000)]
2008-10-02  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Bug 21317: Replace RegisterFile size and capacity information with Register pointers
        <https://bugs.webkit.org/show_bug.cgi?id=21317>

        This is a 2.3% speedup on the V8 DeltaBlue benchmark, a 3.3% speedup on
        the V8 Raytrace benchmark, and a 1.0% speedup on SunSpider.

        * VM/Machine.cpp:
        (JSC::slideRegisterWindowForCall):
        (JSC::Machine::callEval):
        (JSC::Machine::execute):
        (JSC::Machine::privateExecute):
        (JSC::Machine::cti_op_call_JSFunction):
        (JSC::Machine::cti_op_construct_JSConstruct):
        * VM/RegisterFile.cpp:
        (JSC::RegisterFile::~RegisterFile):
        * VM/RegisterFile.h:
        (JSC::RegisterFile::RegisterFile):
        (JSC::RegisterFile::start):
        (JSC::RegisterFile::end):
        (JSC::RegisterFile::size):
        (JSC::RegisterFile::shrink):
        (JSC::RegisterFile::grow):
        (JSC::RegisterFile::lastGlobal):
        (JSC::RegisterFile::markGlobals):
        (JSC::RegisterFile::markCallFrames):
        * kjs/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::copyGlobalsTo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Adele Peterson <adele@apple.com>
adele@apple.com [Thu, 2 Oct 2008 21:54:59 +0000 (21:54 +0000)]
2008-10-02  Adele Peterson  <adele@apple.com>

        Update results for mac-tiger.

        * platform/mac-tiger/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/001-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/002-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003a-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
        * platform/mac-tiger/svg/text/text-path-01-b-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix scrolling=no iframe regression on Windows.
hyatt@apple.com [Thu, 2 Oct 2008 21:33:44 +0000 (21:33 +0000)]
Fix scrolling=no iframe regression on Windows.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Win build bustage.
hyatt@apple.com [Thu, 2 Oct 2008 21:03:31 +0000 (21:03 +0000)]
Fix Win build bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Alexey Proskuryakov.
mitz@apple.com [Thu, 2 Oct 2008 20:46:35 +0000 (20:46 +0000)]
    Reviewed by Alexey Proskuryakov.

        - fix a Database leak that resulted in Document leaks

        * storage/Database.cpp:
        (WebCore::Database::openDatabase): Account for the fact that RefCounted
        objects start out with a ref count of 1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 2 Oct 2008 20:29:19 +0000 (20:29 +0000)]
2008-10-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Mr. Geoffrey Garen.

        Always mark your parent before marking members.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::mark):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago * template/en/custom/attachment/reviewform.html.tmpl: Fix typo.
aroben@apple.com [Thu, 2 Oct 2008 20:26:00 +0000 (20:26 +0000)]
    * template/en/custom/attachment/reviewform.html.tmpl: Fix typo.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago * template/en/custom/attachment/review.html.tmpl: Fix URLs
aroben@apple.com [Thu, 2 Oct 2008 20:23:38 +0000 (20:23 +0000)]
    * template/en/custom/attachment/review.html.tmpl: Fix URLs

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Fix Bug 21315: bugs.webkit.org should have a nicer patch review interface
aroben@apple.com [Thu, 2 Oct 2008 20:21:41 +0000 (20:21 +0000)]
    Fix Bug 21315: bugs.webkit.org should have a nicer patch review interface

        https://bugs.webkit.org/show_bug.cgi?id=21315

        Reviewed by Tim Hatcher.

        * attachment.cgi:
        (top level): Added support for the "review" and "reviewform" actions.
        (sub edit): Accept the template name as a parameter. If no name is
        give, use "edit" as before.
        * template/en/custom/attachment/list.html.tmpl: Added a "Review Patch"
        link for all patch attachments.
        * template/en/custom/attachment/review.html.tmpl: Added. Simple
        <frameset> page to show the patch on the top and a comment form on the
        bottom.
        * template/en/custom/attachment/reviewform.html.tmpl: Added. Simple
        comment form for reviewing patches.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
hyatt@apple.com [Thu, 2 Oct 2008 20:17:08 +0000 (20:17 +0000)]
WebCore:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21314

        Make scrollBackingStore cross-platform.

        Reviewed by Sam Weinig

        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::repaint):
        (WebCore::EmptyChromeClient::scroll):
        * page/Chrome.cpp:
        (WebCore::Chrome::repaint):
        (WebCore::Chrome::scroll):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleAutoscroll):
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::addPanScrollIcon):
        (WebCore::ScrollView::removePanScrollIcon):
        * platform/ScrollView.h:
        * platform/gtk/ScrollViewGtk.cpp:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::~ScrollView):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):

WebKit/gtk:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21314

        Make scrollBackingStore cross-platform.

        Reviewed by Sam Weinig

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::repaint):
        (WebKit::ChromeClient::scroll):
        * WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21314

        Make scrollBackingStore cross-platform.

        Reviewed by Sam Weinig

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::repaint):
        (WebChromeClient::scroll):

WebKit/qt:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21314

        Make scrollBackingStore cross-platform.

        Reviewed by Sam Weinig

        * WebCoreSupport/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::repaint):
        (WebCore::ChromeClientQt::scroll):
        * WebCoreSupport/ChromeClientQt.h:

WebKit/win:

2008-10-02  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21314

        Make scrollBackingStore cross-platform.

        Reviewed by Sam Weinig

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::repaint):
        (WebChromeClient::scroll):
        * WebCoreSupport/WebChromeClient.h:
        * WebView.cpp:
        (WebView::repaint):
        * WebView.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agowx build fixes after Frame/ScrollView changes.
kevino@webkit.org [Thu, 2 Oct 2008 19:59:35 +0000 (19:59 +0000)]
wx build fixes after Frame/ScrollView changes.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoReviewed by Sam Weinig.
brettw@chromium.org [Thu, 2 Oct 2008 19:33:42 +0000 (19:33 +0000)]
Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21292

Revert the changes to enclosingIntRect made in r12530 since the new code
doesn't round correctly.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Anders Carlsson and Eric Seidel.
mitz@apple.com [Thu, 2 Oct 2008 18:48:33 +0000 (18:48 +0000)]
    Reviewed by Anders Carlsson and Eric Seidel.

        - fix HTMLCanvaseElement leak from -webkit-canvas() values

        Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
        pointer, as the document owns the canvas elements. Added code to release
        those elements in Document::removedLastRef() because they reference
        the document.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::element):
        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::CSSCanvasValue):
        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoA typo fix for ChangeLog.
ap@webkit.org [Thu, 2 Oct 2008 18:40:40 +0000 (18:40 +0000)]
A typo fix for ChangeLog.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Maciej Stachowiak.
ap@webkit.org [Thu, 2 Oct 2008 18:39:34 +0000 (18:39 +0000)]
    Reviewed by Maciej Stachowiak.

        Build fix for platform that don't implement WTF::ThreadSpecific.

        * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
        Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
        code is only needed for JS bindings in worker threads.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
hyatt@apple.com [Thu, 2 Oct 2008 18:23:32 +0000 (18:23 +0000)]
WebCore:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21298

        Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
        will make that cross-platform.

        The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
        multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
        windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).

        Reviewed by Sam Weinig

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):
        (WebCore::FrameView::isActive):
        * page/FrameView.h:
        (WebCore::FrameView::visibleContentsResized):
        * platform/PopupMenu.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::init):
        (WebCore::ScrollView::destroy):
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):
        (WebCore::ScrollView::valueChanged):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
        (WebCore::ScrollView::platformHandleVerticalAdjustment):
        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::windowClipRect):
        * platform/ScrollbarClient.h:
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
        (WebCore::ScrollView::platformHandleVerticalAdjustment):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::scrollContents):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::windowClipRect):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::scrollContents):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::windowClipRect):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::panScroll):
        (WebCore::RenderListBox::windowClipRect):
        * rendering/RenderListBox.h:

WebKit/win:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21298

        Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
        will make that cross-platform.

        The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
        multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
        windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).

        Reviewed by Sam Weinig

        * WebScrollBar.cpp:
        (WebScrollBar::windowClipRect):
        * WebScrollBar.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Remove references to some backup files I created when implementing PrettyPatc...
aroben@apple.com [Thu, 2 Oct 2008 17:03:37 +0000 (17:03 +0000)]
    Remove references to some backup files I created when implementing PrettyPatch in Bugzilla

        Reviewed by Tim Hatcher.

        * attachment-aroben.cgi: Removed.
        * template/en/default/attachment/edit-aroben.html.tmpl: Removed.

        * template/en/custom/attachment/edit.html.tmpl: Removed an erroneous
        reference to attachment-aroben.cgi. attachment.cgi will work just
        fine.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 2 Oct 2008 17:00:16 +0000 (17:00 +0000)]
2008-10-02  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Darin Adler.

        Change bitwise operations introduced in r37166 to boolean operations. We
        only use bitwise operations over boolean operations for increasing
        performance in extremely hot code, but that does not apply to anything
        in the parser.

        * kjs/grammar.y:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
barraclough@apple.com [Thu, 2 Oct 2008 16:45:24 +0000 (16:45 +0000)]
JavaScriptCore:

2008-10-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        Fix for bug #21232 - should reset m_isPendingDash on flush,
        and should allow '\-' as beginning or end of a range (though
        not to specifiy a range itself).

        * ChangeLog:
        * wrec/CharacterClassConstructor.cpp:
        (JSC::CharacterClassConstructor::put):
        (JSC::CharacterClassConstructor::flush):
        * wrec/CharacterClassConstructor.h:
        (JSC::CharacterClassConstructor::flushBeforeEscapedHyphen):
        * wrec/WREC.cpp:
        (JSC::WRECGenerator::generateDisjunction):
        (JSC::WRECParser::parseCharacterClass):
        (JSC::WRECParser::parseDisjunction):
        * wrec/WREC.h:

LayoutTests:

2008-10-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        Layout tests for for bug #21232 - plus a range of tests for, um, ranges.

        * fast/js/regexp-ranges-and-escaped-hyphens-expected.txt: Added.
        * fast/js/regexp-ranges-and-escaped-hyphens.html: Added.
        * fast/js/resources/regexp-ranges-and-escaped-hyphens.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoForgot to land JavaScriptCore.exp with the previous check-in.
ap@webkit.org [Thu, 2 Oct 2008 16:45:04 +0000 (16:45 +0000)]
Forgot to land JavaScriptCore.exp with the previous check-in.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 2 Oct 2008 16:39:46 +0000 (16:39 +0000)]
2008-10-02  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - remove the "static" from declarations in a header file, since we
          don't want them to have internal linkage

        * VM/Machine.h: Remove the static keyword from the constant and the
        three inline functions that Geoff just moved here.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37192 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 2 Oct 2008 16:22:58 +0000 (16:22 +0000)]
2008-10-02  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=21283.
        Profiler Crashes When Started

        * VM/Machine.cpp:
        * VM/Machine.h:
        (JSC::makeHostCallFramePointer):
        (JSC::isHostCallFrame):
        (JSC::stripHostCallFrameBit): Moved some things to the header so
        JSGlobalObject could use them.

        * kjs/JSGlobalObject.h:
        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Call the
        new makeHostCallFramePointer API, since 0 no longer indicates a host
        call frame.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 2 Oct 2008 16:18:56 +0000 (16:18 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21304
        Stop using a static wrapper map for WebCore JS bindings

        The static domObjects map was not thread safe.

        * dom/Document.h:
        (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
        ports.
        (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.

        * dom/Document.cpp:
        (WebCore::Document::createdXMLHttpRequest):
        (WebCore::Document::destroyedXMLHttpRequest):
        Moved XMLHttpRequest tracking from a global map to Document.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * webcore-base.bkl:
        * bindings/DOMProtect.cpp: Removed.
        * bindings/DOMProtect.h: Removed.
        Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
        so they can no longer protect bindings objects.

        * dom/MessagePort.cpp:
        (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
        (WebCore::CloseMessagePortTimer::fired):
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::queueCloseEvent):
        (WebCore::MessagePort::setPendingActivity):
        (WebCore::MessagePort::unsetPendingActivity):
        * dom/MessagePort.h:
        (WebCore::MessagePort::hasPendingActivity):
        MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
        to protect it.

        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::hasPendingActivity):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
        (WebCore::XMLHttpRequest::dropProtection):
        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
        (WebCore::XMLHttpRequest::cancelRequests):
        (WebCore::XMLHttpRequest::detachRequests):
        (WebCore::XMLHttpRequest::setPendingActivity):
        (WebCore::XMLHttpRequest::unsetPendingActivity):
        Moved XMLHttpRequest tracking from a global map to Document.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::wrapperSet):
        (WebCore::DOMObjectWrapperMap::mapFor):
        (WebCore::DOMObjectWrapperMap::get):
        (WebCore::DOMObjectWrapperMap::set):
        (WebCore::DOMObjectWrapperMap::remove):
        (WebCore::getCachedDOMObjectWrapper):
        (WebCore::cacheDOMObjectWrapper):
        (WebCore::forgetDOMObject):
        (WebCore::getCachedDOMNodeWrapper):
        (WebCore::forgetDOMNode):
        (WebCore::cacheDOMNodeWrapper):
        (WebCore::markActiveObjectsForDocument):
        * bindings/js/JSDOMBinding.h:
        (WebCore::createDOMObjectWrapper):
        (WebCore::getDOMObjectWrapper):
        Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
        to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
        WebCore objects can never migrate between threads.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::mark):
        Call markActiveObjectsForDocument() from JSDOMBinding.

        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::markDOMObjectWrapper):
        (WebCore::JSDOMWindow::mark):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::mark):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::mark):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::mark):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::finishedWithEvent):
        * bindings/scripts/CodeGeneratorJS.pm:
        Pass a JSGlobalData reference to functions that track JS wrapper objects.

JavaScriptCore:
        * kjs/JSGlobalData.cpp:
        (JSC::JSGlobalData::JSGlobalData):
        (JSC::JSGlobalData::~JSGlobalData):
        (JSC::JSGlobalData::ClientData::~ClientData):
        * kjs/JSGlobalData.h:
        Added a client data member to JSGlobalData. WebCore will use it to store bindings-related
        global data.

        * JavaScriptCore.exp: Export virtual ClientData destructor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - build fix
mitz@apple.com [Thu, 2 Oct 2008 07:52:29 +0000 (07:52 +0000)]
    - build fix

        * page/JavaScriptCallFrame.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoAdd new file to project files
oliver@apple.com [Thu, 2 Oct 2008 07:35:21 +0000 (07:35 +0000)]
Add new file to project files

Reviewed by NOBODY (Build fix)

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 2 Oct 2008 07:15:12 +0000 (07:15 +0000)]
2008-10-02  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Try to fix some more builds.

        * GNUmakefile.am:
        * WebCore.pro:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 2 Oct 2008 07:13:43 +0000 (07:13 +0000)]
2008-10-02  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Try to fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-02 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 2 Oct 2008 07:04:10 +0000 (07:04 +0000)]
2008-10-02  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Try to fix Qt build.

        * kjs/Error.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
ggaren@apple.com [Thu, 2 Oct 2008 06:44:37 +0000 (06:44 +0000)]
JavaScriptCore:

2008-10-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler and Cameron Zwarich.

        Preliminary step toward dynamic recompilation: Standardized and
        simplified the parsing interface.

        The main goal in this patch is to make it easy to ask for a duplicate
        compilation, and get back a duplicate result -- same source URL, same
        debugger / profiler ID, same toString behavior, etc.

        The basic unit of compilation and evaluation is now SourceCode, which
        encompasses a SourceProvider, a range in that provider, and a starting
        line number.

        A SourceProvider now encompasses a source URL, and *is* a source ID,
        since a pointer is a unique identifier.

        * API/JSBase.cpp:
        (JSEvaluateScript):
        (JSCheckScriptSyntax): Provide a SourceCode to the Interpreter, since
        other APIs are no longer supported.

        * VM/CodeBlock.h:
        (JSC::EvalCodeCache::get): Provide a SourceCode to the Interpreter, since
        other APIs are no longer supported.
        (JSC::CodeBlock::CodeBlock): ASSERT something that used to be ASSERTed
        by our caller -- this is a better bottleneck.

        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::CodeGenerator): Updated for the fact that
        FunctionBodyNode's parameters are no longer a WTF::Vector.

        * kjs/Arguments.cpp:
        (JSC::Arguments::Arguments): ditto

        * kjs/DebuggerCallFrame.cpp:
        (JSC::DebuggerCallFrame::evaluate): Provide a SourceCode to the Parser,
        since other APIs are no longer supported.

        * kjs/FunctionConstructor.cpp:
        (JSC::constructFunction): Provide a SourceCode to the Parser, since
        other APIs are no longer supported. Adopt FunctionBodyNode's new
        "finishParsing" API.

        * kjs/JSFunction.cpp:
        (JSC::JSFunction::lengthGetter):
        (JSC::JSFunction::getParameterName): Updated for the fact that
        FunctionBodyNode's parameters are no longer a wtf::Vector.

        * kjs/JSFunction.h: Nixed some cruft.

        * kjs/JSGlobalObjectFunctions.cpp:
        (JSC::globalFuncEval): Provide a SourceCode to the Parser, since
        other APIs are no longer supported.

        * kjs/Parser.cpp:
        (JSC::Parser::parse): Require a SourceCode argument, instead of a bunch
        of broken out parameters. Stop tracking sourceId as an integer, since we
        use the SourceProvider pointer for this now. Don't clamp the
        startingLineNumber, since SourceCode does that now.

        * kjs/Parser.h:
        (JSC::Parser::parse): Standardized the parsing interface to require a
        SourceCode.

        * kjs/Shell.cpp:
        (functionRun):
        (functionLoad):
        (prettyPrintScript):
        (runWithScripts):
        (runInteractive): Provide a SourceCode to the Interpreter, since
        other APIs are no longer supported.

        * kjs/SourceProvider.h:
        (JSC::SourceProvider::SourceProvider):
        (JSC::SourceProvider::url):
        (JSC::SourceProvider::asId):
        (JSC::UStringSourceProvider::create):
        (JSC::UStringSourceProvider::UStringSourceProvider): Added new
        responsibilities described above.

        * kjs/SourceRange.h:
        (JSC::SourceCode::SourceCode):
        (JSC::SourceCode::toString):
        (JSC::SourceCode::provider):
        (JSC::SourceCode::firstLine):
        (JSC::SourceCode::data):
        (JSC::SourceCode::length): Added new responsibilities described above.
        Renamed SourceRange to SourceCode, based on review feedback. Added
        a makeSource function for convenience.

        * kjs/debugger.h: Provide a SourceCode to the client, since other APIs
        are no longer supported.

        * kjs/grammar.y: Provide startingLineNumber when creating a SourceCode.

        * kjs/debugger.h: Treat sourceId as intptr_t to avoid loss of precision
        on 64bit platforms.

        * kjs/interpreter.cpp:
        (JSC::Interpreter::checkSyntax):
        (JSC::Interpreter::evaluate):
        * kjs/interpreter.h: Require a SourceCode instead of broken out arguments.

        * kjs/lexer.cpp:
        (JSC::Lexer::setCode):
        * kjs/lexer.h:
        (JSC::Lexer::sourceRange): Fold together the SourceProvider and line number
        into a SourceCode. Fixed a bug where the Lexer would accidentally keep
        alive the last SourceProvider forever.

        * kjs/nodes.cpp:
        (JSC::ScopeNode::ScopeNode):
        (JSC::ProgramNode::ProgramNode):
        (JSC::ProgramNode::create):
        (JSC::EvalNode::EvalNode):
        (JSC::EvalNode::generateCode):
        (JSC::EvalNode::create):
        (JSC::FunctionBodyNode::FunctionBodyNode):
        (JSC::FunctionBodyNode::finishParsing):
        (JSC::FunctionBodyNode::create):
        (JSC::FunctionBodyNode::generateCode):
        (JSC::ProgramNode::generateCode):
        (JSC::FunctionBodyNode::paramString):
        * kjs/nodes.h:
        (JSC::ScopeNode::):
        (JSC::ScopeNode::sourceId):
        (JSC::FunctionBodyNode::):
        (JSC::FunctionBodyNode::parameterCount):
        (JSC::FuncExprNode::):
        (JSC::FuncDeclNode::): Store a SourceCode in all ScopeNodes, since
        SourceCode is now responsible for tracking URL, ID, etc. Streamlined
        some ad hoc FunctionBodyNode fixups into a "finishParsing" function, to
        help make clear what you need to do in order to finish parsing a
        FunctionBodyNode.

        * wtf/Vector.h:
        (WTF::::releaseBuffer): Don't ASSERT that releaseBuffer() is only called
        when buffer is not 0, since FunctionBodyNode is more than happy
        to get back a 0 buffer, and other functions like RefPtr::release() allow
        for 0, too.

JavaScriptGlue:

2008-10-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler and Cameron Zwarich.

        * JSRun.cpp:
        (JSRun::Evaluate):
        (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
        other APIs are no longer supported.

WebCore:

2008-10-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler and Cameron Zwarich.

        Updated for JavaScriptCore API changes: use a SourceCode instead of
        broken out parameters; treat sourceId as intptr_t.

        * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::create):
        (WebCore::StringSourceProvider::StringSourceProvider):

        (WebCore::makeSource): Added a makeSource function for convenience.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject evaluateWebScript:]):
        * bridge/NP_jsobject.cpp:
        (_NPN_Evaluate):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):

        * bridge/jni/jni_runtime.h:
        (JSC::Bindings::JavaString::operator UString): Replaced the explicit
        ustring() function with an implicit operator because this class already
        holds a UString::rep.

        * page/Console.cpp:
        (WebCore::retrieveLastCaller):
        (WebCore::Console::trace):
        * page/InspectorController.cpp:
        (WebCore::jsStringRef):
        (WebCore::InspectorController::addBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        (WebCore::InspectorController::didParseSource):
        (WebCore::InspectorController::failedToParseSource):
        * page/InspectorController.h:
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
        * page/JavaScriptCallFrame.h:
        (WebCore::JavaScriptCallFrame::create):
        (WebCore::JavaScriptCallFrame::sourceIdentifier):
        (WebCore::JavaScriptCallFrame::update):
        * page/JavaScriptDebugListener.h:
        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::addBreakpoint):
        (WebCore::JavaScriptDebugServer::removeBreakpoint):
        (WebCore::JavaScriptDebugServer::hasBreakpoint):
        (WebCore::dispatchDidParseSource):
        (WebCore::dispatchFailedToParseSource):
        (WebCore::JavaScriptDebugServer::sourceParsed):
        (WebCore::JavaScriptDebugServer::callEvent):
        (WebCore::JavaScriptDebugServer::atStatement):
        (WebCore::JavaScriptDebugServer::returnEvent):
        (WebCore::JavaScriptDebugServer::exception):
        (WebCore::JavaScriptDebugServer::willExecuteProgram):
        (WebCore::JavaScriptDebugServer::didExecuteProgram):
        (WebCore::JavaScriptDebugServer::didReachBreakpoint):
        * page/JavaScriptDebugServer.h:
        * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
        sourceIdentifier to sourceID.

WebKit/mac:

2008-10-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler and Cameron Zwarich.

        Updated for JavaScriptCore API changes: use a SourceCode instead of
        broken out parameters; treat sourceId as intptr_t.

        We still treat sourceId as int in some cases because of DashCode. See
        <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
        sourceId, not int.

        * WebView/WebScriptDebugger.h:
        * WebView/WebScriptDebugger.mm:
        (toNSString):
        (WebScriptDebugger::sourceParsed):
        (WebScriptDebugger::callEvent):
        (WebScriptDebugger::atStatement):
        (WebScriptDebugger::returnEvent):
        (WebScriptDebugger::exception):
        (WebScriptDebugger::willExecuteProgram):
        (WebScriptDebugger::didExecuteProgram):
        (WebScriptDebugger::didReachBreakpoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Geoffrey Garen.
mitz@apple.com [Thu, 2 Oct 2008 06:08:15 +0000 (06:08 +0000)]
    Reviewed by Geoffrey Garen.

        - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html

        Broke a ref cycle by changing the m_svgFontFaceElement members of
        CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
        pointers. Also made sure that the @font-face rule added by
        SVGFontFaceElement to the document's mapped element sheet is removed
        when the font-face element is deleted or moved to another document.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        (WebCore::CSSFontFaceSource::svgFontFaceElement):
        * css/CSSFontFaceSrcValue.h:
        (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
        (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
        * svg/SVGFontFaceElement.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 2 Oct 2008 05:06:59 +0000 (05:06 +0000)]
2008-10-01  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 21289: REGRESSION (r37160): Inspector crashes on load
        <https://bugs.webkit.org/show_bug.cgi?id=21289>

        The code in Arguments::mark() in r37160 was wrong. It marks indices in
        d->registers, but that makes no sense (they are local variables, not
        arguments). It should mark those indices in d->registerArray instead.

        This patch also changes Arguments::copyRegisters() to use d->numParameters
        instead of recomputing it.

        * kjs/Arguments.cpp:
        (JSC::Arguments::mark):
        * kjs/Arguments.h:
        (JSC::Arguments::copyRegisters):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoBug 20315: Memory leak with Canvas getImageData
oliver@apple.com [Thu, 2 Oct 2008 05:02:00 +0000 (05:02 +0000)]
Bug 20315: Memory leak with Canvas getImageData
<https://bugs.webkit.org/show_bug.cgi?id=20315>

Reviewed by Maciej Stachowiak

This wasn't a leak, the issue was that we were reporting the cost
of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
and we should have been reporting the cost when we create the
JSImageData wrapper.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Mark Rowe.
mitz@apple.com [Thu, 2 Oct 2008 04:54:06 +0000 (04:54 +0000)]
    Reviewed by Mark Rowe.

        - https://bugs.webkit.org/show_bug.cgi?id=21293
          REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction

        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
        that renderer destruction happens before the SVGMarkerElement is
        destroyed.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Win32 bustage.
hyatt@apple.com [Thu, 2 Oct 2008 02:48:05 +0000 (02:48 +0000)]
Fix Win32 bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Evan Martin <evan@chromium.org>
eric@webkit.org [Thu, 2 Oct 2008 01:47:44 +0000 (01:47 +0000)]
2008-10-01  Evan Martin  <evan@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=20669

        * css/makeprop.pl:
        Die if gperf fails.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Evan Martin <evan@chromium.org>
eric@webkit.org [Thu, 2 Oct 2008 01:43:16 +0000 (01:43 +0000)]
2008-10-01  Evan Martin  <evan@chromium.org>

        Reviewed by Eric Seidel.

        * loader/icon/IconDatabase.h:
        IconDatabase uses HashMap, so it needs to #include the header.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Mark Rowe.
mitz@apple.com [Thu, 2 Oct 2008 01:35:05 +0000 (01:35 +0000)]
    Reviewed by Mark Rowe.

        - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()

        * loader/Cache.cpp:
        (WebCore::Cache::remove): Disable pruning temporarily during
        CachedResource deletion.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 2 Oct 2008 01:30:13 +0000 (01:30 +0000)]
2008-09-30  Darin Adler  <darin@apple.com>

        Reviewed by Eric Seidel.

        - https://bugs.webkit.org/show_bug.cgi?id=21214
          work on getting rid of ExecState

        Eliminate some unneeded uses of dynamicGlobalObject.

        * API/JSClassRef.cpp:
        (OpaqueJSClass::contextData): Changed to use a map in the global data instead
        of on the global object. Also fixed to use only a single hash table lookup.

        * API/JSObjectRef.cpp:
        (JSObjectMakeConstructor): Use lexicalGlobalObject rather than dynamicGlobalObject
        to get the object prototype.

        * kjs/ArrayPrototype.cpp:
        (JSC::arrayProtoFuncToString): Use arrayVisitedElements set in global data rather
        than in the global object.
        (JSC::arrayProtoFuncToLocaleString): Ditto.
        (JSC::arrayProtoFuncJoin): Ditto.

        * kjs/JSGlobalData.cpp:
        (JSC::JSGlobalData::JSGlobalData): Don't initialize opaqueJSClassData, since
        it's no longer a pointer.
        (JSC::JSGlobalData::~JSGlobalData): We still need to delete all the values, but
        we don't need to delete the map since it's no longer a pointer.

        * kjs/JSGlobalData.h: Made opaqueJSClassData a map instead of a pointer to a map.
        Also added arrayVisitedElements.

        * kjs/JSGlobalObject.h: Removed arrayVisitedElements.

        * kjs/Shell.cpp:
        (functionRun): Use lexicalGlobalObject instead of dynamicGlobalObject.
        (functionLoad): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Gtk repaint method finally. Should fix build bustage.
hyatt@apple.com [Thu, 2 Oct 2008 01:05:15 +0000 (01:05 +0000)]
Fix Gtk repaint method finally.  Should fix build bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Gtk bustage from removal of update(). Make sure to include HostWindow.h
hyatt@apple.com [Thu, 2 Oct 2008 00:56:57 +0000 (00:56 +0000)]
Fix Gtk bustage from removal of update().  Make sure to include HostWindow.h

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Gtk bustage from removal of update().
hyatt@apple.com [Thu, 2 Oct 2008 00:56:07 +0000 (00:56 +0000)]
Fix Gtk bustage from removal of update().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Mark Rowe.
mitz@apple.com [Thu, 2 Oct 2008 00:48:54 +0000 (00:48 +0000)]
    Reviewed by Mark Rowe.

        - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        * svg/SVGFontFaceElement.h:
        (WebCore::SVGFontFaceElement::associatedFontElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Win bustage.
hyatt@apple.com [Thu, 2 Oct 2008 00:40:14 +0000 (00:40 +0000)]
Fix Win bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Gtk bustage.
hyatt@apple.com [Thu, 2 Oct 2008 00:22:57 +0000 (00:22 +0000)]
Fix Gtk bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Qt bustage.
hyatt@apple.com [Thu, 2 Oct 2008 00:21:34 +0000 (00:21 +0000)]
Fix Qt bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Win bustage.
hyatt@apple.com [Thu, 2 Oct 2008 00:20:16 +0000 (00:20 +0000)]
Fix Win bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Wed, 1 Oct 2008 23:38:44 +0000 (23:38 +0000)]
2008-10-01  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Speculative Windows build fix.

        * kjs/grammar.y:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Qt bustage.
hyatt@apple.com [Wed, 1 Oct 2008 22:43:57 +0000 (22:43 +0000)]
Fix Qt bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Qt bustage.
hyatt@apple.com [Wed, 1 Oct 2008 22:43:37 +0000 (22:43 +0000)]
Fix Qt bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoReviewed by Maciej Stachowiak.
brettw@chromium.org [Wed, 1 Oct 2008 22:34:16 +0000 (22:34 +0000)]
Reviewed by Maciej Stachowiak.

Document the rounding behavior of the mapRect(IntRect) function in
AffineTransform.h.

* platform/graphics/AffineTransform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
hyatt@apple.com [Wed, 1 Oct 2008 22:30:56 +0000 (22:30 +0000)]
WebCore:

2008-10-01  David Hyatt  <hyatt@apple.com>

        Move prohibitsScrolling from the Frame to the ScrollView.

        Reviewed by Sam Weinig

        * WebCore.base.exp:
        * page/Frame.cpp:
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollRectIntoViewRecursively):
        (WebCore::FrameView::setScrollPosition):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::init):
        (WebCore::ScrollView::scrollRectIntoViewRecursively):
        (WebCore::ScrollView::setScrollPosition):
        * platform/ScrollView.h:
        (WebCore::ScrollView::setProhibitsScrolling):
        (WebCore::ScrollView::prohibitsScrolling):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::updateScrollbars):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::updateScrollbars):

WebKit/mac:

2008-10-01  David Hyatt  <hyatt@apple.com>

        Move prohibitsScrolling from the Frame to the ScrollView.

        Reviewed by Sam Weinig

        * WebView/WebView.mm:
        (-[WebView setProhibitsMainFrameScrolling:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow...
mrowe@apple.com [Wed, 1 Oct 2008 22:24:37 +0000 (22:24 +0000)]
Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.

Reviewed by Geoff Garen.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
that we do during the loadRequestAsynchronously of the preflight request with a deref and
GC unprotect.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Wed, 1 Oct 2008 22:18:50 +0000 (22:18 +0000)]
2008-10-01  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Bug 21123: using "arguments" in a function should not force creation of an activation object
        <https://bugs.webkit.org/show_bug.cgi?id=21123>

        Make the 'arguments' object not require a JSActivation. We store the
        'arguments' object in the OptionalCalleeArguments call frame slot. We
        need to be able to get the original 'arguments' object to tear it off
        when returning from a function, but 'arguments' may be assigned to in a
        number of ways.

        Therefore, we use the OptionalCalleeArguments slot when we want to get
        the original activation or we know that 'arguments' was not assigned a
        different value. When 'arguments' may have been assigned a new value,
        we use a new local variable that is initialized with 'arguments'. Since
        a function parameter named 'arguments' may overwrite the value of
        'arguments', we also need to be careful to look up 'arguments' in the
        symbol table, so we get the parameter named 'arguments' instead of the
        local variable that we have added for holding the 'arguments' object.

        This is a 19.1% win on the V8 Raytrace benchmark using the SunSpider
        harness, and a 20.7% win using the V8 harness. This amounts to a 6.5%
        total speedup on the V8 benchmark suite using the V8 harness.

        JavaScriptCore:

        * VM/CTI.cpp:
        (JSC::CTI::privateCompileMainPass):
        * VM/CodeBlock.h:
        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::CodeGenerator):
        * VM/Machine.cpp:
        (JSC::Machine::unwindCallFrame):
        (JSC::Machine::privateExecute):
        (JSC::Machine::retrieveArguments):
        (JSC::Machine::cti_op_init_arguments):
        (JSC::Machine::cti_op_ret_activation_arguments):
        * VM/Machine.h:
        * VM/RegisterFile.h:
        (JSC::RegisterFile::):
        * kjs/Arguments.cpp:
        (JSC::Arguments::mark):
        (JSC::Arguments::fillArgList):
        (JSC::Arguments::getOwnPropertySlot):
        (JSC::Arguments::put):
        * kjs/Arguments.h:
        (JSC::Arguments::setRegisters):
        (JSC::Arguments::init):
        (JSC::Arguments::Arguments):
        (JSC::Arguments::copyRegisters):
        (JSC::JSActivation::copyRegisters):
        * kjs/JSActivation.cpp:
        (JSC::JSActivation::argumentsGetter):
        * kjs/JSActivation.h:
        (JSC::JSActivation::JSActivationData::JSActivationData):
        * kjs/grammar.y:
        * kjs/nodes.h:
        (JSC::ScopeNode::setUsesArguments):
        * masm/X86Assembler.h:
        (JSC::X86Assembler::):
        (JSC::X86Assembler::orl_mr):

        LayoutTests:

        * fast/js/arguments-expected.txt:
        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/arguments.js:
        * fast/js/resources/function-dot-arguments.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 1 Oct 2008 22:12:23 +0000 (22:12 +0000)]
2008-10-01  David Hyatt  <hyatt@apple.com>

        Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
        clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.

        Reviewed by Tim Hatcher

        * WebCore.base.exp:
        * page/FrameView.cpp:
        (WebCore::FrameView::setCanHaveScrollbars):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setCanHaveScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::canHaveScrollbars):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Win bustage.
hyatt@apple.com [Wed, 1 Oct 2008 21:48:56 +0000 (21:48 +0000)]
Fix Win bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Mark Rowe.
mitz@apple.com [Wed, 1 Oct 2008 21:19:41 +0000 (21:19 +0000)]
    Reviewed by Mark Rowe.

        - fix some CachedResource leaks seen on buildbot

        The issue here was that emptying the cache was a no-op when it only
        contained resources with no data. Changed to go after those
        resources when the desired cache capacity is zero.

        * loader/Cache.cpp:
        (WebCore::Cache::pruneLiveResources):
        (WebCore::Cache::pruneDeadResources):
        * loader/Cache.h:
        (WebCore::Cache::prune):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 1 Oct 2008 21:11:07 +0000 (21:11 +0000)]
2008-10-01  David Hyatt  <hyatt@apple.com>

        Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
        HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)

        Reviewed by Adam Roben

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::isOffscreen):
        (WebCore::ScrollView::platformIsOffscreen):
        * platform/ScrollView.h:
        * platform/gtk/ScrollViewGtk.cpp:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformIsOffscreen):
        * platform/qt/ScrollViewQt.cpp:
        * platform/wx/ScrollViewWx.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 1 Oct 2008 20:58:19 +0000 (20:58 +0000)]
2008-10-01  David Hyatt  <hyatt@apple.com>

        Make show/hide/setParentVisible cross-platform on ScrollView.

        Reviewed by Adam Roben

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setParentVisible):
        (WebCore::ScrollView::show):
        (WebCore::ScrollView::hide):
        * platform/ScrollView.h:
        * platform/win/ScrollViewWin.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
kmccullough@apple.com [Wed, 1 Oct 2008 20:41:56 +0000 (20:41 +0000)]
WebCore:

2008-10-01  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=21284
        Bug 21284: Max height affects max width
        - Looks like a cut and paste bug
        - Added layout test fast/css/max-height-and-max-width.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

2008-10-01  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=21284
        Bug 21284: Max height affects max width
        - Looks like a cut and paste bug

        * fast/css/max-height-and-max-width-expected.txt: Added.
        * fast/css/max-height-and-max-width.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
hyatt@apple.com [Wed, 1 Oct 2008 20:34:07 +0000 (20:34 +0000)]
WebCore:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::screenToWindow):
        (WebCore::EmptyChromeClient::windowToScreen):
        * page/Chrome.cpp:
        (WebCore::Chrome::screenToWindow):
        (WebCore::Chrome::windowToScreen):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::contentsToScreen):
        (WebCore::ScrollView::screenToContents):
        (WebCore::ScrollView::platformContentsToScreen):
        (WebCore::ScrollView::platformScreenToContents):
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformContentsToScreen):
        (WebCore::ScrollView::platformScreenToContents):
        * platform/win/ScrollViewWin.cpp:

WebKit/gtk:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::windowToScreen):
        (WebKit::ChromeClient::screenToWindow):
        * WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::repaint):
        (WebChromeClient::screenToWindow):
        (WebChromeClient::windowToScreen):

WebKit/qt:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * WebCoreSupport/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::windowToScreen):
        (WebCore::ChromeClientQt::screenToWindow):
        * WebCoreSupport/ChromeClientQt.h:

WebKit/win:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::windowToScreen):
        (WebChromeClient::screenToWindow):
        * WebCoreSupport/WebChromeClient.h:

WebKit/wx:

2008-10-01  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=21282

        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.

        Reviewed by Adam Roben

        * WebKitSupport/ChromeClientWx.cpp:
        (WebCore::ChromeClientWx::windowToScreen):
        (WebCore::ChromeClientWx::screenToWindow):
        * WebKitSupport/ChromeClientWx.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
mitz@apple.com [Wed, 1 Oct 2008 20:31:19 +0000 (20:31 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)

        Test: fast/parser/residual-style-close-across-removed-block.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
        an assertion that turned out to be wrong in this case, and changed to
        terminate the algorithm at the first empty block.

LayoutTests:

        Reviewed by Darin Adler.

        - test for <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)

        * fast/parser/residual-style-close-across-removed-block-expected.txt: Added.
        * fast/parser/residual-style-close-across-removed-block.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Mac bustage. Make sure the setFrameRect method is moved outside the ifdef in...
hyatt@apple.com [Wed, 1 Oct 2008 19:24:54 +0000 (19:24 +0000)]
Fix Mac bustage. Make sure the setFrameRect method is moved outside the ifdef in the header.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 1 Oct 2008 19:23:05 +0000 (19:23 +0000)]
2008-10-01  David Hyatt  <hyatt@apple.com>

        Make setFrameRect on ScrollView cross-platform.

        Reviewed by Sam Weinig

        * page/FrameView.h:
        (WebCore::FrameView::contentsResized):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setFrameRect):
        * platform/ScrollView.h:
        * platform/gtk/ScrollViewGtk.cpp:
        * platform/qt/ScrollViewQt.cpp:
        * platform/win/ScrollViewWin.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 1 Oct 2008 19:17:01 +0000 (19:17 +0000)]
2008-10-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
        to JSDOMWindow from JSDOMWindowBase.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::removeTimeout):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::setTimeoutOrInterval):
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::clearTimeout):
        (WebCore::JSDOMWindow::setInterval):
        (WebCore::JSDOMWindow::clearInterval):
        (WebCore::JSDOMWindow::atob):
        (WebCore::JSDOMWindow::btoa):
        * page/DOMWindow.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-10-01 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 1 Oct 2008 18:40:57 +0000 (18:40 +0000)]
2008-10-01  Kevin McCullough  <kmccullough@apple.com>

        Rubberstamped by Geoff .

        Remove BreakpointCheckStatement because it's not used anymore.
        No effect on sunspider or the jsc tests.

        * kjs/nodes.cpp:
        * kjs/nodes.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - Mac build fix
mitz@apple.com [Wed, 1 Oct 2008 18:12:45 +0000 (18:12 +0000)]
    - Mac build fix

        * WebCore.base.exp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoMake ScrollView::paint cross-platform.
hyatt@apple.com [Wed, 1 Oct 2008 17:51:02 +0000 (17:51 +0000)]
Make ScrollView::paint cross-platform.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Prevent stealing focus from the search field when focusing a DOM node.
timothy@apple.com [Wed, 1 Oct 2008 17:33:37 +0000 (17:33 +0000)]
    Prevent stealing focus from the search field when focusing a DOM node.

        https://bugs.webkit.org/show_bug.cgi?id=21275

        Reviewed by Kevin McCullough.

        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
        Don't steal focus if the current focus element is the search field.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoSpeculative fix for Gtk bustage.
hyatt@apple.com [Wed, 1 Oct 2008 07:59:47 +0000 (07:59 +0000)]
Speculative fix for Gtk bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix Qt bustage.
hyatt@apple.com [Wed, 1 Oct 2008 07:55:04 +0000 (07:55 +0000)]
Fix Qt bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 1 Oct 2008 07:27:49 +0000 (07:27 +0000)]
2008-09-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.

        Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
        Autogenerate JS event listeners

        - Generate getting/setting of EventListeners.

        - Adding a new named EventListener now has the same process as adding any other DOM
          attribute. (Add a method with the same name in the c++ file).

        (The EventListeners for MessagePort have been intentionally left custom so that we
        can continue to experiment with making those EventListeners work in a frame-less world.)

        * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
        * bindings/js/JSDOMWindowCustom.cpp: ditto.
        * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
        * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
        getter/setters
        * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
        * dom/EventTargetNode.h: ditto.
        * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
        will use JSEventListerner instead of JSUnprotectedEventListener.
        * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
        * page/DOMWindow.cpp: Add getter/setters for named EventListener
        * page/DOMWindow.h: ditto.
        * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
        will use JSEventListerner instead of JSUnprotectedEventListener.
        * xml/XMLHttpRequest.idl: Remove custom attributes.
        * xml/XMLHttpRequestUpload.idl: ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoA-Z.
mrowe@apple.com [Wed, 1 Oct 2008 06:57:03 +0000 (06:57 +0000)]
A-Z.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoAdd a leak counter for CachedResources since we've had two recent leaks involving...
mrowe@apple.com [Wed, 1 Oct 2008 06:53:49 +0000 (06:53 +0000)]
Add a leak counter for CachedResources since we've had two recent leaks involving them.

Reviewed by Dan Bernstein.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Dave Hyatt.
mitz@apple.com [Wed, 1 Oct 2008 06:25:17 +0000 (06:25 +0000)]
    Reviewed by Dave Hyatt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21127
          <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load

        If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
        the font name in memory.

        * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
        OpenTypeUtilities.*.

        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
        to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
        used.
        (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
        for fonts loaded using AddFontMemResourceEx.
        (WebCore::createFontCustomPlatformData): Added a call to
        renameAndActivateFont() if TTLoadEmbeddedFont fails. If
        TTLoadEmbeddedFont succeeds, set the font name to the null string, as
        fontPlatformData() will retrieve the name from the font reference.

        * platform/graphics/win/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
        font name member.

        * platform/graphics/win/GetEOTHeader.cpp: Renamed.
        * platform/graphics/win/GetEOTHeader.h: Renamed.

        * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
        (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
        (WebCore::BigEndianULong::BigEndianULong): Ditto.
        (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
        the font data and modifies it to have the given name, then activates
        it using AddFontMemResourceEx.

        * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoImprove performance of CTI on windows.
oliver@apple.com [Wed, 1 Oct 2008 06:16:18 +0000 (06:16 +0000)]
Improve performance of CTI on windows.

Reviewed by Geoff Garen

Currently on platforms where the compiler doesn't allow us to safely
index relative to the address of a parameter we need to actually
provide a pointer to CTI runtime call arguments.  This patch improves
performance in this case by making the CTI logic for restoring this
parameter much less conservative by only resetting it before we actually
make a call, rather than between each and every SF bytecode we generate
code for.

This results in a 3.6% on the v8 benchmark when compiled with MSVC.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix many leaks seen on fast/backgrounds/svg-as-mask.html.
mrowe@apple.com [Wed, 1 Oct 2008 06:09:28 +0000 (06:09 +0000)]
Fix many leaks seen on fast/backgrounds/svg-as-mask.html.

Reviewed by Dan Bernstein.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
with calls to removeClient when we're being destroyed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Wed, 1 Oct 2008 05:45:01 +0000 (05:45 +0000)]
2008-09-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti

        https://bugs.webkit.org/show_bug.cgi?id=21243

        Fix loopstart and loopend default values.

        Tests: media/loopend-limits.html
               media/loopstart-limits.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
        (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value

2008-09-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti

        https://bugs.webkit.org/show_bug.cgi?id=21243

        Test default loopstart and loopend values.

        * media/loopend-limits-expected.txt: Added.
        * media/loopend-limits.html: Added.
        * media/loopstart-limits-expected.txt: Added.
        * media/loopstart-limits.html: Added.
        * media/video-test.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix many leaks seen on fast/backgrounds/svg-as-background-1.html.
mrowe@apple.com [Wed, 1 Oct 2008 05:29:03 +0000 (05:29 +0000)]
Fix many leaks seen on fast/backgrounds/svg-as-background-1.html.

JavaScript wrappers were keeping DOM objects alive, which was leading to the SVG background image
being kept alive in the memory cache past our last attempt to empty the cache prior to quitting.
We need to empty the memory cache after forcing a JavaScript garbage collection to ensure that
any live JavaScript wrappers are collected and their corresponding DOM objects have a chance to be
torn down before we exit.

Rubber-stamped by Dan Bernstein.

* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agowx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
kevino@webkit.org [Wed, 1 Oct 2008 05:04:18 +0000 (05:04 +0000)]
wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam Weinig.
mitz@apple.com [Wed, 1 Oct 2008 04:43:07 +0000 (04:43 +0000)]
    Reviewed by Sam Weinig.

        - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
          was fixed in r17249 and re-introduced in r31435.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addLink):
        * html/HTMLViewSourceDocument.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Wed, 1 Oct 2008 02:57:53 +0000 (02:57 +0000)]
2008-09-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        - track uses of "this", "with" and "catch" in the parser

        Knowing this up front will be useful for future optimizations.

        Perf and correctness remain the same.

        * kjs/NodeInfo.h:
        * kjs/grammar.y:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Anders Carlsson.
kdecker@apple.com [Wed, 1 Oct 2008 01:05:38 +0000 (01:05 +0000)]
    Reviewed by Anders Carlsson.

        Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
        ever supported it.

        * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
        * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks.
        Also removed many methods AGL/CGL support methods that are no longer necessary.
        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
        (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
        (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
        (-[WebBaseNetscapePluginView stop]): Ditto.
        (-[WebBaseNetscapePluginView dealloc]): Ditto.
        (-[WebBaseNetscapePluginView drawRect:]):
        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
        (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
        (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
        (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code.
        (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Dean Jackson <dino@apple.com>
dino@apple.com [Wed, 1 Oct 2008 01:00:19 +0000 (01:00 +0000)]
2008-09-30  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Remove console output that can cause test to fail on slow
        machines.

        * animations/transition-and-animation-2-expected.txt:
        * animations/transition-and-animation-2.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 1 Oct 2008 00:43:19 +0000 (00:43 +0000)]
2008-09-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        Don't run pixel comparison for text-only tests.
        https://bugs.webkit.org/show_bug.cgi?id=21124

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (dump):
        * Scripts/run-webkit-tests:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 1 Oct 2008 00:39:19 +0000 (00:39 +0000)]
2008-09-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel.

        More for https://bugs.webkit.org/show_bug.cgi?id=21122
        Autogenerate JS event listeners

        - Make EventListener getter/setters names in c++ files match those in
          JS (ie. onLoadListener -> onload).
        - Add standard way to access the frame associated with the EventTarget
          for EventListener lookup.
        - Autogenerate dispatchEvent, it wasn't doing anything custom.

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::mark):
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        (WebCore::JSDOMApplicationCache::setOnchecking):
        (WebCore::JSDOMApplicationCache::onchecking):
        (WebCore::JSDOMApplicationCache::setOnerror):
        (WebCore::JSDOMApplicationCache::onerror):
        (WebCore::JSDOMApplicationCache::setOnnoupdate):
        (WebCore::JSDOMApplicationCache::onnoupdate):
        (WebCore::JSDOMApplicationCache::setOndownloading):
        (WebCore::JSDOMApplicationCache::ondownloading):
        (WebCore::JSDOMApplicationCache::setOnprogress):
        (WebCore::JSDOMApplicationCache::onprogress):
        (WebCore::JSDOMApplicationCache::setOnupdateready):
        (WebCore::JSDOMApplicationCache::onupdateready):
        (WebCore::JSDOMApplicationCache::setOncached):
        (WebCore::JSDOMApplicationCache::oncached):
        * bindings/js/JSEventTargetNodeCustom.cpp:
        (WebCore::JSEventTargetNode::addEventListener):
        (WebCore::JSEventTargetNode::removeEventListener):
        (WebCore::JSEventTargetNode::getListener):
        (WebCore::JSEventTargetNode::setListener):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        (WebCore::JSMessagePort::addEventListener):
        (WebCore::JSMessagePort::removeEventListener):
        (WebCore::JSMessagePort::setOnmessage):
        (WebCore::JSMessagePort::onmessage):
        (WebCore::JSMessagePort::setOnclose):
        (WebCore::JSMessagePort::onclose):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark):
        (WebCore::JSXMLHttpRequest::onreadystatechange):
        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
        (WebCore::JSXMLHttpRequest::onabort):
        (WebCore::JSXMLHttpRequest::setOnabort):
        (WebCore::JSXMLHttpRequest::onerror):
        (WebCore::JSXMLHttpRequest::setOnerror):
        (WebCore::JSXMLHttpRequest::onload):
        (WebCore::JSXMLHttpRequest::setOnload):
        (WebCore::JSXMLHttpRequest::onloadstart):
        (WebCore::JSXMLHttpRequest::setOnloadstart):
        (WebCore::JSXMLHttpRequest::onprogress):
        (WebCore::JSXMLHttpRequest::setOnprogress):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::mark):
        (WebCore::JSXMLHttpRequestUpload::onabort):
        (WebCore::JSXMLHttpRequestUpload::setOnabort):
        (WebCore::JSXMLHttpRequestUpload::onerror):
        (WebCore::JSXMLHttpRequestUpload::setOnerror):
        (WebCore::JSXMLHttpRequestUpload::onload):
        (WebCore::JSXMLHttpRequestUpload::setOnload):
        (WebCore::JSXMLHttpRequestUpload::onloadstart):
        (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
        (WebCore::JSXMLHttpRequestUpload::onprogress):
        (WebCore::JSXMLHttpRequestUpload::setOnprogress):
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/EventTarget.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::associatedFrame):
        * dom/EventTargetNode.h:
        * dom/EventTargetNode.idl:
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::associatedFrame):
        * dom/MessagePort.h:
        (WebCore::MessagePort::setOnmessage):
        (WebCore::MessagePort::onmessage):
        (WebCore::MessagePort::setOnclose):
        (WebCore::MessagePort::onclose):
        * dom/MessagePort.idl:
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::associatedFrame):
        * loader/appcache/DOMApplicationCache.idl:
        * svg/EventTargetSVGElementInstance.cpp:
        (WebCore::EventTargetSVGElementInstance::associatedFrame):
        (WebCore::EventTargetSVGElementInstance::addEventListener):
        (WebCore::EventTargetSVGElementInstance::removeEventListener):
        (WebCore::EventTargetSVGElementInstance::dispatchEvent):
        * svg/EventTargetSVGElementInstance.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::associatedFrame):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::setOnreadystatechange):
        (WebCore::XMLHttpRequest::onreadystatechange):
        (WebCore::XMLHttpRequest::setOnabort):
        (WebCore::XMLHttpRequest::onabort):
        (WebCore::XMLHttpRequest::setOnerror):
        (WebCore::XMLHttpRequest::onerror):
        (WebCore::XMLHttpRequest::setOnload):
        (WebCore::XMLHttpRequest::onload):
        (WebCore::XMLHttpRequest::setOnloadstart):
        (WebCore::XMLHttpRequest::onloadstart):
        (WebCore::XMLHttpRequest::setOnprogress):
        (WebCore::XMLHttpRequest::onprogress):
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::associatedFrame):
        * xml/XMLHttpRequestUpload.h:
        (WebCore::XMLHttpRequestUpload::setOnabort):
        (WebCore::XMLHttpRequestUpload::onabort):
        (WebCore::XMLHttpRequestUpload::setOnerror):
        (WebCore::XMLHttpRequestUpload::onerror):
        (WebCore::XMLHttpRequestUpload::setOnload):
        (WebCore::XMLHttpRequestUpload::onload):
        (WebCore::XMLHttpRequestUpload::setOnloadstart):
        (WebCore::XMLHttpRequestUpload::onloadstart):
        (WebCore::XMLHttpRequestUpload::setOnprogress):
        (WebCore::XMLHttpRequestUpload::onprogress):
        * xml/XMLHttpRequestUpload.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 1 Oct 2008 00:38:06 +0000 (00:38 +0000)]
2008-09-30  Darin Adler  <darin@apple.com>

        - roll out assertion breaking regression tests

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
        that fires in regression tests. Hyatt can add it back later. The assertion
        fires in the regression test because of layout that triggers repaint occuring
        during the process of removing a frame.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2008-09-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 30 Sep 2008 23:58:35 +0000 (23:58 +0000)]
2008-09-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Add WebKitAvailability macros for JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError,
        and JSObjectMakeRegExp

        * API/JSObjectRef.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37126 268f45cc-cd09-0410-ab3c-d52691b4dbfc