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
wx build fixes after Frame/ScrollView changes.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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
        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
        * 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
        * 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
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
        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
Fix Win build bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix scrolling=no iframe regression on Windows.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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
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
Fix Gtk bustage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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
<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
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
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
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
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
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