- 07 Jan, 2007 4 commits
-
-
ap authored
http://bugs.webkit.org/show_bug.cgi?id=10313 xsl:import doesn't work in stylesheets loaded via XMLHttpRequest This is a partial fix that makes a couple more steps towards fixing the problem. Test: fast/xsl/transform-xhr-doc.xhtml * xml/XSLTProcessor.cpp: (WebCore::xsltStylesheetPointer): Pass an URL for the stylesheet. I'm not sure why this constructor even needs it, given that it has a Node, but this is a small modifications that makes XSLImportRule try to load from a correct URL. (WebCore::XSLTProcessor::transformToString): Fix the crash for real this time. git-svn-id: svn://svn.chromium.org/blink/trunk@18644 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rwlbuis authored
http://bugs.webkit.org/show_bug.cgi?id=12125 overflow attribute of the symbol element not respected Copy the attribute map to the cloned node so the overflow on the symbol is respected. git-svn-id: svn://svn.chromium.org/blink/trunk@18643 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
darin authored
- disabled 3 tests with results that are too font-dependent to be used as part of the test suite; two are tests of Armenian numbering and one is a test of some SVG font features which we do not support * css2.1/t1202-counter-10-b-expected.checksum: Removed. * css2.1/t1202-counter-10-b-expected.png: Removed. * css2.1/t1202-counter-10-b-expected.txt: Removed. * css2.1/t1202-counter-10-b.html: Removed. * css2.1/t1202-counters-10-b-expected.checksum: Removed. * css2.1/t1202-counters-10-b-expected.png: Removed. * css2.1/t1202-counters-10-b-expected.txt: Removed. * css2.1/t1202-counters-10-b.html: Removed. * svg/W3C-SVG-1.1/text-fonts-03-t-expected.checksum: Removed. * svg/W3C-SVG-1.1/text-fonts-03-t-expected.png: Removed. * svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: Removed. * svg/W3C-SVG-1.1/text-fonts-03-t.svg: Removed. git-svn-id: svn://svn.chromium.org/blink/trunk@18642 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
darin authored
- fix http://bugs.webkit.org/show_bug.cgi?id=12103 LEAK: Fix the leaking ImageBuffer buffers on TOT * ksvg2/svg/SVGMaskElement.h: * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): Changed to return auto_ptr since it returns a newly-created ImageBuffer. * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::buildPattern): Changed to use auto_ptr since ImageBuffer::create now returns one. * platform/graphics/GraphicsContext.h: Removed the include of ImageBuffer.h, which was never needed, and the declaration of createImageBuffer, which is now a class member function of ImageBuffer. * platform/graphics/ImageBuffer.h: Replaced the constructor with a create function. Added a comment about the need to move renderSubtreeToImage elsewhere. Added an m_data member to store the data so it can be deleted when the object is done, made the m_size member non-platform-specific. Added a private constructor for use to create the CG version. * platform/graphics/cg/GraphicsContextCG.cpp: Removed GraphicsContext::createImageBuffer. * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::create): Added. Replaces the old GraphicsContext::createImageBuffer function. (WebCore::ImageBuffer::ImageBuffer): Added m_data and m_context. (WebCore::ImageBuffer::~ImageBuffer): Added a fastFree of the data and got rid of the unneeded null check before calling CGImageRelease. * platform/graphics/svg/SVGPaintServerGradient.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead. * platform/graphics/svg/SVGPaintServerPattern.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead, and changed setTile to take an auto_ptr since it takes ownership of the ImageBuffer. * platform/graphics/svg/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setTile): Ditto. * platform/graphics/svg/SVGResourceMasker.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead, and changed setMask to take an auto_ptr since it takes ownership of the ImageBuffer. * platform/graphics/svg/SVGResourceMasker.cpp: (WebCore::SVGResourceMasker::setMask): Ditto. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::setup): Updated to use auto_ptr. * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Updated includes. * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: (WebCore::SVGResourceMasker::applyMask): Updated to use auto_ptr. - other changes * ksvg2/svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::handleStartCondition): Remove unused variables. git-svn-id: svn://svn.chromium.org/blink/trunk@18641 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 06 Jan, 2007 6 commits
-
-
staikos authored
git-svn-id: svn://svn.chromium.org/blink/trunk@18640 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ddkilzer authored
Reviewed by Maciej. - fix http://bugs.webkit.org/show_bug.cgi?id=12136 REGRESSION: Counters-related leaks * rendering/RenderCounter.cpp: (WebCore::destroyCounterNodeChildren): Delete the child counter nodes. git-svn-id: svn://svn.chromium.org/blink/trunk@18639 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
adele authored
* rendering/RenderListItem.cpp: (WebCore::RenderListItem::explicitValueChanged): Initialize listRenderer. git-svn-id: svn://svn.chromium.org/blink/trunk@18638 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
darin authored
Reviewed by Hyatt. - added a new version of the CSS 2.1 test from the W3C site - added counters, list, and other CSS tests for my counter-related check-in * css2.1: Updated to the 2006-10-11 version of the test suite. I downloaded it from http://www.w3.org/Style/CSS/Test/CSS2.1/20061011/ added UTF-8 BOMs to the beginning of all the files, and generated expected results. * fast/css-generated-content/reset-content-to-initial-expected.txt: Updated to reflect a bug fix in CSS content property support. * fast/css/counters/*: Removed all the existing tests since they are now part of the CSS 2.1 test suite. * fast/css/counters/counter-text-security-expected.checksum: Added. New test. * fast/css/counters/counter-text-security-expected.png: Ditto. * fast/css/counters/counter-text-security-expected.txt: Ditto. * fast/css/counters/counter-text-security.html: Ditto. * fast/css/counters/counter-text-transform-expected.checksum: Added. New test. * fast/css/counters/counter-text-transform-expected.png: Ditto. * fast/css/counters/counter-text-transform-expected.txt: Ditto. * fast/css/counters/counter-text-transform.html: Ditto. * fast/lists/decimal-leading-zero-expected.checksum: Added. New test. * fast/lists/decimal-leading-zero-expected.png: Ditto. * fast/lists/decimal-leading-zero-expected.txt: Ditto. * fast/lists/decimal-leading-zero.html: Ditto. * fast/css/text-security-expected.checksum: Added. New test. * fast/css/text-security-expected.png: Ditto. * fast/css/text-security-expected.txt: Ditto. * fast/css/text-security.html: Ditto. * fast/lists/decimal-leading-zero-expected.checksum: Added. New test. * fast/lists/decimal-leading-zero-expected.png: Ditto. * fast/lists/decimal-leading-zero-expected.txt: Ditto. * fast/lists/decimal-leading-zero.html: Ditto. * fast/lists/li-values-expected.checksum: Added. New test. * fast/lists/li-values-expected.png: Ditto. * fast/lists/li-values-expected.txt: Ditto. * fast/lists/li-values.html: Ditto. * fast/css/import-rule-regression-11590-expected.checksum: Added. Missing pixel-test results. * fast/css/import-rule-regression-11590-expected.png: Ditto. * fast/dom/css-insert-import-rule-expected.checksum: Ditto. * fast/dom/css-insert-import-rule-expected.png: Ditto. * fast/forms/encoding-test-expected.checksum: Ditto. * fast/forms/encoding-test-expected.png: Ditto. * fast/frames/frame-src-attribute-expected.checksum: Ditto. * fast/frames/frame-src-attribute-expected.png: Ditto. * fast/frames/onlyCommentInIFrame-expected.png: Ditto. * fast/frames/viewsource-attribute-expected.checksum: Ditto. * fast/frames/viewsource-attribute-expected.png: Ditto. * fast/loader/start-load-in-unload-expected.checksum: Ditto. * fast/loader/start-load-in-unload-expected.png: Ditto. WebCore: Reviewed by Hyatt. - eliminated use of DeprecatedString for list item markers - eliminated use of DeprecatedValueList for border style collapsing - made many members private instead of protected or public - reworked counter implementation to fix most of the CSS 2.1 counter tests; made CounterNode be a simple non-polymorphic class, moved most counter- specific code out of RenderObject into RenderCounter, changed the data structure in RenderStyle to be more speed-efficient but less space- efficient for nodes with counter styles - fixed http://bugs.webkit.org/show_bug.cgi?id=11557 Tests: css2.1 - fixed a bug where counter text did not have text transform or text security applied to it Test: fast/css/counters/counter-text-security.html Test: fast/css/counters/counter-text-transform.html - improved handling of CSS content property values with data of the wrong type; this probably needs a bit more refinement Test: fast/css-generated-content/reset-content-to-initial-expected.txt - fixed a bug where removing the value attribute from an HTMLLIElement would set the list item's value to 0 instead of restoring it to normal Test: fast/lists/li-values.html - fixed a bug where changing the text security style from one style to another would not change the displayed text Test: fast/css/text-security.html - fixed some problems handling long sequences of counter-related styles; still needs more work and some super-large test cases to check if recursive algorithms for these that will overflow stack remain - added support for list styles decimal-leading-zero, hiragana, hirigana-iroha, katakana, katakana-iroha, cjk-ideographic, armenian, and georgian Test: fast/lists/decimal-leading-zero.html - minor tweaks and bug fixes for other list styles, including range checking * WebCore.exp: Updated for RenderListItem change. * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject value]): Updated to use String instead of DeprecatedString. * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed implementation for counter styles for now. We should probably restore it later, but we need to make sure the returned list is separate from the original list in the DOM -- modifying the list should not change the element it was computed from. * css/Counter.h: Removed unneeded empty constructor and destructor. * css/cssstyleselector.cpp: (WebCore::applyCounterList): Added. Stores counter directives in hash tables that should allow us to efficiently implement dynamic counter changes. Full support will have to wait for a future check-in. (WebCore::CSSStyleSelector::applyProperty): Changed counter properties to call applyCounterList. Reformatted the code to parse the content property for changes to RenderStyle and to handle the case where some the items in the content list don't generate any content. * editing/visible_units.cpp: * rendering/RenderBox.cpp: * rendering/RenderFlexibleBox.cpp: * rendering/RenderFlow.cpp: * rendering/RenderSlider.cpp: Added includes needed because of header changes. * html/HTMLLIElement.H: Removed unneeded m_isValued. * html/HTMLLIElement.cpp: (WebCore::HTMLLIElement::parseMappedAttribute): To match test results seen in WinIE, ignore values that are 0 or negative, and use new functions in RenderListItem to communicate the lack of a valid value. (WebCore::HTMLLIElement::attach): More of the same. * rendering/CounterNode.h: Made CounterNode be a non-polymorphic class, removing all the subclasses. Merged in CounterResetNode. Removed m_total from CounterResetNode, because it isn't needed for any of the styles (decimal-leading-zero always uses two digits). Removed m_hasSeparator and m_willNeedLayout since they aren't needed any more. Renamed m_count to m_countInParent for clarify, and named the list links the same as their associated functions. Removed many functions as well. * rendering/CounterNode.cpp: (WebCore::CounterNode::CounterNode): Added new fields. (WebCore::CounterNode::computeCountInParent): Added. Used by recount. (WebCore::CounterNode::recount): Simplified by removing unused parameter and the "get next" idiom. Changed to be iterative instead of recursive so we can handle arbitrarily long lists. (WebCore::CounterNode::insertAfter): Moved here from CounterResetNode. Updated for field name changes. Corrected rule for when to recount. (WebCore::CounterNode::removeChild): Moved here from CounterResetNode. Changed to only work on nodes without children. Corrected rule for when to recount. (WebCore::nextInPreOrderAfterChildren): Added. For debugging only. (WebCore::nextInPreOrder): Ditto. (WebCore::showTreeAndMark): Ditto. (showTree): Ditto. * rendering/CounterListItem.h: * rendering/CounterResetNode.h: * rendering/CounterResetNode.cpp: Marked ready to remove. I'll do the remove in a separate patch, since I have to update a lot of different make files when I do. * rendering/ListMarkerBox.cpp: (WebCore::ListMarkerBox::isText): Changed for the change to RenderListMarker. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow): Changed to use functions instead of direct field access so the fields can be private and we don't need to be friends. (WebCore::RenderBlock::getBaselineOfFirstLineBox): Ditto. (WebCore::RenderBlock::getBaselineOfLastLineBox): Ditto. * rendering/RenderBlock.h: (WebCore::RenderBlock::initMaxMarginValues): Ditto. (WebCore::RenderBlock::firstRootBox): Ditto. (WebCore::RenderBlock::lastRootBox): Ditto. * rendering/RenderBox.h: (WebCore::RenderBox::setWidth): Ditto. (WebCore::RenderBox::setHeight): Ditto. * rendering/RenderButton.cpp: (WebCore::RenderButton::addChild): Ditto. * rendering/bidi.cpp: (WebCore::RenderBlock::determineStartPosition): Ditto. * rendering/RenderContainer.h: Renamed m_first and m_last to m_firstChild and m_lastChild. Made them private instead of proected. Removed the setFirstChild and setLastChild functions. * rendering/RenderContainer.cpp: (WebCore::RenderContainer::RenderContainer): Updated for field name change. Changed all calls to get at fields directly instead of using functions. (WebCore::RenderContainer::destroyLeftoverChildren): Ditto. (WebCore::updateListMarkerNumbers): Updated for RenderListItem change. (WebCore::RenderContainer::addChild): Changed to get at fields directly instead of using functions. Also used release() since RenderText::setText now takes PassRefPtr. (WebCore::RenderContainer::removeChildNode): Changed to get at fields directly instead of using functions. (WebCore::RenderContainer::updatePseudoChildForObject): Create the anonymous box only if at least one of of the items in the content list actually generates content. Since a RenderCounter is a RenderText, don't bother making a new style for it -- it just shares the style with its parent. Changed code to use RenderImage::setCachedImage() instead of of setContentObject(). Added a call to setIsAnonymousImage() here, which was the only special thing that setContentObject() used to do. Pass a reference to the counter to the RenderCounter rather than a pointer. Pass document() as the node instead of passing the element to RenderCounter, which makes it anonymous automatically, and removed the setIsAnonymous call. (WebCore::RenderContainer::appendChildNode): Chagned to get at fields directly instead of using functions. (WebCore::RenderContainer::insertChildNode): Ditto. (WebCore::RenderContainer::layout): Ditto. (WebCore::RenderContainer::removeLeftoverAnonymousBoxes): Ditto. (WebCore::RenderContainer::positionForCoordinates): Ditto. (WebCore::RenderContainer::addLineBoxRects): Ditto. * rendering/RenderCounter.h: Removed unneeded layout override, never called on a text node. Added override of originalString. Replaced CounterData* with a copy of the CounterContent -- it's two atomic strings and an integer so it's efficient enough to store all three in the render object, and this eliminates the lifetime problems we could have if we used a pointer. * rendering/RenderCounter.cpp: Removed duplicate copy of list marker code. (WebCore::counterMaps): Moved these maps here from RenderObject. (WebCore::previousSiblingOrParent): Added. (WebCore::lastDescendant): Added. (WebCore::previousInPreOrder): Added. (WebCore::planCounter): Added. (WebCore::findPlaceForCounter): Added. (WebCore::counter): New name of function that was named RenderObject::findCounter. Also uses a new algorithm that passes all the CSS 2.1 tests. (WebCore::RenderCounter::RenderCounter): Changed to take a Document* instead of a Node*, since at the moment counters are always anonymous. (WebCore::RenderCounter::originalString): Added. This overrides the originalString in the RenderText base class so that any text transforms will use the counter's value. This code was previously in calcMinMaxWidth. (WebCore::RenderCounter::calcMinMaxWidth): Changed to call setInternalString and pass originalString -- this uses the counter's value from the counter tree. (WebCore::destroyCounterNodeChildren): Added. (WebCore::RenderCounter::destroyCounterNodes): Added. Called as needed from RenderObject::destroy for objects that have counter nodes. * rendering/RenderFlow.h: Made m_continuation private instead of protected. * rendering/RenderImage.h: Removed unneeded includes, and unnecessary element() function that casts to HTMLElement*. Made image() protected, and made the two calcAspectRatio functions private. Removed setContentObject(). Renamed the errorOccured() function to isErrorImage() and made it private. * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): Removed initialization of removed m_selectionState field. (WebCore::RenderImage::setCachedImage): Rearrange code so it won't try to call isErrorImage() on a null image. (WebCore::RenderImage::paint): Updated for name change. * rendering/RenderListBox.h: Removed unneeded forward declarations. * rendering/RenderListItem.h: Renamed markerStringValue() to markerText() and made it return a String instead of a DeprecatedString. Renamed m_prededfVal to m_explicitValue. Added booleans named m_hasExplicitValue and m_isValueUpToDate and marked m_value mutable so it can be computed in const member functions. (WebCore::RenderListItem::value): Changed to update value on demand at the time you ask for it. (WebCore::RenderListItem::hasExplicitValue): Added. Use instead of magic -1 value to indicate that the item does or does not have an explicit value. (WebCore::RenderListItem::explicitValue): Added. (WebCore::RenderListItem::setExplicitValue): Added. (WebCore::RenderListItem::clearExplicitValue): Added. * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): Updated to not use magic -1 values. (WebCore::RenderListItem::setStyle): Removed call to RenderListMarker::setListItem since it's not needed any more, and instead pass the list item to the constructor. (WebCore::previousListItem): Made parameter const. (WebCore::RenderListItem::calcValue): Restructed the function a bit. (WebCore::RenderListItem::updateValueNow): Added. Calls calcValue. (WebCore::RenderListItem::updateValue): Added. New name for resetValue(). Unlike the old version, this no longer calculates the value until it's asked-for later. (WebCore::RenderListItem::markerText): Changed to return String rather than a DeprecatedString and to return a null string rather than empty string when there is no marker. * rendering/RenderListMarker.h: Added listMarkerText function -- common code shared with anyone who needs to convert a value into text given a list style. Changed constructor to take a RenderListItem and figure out the document from that. Added isImage() and isText() functions and removed listImage() function. Changed the type of the text() function from DeprecatedString to String. Removed the listItem() and seListeItem() functions. Made the getRelativeMarkerRect() function private. Renamed m_item to m_text and chagned it from DeprecatedString to String. Renamed m_listImage to m_image. * rendering/RenderListMarker.cpp: (WebCore::toRoman): Added range checking to fix buffer overrun for large or negative numbers. Rewrote to use a local UChar array and String rather than prepending to a DeprecatedString. (WebCore::toAlphabetic): Replaces toLetterString, and is more flexible since it takes an alphabet array. Changed to match CSS 3 specification by using decimal numbering for 0 and negative numbers. Rewrote to use a local UChar array and String rather than prepending to a DeprecatedString. (WebCore::toHebrewUnder1000): Added. Helper function for Hebrew numbers so we can handle numbers up to a million. (WebCore::toHebrew): Changed to use toHebrewUnder1000, added a special case for zero, negative, and too-large numbers. (WebCore::toArmenianUnder10000): Added. Used by toArmenian. (WebCore::toArmenian): Added. (WebCore::toGeorgian): Added. (WebCore::toCJKIdeographic): Added. (WebCore::listMarkerText): Added. Moved the code here from calcMinMaxWidth, but added support for text for the styles disc, circle, square, decimal-leading-zero, hiragana, hirigana-iroha, katakana, katakana-iroha, cjk-ideographic, armenian, and georgian. Also changed some of the styles to share the new toAlphabetic function. (WebCore::RenderListMarker::RenderListMarker): Updated for name changes and list item parameter. (WebCore::RenderListMarker::~RenderListMarker): Updated for name changes. (WebCore::RenderListMarker::setStyle): Updated for name changes. (WebCore::RenderListMarker::isImage): Added. Useful helper that unifies the check for no image and the error image. (WebCore::RenderListMarker::paint): Updated for name changes to to use isImage() and rearranged the code a bit. (WebCore::RenderListMarker::imageChanged): Updated for name change (WebCore::RenderListMarker::calcMinMaxWidth): Updated for name change, fixed a bug where we'd leave the old text around if we were using an image-based marker. Also changed the code to use isImage() instead of checking m_listImage. (WebCore::RenderListMarker::calcWidth): Changed to use isImage(). (WebCore::RenderListMarker::lineHeight): Changed to use isImage(). (WebCore::RenderListMarker::baselinePosition): Changed to use isImage(). (WebCore::RenderListMarker::getRelativeMarkerRect): Changed to use isImage(), restructured the code a little. * rendering/RenderObject.h: Removed now-uneeded includes. Removed collectBorders() and isFormElement(). Made remove() function and m_hasCounterNodeMap public so we could remove friend declarations for RenderListItem and RenderView. Moved findCounter() to become a private function inside RenderCounter.cpp. * rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): Fix bug where a contentData() with CONTENT_NONE is treated as image content -- only look at the content property if it has exactly one entry which is a CONTENT_OBJECT. (WebCore::RenderObject::selectionStartEnd): Add const. (WebCore::RenderObject::destroy): Moved counter-specific code to RenderCounter::destroyCounterNodes. (WebCore::RenderObject::recalcMinMaxWidths): Changed code to set m_recalcMinMax near the top of the function -- the old code would potentially reset it after it was set by the calcMinMaxWidths functions, and possibly skip a future needed recalc. That came up in counter test cases. Removed unneeded boolean check right after an assertion. * rendering/RenderPart.h: Marked two virtual functions virtual for clarity. * rendering/RenderReplaced.h: Made shouldPaint be protected, and made m_intrinsicWidth, m_intrinsicHeight, and m_selectionState be private. Also marked isSelected() const. * rendering/RenderReplaced.cpp: Added newly-needed include. (WebCore::RenderReplaced::RenderReplaced): Use constructor syntax. (WebCore::RenderReplaced::isSelected): Made const and changed to call the selectionStartEnd function in the straightforward way. * rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Use functions instead of direct field access so the fields can be private. (WebCore::RenderSVGText::relativeBBox): Ditto. * rendering/RenderStyle.h: Tweaked formatting. Changed names of CSS3 holders to say "rare" instead, since it's not all CSS 3. Renamed CounterData to CounterContent, since it's used inside ContentData. Changed names of fields in ContentData to have m prefix. Moved content and counter fields into the rare non-inherited data object. Removed unneeded assignment operator from a class that already inherits from Shared which makes it start out noncopyable. * rendering/RenderStyle.cpp: Name changes, plus: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Updated for added fields (content, counter-reset, counter-increment). (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): Ditto. (WebCore::StyleRareNonInheritedData::operator==): Reformatted and sorted so it's easy to see if any fields are missing. (WebCore::operator!=): Added. Compares two CounterContent objects. (WebCore::RenderStyle::arenaDelete): Removed code to handle content, which is now in the rareNonInheritedData structure. (WebCore::RenderStyle::RenderStyle): Ditto. (WebCore::RenderStyle::inheritFrom): Ditto. (WebCore::RenderStyle::operator==): Ditto. (WebCore::RenderStyle::inheritedNotEqual): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::contentDataEquivalent): Added case for counter, which previously would be ignored when determining if content is equivalent. (WebCore::RenderStyle::clearContent): Added. (WebCore::RenderStyle::setContent): Updated for change in content location. (WebCore::ContentData::clear): Changed algorithm so that it's not recursive and thus can handle a very long list of ContentData. (WebCore::operator==): Added. Compares two CounterDirective objects. (WebCore::RenderStyle::counterDirectives): Added. (WebCore::RenderStyle::accessCounterDirectives): Added. * rendering/RenderTable.h: Made m_currentBorder const to better reflect the paint algorithm. * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): Changed to use Vector instead of DeprecatedValueList for the border styles, and to sort rather than inserting in sorted order as we go. Put the code to loop through the nodes and collect border styles here instead of in a RenderObject virtual function. Also set m_currentBorder to 0 after the loop for greater clarity. * rendering/RenderTableCell.h: Added a typedef for a vector of border values. Removed the virtual collectBorders and replaced with the non-virtual named collectBorderStyles. Also added a static member function named sortBorderStyles. * rendering/RenderTableCell.cpp: (WebCore::CollapsedBorders::CollapsedBorders): Removed unneeded constructor parameter. (WebCore::addBorderStyle): Changed to use a vector instead of a DeprecatedValueList. Wrote out a loop since Vector doesn't have a contains member function. Removed the code to insert the border at a sorted location; instead we have a separate call to sort the border styles (WebCore::RenderTableCell::collectBorderStyles): Renamed, and changed the parameter type. (WebCore::compareBorderStylesForQSort): Added. (WebCore::RenderTableCell::sortBorderStyles): Added. * rendering/RenderText.h: Changed StringImpl parameters in setText functions to be PassRefPtr; added a new setInternalString function. Made a bunch of the member functions private and made all the data members private instead of protected. * rendering/RenderText.cpp: (WebCore::RenderText::setStyle): Restructure a bit for clarity. Fix case where the old style has a different security than the new style. Use release() since RenderText::setText now takes PassRefPtr. Always call cacheWidths here. (WebCore::RenderText::setTextWithOffset): Changed to take the string as a PassRefPtr instead of a raw pointer. (WebCore::isInlineFlowOrEmptyText): Added. (WebCore::RenderText::setInternalString): Refactored core of setText into a separate protected member function that can be used RenderCounter. Changed the text security square character to match what's used in list markers. Changed the text transform switch statement so that gcc will warn us if we add a new value and don't add a case for it. (WebCore::RenderText::setText): Refactored most of the function into setInternalString. Removed the call to cacheWidths -- that's now done in the setStyle function only. * rendering/RenderView.h: * rendering/RenderView.cpp: (WebCore::RenderView::selectionStartEnd): Now const. * rendering/RenderWidget.cpp: Added newly-needed include. (WebCore::RenderWidget::setSelectionState): Don't bother setting m_selectionState here since RenderReplaced::setSelectionState already does that. WebKit: Reviewed by Hyatt. * Misc/WebNSAttributedStringExtras.m: (+[NSAttributedString _web_attributedStringFromRange:]): Updated to use new list marker text API that is String rather than DeprecatedString. Also removed code to do text form of non-text list markers since the list marker class now deals with that. git-svn-id: svn://svn.chromium.org/blink/trunk@18637 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Fix build. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchCreatePage): git-svn-id: svn://svn.chromium.org/blink/trunk@18636 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Move even more code to .cpp files. * WebCore.xcodeproj/project.pbxproj: * loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::load): (WebCore::FrameLoader::canLoad): (WebCore::FrameLoader::initialRequest): (WebCore::FrameLoader::receivedData): (WebCore::FrameLoader::setRequest): (WebCore::FrameLoader::setResponse): (WebCore::FrameLoader::willUseArchive): (WebCore::FrameLoader::handleUnimplementablePolicy): (WebCore::FrameLoader::cannotShowMIMEType): (WebCore::FrameLoader::interruptionForPolicyChangeError): (WebCore::FrameLoader::checkNavigationPolicy): (WebCore::FrameLoader::checkContentPolicy): (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): (WebCore::FrameLoader::reloadAllowingStaleData): (WebCore::FrameLoader::reload): (WebCore::FrameLoader::finishedLoading): (WebCore::FrameLoader::continueAfterWillSubmitForm): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::post): (WebCore::FrameLoader::isReloading): (WebCore::FrameLoader::loadEmptyDocumentSynchronously): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::startLoadingMainResource): (WebCore::FrameLoader::startLoading): (WebCore::FrameLoader::cancelMainResourceLoad): (WebCore::FrameLoader::identifierForInitialRequest): (WebCore::FrameLoader::willSendRequest): (WebCore::FrameLoader::didReceiveResponse): (WebCore::FrameLoader::didReceiveData): (WebCore::FrameLoader::didFailToLoad): (WebCore::FrameLoader::originalRequest): (WebCore::FrameLoader::receivedMainResourceError): (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::opened): (WebCore::FrameLoader::dataURLBaseFromRequest): (WebCore::FrameLoader::checkNewWindowPolicy): (WebCore::FrameLoader::continueAfterNewWindowPolicy): (WebCore::FrameLoader::continueAfterNavigationPolicy): (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy): (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy): (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::FrameLoader::sendRemainingDelegateMessages): (WebCore::FrameLoader::requestFromDelegate): (WebCore::FrameLoader::loadedResourceFromMemoryCache): (WebCore::FrameLoader::applyUserAgent): (WebCore::PolicyCheck::PolicyCheck): (WebCore::PolicyCheck::clear): (WebCore::PolicyCheck::set): (WebCore::PolicyCheck::call): (WebCore::PolicyCheck::clearRequest): * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/MainResourceLoader.h: * loader/ResourceLoader.h: (WebCore::ResourceLoader::setIdentifier): (WebCore::ResourceLoader::identifier): * loader/mac/FrameLoaderMac.mm: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): (WebCore::FrameLoader::referrer): (WebCore::FrameLoader::didReceiveAuthenticationChallenge): (WebCore::FrameLoader::didCancelAuthenticationChallenge): (WebCore::FrameLoader::didChangeTitle): * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage): git-svn-id: svn://svn.chromium.org/blink/trunk@18635 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 05 Jan, 2007 30 commits
-
-
adele authored
Reviewed by Hyatt. - repaint tests and updated results for http://bugs.webkit.org/show_bug.cgi?id=12079 Nested tables don't repaint properly when a certain row is added * fast/repaint/table-section-overflow-expected.checksum: Added. * fast/repaint/table-section-overflow-expected.png: Added. * fast/repaint/table-section-overflow-expected.txt: Added. * fast/repaint/table-section-overflow.html: Added. * fast/repaint/table-section-repaint-expected.checksum: Added. * fast/repaint/table-section-repaint-expected.png: Added. * fast/repaint/table-section-repaint-expected.txt: Added. * fast/repaint/table-section-repaint.html: Added. * tables/mozilla/core/misc-expected.txt: * tables/mozilla/core/misc-expected.png: * tables/mozilla/core/misc-expected.checksum: WebCore: Reviewed by Hyatt. - fix http://bugs.webkit.org/show_bug.cgi?id=12079 Nested tables don't repaint properly when a certain row is added Tests: fast/repaint/table-section-repaint.html fast/repaint/table-section-overflow.html Fixed repainting when table sections move during layout. Made table cells' overflows propagate to table sections and gave tables overflows. * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Added computation of horizontal and vertical overflows based on the caption's and the table sections' overflows. Added checks for table sections that change position during layout. When that happens, we assume all sections below the first section that moved also moved, and repaint everything downwards from there. Added calls to repaintDuringLayoutIfMoved() for the caption. Changed the way table sections are iterated over and added a FIXME to change it again once bug 12124 is fixed. (WebCore::RenderTable::paint): Changed to paint overflow. (WebCore::RenderTable::outerBorderBottom): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::layoutRows): Added code to compute the section's overflow and a flag saying whether any cells in this section overflow. (WebCore::RenderTableSection::paint): Changed to paint overflow. If any cell in the section has overflow, then all cells are given a chance to paint. This is needed because there can be internal overflow, and external overflow can be coming from any cell inside. * rendering/RenderTableSection.h: (WebCore::RenderTableSection::overflowWidth): (WebCore::RenderTableSection::overflowLeft): git-svn-id: svn://svn.chromium.org/blink/trunk@18634 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bdakin authored
Fix for <rdar://problem/4863434> Wrong contextual menu appears for textarea and input elements at http://www.apple.com/feedback/ ical.html No test cases added since context menus are not in DRT. * page/ContextMenuController.cpp: (WebCore::ContextMenuController::handleContextMenuEvent): Call EventHandler's hitTestResultAtPoint() instead of just hit testing the layer. git-svn-id: svn://svn.chromium.org/blink/trunk@18633 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
git-svn-id: svn://svn.chromium.org/blink/trunk@18632 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Move a bunch of platform independant code over to DocumentLoader.cpp * WebCore.xcodeproj/project.pbxproj: * loader/DocumentLoader.cpp: (WebCore::canonicalizedTitle): (WebCore::DocumentLoader::DocumentLoader): (WebCore::DocumentLoader::frameLoader): (WebCore::DocumentLoader::~DocumentLoader): (WebCore::DocumentLoader::setMainResourceData): (WebCore::DocumentLoader::mainResourceData): (WebCore::DocumentLoader::originalRequest): (WebCore::DocumentLoader::originalRequestCopy): (WebCore::DocumentLoader::request): (WebCore::DocumentLoader::initialRequest): (WebCore::DocumentLoader::actualRequest): (WebCore::DocumentLoader::URL): (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll): (WebCore::DocumentLoader::setRequest): (WebCore::DocumentLoader::setMainDocumentError): (WebCore::DocumentLoader::clearErrors): (WebCore::DocumentLoader::mainReceivedError): (WebCore::DocumentLoader::stopLoading): (WebCore::DocumentLoader::setupForReplace): (WebCore::DocumentLoader::commitIfReady): (WebCore::DocumentLoader::finishedLoading): (WebCore::DocumentLoader::setCommitted): (WebCore::DocumentLoader::isCommitted): (WebCore::DocumentLoader::setLoading): (WebCore::DocumentLoader::isLoading): (WebCore::DocumentLoader::commitLoad): (WebCore::DocumentLoader::doesProgressiveLoad): (WebCore::DocumentLoader::receivedData): (WebCore::DocumentLoader::setupForReplaceByMIMEType): (WebCore::DocumentLoader::updateLoading): (WebCore::DocumentLoader::setFrame): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::prepareForLoadStart): (WebCore::DocumentLoader::setIsClientRedirect): (WebCore::DocumentLoader::isClientRedirect): (WebCore::DocumentLoader::setPrimaryLoadComplete): (WebCore::DocumentLoader::isLoadingInAPISense): (WebCore::DocumentLoader::addResponse): (WebCore::DocumentLoader::stopRecordingResponses): (WebCore::DocumentLoader::title): (WebCore::DocumentLoader::setLastCheckedRequest): (WebCore::DocumentLoader::lastCheckedRequest): (WebCore::DocumentLoader::triggeringAction): (WebCore::DocumentLoader::setTriggeringAction): (WebCore::DocumentLoader::responses): (WebCore::DocumentLoader::setOverrideEncoding): (WebCore::DocumentLoader::overrideEncoding): (WebCore::DocumentLoader::setTitle): (WebCore::DocumentLoader::urlForHistory): * loader/DocumentLoader.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::load): (WebCore::FrameLoader::committedLoad): (WebCore::FrameLoader::setMainDocumentError): (WebCore::FrameLoader::mainReceivedCompleteError): (WebCore::FrameLoader::mainReceivedError): (WebCore::FrameLoader::cancelledError): (WebCore::FrameLoader::fileDoesNotExistError): (WebCore::FrameLoader::mainResourceData): * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/mac/DocumentLoaderMac.mm: (WebCore::DocumentLoader::unreachableURL): * loader/mac/FrameLoaderMac.mm: git-svn-id: svn://svn.chromium.org/blink/trunk@18631 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
beidson authored
git-svn-id: svn://svn.chromium.org/blink/trunk@18627 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
beidson authored
http://bugs.webkit.org/show_bug.cgi?id=12117 Fixes null deref when opening links from a gmail account * loader/FrameLoader.cpp: (WebCore::FrameLoader::updateHistoryForStandardLoad): Null check m_currentHistoryItem (WebCore::FrameLoader::updateHistoryForClientRedirect): Ditto git-svn-id: svn://svn.chromium.org/blink/trunk@18626 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Move some now cross platform functions over to ResourceLoader.cpp in an attempt to fix the non Mac builds. * loader/CachedResource.h: (WebCore::CachedResource::setAllData): * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::resourceData): * loader/ResourceLoader.h: * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didFinishLoading): * loader/mac/LoaderFunctionsMac.mm: * loader/mac/ResourceLoaderMac.mm: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::platformDataSize): * platform/network/ResourceHandle.h: git-svn-id: svn://svn.chromium.org/blink/trunk@18625 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hyatt authored
git-svn-id: svn://svn.chromium.org/blink/trunk@18624 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hyatt authored
Back out fix for 12114. I missed rule #5 in the float positioning part of the CSS2.1 spec. Keep all the code cleanup though. Reviewed by mitz * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats): git-svn-id: svn://svn.chromium.org/blink/trunk@18623 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Reviewed by Maciej. Add a shared buffer class which is backed by either a vector or an NSData object. This object can also be held in a custom NSData subclass. Use this in the loader wherever NSData was used. * WebCore.exp: * WebCore.xcodeproj/project.pbxproj: * loader/CachedResource.h: (WebCore::CachedResource::allData): * loader/DocumentLoader.h: * loader/FrameLoader.h: * loader/ResourceLoader.h: * loader/SubresourceLoaderClient.h: (WebCore::SubresourceLoaderClient::didFail): * loader/loader.cpp: (WebCore::Loader::didFinishLoading): * loader/loader.h: * loader/mac/DocumentLoaderMac.mm: (WebCore::DocumentLoader::setMainResourceData): (WebCore::DocumentLoader::mainResourceData): (WebCore::DocumentLoader::setupForReplaceByMIMEType): * loader/mac/FrameLoaderMac.mm: (WebCore::FrameLoader::mainResourceData): * loader/mac/ImageDocumentMac.mm: (WebCore::finishImageLoad): * loader/mac/LoaderFunctionsMac.mm: (WebCore::CheckCacheObjectStatus): (WebCore::CachedResource::setAllData): * loader/mac/NetscapePlugInStreamLoaderMac.mm: (WebCore::NetscapePlugInStreamLoader::didFinishLoading): * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::addData): (WebCore::ResourceLoader::resourceData): (WebCore::ResourceLoader::clearResourceData): (WebCore::ResourceLoader::didReceiveData): (WebCore::ResourceLoader::willStopBufferingData): * loader/mac/SubresourceLoaderMac.mm: (WebCore::SubresourceLoader::didReceiveResponse): (WebCore::SubresourceLoader::didFinishLoading): * page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getData:andResponse:forURL:]): (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): * platform/KURL.h: * platform/SharedBuffer.cpp: Added. (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::size): (WebCore::SharedBuffer::data): (WebCore::SharedBuffer::append): (WebCore::SharedBuffer::clear): (WebCore::SharedBuffer::clearPlatformData): (WebCore::SharedBuffer::maybeTransferPlatformData): (WebCore::SharedBuffer::hasPlatformData): (WebCore::SharedBuffer::platformData): * platform/SharedBuffer.h: Added. * platform/mac/SharedBufferMac.mm: Added. (-[SharedBufferData dealloc]): (-[SharedBufferData finalize]): (-[SharedBufferData initWithSharedBuffer:WebCore::]): (-[SharedBufferData length]): (-[SharedBufferData bytes]): (WebCore::SharedBuffer::wrapNSData): (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::createNSData): (WebCore::SharedBuffer::hasPlatformData): (WebCore::SharedBuffer::platformData): (WebCore::SharedBuffer::platformDataSize): (WebCore::SharedBuffer::maybeTransferPlatformData): (WebCore::SharedBuffer::clearPlatformData): * platform/network/ResourceHandle.h: * platform/network/ResourceHandleClient.h: * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::bufferedData): WebKit: Reviewed by Maciej. The data returned is now a SharedBuffer so wrap it in an NSData object. * WebView/WebDataSource.mm: (-[WebDataSource data]): git-svn-id: svn://svn.chromium.org/blink/trunk@18621 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap authored
Test for http://bugs.webkit.org/show_bug.cgi?id=3420 XMLHttpRequest does not handle set-cookie headers * http/tests/xmlhttprequest/resources/get-set-cookie.cgi: Set the cookies unconditionally (previously, the test failed if there were other cookies for 127.0.0.1:8000. git-svn-id: svn://svn.chromium.org/blink/trunk@18620 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
http://bugs.webkit.org/show_bug.cgi?id=12120 REGRESSION(r18605): Safari snippet editor no longer works * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willSendRequest): Put back the code change in r18607. * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Convert nil NSURLs to null KURLs. git-svn-id: svn://svn.chromium.org/blink/trunk@18619 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap authored
http://bugs.webkit.org/show_bug.cgi?id=7296 Disable JavaScript exceptions when dynamically changing CSS properties. * bindings/js/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::put): Removed the Dashboard quirk logic. * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::setProperty): Don't raise an exception if parsing fails. git-svn-id: svn://svn.chromium.org/blink/trunk@18618 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zack authored
running the layout tests with the buildbot) git-svn-id: svn://svn.chromium.org/blink/trunk@18617 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
antti authored
Reviewed by hyatt. Test for http://bugs.webkit.org/show_bug.cgi?id=12109 layer visibility incorrect in some cases * fast/layers/layer-visibility-sublayer-expected.checksum: Added. * fast/layers/layer-visibility-sublayer-expected.png: Added. * fast/layers/layer-visibility-sublayer-expected.txt: Added. * fast/layers/layer-visibility-sublayer.html: Added. WebCore: Reviewed by hyatt. http://bugs.webkit.org/show_bug.cgi?id=12109 Fix layer visibility in some cases with nested layers. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateVisibilityStatus): git-svn-id: svn://svn.chromium.org/blink/trunk@18616 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
lars authored
git-svn-id: svn://svn.chromium.org/blink/trunk@18615 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aroben authored
Reviewed by Geoff, cheered by others. Dead code elimination. All layout tests pass. * page/EventHandler.h: * page/mac/EventHandlerMac.mm: * page/mac/WebCoreFrameBridge.h: * page/mac/WebCoreFrameBridge.mm: WebKit: Reviewed by Geoff, cheered by others. Dead code elimination. * WebView/WebHTMLView.m: git-svn-id: svn://svn.chromium.org/blink/trunk@18614 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aroben authored
* WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597. git-svn-id: svn://svn.chromium.org/blink/trunk@18613 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ddkilzer authored
Reviewed by Brady. - fix http://bugs.webkit.org/show_bug.cgi?id=12111 Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:] * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory. git-svn-id: svn://svn.chromium.org/blink/trunk@18612 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ddkilzer authored
Reviewed by Mark Rowe. Speed up svn-create-patch for copied and moved files. * Scripts/svn-create-patch: (manufacturePatchForAdditionWithHistory($$)): Use 'svn cat' instead of 'svn cat -rNNNNN' so svn pulls original from local disk. git-svn-id: svn://svn.chromium.org/blink/trunk@18611 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aroben authored
Reviewed by Geoff. Added new tests for tabindex and tabbing into/out of subframes. * fast/dom/tabindex-clamp-expected.txt: Added. * fast/dom/tabindex-clamp.html: Added. * fast/events/frame-click-focus-expected.txt: Added. * fast/events/frame-click-focus.html: Added. * fast/events/frame-tab-focus-expected.txt: Added. * fast/events/frame-tab-focus.html: Added. * fast/events/resources/frame-tab-focus-child.html: Added. * fast/events/resources/frame-tab-focus-empty-child.html: Added. * fast/events/resources/frame-tab-focus-empty-middle.html: Added. * fast/events/resources/frame-tab-focus-middle.html: Added. * fast/events/resources/frame-tab-focus-upper.html: Added. * fast/html/tab-order-expected.txt: Added. * fast/html/tab-order.html: Added. Updated test to match new behavior. * fast/forms/focus2-expected.txt: Updated results. * fast/forms/focus2.html: Fixed typo, and reduced the number of tab events dispatched now that frames containing focusable elements aren't themselves in the tab order. WebCore: Reviewed by Geoff. Fix: <rdar://4800335> REGRESSION: shift-tabbing from location field goes to first field rather than last (businessweek.com) Fix: <rdar://4800373> REGRESSION: tabbing from last control focuses nothing visible (busniessweek.com) Handle tabbing into/out of subframes in WebCore instead of letting AppKit do the dirty work. This change also fixes a number of bugs and changes some behavior to match other browsers: - No frames receive a focus event when the page is first loaded. - When a frame is clicked or focused with the keyboard, it receives a focus event and all other frames receive a blur event. - tabindex values are clamped to the range of a signed short, rather than overflowing within an unsigned short. - tabindex is respected on frame owner elements, even though HTML4 says it shouldn't be. - Subframes will be focused when tabbing if they don't contain any focusable elements within them (it would be nice to only focus the frame if it has scrollbars). Renamed SelectionDirection to FocusDirection and put it in its own file. * page/FocusDirection.h: Added. (WebCore::): * page/mac/WebCoreFrameBridge.mm: Updated for renames. (-[WebCoreFrameBridge nextKeyView]): (-[WebCoreFrameBridge previousKeyView]): (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]): (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]): Moved advanceFocus from EventHandler to FocusController and added support for moving into/out of subframes.. * page/EventHandler.cpp: Moved advanceFocus to FocusController. * page/EventHandler.h: Ditto. * page/FocusController.cpp: (WebCore::deepFocusableNode): Static helper function to find focusable nodes nested within frames. (WebCore::FocusController::advanceFocus): Moved from EventHandler and rewritten to handle subframes. * page/FocusController.h: Added advanceFocus declaration. * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Updated for the move of advanceFocus to FocusController. * html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::isFrameOwnerElement): New method. (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): New virtual implementation used to trick Document::nextFocusableNode so that we can focus frames. Rewrote/renamed Document::nextFocusableNode/Document::previousFocusableNode. * dom/Document.cpp: (WebCore::nextNodeWithExactTabIndex): New static helper function. (WebCore::previousNodeWithExactTabIndex): Ditto. (WebCore::nextNodeWithGreaterTabIndex): Ditto. (WebCore::previousNodeWithLowerTabIndex): Ditto. (WebCore::Document::nextFocusableNode): Renamed from nextFocusedNode, and rewritten with much simpler logic. (WebCore::Document::previousFocusableNode): Ditto. * dom/Document.h: Updated declarations for renames. * page/mac/EventHandlerMac.mm: Updated for rename of SelectionDirection to FocusDirection. (WebCore::EventHandler::nextKeyViewInFrame): Updated for renames. (WebCore::EventHandler::nextKeyViewInFrameHierarchy): Ditto. (WebCore::EventHandler::nextKeyView): Ditto. (WebCore::EventHandler::focusDocumentView): Added call to setFocusedFrame when focusing the document view. (WebCore::EventHandler::passMouseDownEventToWidget): Removed LOG_ERROR when a nil NSView is returned from AppKit, as this is a fairly common occurrence when a RenderWidget has a border. (WebCore::EventHandler::passWheelEventToWidget): Added a nil-check of the hit-tested NSView. Changed storage of tabIndex to a signed short, and added clamping of tabindex attribute values to match Firefox's behavior. * dom/Node.h: Use a signed short to store m_tabIndex. (WebCore::Node::isFrameOwnerElement): New method. (WebCore::Node::tabIndex): Updated for signedness. (WebCore::Node::setTabIndex): Ditto. * html/HTMLAnchorElement.cpp: Remove implementation of tabIndex() so that Node::tabIndex() will be called instead and return the clamped value (which matches Firefox's behavior). * html/HTMLAnchorElement.h: Ditto. * html/HTMLAreaElement.cpp: Ditto. * html/HTMLAreaElement.h: Ditto. * html/HTMLGenericFormElement.cpp: Ditto. * html/HTMLGenericFormElement.h: Ditto. * html/HTMLObjectElement.cpp: Ditto. * html/HTMLObjectElement.h: Ditto. * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): Clamp tabIndex to the range of a signed short to match Firefox. Added two new Chrome methods for transferring focus out of the WebView. * page/Chrome.cpp: (WebCore::Chrome::canTakeFocus): (WebCore::Chrome::takeFocus): * page/Chrome.h: * page/ChromeClient.h: * platform/graphics/svg/SVGImageEmptyClients.h: Fixed typo "CromeClient" -> "ChromeClient". (WebCore::SVGEmptyChromeClient::~SVGEmptyChromeClient): (WebCore::SVGEmptyChromeClient::canTakeFocus): (WebCore::SVGEmptyChromeClient::takeFocus): * platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::setData): Fixed typo. Miscellaneous: * WebCore.exp: Updated/sorted symbols. * WebCore.xcodeproj/project.pbxproj: Made FocusController.h Private so WebKit can access it. WebKit: Reviewed by Geoff. Remove WebKit/AppKit from handling tabbing between subframes. * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for moving focus out of the WebView. * WebCoreSupport/WebChromeClient.mm: Ditto. (WebChromeClient::canTakeFocus): (WebChromeClient::takeFocus): * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge webView]): Added null-check of m_frame. * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView]. (-[WebHTMLView _updateActiveState]): Changed to focus the frame if WebCore believes it to be the focused frame. (-[WebHTMLView becomeFirstResponder]): Rewrote to call into FocusController to place focus correctly within the WebView. git-svn-id: svn://svn.chromium.org/blink/trunk@18610 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
beidson authored
* loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willSendRequest): (WebCore::ResourceLoader::didReceiveResponse): git-svn-id: svn://svn.chromium.org/blink/trunk@18609 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ddkilzer authored
Reviewed by Sam Weinig. - http://bugs.webkit.org/show_bug.cgi?id=12078 Clean up RenderTable* - Coding style cleanup. - Canceled AutoTableLayout and FixedTableLayout being friend classes of RenderTable. Instead, added public accessors to RenderTable for what the table layout classes need and changed TableLayout::calcMinMaxWidth() to take references to the caller's min and max widths. - Made RenderTableSection's grid protected and moved code that accessed it from RenderTable into RenderTableSection. No test possible (no change to functionality). * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::calcMinMaxWidth): (WebCore::AutoTableLayout::layout): * rendering/AutoTableLayout.h: * rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcWidthArray): (WebCore::FixedTableLayout::calcMinMaxWidth): (WebCore::FixedTableLayout::layout): * rendering/FixedTableLayout.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): (WebCore::RenderTable::~RenderTable): (WebCore::RenderTable::setStyle): (WebCore::RenderTable::addChild): (WebCore::RenderTable::calcWidth): (WebCore::RenderTable::layout): (WebCore::RenderTable::setCellWidths): (WebCore::RenderTable::paint): (WebCore::RenderTable::paintBoxDecorations): (WebCore::RenderTable::calcMinMaxWidth): (WebCore::RenderTable::splitColumn): Factored out the section work to RenderTableSection::splitColumn(). (WebCore::RenderTable::appendColumn): Factored out the section work to RenderTableSection::appendColumn(). (WebCore::RenderTable::colElement): (WebCore::RenderTable::recalcSections): (WebCore::RenderTable::removeChildNode): (WebCore::RenderTable::calcBorderLeft): (WebCore::RenderTable::calcBorderRight): (WebCore::RenderTable::outerBorderTop): (WebCore::RenderTable::outerBorderBottom): (WebCore::RenderTable::outerBorderLeft): (WebCore::RenderTable::outerBorderRight): (WebCore::RenderTable::sectionAbove): (WebCore::RenderTable::sectionBelow): (WebCore::RenderTable::cellAbove): (WebCore::RenderTable::cellBelow): (WebCore::RenderTable::cellBefore): (WebCore::RenderTable::getOverflowClipRect): (WebCore::RenderTable::dump): * rendering/RenderTable.h: (WebCore::RenderTable::getColumnPos): (WebCore::RenderTable::hBorderSpacing): (WebCore::RenderTable::vBorderSpacing): (WebCore::RenderTable::getRules): (WebCore::RenderTable::cellPadding): (WebCore::RenderTable::setCellPadding): (WebCore::RenderTable::ColumnStruct::ColumnStruct): (WebCore::RenderTable::columns): Added this accessor. (WebCore::RenderTable::columnPositions): Added this accessor. (WebCore::RenderTable::header): (WebCore::RenderTable::footer): (WebCore::RenderTable::firstBody): (WebCore::RenderTable::numEffCols): (WebCore::RenderTable::spanOfEffCol): (WebCore::RenderTable::colToEffCol): (WebCore::RenderTable::effColToCol): (WebCore::RenderTable::bordersPaddingAndSpacing): (WebCore::RenderTable::needsSectionRecalc): (WebCore::RenderTable::setNeedsSectionRecalc): Renamed setNeedSectionRecalc() to this. (WebCore::RenderTable::hasSections): (WebCore::RenderTable::recalcSectionsIfNeeded): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::destroy): (WebCore::RenderTableCell::updateFromElement): (WebCore::RenderTableCell::styleOrColWidth): (WebCore::RenderTableCell::computeAbsoluteRepaintRect): (WebCore::RenderTableCell::absolutePosition): (WebCore::RenderTableCell::baselinePosition): (WebCore::RenderTableCell::setStyle): (WebCore::compareBorders): (WebCore::RenderTableCell::collapsedTopBorder): (WebCore::RenderTableCell::paint): (WebCore::collapsedBorderStyle): (WebCore::CollapsedBorder::CollapsedBorder): (WebCore::CollapsedBorders::CollapsedBorders): (WebCore::CollapsedBorders::addBorder): (WebCore::CollapsedBorders::nextBorder): (WebCore::RenderTableCell::paintCollapsedBorder): (WebCore::RenderTableCell::paintBackgroundsBehindCell): (WebCore::RenderTableCell::paintBoxDecorations): (WebCore::RenderTableCell::dump): * rendering/RenderTableCell.h: (WebCore::RenderTableCell::colSpan): (WebCore::RenderTableCell::setColSpan): (WebCore::RenderTableCell::rowSpan): (WebCore::RenderTableCell::setRowSpan): (WebCore::RenderTableCell::col): (WebCore::RenderTableCell::setCol): (WebCore::RenderTableCell::row): (WebCore::RenderTableCell::setRow): (WebCore::RenderTableCell::section): (WebCore::RenderTableCell::table): (WebCore::RenderTableCell::yPos): (WebCore::RenderTableCell::setCellTopExtra): (WebCore::RenderTableCell::setCellBottomExtra): (WebCore::RenderTableCell::borderTopExtra): (WebCore::RenderTableCell::borderBottomExtra): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::destroy): (WebCore::RenderTableRow::setStyle): (WebCore::RenderTableRow::addChild): (WebCore::RenderTableRow::layout): (WebCore::RenderTableRow::getAbsoluteRepaintRect): (WebCore::RenderTableRow::paint): * rendering/RenderTableRow.h: (WebCore::RenderTableRow::section): (WebCore::RenderTableRow::table): (WebCore::RenderTableRow::lineHeight): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::destroy): (WebCore::RenderTableSection::setStyle): (WebCore::RenderTableSection::addChild): (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::lowestPosition): (WebCore::RenderTableSection::rightmostPosition): (WebCore::RenderTableSection::leftmostPosition): (WebCore::RenderTableSection::calcOuterBorderTop): (WebCore::RenderTableSection::calcOuterBorderBottom): (WebCore::RenderTableSection::calcOuterBorderLeft): (WebCore::RenderTableSection::calcOuterBorderRight): (WebCore::RenderTableSection::paint): (WebCore::RenderTableSection::recalcCells): (WebCore::RenderTableSection::clearGrid): (WebCore::RenderTableSection::numColumns): (WebCore::RenderTableSection::appendColumn): Added. Moved code from RenderTable::appendColumn() into here. (WebCore::RenderTableSection::splitColumn): Added. Moved code from RenderTable::splitColumn() into here. (WebCore::RenderTableSection::removeChildNode): (WebCore::RenderTableSection::dump): * rendering/RenderTableSection.h: (WebCore::RenderTableSection::renderName): (WebCore::RenderTableSection::isTableSection): (WebCore::RenderTableSection::lineHeight): (WebCore::RenderTableSection::table): (WebCore::RenderTableSection::cellAt): (WebCore::RenderTableSection::numRows): (WebCore::RenderTableSection::recalcCellsIfNeeded): (WebCore::RenderTableSection::needsCellRecalc): (WebCore::RenderTableSection::setNeedsCellRecalc): (WebCore::RenderTableSection::getBaseline): * rendering/TableLayout.h: git-svn-id: svn://svn.chromium.org/blink/trunk@18608 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
http://bugs.webkit.org/show_bug.cgi?id=12120 REGRESSION(r18605): Safari snippet editor no longer works * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willSendRequest): Fix logic so applewebdata: URLs no longer cause the underlying URL to be fetched . git-svn-id: svn://svn.chromium.org/blink/trunk@18607 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Move all remaining instances of NSURLRequest over to ResourceRequest (well, pretty much all). * loader/MainResourceLoader.h: * loader/ResourceLoader.h: * loader/SubresourceLoader.h: * loader/mac/FrameLoaderMac.mm: (WebCore::FrameLoader::startLoadingMainResource): * loader/mac/MainResourceLoaderMac.mm: (WebCore::MainResourceLoader::loadNow): (WebCore::MainResourceLoader::load): (WebCore::MainResourceLoader::setDefersLoading): * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::load): * loader/mac/SubresourceLoaderMac.mm: (WebCore::SubresourceLoader::load): (WebCore::SubresourceLoader::create): * platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::setData): * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest): git-svn-id: svn://svn.chromium.org/blink/trunk@18606 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca authored
Reviewed by Brady. Move more NSURLRequests over to ResourceRequests. * loader/DocumentLoader.h: * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/MainResourceLoader.h: * loader/ResourceLoader.h: (WebCore::ResourceLoader::request): * loader/SubresourceLoader.h: * loader/mac/FrameLoaderMac.mm: (WebCore::FrameLoader::willSendRequest): (WebCore::FrameLoader::opened): (WebCore::FrameLoader::requestFromDelegate): (WebCore::FrameLoader::loadedResourceFromMemoryCache): (WebCore::FrameLoader::loadResourceSynchronously): * loader/mac/MainResourceLoaderMac.mm: (WebCore::MainResourceLoader::willSendRequest): (WebCore::MainResourceLoader::continueAfterContentPolicy): (WebCore::MainResourceLoader::loadNow): (WebCore::MainResourceLoader::setDefersLoading): * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::load): (WebCore::ResourceLoader::willSendRequest): (WebCore::ResourceLoader::didReceiveResponse): (WebCore::ResourceLoader::cancelledError): * loader/mac/SubresourceLoaderMac.mm: (WebCore::SubresourceLoader::willSendRequest): * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): * platform/network/ResourceRequest.cpp: (WebCore::ResourceRequest::isNull): * platform/network/ResourceRequest.h: WebKit: Reviewed by Brady. FrameLoaderClient changed yet again. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): (WebFrameLoaderClient::dispatchWillSendRequest): git-svn-id: svn://svn.chromium.org/blink/trunk@18605 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
beidson authored
http://bugs.webkit.org/show_bug.cgi?id=12119 Changing the behavior of HistoryItem::pageCache() this morning also necessitated changing the behavior of HistoryItem::hasPageCache() * history/HistoryItem.cpp: (WebCore::HistoryItem::hasPageCache): Add the same pendingRelease check pageCache() has git-svn-id: svn://svn.chromium.org/blink/trunk@18603 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bdash authored
Reviewed by Sam Weinig. - fix http://bugs.webkit.org/show_bug.cgi?id=12043 Another assertion failure in WebCore::RenderObject::drawBorder Test: fast/borders/border-radius-huge-assert.html * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::addRoundedRectClip): Fixed the check for border radii that do not fit in the given width or height to work with radii that sum up to more than MAX_INT. * rendering/RenderObject.cpp: (WebCore::RenderObject::paintBorder): Ditto. 2007-01-04 Mitz Pettel <mitz@webkit.org> Reviewed by Sam Weinig. - pixel test for http://bugs.webkit.org/show_bug.cgi?id=12043 Another assertion failure in WebCore::RenderObject::drawBorder * fast/borders/border-radius-huge-assert-expected.checksum: Added. * fast/borders/border-radius-huge-assert-expected.png: Added. * fast/borders/border-radius-huge-assert-expected.txt: Added. * fast/borders/border-radius-huge-assert.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@18602 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
justing authored
Reviewed by john <rdar://problem/4861080> GMail Editor: Crash when dropping content into certain list items * editing/pasteboard/4861080-expected.checksum: Added. * editing/pasteboard/4861080-expected.png: Added. * editing/pasteboard/4861080-expected.txt: Added. * editing/pasteboard/4861080.html: Added. WebCore: Reviewed by john <rdar://problem/4861080> GMail Editor: Crash when dropping content into certain list items A rendering bug (4907469) creates unwanted space at the top of a list item when its contents are wrapped in span. Dropping content inside that space causes a crash because positionForCoordinates fails there and the code that creates drag carets can't handle it. * page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge _visiblePositionForPoint:]): Added the that's inside click handling for the case where positionForCoordinates returns null. We should also fix positionForCoordinates but that's less important: now its only side effect is that a no-op drop is performed instead of a snap back when you drop the contents of one of these list items its own unwanted space. git-svn-id: svn://svn.chromium.org/blink/trunk@18601 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bdakin authored
Fix for http://bugs.webkit.org/show_bug.cgi?id=12118 REGRESSION (Context menus): No context menu displayed when clicking outside a short document No test case added since we do not currently have a way to automate context menus. * page/ContextMenuController.cpp: (WebCore::ContextMenuController::handleContextMenuEvent): If the hit test does not find a node, use the document node. git-svn-id: svn://svn.chromium.org/blink/trunk@18600 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-