mrowe@apple.com [Wed, 19 Mar 2008 20:28:11 +0000 (20:28 +0000)]
Fix bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).
Rubber-stamped by Sam Weinig.
* libWebCoreSQLite3.a: Land a 4-way fat binary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31158
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 19 Mar 2008 18:40:52 +0000 (18:40 +0000)]
WebCore:
Reviewed by Sam Weinig.
- fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
Test: fast/repaint/line-flow-with-floats-10.html
* rendering/bidi.cpp:
(WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
If the float's top margin has changed and it has not been repositioned
yet, we do not have its new y position.
LayoutTests:
Reviewed by Sam Weinig.
- test for assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
* fast/repaint/line-flow-with-floats-10.html: Added.
* platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Wed, 19 Mar 2008 18:24:43 +0000 (18:24 +0000)]
2008-03-19 Ada Chan <adachan@apple.com>
Added a method to paint WebView content specified by
the document rect into a device context.
Reviewed by Darin.
* Interfaces/IWebViewPrivate.idl:
* WebView.cpp:
(WebView::paintDocumentRectToContext):
* WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 19 Mar 2008 17:58:22 +0000 (17:58 +0000)]
2008-03-19 David Hyatt <hyatt@apple.com>
New implementation of full page zoom. Because of how much doesn't transform when zooming, and because
of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS
lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and
avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom
and scrollbars do not.
This patch also implements the IE zoom CSS property. This property allows fine-grained control over
zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In
addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all
when a zoom is applied.
Reviewed by olliej
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Support the new 'zoom' property for getComputedStyle.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Code that parses the 'zoom' property.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthInt):
(WebCore::CSSPrimitiveValue::computeLengthIntForLength):
(WebCore::CSSPrimitiveValue::computeLengthShort):
(WebCore::CSSPrimitiveValue::computeLengthFloat):
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* css/CSSPrimitiveValue.h:
Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the
zoom factor.
* css/CSSPropertyNames.in:
Add the new zoom property to the list of properties we understand.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapBackgroundSize):
(WebCore::CSSStyleSelector::mapBackgroundXPosition):
(WebCore::CSSStyleSelector::mapBackgroundYPosition):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::setStyle):
Pass in the zoom factor when computing all lengths in CSS.
* css/CSSValueKeywords.in:
Add support for the 'reset' keyword of the zoom property.
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom.
* html/CanvasRenderingContext2D.cpp:
(WebCore::size):
Make sure the back end canvas size ignores zooming when rendering images.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::naturalWidth):
(WebCore::HTMLImageElement::naturalHeight):
Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
* loader/CachedImage.cpp:
(WebCore::CachedImage::ref):
(WebCore::CachedImage::imageSize):
(WebCore::CachedImage::imageRect):
* loader/CachedImage.h:
(WebCore::CachedImage::canRender):
Force access to the CachedImage metrics to take a multiplier so that people have to think about
the zoom factor. The "intrinsic size" of the image then takes that into account.
* loader/ImageDocument.cpp:
(WebCore::ImageTokenizer::finish):
(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::imageChanged):
(WebCore::ImageDocument::restoreImageSize):
(WebCore::ImageDocument::imageFitsInWindow):
Make sure image documents respect the zoom.
* page/AnimationController.cpp:
(WebCore::ImplicitAnimation::animate):
Make the 'zoom' CSS property work with CSS transitions.
* page/Frame.h:
(WebCore::Frame::pageZoomFactor):
(WebCore::Frame::textZoomFactor):
Add accessors for obtaining the pageZoom vs. textZoom.
* page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
Remove the old zoom implementation that used transforms.
* page/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject accessibilityIsIgnored]):
Pass in the zoom factor.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBoxDecorations):
Pass in the zoom factor when testing for size.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateBackgroundSize):
(WebCore::RenderBox::imageChanged):
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::calcHeight):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::layout):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasSizeChanged):
* rendering/RenderHTMLCanvas.h:
(WebCore::RenderHTMLCanvas::renderName):
(WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::setImageSizeForAltText):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
* rendering/RenderImage.h:
(WebCore::RenderImage::intrinsicSizeChanged):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::imageChanged):
(WebCore::RenderListMarker::getRelativeMarkerRect):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::paintBorder):
Pass in the zoom factor when testing for size.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
(WebCore::RenderReplaced::setStyle):
(WebCore::RenderReplaced::intrinsicSizeChanged):
* rendering/RenderReplaced.h:
Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses
respond to this via overrides.
* rendering/RenderStyle.cpp:
(WebCore::StyleVisualData::StyleVisualData):
(WebCore::StyleInheritedData::StyleInheritedData):
(WebCore::StyleInheritedData::operator==):
(WebCore::RenderStyle::diff):
* rendering/RenderStyle.h:
(WebCore::StyleVisualData::operator==):
(WebCore::RenderStyle::zoom):
(WebCore::RenderStyle::zoomInEffect):
(WebCore::RenderStyle::setZoom):
(WebCore::RenderStyle::setZoomInEffect):
(WebCore::RenderStyle::initialZoom):
Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account
all the zooms specified on ancestors.
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::imageChanged):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::imageChanged):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::imageChanged):
* rendering/RenderVideo.h:
(WebCore::RenderVideo::intrinsicSizeChanged):
Pass in the zoom factor.
* rendering/RenderView.cpp:
(WebCore::RenderView::calcHeight):
(WebCore::RenderView::calcWidth):
(WebCore::RenderView::layout):
(WebCore::RenderView::viewHeight):
(WebCore::RenderView::viewWidth):
* rendering/RenderView.h:
(WebCore::RenderView::zoomFactor):
Back out the old implementation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Wed, 19 Mar 2008 16:29:34 +0000 (16:29 +0000)]
Rename firstParent* methods to enclosingNode*
Rubberstamped by John Sullivan.
* page/inspector/ConsolePanel.js:
* page/inspector/DocumentPanel.js:
* page/inspector/NetworkPanel.js:
* page/inspector/inspector.js:
* page/inspector/utilities.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 19 Mar 2008 14:42:34 +0000 (14:42 +0000)]
WebCore:
Reviewed by John Sullivan.
- fix <rdar://problem/
5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
Test: fast/dynamic/subtree-parent-static-y.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling
this method on the parent if the parent is the new layout subtree root,
which would result in marking all the way to the top, when it should
actually do nothing.
LayoutTests:
Reviewed by John Sullivan.
- test for <rdar://problem/
5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
* fast/dynamic/subtree-parent-static-y.html: Added.
* platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
* platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
* platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 19 Mar 2008 09:37:58 +0000 (09:37 +0000)]
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Use WTF::Unicode abstraction rather than using ICU functions directly.
* html/PreloadScanner.cpp:
(WebCore::PreloadScanner::tokenize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 19 Mar 2008 09:22:45 +0000 (09:22 +0000)]
Attempt to fix the Gtk build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 19 Mar 2008 07:48:37 +0000 (07:48 +0000)]
2008-03-19 Jasper Bryant-Greene <jasper@unix.geek.nz>
Reviewed by Maciej Stachowiak.
Fix http://bugs.webkit.org/show_bug.cgi?id=17941
Bug 17941: C++-style comments in JavaScriptCore API
* API/JSBase.h:
Remove C++-style comments from public JavaScriptCore API, replacing
with standard C90 block comments.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 19 Mar 2008 07:18:09 +0000 (07:18 +0000)]
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Fix http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"
* kjs/nodes2string.cpp:
(KJS::ConstDeclNode::streamTo): Null-check the correct variable.
2008-03-19 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
Test for http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"
* fast/js/function-toString-parentheses-expected.txt:
* fast/js/resources/function-toString-parentheses.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 19 Mar 2008 06:17:10 +0000 (06:17 +0000)]
Bug 17929: Incorrect decompilation with |const|, comma
http://bugs.webkit.org/show_bug.cgi?id=17929
Reviewed by Mark Rowe
There were actually two bugs here. First we weren't correctly handling const
nodes with multiple declarations. The second issue was caused by us not
giving the correct precedence to the initialisers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 19 Mar 2008 04:23:21 +0000 (04:23 +0000)]
JavaScriptCore:
2008-03-18 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- Speed up JavaScript built-in properties by changing the
hash table to take advantage of the identifier objects
5% speedup for Acid3 test 26
* JavaScriptCore.exp: Updated.
* kjs/create_hash_table: Compute size of hash table large enough so that there
are no collisions, but don't generate the hash table.
* kjs/identifier.h: Made the add function that returns a PassRefPtr public.
* kjs/lexer.cpp:
(KJS::Lexer::lex): Updated for change to HashTable interface.
* kjs/lookup.cpp:
(KJS::HashTable::changeKeysToIdentifiers): Added. Finds the identifier for
each property so the equality comparision can be done with pointer comparision.
* kjs/lookup.h: Made the key be a union of char* with UString::Rep* so it can
hold identifiers. Added a keysAreIdentifiers flag to the HashTable. Changed
the Lookup functions to be member functions of HashTable instead.
* kjs/object.cpp:
(KJS::JSObject::deleteProperty): Update for change to HashTable.
(KJS::JSObject::findPropertyHashEntry): Ditto.
(KJS::JSObject::getPropertyAttributes): Ditto.
(KJS::JSObject::getPropertyNames): Ditto.
WebCore:
2008-03-18 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- Speed up JavaScript built-in properties by changing the
hash table to take advantage of the identifier objects
5% speedup for Acid3 test 26
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable.
(WebCore::JSDOMWindowBase::put): Ditto.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
* bindings/js/JSHTMLInputElementBase.cpp:
(WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
* bindings/js/JSLocation.cpp:
(WebCore::JSLocation::customGetOwnPropertySlot): Ditto.
(WebCore::JSLocation::put): Ditto.
* bindings/js/kjs_binding.cpp:
(WebCore::nonCachingStaticFunctionGetter): Ditto.
* bindings/scripts/CodeGeneratorJS.pm: Same changes as in the
create_hash_table script.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Wed, 19 Mar 2008 03:50:11 +0000 (03:50 +0000)]
2008-03-18 Matt Lilek <webkit@mattlilek.com>
Fix the Gtk build for real this time.
* platform/network/curl/AuthenticationChallenge.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 19 Mar 2008 01:50:11 +0000 (01:50 +0000)]
Fix bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug.cgi?id=17927.
- Bug 17925: Crash in KJS::JSObject::put after setting this.__proto__
- Bug 17927: Hang after attempting to create circular __proto__
* kjs/object.cpp:
(KJS::JSObject::put): Silently ignore attempts to set __proto__ to a non-object, non-null value.
Return after setting the exception when an attempt to set a cyclic __proto__ is detected so that
the cyclic value is not set.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 19 Mar 2008 01:42:00 +0000 (01:42 +0000)]
WebCore:
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/
5725058>
Tests: fast/dom/NodeList/
5725058-crash-scenario-1.html
fast/dom/NodeList/
5725058-crash-scenario-2.html
fast/dom/NodeList/
5725058-crash-scenario-3.html
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
* dom/ChildNodeList.h:
Remove rootNodeChildrenChanged() method and fix the constructor to not
pass in a needsNotifications argument to DynamicNodeList, as it no longer
takes one.
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
Don't pass the needsNotifications argument to DynamicNodeList.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childrenChanged):
Rename call to hasNodeLists() to hasNodeListCaches().
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document): Zero out the m_document variable to signify
to destructors down the destruction chain that this is a Document type node
being destructed, and thus, accessing document() is prohibited.
* dom/Document.h:
(WebCore::Document::addNodeListCache): Renamed from addNodeList.
(WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion.
(WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches.
Rename m_numNodeLists to m_numNodeListCaches.
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::DynamicNodeList):
(WebCore::DynamicNodeList::~DynamicNodeList):
(WebCore::DynamicNodeList::invalidateCache):
(WebCore::DynamicNodeList::Caches::Caches):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::hasOwnCaches):
Remove the needsNotifications concept from DynamicNodeList, instead, manually
invalidate the cache for lists that own their own cache.
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
Remove rootNodeAttributeChanged() method and fix the constructor to not
pass in a needsNotifications argument to DynamicNodeList, as it no longer
takes one.
* dom/Node.cpp:
(WebCore::Node::~Node): Decrement the document's nodeListCache count
if we had a NodeListsNodeData cache and this is not the Document being
destructor, as tagged by a null m_document.
(WebCore::Node::childNodes): Increment the document's nodeListCache count
if we need create the NodeListsNodeData.
(WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count
if we need create the NodeListsNodeData. Change to invalidate all the caches, instead
of just the ChildNodeList, if document has had no NodeListCaches.
(WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches
set if it is owned by the NodeList and clear the m_nodeLists if it is empty.
(WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to
NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty.
(WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to
NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty.
(WebCore::Node::notifyNodeListsChildrenChanged): Cleanup.
(WebCore::Node::getElementsByName): Increment the document's nodeListCache count
if we need create the NodeListsNodeData.
(WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count
if we need create the NodeListsNodeData.
(WebCore::NodeListsNodeData::invalidateCaches): Added.
(WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
(WebCore::NodeListsNodeData::isEmpty): Added.
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
Don't pass the needsNotifications argument to DynamicNodeList.
LayoutTests:
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Tests for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/
5725058>
* fast/dom/NodeList/
5725058-crash-scenario-1-expected.txt: Added.
* fast/dom/NodeList/
5725058-crash-scenario-1.html: Added.
* fast/dom/NodeList/
5725058-crash-scenario-2-expected.txt: Added.
* fast/dom/NodeList/
5725058-crash-scenario-2.html: Added.
* fast/dom/NodeList/
5725058-crash-scenario-3-expected.txt: Added.
* fast/dom/NodeList/
5725058-crash-scenario-3.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Wed, 19 Mar 2008 00:43:11 +0000 (00:43 +0000)]
2008-03-18 Matt Lilek <webkit@mattlilek.com>
Not reviewed, build fix.
* platform/network/curl/AuthenticationChallenge.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 18 Mar 2008 23:44:53 +0000 (23:44 +0000)]
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Make domListEnumeration.html test not depend on the order of property enumeration
by sorting the result array.
* fast/dom/domListEnumeration-expected.txt:
* fast/dom/resources/domListEnumeration.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 18 Mar 2008 23:22:06 +0000 (23:22 +0000)]
WebCore:
2008-03-18 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Adam Roben.
Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
* platform/network/ResourceHandle.h:
* platform/network/curl/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::sourceHandle):
WebKit/win:
2008-03-18 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Adam Roben.
Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
* WebDataSource.cpp:
* WebError.cpp: Conditionalize CFNetwork-specific logic
* WebURLAuthenticationChallenge.cpp: Conditionalize constructor
for authentication/challenge member.
(WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
* WebURLResponse.cpp: Remove CFNetwork-specific logic.
* WebURLResponse.h: Conditionalize CFNetwork-specific member.
* WebView.cpp: Conditionalize CFNetwork-specific network protocol test.
(WebView::canHandleRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 18 Mar 2008 22:31:46 +0000 (22:31 +0000)]
Add missing changelog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 18 Mar 2008 22:30:00 +0000 (22:30 +0000)]
Reviewed by Oliver.
Fix SVGImage crash seen once, and obvious via code inspection.
I was not able to find a test case for this.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::usesContainerSize):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 18 Mar 2008 21:43:10 +0000 (21:43 +0000)]
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Fix Qt build after r31123.
Add PluginView methods to TemporaryLinkStubs.
* platform/qt/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31138
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 18 Mar 2008 21:25:56 +0000 (21:25 +0000)]
2008-03-18 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
- Speed up JavaScript prototype and constructor object creation
using a static Identifier in the self() methods to avoid the
cost of creating one from a c-string each time.
5% speedup for Acid3 test 26
* bindings/scripts/CodeGeneratorJS.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Tue, 18 Mar 2008 21:10:30 +0000 (21:10 +0000)]
2008-03-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- inline ActivationImp::init for 0.8% SunSpider speedup
* kjs/Activation.h:
(KJS::ActivationImp::init): Moved here from function.cpp
* kjs/function.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 18 Mar 2008 20:57:16 +0000 (20:57 +0000)]
2008-03-18 Antti Koivisto <antti@apple.com>
Reviewed by Mark Rowe.
Enable preloading for other platforms besides Mac.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
* html/HTMLTokenizer.cpp:
* html/HTMLTokenizer.h:
* html/PreloadScanner.cpp:
(WebCore::PreloadScanner::tokenize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 18 Mar 2008 20:50:43 +0000 (20:50 +0000)]
2008-03-18 David Hyatt <hyatt@apple.com>
Add support for a preference in WebKit that can be used in nightly builds to test full page
zoom.
Reviewed by Antti
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebView.mm:
(-[WebView setTextSizeMultiplier:]):
(-[WebView canMakeTextSmaller]):
(-[WebView makeTextSmaller:]):
(-[WebView canMakeTextLarger]):
(-[WebView makeTextLarger:]):
(-[WebView canMakeTextStandardSize]):
(-[WebView makeTextStandardSize:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 18 Mar 2008 18:15:16 +0000 (18:15 +0000)]
WebCore:
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- fix <rdar://problem/
5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
Test: fast/dynamic/floating-to-positioned.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Added code to remove a float from
object lists if its position property changes to something other than
static, since then it ceases to be a float.
LayoutTests:
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- test for <rdar://problem/
5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
* fast/dynamic/floating-to-positioned.html: Added.
* platform/mac/fast/dynamic/floating-to-positioned-expected.checksum: Added.
* platform/mac/fast/dynamic/floating-to-positioned-expected.png: Added.
* platform/mac/fast/dynamic/floating-to-positioned-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31132
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 18 Mar 2008 18:04:12 +0000 (18:04 +0000)]
Windows build fix after r31123
* plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31131
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Tue, 18 Mar 2008 17:57:22 +0000 (17:57 +0000)]
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed and landed by jhoneycutt.
Update to check if the MIME type is supported by a plugin.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(FrameLoaderClient::objectContentType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31130
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 18 Mar 2008 16:42:05 +0000 (16:42 +0000)]
Focus the Inspector's WebView whenever the Inspector window is focused
Reviewed by Mitz.
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::onSetFocus): Send focus to the WebView.
(WebInspectorWndProc): Added a handler for WM_SETFOCUS.
* WebCoreSupport/WebInspectorClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 18 Mar 2008 16:40:30 +0000 (16:40 +0000)]
Fix Bug 14276: Element highlight also covers Web inspector
<http://bugs.webkit.org/show_bug.cgi?id=14276>
<rdar://
5712796>
Also fixes <rdar://
5622837> Browser window comes to front when node
highlight appears, potentially blocking Inspector
Reviewed by Mitz.
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::highlight): After showing the highlight,
reposition it just behind the Inspector's window.
* WebNodeHighlight.cpp:
(WebNodeHighlight::show):
- Changed flags passed to CreateWindowEx to not specify WS_VISIBLE.
This is not needed because we'll show the window later in this
function.
- Removed call to SetWindowPos that tried to position the overlay
just in front of the WebView. This is now handled by
WebInspectorClient.
- Changed call to ShowWindow to use SetWindowPos so that we can pass
SWP_NOACTIVATE. This prevents the highlight from jumping in front
of the Inspector every time it's shown.
* WebNodeHighlight.h: Added a method to get the highlight's HWND.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31128
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 18 Mar 2008 16:13:31 +0000 (16:13 +0000)]
2008-03-18 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- eliminate RenderFlow::m_clear
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
(WebCore::RenderBlock::newLine): Added a 'clear' parameter.
* rendering/RenderBlock.h:
* rendering/RenderFlow.h:
(WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
variable, passing a pointer to it to findNextLineBreak() and its value
to newLine().
(WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
which this method adjusts when it encounters a <br>.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 18 Mar 2008 15:20:49 +0000 (15:20 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 18 Mar 2008 14:50:39 +0000 (14:50 +0000)]
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Fix Mac build from commit of r31123.
Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.
* platform/Widget.h:
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 18 Mar 2008 14:46:17 +0000 (14:46 +0000)]
Fix the Qt build.
Including config.h like in the other .cpp files gets the #ifdeffery
correct for rand_s.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 18 Mar 2008 14:21:04 +0000 (14:21 +0000)]
WebCore:
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Jon Honeycutt.
Add PluginView.cpp and npapi.cpp to build files.
Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
Split Windows specific code out of PluginView.cpp.
Add #if USE(NPOBJECT) around dependant code.
Use npruntime_internal.h instead of npapi.h.
Add PlatformWidget typedef to Widget.h.
Update WidgetGtk.cpp for the PlatformWidget usage.
Add needed methods to TemporaryLinkStubs for GTK+ port.
* GNUmakefile.am:
* WebCore.pro:
* WebCoreSources.bkl:
* WebCore.vcproj/WebCore.vcproj:
* plugins/win/PluginViewWin.cpp:
* plugins/PluginView.cpp:
* plugins/PluginView.h:
* plugins/npapi.cpp:
* platform/Widget.h:
* platform/gtk/WidgetGtk.cpp:
* platform/gtk/TemporaryLinkStubs.cpp:
WebKit/gtk:
2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Jon Honeycutt.
Update setContainingWindow() calls to pass a GtkWidget.
* webkit/webkitwebframe.cpp:
(webkit_web_frame_new):
(webkit_web_frame_init_with_web_view):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 18 Mar 2008 13:47:47 +0000 (13:47 +0000)]
JavaScriptCore:
2008-03-17 Darin Adler <darin@apple.com>
Reviewed by Maciej.
JavaScriptCore changes to support a WebCore speedup.
* JavaScriptCore.exp: Export the UString::Rep::computeHash function.
* wtf/HashSet.h: Added a find and contains function that take a translator,
like the add function.
WebCore:
2008-03-17 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- speed up document property fetching (eliminate the AtomicString
objects made during document property lookup)
3% speedup for Acid3 test 26
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to
locate the AtomicString, only if already present. Also call the new faster
versions of the hasNamedItem and hasElementWithId functions that don't
ref/deref the AtomicStringImpl, get inlined, etc.
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName): Ditto.
(WebCore::writeHelper): Use a Vector instead of a String to build up
the string to avoid the bad performance of string append.
* dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
* dom/Document.h: Added new hasElementWithId function that's faster than
getElementById because it doesn't ref/deref the AtomicStringImpl*, gets
inlined, doesn't have to handle the 0 case, and doesn't try to return the
element pointer (just a boolean).
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString
consistently. Also renamed the data member for clarity.
(WebCore::HTMLAppletElement::insertedIntoDocument): Ditto.
(WebCore::HTMLAppletElement::removedFromDocument): Ditto.
* html/HTMLAppletElement.h: Ditto.
* html/HTMLDocument.cpp:
(WebCore::addItemToMap): Use AtomicString instead of String.
(WebCore::removeItemFromMap): Ditto.
(WebCore::HTMLDocument::addNamedItem): Updated for member name change.
(WebCore::HTMLDocument::removeNamedItem): Ditto.
(WebCore::HTMLDocument::addExtraNamedItem): Ditto.
(WebCore::HTMLDocument::removeExtraNamedItem): Ditto.
(WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript
bindings. If we're going to have an empty placeholder function, there's no
reason to have it in the bindings instead of here.
* html/HTMLDocument.h: Added clear. Changed the named item function
arguments to AtomicString insted of String. Changed the NameCountMap to
use AtomicStringImpl* instead of StringImpl*. Renamed the data members
to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem
and hasExtraNamedItem functions that are inlined and faster than the old
idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined,
and don't have to handle the 0 case.
* html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took
it out of the JavaScript-specific section.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString
consistently. Also renamed the data member for clarity.
(WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
(WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::insertedIntoDocument): Ditto.
(WebCore::HTMLFormElement::removedFromDocument): Ditto.
(WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
* html/HTMLFormElement.h: Ditto.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for
clarity, since the frame name is not the same as the name attribute.
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto.
(WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
* html/HTMLFrameElementBase.h: Ditto.
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString
consistently. Also renamed the data member for clarity.
(WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto.
(WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
* html/HTMLIFrameElement.h: Ditto.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
(WebCore::HTMLImageElement::insertedIntoDocument): Ditto.
(WebCore::HTMLImageElement::removedFromDocument): Ditto.
* html/HTMLImageElement.h: Ditto.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
(WebCore::HTMLObjectElement::insertedIntoDocument): Ditto.
(WebCore::HTMLObjectElement::removedFromDocument): Ditto.
(WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
* html/HTMLObjectElement.h: Ditto.
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead
of callling lower().
* html/HTMLPlugInElement.h: Changed the type of m_name. The code that
uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.
* platform/text/AtomicString.cpp:
(WebCore::equal): Moved to an inline so we can share this code between a
few different functions. It could move to a header too if we want to use
it elsewhere.
(WebCore::UCharBufferTranslator::equal): Change to use inline.
(WebCore::HashAndCharactersTranslator::hash): Added.
(WebCore::HashAndCharactersTranslator::equal): Added.
(WebCore::HashAndCharactersTranslator::translate): Added.
(WebCore::AtomicString::add): Improved the Identifier and UString overloads
to use the already-computed hash code instead of rehashing the string.
(WebCore::AtomicString::find): Added.
* platform/text/AtomicString.h: Added a find function so we can avoid
allocating memory just to look up a string in an atomic string set or map.
* platform/text/StringImpl.h: Added declarations needed for the
AtomicString changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Tue, 18 Mar 2008 09:42:58 +0000 (09:42 +0000)]
2008-03-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- a few micro-optimizations for 1.2% SunSpider speedup
* kjs/function.cpp:
(KJS::FunctionImp::callAsFunction): check for Return completion before Throw,
it is more likely.
* kjs/object.cpp:
(KJS::JSObject::put): When walking prototype chain, instead of
checking isObject (a virtual call), compare to jsNull (compare to
a constant) since null is the only non-object that can be in a
prototype chain.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 18 Mar 2008 06:12:59 +0000 (06:12 +0000)]
2008-03-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Bug 17908: Various bugs in the Console completion code
http://bugs.webkit.org/show_bug.cgi?id=17908
* page/inspector/ConsolePanel.js:
(WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end
of the prompt into the _caretAtEndOfPrompt helper function.
(WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes.
(WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result.
(WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the
end of the prompt.
(WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length.
This makes sure the caret is at the end when there are multiple text nodes in the prompt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 18 Mar 2008 05:36:26 +0000 (05:36 +0000)]
Optimise multi-scope function call resolution
Reviewed by Geoff
Refactor multiscope variable resolution and use to add
optimised FunctionCallResolveNode subclasses.
2.6% gain in sunspider performance, *25%* gain in controlflow-recursive
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 18 Mar 2008 05:03:24 +0000 (05:03 +0000)]
Reviewed by Dan Bernstein.
Fix bogus argCount check breaking plugin test.
* DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 18 Mar 2008 04:36:51 +0000 (04:36 +0000)]
2008-03-17 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Dave Hyatt.
- FloatingObject cleanup
Renamed FloatingObject's data members as follows: node -> m_renderer,
startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
Also addressed the FIXME in RenderBlock::containsFloat().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::leftRelOffset):
(WebCore::RenderBlock::rightRelOffset):
(WebCore::RenderBlock::nextFloatBottomBelow):
(WebCore::RenderBlock::floatBottom):
(WebCore::RenderBlock::floatRect):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::leftBottom):
(WebCore::RenderBlock::rightBottom):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::containsFloat): Changed to return false if the
floats lists exists but is empty, since line layout code no longer
relies on the buggy behavior.
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::containsFloats):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::matchedEndLine):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31117
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 18 Mar 2008 04:04:34 +0000 (04:04 +0000)]
WebCore:
2008-03-17 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- allow incremental relayout of blocks that contain floats
Tests: fast/repaint/line-flow-with-floats-[1-9].html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
of the function body out of an if statement which was replaced with an
early return.
(WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
of the function body out of an if statement and moving the ASSERT, which
is a crash in release builds, to the beginning. Made this function set
the m_isDescendant flag of floating objects it creates.
(WebCore::RenderBlock::removeFloatingObject): Added a call to
markLinesDirtyInVerticalRange() when removing a float from a block with
inline children.
(WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
lines in the given range as dirty.
(WebCore::RenderBlock::clearFloats): Added code to detect changes to
the geometry of floats intruding into this block from other blocks and
mark any lines whose available width has changed as a result as dirty.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
to cache a float with its position and size.
(WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
m_isDescendant flag, used by clearFloats() to distinguish between floats
entering the block from outside and floats internal to the block.
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::floats): Added.
(WebCore::RootInlineBox::floatsPtr): Added.
(WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
hold the floats originating on the line.
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Made the existence of
floats not force a full layout. Changed to cache the geometry of floats
in the block and detect changes to it. If a float's size or position
changes, all lines from that point on are treated as dirty. An exception
is a change in the dimensions of a float on an otherwise-clean line,
which only dirties lines potentially affected by the change (see
determineStartPosition()). Added code to update each RootInlineBox's
set of floats as lines are laid out. Added code to shift floats
belonging to clean lines in the end along with the lines.
(WebCore::RenderBlock::determineStartPosition): Made this function look
for changes to floats' dimensions and mark lines as dirty accordingly.
Also look for new floats and if found, cause a full layout. Added code
to re-add floats belonging to clean lines.
(WebCore::RenderBlock::matchedEndLine): Added checking that the clean
lines in the end can be shifted vertically as needed, i.e. that the
available width along the way is uniform.
LayoutTests:
2008-03-17 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- test incremental relayout of blocks that contain floats
* fast/repaint/line-flow-with-floats-1.html: Added.
* fast/repaint/line-flow-with-floats-2.html: Added.
* fast/repaint/line-flow-with-floats-3.html: Added.
* fast/repaint/line-flow-with-floats-4.html: Added.
* fast/repaint/line-flow-with-floats-5.html: Added.
* fast/repaint/line-flow-with-floats-6.html: Added.
* fast/repaint/line-flow-with-floats-7.html: Added.
* fast/repaint/line-flow-with-floats-8.html: Added.
* fast/repaint/line-flow-with-floats-9.html: Added.
* fast/repaint/resources/line-flow-with-floats.html: Added.
* fast/repaint/resources/line-flow-with-floats.js: Added.
* platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
* platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
* platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
* platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 18 Mar 2008 01:54:48 +0000 (01:54 +0000)]
Don't define PLATFORM(MIDDLE_ENDIAN) on little endian ARM.
Reviewed by Darin.
See <http://bugs.webkit.org/show_bug.cgi?id=15416#c13>.
* wtf/Platform.h: Added check for !defined(__ARMEL__) when defining
PLATFORM(MIDDLE_ENDIAN).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 17 Mar 2008 23:33:40 +0000 (23:33 +0000)]
Add fast multi-level scope lookup
Reviewed by Geoff, Darin and Weinig
Add logic and AST nodes to provide rapid variable resolution across
static scope boundaries. This also adds logic that allows us to skip
any static scopes that do not contain the variable to be resolved.
This results in a ~2.5% speedup in SunSpider, and gives a 25-30% speedup
in some simple and ad hoc closure and global variable access tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31114
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 17 Mar 2008 23:08:43 +0000 (23:08 +0000)]
2008-03-17 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- link "backtrace" to the page that explains how to get one
* quality/bugwriting.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 17 Mar 2008 21:47:30 +0000 (21:47 +0000)]
Reviewed by darin.
Fix _NPN_IntFromIdentifier (and export the symbol for use!)
Test: plugins/netscape-identifier-conversion.html
* WebCore.NPAPI.exp:
* bridge/npruntime.cpp:
(_NPN_IntFromIdentifier):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 17 Mar 2008 21:38:31 +0000 (21:38 +0000)]
WebCore:
2008-03-17 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
* page/DOMWindow.idl:
LayoutTests:
2008-03-17 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
* fast/dom/Window/window-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31111
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Mon, 17 Mar 2008 21:34:51 +0000 (21:34 +0000)]
2008-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
Unreviewed Gtk+ build fix.
* platform/ScrollView.h: make it public
* platform/gtk/ScrollViewGtk.cpp: remove const
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Mon, 17 Mar 2008 21:33:50 +0000 (21:33 +0000)]
2008-03-17 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Holger.
<http://bugs.webkit.org/show_bug.cgi?id=17754>
- Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous
requests.
- Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds
the network data, response and error for us during the transfert.
* platform/network/ResourceHandleInternal.h: Remove trailing white space.
* platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader
(WebCore::WebCoreSynchronousLoader::resourceResponse):
(WebCore::WebCoreSynchronousLoader::resourceError):
(WebCore::WebCoreSynchronousLoader::data):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::ResourceHandle::loadResourceSynchronously): Implement method
using WebCoreSynchronousLoader.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
(WebCore::ResourceHandleManager::startJob):
(WebCore::ResourceHandleManager::initializeHandle): Handle initialization
method used both for synchronous and asynchronous job.
* platform/network/curl/ResourceHandleManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31109
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 21:27:09 +0000 (21:27 +0000)]
2008-03-17 Darin Adler <darin@apple.com>
- try to fix GTK build
* platform/ScrollView.h: Make setGtkAdjustments adjustment.
And non-virtual (why was it virtual?).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31108
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 20:34:57 +0000 (20:34 +0000)]
2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
Fix Bug 17898: Split PluginMessageThrottlerWin into its own files
<http://bugs.webkit.org/show_bug.cgi?id=17898>
Move the PluginMessageThrottlerWin class into its own files, in
preparation for refactoring PluginView code to be shared.
Reviewed and tweaked by Adam Roben.
* WebCore.vcproj/WebCore.vcproj:
* plugins/PluginView.h:
* plugins/win/PluginMessageThrottlerWin.cpp: Added.
* plugins/win/PluginMessageThrottlerWin.h: Added.
* plugins/win/PluginViewWin.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31106
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 20:21:48 +0000 (20:21 +0000)]
More Windows build fixes after r31098
* platform/ScrollView.h: Make some more methods public.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31104
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 20:18:07 +0000 (20:18 +0000)]
Windows and Qt build fixes after r31098
* platform/ScrollView.h: Mark methods public that still need to be so.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31103
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Mon, 17 Mar 2008 18:58:01 +0000 (18:58 +0000)]
2008-03-16 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin Adler.
Bug 17883: Console completion should support bracket notation
http://bugs.webkit.org/show_bug.cgi?id=17883
Also fixes a bug where the Inspector's window object was used instead of the
inspected window object.
* page/inspector/ConsolePanel.js:
(WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call.
(WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call.
Check the last character of the expression for a dot or bracket. Fallback
to the InspectorController.inspectedWindow() instead of window, this was a bad bug.
If the expression caused an exception, just consider the prefix a window property.
When bracket notation is used remember what quote was used and compared property names
with that quote surrounding it. Also escape the property name for the quote and backslash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 18:01:16 +0000 (18:01 +0000)]
WebCore:
2008-03-17 Robert Blaut <webkit@blaut.biz>
Reviewed by Darin.
Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
Set default margin-bottom for form element in quirk mode
and be compatible with Gecko.
Tests: fast/css/margin-bottom-form-element-quirk.html
fast/css/margin-bottom-form-element-strict.html
* css/html4.css:
* css/quirks.css:
LayoutTests:
2008-03-17 Robert Blaut <webkit@blaut.biz>
Reviewed by Darin.
Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
Set default margin-bottom for form element in quirk mode
and be compatible with Gecko.
* fast/css/margin-bottom-form-element-quirk.html: Added.
* fast/css/margin-bottom-form-element-strict.html: Added.
* fast/frames/viewsource-empty-attribute-value-expected.txt:
* platform/mac/fast/block/margin-collapse/103-expected.checksum:
* platform/mac/fast/block/margin-collapse/103-expected.png:
* platform/mac/fast/block/margin-collapse/103-expected.txt:
* platform/mac/fast/css/margin-bottom-form-element-quirk-expected.checksum: Added.
* platform/mac/fast/css/margin-bottom-form-element-quirk-expected.png: Added.
* platform/mac/fast/css/margin-bottom-form-element-quirk-expected.txt: Added.
* platform/mac/fast/css/margin-bottom-form-element-strict-expected.checksum: Added.
* platform/mac/fast/css/margin-bottom-form-element-strict-expected.png: Added.
* platform/mac/fast/css/margin-bottom-form-element-strict-expected.txt: Added.
* platform/mac/tables/mozilla/bugs/bug44505-expected.checksum:
* platform/mac/tables/mozilla/bugs/bug44505-expected.png:
* platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
* platform/mac/tables/mozilla/bugs/bug51727-expected.checksum:
* platform/mac/tables/mozilla/bugs/bug51727-expected.png:
* platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
* platform/mac/tables/mozilla/bugs/bug52505-expected.checksum:
* platform/mac/tables/mozilla/bugs/bug52505-expected.png:
* platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
* platform/mac/tables/mozilla/bugs/bug52506-expected.checksum:
* platform/mac/tables/mozilla/bugs/bug52506-expected.png:
* platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum:
* platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.checksum:
* platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
* platform/qt/fast/block/margin-collapse/103-expected.txt: Removed.
* platform/qt/tables/mozilla/bugs/bug44505-expected.txt: Removed.
* platform/qt/tables/mozilla/bugs/bug51727-expected.txt: Removed.
* platform/qt/tables/mozilla/bugs/bug52505-expected.txt: Removed.
* platform/qt/tables/mozilla/bugs/bug52506-expected.txt: Removed.
* platform/qt/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt: Removed.
* platform/qt/tables/mozilla_expected_failures/bugs/bug56024-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 17 Mar 2008 17:38:11 +0000 (17:38 +0000)]
2008-03-17 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878
Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests
I can't reproduce the crash or make a test case for this one but I'm pretty sure this
is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862
except in didFail() instead of didFinishLoading().
* loader/loader.cpp:
(WebCore::Loader::Host::didFail):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 16:56:53 +0000 (16:56 +0000)]
2008-03-17 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed and tweaked by Darin.
http://bugs.webkit.org/show_bug.cgi?id=17172
Refactor platform checks in ScrollView.h
* platform/ScrollView.h: Change #ifs around.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 16:43:49 +0000 (16:43 +0000)]
WebCore:
2008-03-17 Yuzhu Shen <yuzhu.shen@gmail.com>
Reviewed by Darin.
Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
It is necessary to load the image even when src="".
Test: fast/images/load-img-with-empty-src.html
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.
LayoutTests:
2008-03-17 Yuzhu Shen <yuzhu.shen@gmail.com>
Reviewed by Darin.
Bug: http://bugs.webkit.org/show_bug.cgi?id=17760
Test whether <img> tries to load image with empty src attribute.
* fast/images/load-img-with-empty-src-expected.txt: Added.
* fast/images/load-img-with-empty-src.html: Added.
* fast/images/resources/test-load.jpg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 15:27:35 +0000 (15:27 +0000)]
2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
Fix GTK+ build from r31094.
* plugins/gtk/PluginDatabaseGtk.cpp:
(PluginDatabase::getPluginsInPaths):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 15:25:18 +0000 (15:25 +0000)]
Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
WebCore:
Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
<http://bugs.webkit.org/show_bug.cgi?id=17876>
Reviewed by John.
Test: fast/dom/remove-named-attribute-crash.html
* dom/NamedAttrMap.cpp:
(WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're
going to remove from the m_attributes Vector in a RefPtr so it doesn't
get deleted when it is removed from the Vector.
LayoutTests:
Test for Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
<http://bugs.webkit.org/show_bug.cgi?id=17876>
Reviewed by John.
* fast/dom/remove-named-attribute-crash-expected.txt: Added.
* fast/dom/remove-named-attribute-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 17 Mar 2008 14:51:44 +0000 (14:51 +0000)]
2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Adam Roben.
Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp.
Remove implemented methods from TemporaryLinkStubs.
* GNUmakefile.am:
* plugins/gtk:
* plugins/gtk/PluginDatabaseGtk.cpp:
* platform/gtk/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31094
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Mon, 17 Mar 2008 08:27:23 +0000 (08:27 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31093
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 17 Mar 2008 04:05:28 +0000 (04:05 +0000)]
2008-03-16 Maciej Stachowiak <mjs@apple.com>
Not reviewed, just fixing an incomplete comment from the last commit.
* dom/Range.cpp:
(WebCore::Range::surroundContents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31092
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Mon, 17 Mar 2008 03:59:25 +0000 (03:59 +0000)]
wx build fix. Make sure we link png/jpeg libraries before wx libraries to get the right symbols.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31091
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 17 Mar 2008 03:50:33 +0000 (03:50 +0000)]
WebCore:
2008-03-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
http://bugs.webkit.org/show_bug.cgi?id=17509
This gets us to 92/100
* dom/Range.cpp:
(WebCore::Range::surroundContents): Check for
HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3
expects exceptional conditions to be tested in the order that the
spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If
the start point of the range is in a comment node, the node that
would be the parent of a partial replacement is actually the
comment node's parent (since comment nodes have character
indices), so we should do the HIERARCHY_REQUEST_ERR check based on
the parent of the comment node, as for text nodes, even though it
will fail later with a different exception because it is not
allowed to surround a partially selected non-text node.
LayoutTests:
2008-03-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- test for "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
http://bugs.webkit.org/show_bug.cgi?id=17509
* fast/dom/Range/acid3-surround-contents-expected.txt: Added.
* fast/dom/Range/acid3-surround-contents.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 03:47:03 +0000 (03:47 +0000)]
WebCore:
2008-03-16 Marvin Decker <marv.decker@gmail.com>
Reviewed by Darin.
Fix bug 15119: URL query characters that are unencodable in the
request's character set should be converted to XML entities with
non-alphanumeric characters escaped.
Test: http/tests/uri/escaped-entity.html
* html/FormDataList.cpp:
(WebCore::FormDataList::appendString):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formData):
* platform/KURL.cpp:
(WebCore::encodeRelativeString):
* platform/text/String.cpp:
(WebCore::String::latin1):
(WebCore::String::utf8):
* platform/text/TextCodec.cpp:
(WebCore::TextCodec::unencodableCharReplacement):
* platform/text/TextCodec.h:
(WebCore::):
* platform/text/TextCodecICU.cpp:
(WebCore::urlEscapedEntityCallback):
(WebCore::gbkUrlEscapedEntityCallack):
(WebCore::TextCodecICU::encode):
* platform/text/TextCodecICU.h:
(WebCore::TextCodecICU::setNeedsGBKFallbacks):
* platform/text/TextCodecLatin1.cpp:
(WebCore::encodeComplexWindowsLatin1):
(WebCore::TextCodecLatin1::encode):
* platform/text/TextCodecLatin1.h:
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::encode):
* platform/text/TextCodecUTF16.h:
* platform/text/TextCodecUserDefined.cpp:
(WebCore::encodeComplexUserDefined):
(WebCore::TextCodecUserDefined::encode):
* platform/text/TextCodecUserDefined.h:
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncoding.h:
* platform/text/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::encode):
* platform/text/mac/TextCodecMac.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
LayoutTests:
2008-03-16 Marvin Decker <marv.decker@gmail.com>
Reviewed by Darin.
Fix bug 15119, unencodable characters in URLs should be entity-escaped.
* http/tests/uri/escaped-entity-expected.txt: Added.
* http/tests/uri/escaped-entity.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 17 Mar 2008 03:26:42 +0000 (03:26 +0000)]
2008-03-16 weihongzeng <weihong.zeng@hotmail.com>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15416
Add support for mixed-endian processors
* kjs/dtoa.cpp: Add IEEE_ARM, triggered by PLATFORM(MIDDLE_ENDIAN).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Mon, 17 Mar 2008 01:29:36 +0000 (01:29 +0000)]
Rubber stamped by Darin.
Add set-webkit-configuration support for wx port, and centralize build dir location setting.
http://bugs.webkit.org/show_bug.cgi?id=17790
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Mar 2008 22:21:34 +0000 (22:21 +0000)]
WebCore:
2008-03-16 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- http://bugs.webkit.org/show_bug.cgi?id=17881
a little cleanup for HTMLTextAreaElement
Tests: fast/forms/textarea-default-value-leading-newline.html
fast/forms/textarea-linewrap-dynamic.html
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/
(WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return
and check for < 0 rather than -1 specifically.
(WebCore::HTMLTextAreaElement::selectionEnd): Ditto.
(WebCore::HTMLTextAreaElement::setSelectionStart): Early return.
(WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto.
(WebCore::HTMLTextAreaElement::select): Ditto.
(WebCore::HTMLTextAreaElement::setSelectionRange): Ditto.
(WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing
to treat unknown values as meaning "default" rather than "leave value as-is".
Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed.
(WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument.
(WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes.
(WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit
class name in isFocusable call.
(WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto.
(WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting.
(WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto.
(WebCore::HTMLTextAreaElement::updateValue): Early return.
(WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to
eliminate on small refcount churn.
(WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant
string length checks, since String already checks all indexing and returns 0.
(WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize
line endings and add a leading line ending to fix cases where the first
character is a newline.
(WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg.
(WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid
refcount churn.
(WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead
of -1 specifically.
* html/HTMLTextAreaElement.h: Replaced wrap function with more-specific
shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum
provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to
m_cachedSelectionStart and m_cachedSelectionEnd.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::createInnerTextStyle): Updated for change to
HTMLTextAreaElement wrap function.
LayoutTests:
2008-03-16 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- test for bug fixes in http://bugs.webkit.org/show_bug.cgi?id=17881
a little cleanup for HTMLTextAreaElement
* fast/forms/textarea-default-value-leading-newline-expected.txt: Added.
* fast/forms/textarea-default-value-leading-newline.html: Copied from fast/forms/textarea-crlf.html.
* fast/forms/textarea-hard-linewrap-expected.txt: Updated.
* fast/forms/textarea-hard-linewrap.html: Cleaned up a bit.
* fast/forms/textarea-linewrap-dynamic-expected.txt: Added.
* fast/forms/textarea-linewrap-dynamic.html: Copied from fast/forms/textarea-hard-linewrap.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sun, 16 Mar 2008 21:47:50 +0000 (21:47 +0000)]
Reviewed by Mitz.
Fix http/tests/security/frame-loading-via-document-write.html
which was broken by the preload patch.
Don't print error message when preload fails local file security check.
Some minor refactoring.
* html/PreloadScanner.cpp:
(WebCore::PreloadScanner::emitTag):
(WebCore::PreloadScanner::emitCSSRule):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
* loader/Cache.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestResource):
(WebCore::DocLoader::preload):
(WebCore::DocLoader::printPreloadStats):
* loader/DocLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sun, 16 Mar 2008 20:53:39 +0000 (20:53 +0000)]
WebCore:
Reviewed by Darin.
Fix http://bugs.webkit.org/show_bug.cgi?id=17862
REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
This was a memory smasher introduced by the preloading patch.
If a script resource was marked uncacheable, early deletion of the
Request object would cause deletion of the CachedResource too if
it was referred more than once in a single document.
Test: http/tests/misc/uncacheable-script-repeated.html
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests):
(WebCore::Loader::Host::didFinishLoading):
LayoutTests:
Reviewed by Darin.
Test for http://bugs.webkit.org/show_bug.cgi?id=17862
REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
* http/tests/misc/resources/uncacheable-script.cgi: Added.
* http/tests/misc/uncacheable-script-repeated-expected.txt: Added.
* http/tests/misc/uncacheable-script-repeated.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Mar 2008 20:35:31 +0000 (20:35 +0000)]
WebCore:
2008-03-16 Yuzhu Shen <yuzhu.shen@gmail.com>
Reviewed by Darin.
Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
<img href="#"> should go to top of the page.
Test: fast/html/empty-fragment-id-goto-top.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::gotoAnchor):
LayoutTests:
2008-03-16 Yuzhu Shen <yuzhu.shen@gmail.com>
Reviewed by Darin.
Bug: http://bugs.webkit.org/show_bug.cgi?id=17714
Test whether clicking <img href="#"> goes to top of the page.
* fast/html/empty-fragment-id-goto-top-expected.txt: Added.
* fast/html/empty-fragment-id-goto-top.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Mar 2008 20:25:40 +0000 (20:25 +0000)]
WebCore:
2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>
Reviewed by Darin.
Don't use RefPtr in classes you haven't seen the implementation of.
Forward-declaration and declaration of RefPtr<Foo> is ok. But you
cannot *use* said objects until Foo is defined. This is true even for
initialisation with a 0.
Seems the HP aCC compiler is more strict here than gcc.
* editing/SplitTextNodeCommand.h:
* page/FrameTree.h:
* xml/XPathExpressionNode.h:
WebKit/qt:
2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>
Reviewed by Simon.
Don't use RefPtr in classes you haven't seen the implementation of.
Forward-declaration and declaration of RefPtr<Foo> is ok. But you
cannot *use* said objects until Foo is defined. This is true even for
initialisation with a 0.
Seems the HP aCC compiler is more strict here than gcc.
* Api/qwebframe_p.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Mar 2008 20:17:54 +0000 (20:17 +0000)]
WebCore:
2008-03-16 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=14941
<rdar://problem/
5404093> textarea value from JavaScript includes extra newline
Test: fast/forms/textarea-trailing-newline.html
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::finishText): Added code to strip the trailing
newline. It's possible there are some obscure cases where this is not wanted,
but I couldn't find any. If someone finds a case where this is bad, we can
make the code conditional.
LayoutTests:
2008-03-16 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- test for http://bugs.webkit.org/show_bug.cgi?id=14941
<rdar://problem/
5404093> textarea value from JavaScript includes extra newline
* fast/forms/textarea-paste-newline.html: Updated test to expect correct behavior instead
of expecting the bug.
* fast/forms/textarea-trailing-newline-expected.txt: Added.
* fast/forms/textarea-trailing-newline.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Mar 2008 20:15:41 +0000 (20:15 +0000)]
2008-03-16 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=17876
Attempting to visit Ofcom page causes crash
This is causing intermittent crashes on some existing test cases on the buildbot
too; I don't have a 100% test case right now, but it should be easy to add one later
and this does fix a crash in a test we already have.
* dom/CharacterData.cpp:
(WebCore::CharacterData::CharacterData): Initialize m_data to the empty string,
not the null string. The class assumes the string can never being null.
(WebCore::CharacterData::setData): If asked to set the data to the null string,
set it to the empty string instead. This matches what the (non-empty) constructor
has always done.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Sun, 16 Mar 2008 06:34:10 +0000 (06:34 +0000)]
Reviewed by Adam Roben.
Bug 17870: Web Inspector console should feel more like a terminal
http://bugs.webkit.org/show_bug.cgi?id=17870
Bug 14390: Console input area should be more noticeable
http://bugs.webkit.org/show_bug.cgi?id=14390
Adds tab completion, auto completion and a blended input prompt.
The prompt is also focused when the console is shown.
Implements a new look, that will be part of the UI refresh.
* page/inspector/ConsolePanel.js:
(WebInspector.ConsolePanel): Renamed a few properties.
(WebInspector.ConsolePanel.get/set promptText): Property to set
and get the current prompt text. Does not affect command history.
(WebInspector.ConsolePanel.show): Make the prompt focus on show.
(WebInspector.ConsolePanel.acceptAutoComplete): Accepts any
pending auto complete text.
(WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending
auto complete text.
(WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto
complete in 250 ms, only if there isn't a pending auto complete.
(WebInspector.ConsolePanel.complete):
(WebInspector.ConsolePanel.completions): Generate a list of possible
completions based on the prefix and the previous expression ranges.
(WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards
from a node and offset to find a start node and offset of the first
character found in the characters string.
(WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the
inspected window.
(WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection
is collapsed and is inside the prompt element.
(WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection
to the end of the prompt.
(WebInspector.ConsolePanel._onTabPressed): Calls complete on
tab press.
(WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the
autocompletion text is not evaluated.
* page/inspector/Images/errorIcon.png: New image.
* page/inspector/Images/userInputIcon.png: Added.
* page/inspector/Images/userInputPreviousIcon.png: Added.
* page/inspector/Images/warningIcon.png: New image.
* page/inspector/inspector.css: New refreshed UI.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Sat, 15 Mar 2008 19:12:45 +0000 (19:12 +0000)]
2008-03-15 Matt Lilek <webkit@mattlilek.com>
Rubber-stamped by Mitz.
Update crash log page with instructions for Leopard.
* quality/crashlogs.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 15 Mar 2008 17:49:29 +0000 (17:49 +0000)]
2008-03-15 Darin Adler <darin@apple.com>
* Scripts/commit-log-editor: Include the name line of the change log entry.
A long time ago I designed this script to not include the name because I
thought it was redundant (same as the name of the person checking in), but
nowadays it's more common for someone to check something in done by someone
else.
* Scripts/do-webcore-rename: Added some more planned renames and removed
some that were already done "by hand".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 15 Mar 2008 17:37:22 +0000 (17:37 +0000)]
2008-03-15 Mark Mentovai <mark@moxienet.com>
Reviewed and landed by Darin.
- http://bugs.webkit.org/show_bug.cgi?id=17833
use file extensions instead of explicit file types in WebCore's Xcode project
* WebCore.xcodeproj/project.pbxproj: Remove unnecessary
uses of explicitFileType, preferring lastKnownFileType ("File Type:
Default for File" in Xcode's File Info's General tab). Files below
that relied on an explicit file type setting other than what would
be implied by their extensions have been renamed to have correct
extensions.
* bridge/jni/jni_jsobject.cpp: Removed.
* bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp.
* loader/mac/LoaderNSURLExtras.m: Removed.
* loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m.
* platform/mac/SharedTimerMac.cpp: Removed.
* platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 15 Mar 2008 17:26:28 +0000 (17:26 +0000)]
WebCore:
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=11997
Ranges are not fixed after mutation (affects Acid3 test 13)
Test: fast/dom/Range/mutation.html
* WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h,
and NodeWithIndexBefore.h.
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData): Replaced call to Document::removeMarkers
with call to Document::textRemoved.
(WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers
with call to Document::textInserted.
(WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers
and Document::shiftMarkers with call to Document::textRemoved.
(WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers
and Document::shiftMarkers with call to Document::textRemoved and
Document::textInserted.
(WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childrenChanged): Added a call to
Document::nodeChildrenChanged when the nmber of children was changed (and not
by the parser).
(WebCore::dispatchChildRemovalEvents): Updated for name change.
* dom/Document.cpp:
(WebCore::Document::~Document): Assert that all ranges are gone.
(WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on
all ranges.
(WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
Added code to call nodeWillBeRemoved on all ranges.
(WebCore::Document::textInserted): Added. Calls textInserted on all ranges and
also calls shiftMarkers.
(WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also
calls removeMarkers and shiftMarkers.
(WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges.
(WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges.
(WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges
for this document.
(WebCore::Document::detachRange): Added. Removes range from the HashSet.
* dom/Document.h: Added the new functions and the data member.
* dom/Element.cpp:
(WebCore::Element::normalizeAttributes): Added. Contains the part of the
normalize function that's specific to Element. Better encapsulation to have it
here rather than in Node::normalize.
* dom/Element.h: Added the new function.
* dom/Node.cpp:
(WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added
a call to textNodesMerged after each pair of nodes is merged but before the
second node is removed.
(WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by
normalize, but also useful elsewhere.
* dom/Node.h: Added the new function.
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
* dom/NodeIterator.h: Ditto.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setData): Call textRemoved.
* dom/Range.cpp:
(WebCore::NodeWithIndex::index): Added. Computes and stores index.
(WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index.
(WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index.
(WebCore::Range::Range): Call attachRange.
(WebCore::Range::~Range): Call detachRange unless the range is already detached.
(WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR.
It's no longer possible to create a range where the two containers are non-zero
and have no common ancestor.
(WebCore::Range::isPointInRange): Rewrote expression to be more readable.
(WebCore::Range::compareNode): Changed local variable to use int for consistency.
(WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED.
(WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and
initialization of ec to 0; both are now inside checkDeleteExtract.
(WebCore::Range::intersectsNode): Changed local variable to use int for consistency.
Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1
and -1.
(WebCore::Range::processContents): Changed code to not get the nodeType multiple
times on the same node, and tweaked formatting. Removed code to update the range
on deletion, because the normal delete logic will take care of that now.
(WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and
initialization of ec to 0; both are now inside checkDeleteExtract.
(WebCore::Range::insertNode): Changed local variable to use int for consistency.
(WebCore::Range::toString): Changed variable name to pastLast.
(WebCore::Range::detach): Call detachRange.
(WebCore::Range::checkDeleteExtract): Added check for detached range and code to
set ec to 0; moved here from the two callers. Also changed variable name to pastLast.
(WebCore::endpointNodeChildrenChanged): Added.
(WebCore::Range::nodeChildrenChanged): Added.
(WebCore::endpointNodeWillBeRemoved): Added.
(WebCore::Range::nodeWillBeRemoved): Added.
(WebCore::endpointTextInserted): Added.
(WebCore::Range::textInserted): Added.
(WebCore::endpointTextRemoved): Added.
(WebCore::Range::textRemoved): Added.
(WebCore::endpointTextNodesMerged): Added.
(WebCore::Range::textNodesMerged): Added.
(WebCore::endpointTextNodesSplit): Added.
(WebCore::Range::textNodeSplit): Added.
* dom/Range.h: Added new member functions.
* dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same
node more than once.
* dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a
node and treats a node pointer of 0 as meaning "before first node in parent container".
* dom/NodeWithIndexBefore.h: Added. Similar to NodeWithIndex but treats a node pointer of 0
as meaning "after last node in parent container".
* dom/Text.cpp:
(WebCore::Text::splitText): Call textNodeSplit.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.
LayoutTests:
Reviewed by Sam.
- test changes for http://bugs.webkit.org/show_bug.cgi?id=11997
Ranges are not fixed after mutation (affects Acid3 test 13)
* fast/dom/Range/mutation-expected.txt: Added.
* fast/dom/Range/mutation.html: Added.
* fast/dom/Range/resources/mutation.js: Added.
* editing/execCommand/
4920742-2-expected.txt: Updated.
* editing/execCommand/
4920742-2.html: Updated this test. It was testing for a crash in a
case that's no longer possible -- you can't make a range where one endpoint is in the
document and the other is not.
* platform/mac/editing/execCommand/
4920488-expected.txt: Removed WRONG_DOCUMENT_ERR.
The fact that a test was getting this exception was a bug, similar to the case above.
* platform/qt/editing/execCommand/
4920488-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Sat, 15 Mar 2008 14:15:50 +0000 (14:15 +0000)]
WebCore:
2008-03-15 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Holger.
[CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
http://bugs.webkit.org/show_bug.cgi?id=16906
Add null checks for httpBody() to match other ports.
Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::readCallback): Add null check.
(WebCore::ResourceHandleManager::setupPOST): Ditto.
LayoutTests:
2008-03-15 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Holger.
[CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
http://bugs.webkit.org/show_bug.cgi?id=16906
* http/tests/xmlhttprequest/xmlhttprequest-post-crash-expected.txt: Added.
* http/tests/xmlhttprequest/xmlhttprequest-post-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Sat, 15 Mar 2008 06:06:11 +0000 (06:06 +0000)]
JavaScriptCore:
PGO build fixes.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
WebCore:
PGO build fixes.
* WebCore.vcproj/WebCore.vcproj:
WebKit/win:
PGO build fixes.
* WebKit.vcproj/WebKit.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sat, 15 Mar 2008 01:05:55 +0000 (01:05 +0000)]
Add logic to track whether a function uses a locally scoped eval or requires a closure
Reviewed by Maciej
Now that we limit eval we can track those uses of eval that operate
in the local scope and functions that require a closure. We track
this information during initial parsing to avoid yet another tree
walk.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 15 Mar 2008 00:21:03 +0000 (00:21 +0000)]
WebCore:
Reviewed by Sam.
<rdar://problem/
5794989>
https://bugs.webkit.org/show_bug.cgi?id=17792
REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow
so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::createWindow):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
* loader/FrameLoader.h:
LayoutTests:
Reviewed by Sam.
<rdar://problem/
5794989>
https://bugs.webkit.org/show_bug.cgi?id=17792
REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
Add tests.
* fast/dom/Window/window-open-self-from-other-frame-expected.txt: Added.
* fast/dom/Window/window-open-self-from-other-frame.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Mar 2008 22:57:36 +0000 (22:57 +0000)]
Fix ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Mar 2008 22:54:08 +0000 (22:54 +0000)]
Reviewed by Mark Rowe.
- fix <rdar://problem/
5797836> shadow offsets are smaller than specified
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setShadow): Made the workaround for
<rdar://problem/
5643663> unconditional.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 14 Mar 2008 21:06:20 +0000 (21:06 +0000)]
Fix it right this time
* platform/MainThread.cpp: Cast to unsigned so we can use %u in the
format string.
* platform/mac/MainThreadMac.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 14 Mar 2008 20:57:40 +0000 (20:57 +0000)]
Reviewed by Brian Dash's rubberstamp
Remove a class declaration for a class that has never existed
* WebView/WebResource.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 14 Mar 2008 20:47:34 +0000 (20:47 +0000)]
Mac build fix
* platform/mac/MainThreadMac.mm: Corrected a typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Mar 2008 20:34:01 +0000 (20:34 +0000)]
WebCore:
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=17834
REGRESSION: floated first-letter does not work when included in table
Test: fast/css/first-letter-float.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Changed the search for the
first text node to stop at a float if that float is an existing first-
letter.
LayoutTests:
Reviewed by Darin Adler.
- test for http://bugs.webkit.org/show_bug.cgi?id=17834
REGRESSION: floated first-letter does not work when included in table
* fast/css/first-letter-float.html: Added.
* platform/mac-leopard/fast/css/first-letter-float-expected.checksum: Added.
* platform/mac-leopard/fast/css/first-letter-float-expected.png: Added.
* platform/mac/fast/css/first-letter-float-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 14 Mar 2008 20:15:04 +0000 (20:15 +0000)]
Fix Mac build
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 14 Mar 2008 19:53:37 +0000 (19:53 +0000)]
Make most of callOnMainThread's implementation be cross-platform
I took the non-platform-specific parts of MainThreadWin.cpp and moved
them to a new MainThread.cpp. Each platform is now responsible for
implementing one function, scheduleDispatchFunctionsOnMainThread,
which is supposed to set things up so that
dispatchFunctionsFromMainThread gets called from the main thread in
the near future.
Reviewed by Alexey.
* GNUmakefile.am: Added MainThread.cpp to the project.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCoreSources.bkl: Ditto.
* platform/MainThread.cpp:
- Copied from WebCore/platform/win/MainThreadWin.cpp.
- Removed the Windows-specific parts.
(WebCore::callOnMainThread): Changed to call
scheduleDispatchFunctionsOnMainThread instead of PostMessage.
* platform/gtk/MainThreadGtk.cpp:
(WebCore::timeoutFired): Renamed from callFunctionOnMainThread. Now
just calls dispatchFunctionsFromMainThread.
(WebCore::scheduleDispatchFunctionsOnMainThread): Added. Calls through
to g_timeout_add.
* platform/mac/MainThreadMac.mm: Renamed WebCoreFunctionWrapper to
WebCoreMainThreadCaller.
(-[WebCoreMainThreadCaller call]): Calls through to
dispatchFunctionsFromMainThread.
(WebCore::scheduleDispatchFunctionsOnMainThread): Makes a new
WebCoreMainThreadCaller and calls performSelectorOnMainThread on it.
* platform/qt/MainThreadQt.cpp: Removed PerformFunctionEvent.
(WebCore::MainThreadInvoker::event): Chagned to call through to
dispatchFunctionsFromMainThread.
(WebCore::scheduleDispatchFunctionsOnMainThread): Sends an empty event
to the MainThreadInvoker.
* platform/win/MainThreadWin.cpp:
- Removed the non-Windows-specific parts.
- Removed some unnecessary initialization of static variables to 0.
(WebCore::ThreadingWindowWndProc): Changed to call
dispatchFunctionsFromMainThread.
(WebCore::scheduleDispatchFunctionsOnMainThread): Calls through to
PostMessage.
* platform/wx/MainThreadWx.cpp:
(WebCore::scheduleDispatchFunctionsOnMainThread): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31063
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 14 Mar 2008 19:28:57 +0000 (19:28 +0000)]
Reviewed by Beth Dakin.
Fixed another problem with Vector::shrinkCapacity.
moveOverlapping isn't good enough for the case where the buffer hasn't
changed, because it still destroys the contents of the buffer.
* wtf/Vector.h:
(WTF::::shrinkCapacity): Changed to explicitly check whether the call
to allocateBuffer produced a new buffer. If it didn't, there's no need
to move.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 14 Mar 2008 19:05:28 +0000 (19:05 +0000)]
Reviewed by Beth Dakin.
Fixed a few problems with Vector::shrinkCapacity that I noticed in testing.
* wtf/Vector.h:
(WTF::VectorBufferBase::deallocateBuffer): Clear our m_buffer pointer
when we deallocate m_buffer, in case we're not asked to reallocate a new
buffer. (Otherwise, we would use a stale m_buffer if we were asked to
perform any operations after shrinkCapacity was called.)
(WTF::VectorBuffer::allocateBuffer): Made VectorBuffer with inline
capacity aware that calls to allocateBuffer might be shrinks, rather
than grows, so we shouldn't allocate a new buffer on the heap unless
our inline buffer is too small.
(WTF::::shrinkCapacity): Call resize() instead of just setting m_size,
so destructors run. Call resize before reallocating the buffer to make
sure that we still have access to the objects we need to destroy. Call
moveOverlapping instead of move, since a call to allocateBuffer on an
inline buffer may produce identical storage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Fri, 14 Mar 2008 18:28:51 +0000 (18:28 +0000)]
Reviewed by Geoff.
Fix for <rdar://problem/
5728171> Potential PLT speedup: don't
realloc every time inside NamedAttrMap::addAttribute
The speed-up for this turned out to be so small that it is mostly
imperceptible. It is likely that it is a tiny boost, though, and
the new code is much cleaner.
* dom/Element.cpp:
(WebCore::Element::setAttributeMap): attrs is now called
m_attributes
* dom/NamedAttrMap.cpp: The array attrs is now the Vector of
RefPtrs called m_attributes, and there is no longer any need for
the len member variable.
(WebCore::NamedAttrMap::NamedAttrMap):
(WebCore::NamedAttrMap::item):
(WebCore::NamedAttrMap::getAttributeItem):
(WebCore::NamedAttrMap::clearAttributes):
(WebCore::NamedAttrMap::operator=):
(WebCore::NamedAttrMap::addAttribute):
(WebCore::NamedAttrMap::removeAttribute):
(WebCore::NamedAttrMap::mapsEquivalent):
* dom/NamedAttrMap.h: Same.
(WebCore::NamedAttrMap::length):
(WebCore::NamedAttrMap::attributeItem):
(WebCore::NamedAttrMap::shrinkToLength):
(WebCore::NamedAttrMap::reserveCapacity):
* html/HTMLTokenizer.cpp: One of the benefits of the old array was
that it never took up more memory than it needed to. So the
tokenizer utilizes new member functions on NamedAttrMap
(shrinkToLength and reserveCapacity) to try to keep memory usage at
a minimum.
(WebCore::Token::addAttribute):
(WebCore::HTMLTokenizer::processToken):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 14 Mar 2008 15:21:10 +0000 (15:21 +0000)]
Fix typos.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 14 Mar 2008 15:19:52 +0000 (15:19 +0000)]
BUILD FIX when ENABLE(MAC_JAVA_BINDINGS) set to 0.
* page/mac/FrameMac.mm: Move up #if ENABLE(MAC_JAVA_BINDINGS) guard
to comment out unused code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 14 Mar 2008 14:59:38 +0000 (14:59 +0000)]
Reviewed by Darin.
Get rid of a localime() call on platforms that have better alternatives.
* kjs/DateMath.h: Added getLocalTime();
* kjs/DateMath.cpp:
(KJS::getLocalTime):
(KJS::getDSTOffsetSimple):
Implementation moved from getDSTOffsetSimple().
* kjs/date_object.cpp:
(KJS::DateObjectImp::callAsFunction): Switched to getLocalTime().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 14 Mar 2008 14:34:31 +0000 (14:34 +0000)]
JavaScriptCore:
Unify concept of enabling the Mac Java bridge.
Reviewed by Darin and Anders.
* wtf/Platform.h: Define ENABLE_MAC_JAVA_BRIDGE here.
WebCore:
Unify concept of enabling the Mac Java bridge.
Reviewed by Darin and Anders.
No test cases added since there is no change in functionality.
* DerivedSources.make: Added check for ENABLE_MAC_JAVA_BRIDGE macro.
If defined as "1", add WebCore.JNI.exp to WEBCORE_EXPORT_DEPENDENCIES.
* WebCore.JNI.exp: Added.
* WebCore.base.exp: Moved exported JNI methods to WebCore.JNI.exp.
* bridge/jni/jni_class.cpp: Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
* bridge/jni/jni_class.h: Ditto.
* bridge/jni/jni_instance.cpp: Ditto.
* bridge/jni/jni_instance.h: Ditto.
* bridge/jni/jni_jsobject.cpp: Ditto.
* bridge/jni/jni_jsobject.h: Ditto.
* bridge/jni/jni_objc.mm: Ditto.
* bridge/jni/jni_runtime.cpp: Ditto.
* bridge/jni/jni_runtime.h: Ditto.
* bridge/jni/jni_utility.cpp: Ditto.
* bridge/jni/jni_utility.h: Ditto.
* bridge/runtime.cpp: Removed unused #include statements.
* bridge/runtime.h:
(KJS::Bindings::Instance::BindingLanguage): Added #if ENABLE(MAC_JAVA_BRIDGE)
guard for JavaLanguage enum. Also added #if PLATFORM(MAC) guard for
ObjectiveCLanguage enum to match corresponding code in runtime.cpp.
* config.h: Removed definition of HAVE_JNI.
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
* page/Frame.cpp:
(WebCore::Frame::Frame): Ditto.
* page/Frame.h:
(WebCore::Frame::initJavaJSBindings): Ditto.
* page/mac/FrameMac.mm:
(WebCore::Frame::createScriptInstanceForWidget): Ditto.
(WebCore::Frame::initJavaJSBindings): Ditto.
WebKit/mac:
Unify concept of enabling the Mac Java bridge.
Reviewed by Darin and Anders.
* Plugins/WebPluginJava.h: Removed unused file.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
(WebFrameLoaderClient::javaApplet): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 14 Mar 2008 08:09:09 +0000 (08:09 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc