1 2007-03-11 Alexey Proskuryakov <ap@webkit.org>
5 http://bugs.webkit.org/show_bug.cgi?id=12560
6 W3C XPath test Text_Nodes.svg fails
9 (WebCore::XPath::Step::nodeTestMatches): Revert the fix, as the behavior doesn't appear
10 all that desirable as it did at first glance.
12 2007-03-11 Oliver Hunt <oliver@apple.com>
16 Fix for <rdar://problem/5055690> ASSERTION failure on drop into
17 editable element with content changed on drop
19 After setting the selection for a drop into an editable region
20 we make sure the we succeeded. If we didn't we assume a focus handler
21 or similar altered the element contents and try again, if the second
22 attempt fails we bail out.
24 * page/DragController.cpp:
25 (WebCore::setSelectionToDragCaret):
26 (WebCore::DragController::concludeDrag):
28 2007-03-11 Oliver Hunt <oliver@apple.com>
32 Moving Frame{Mac}::respondToChangedSelection to Frame.cpp
33 Added new EditorClient method to handle old bridge function
35 * bridge/EditorClient.h:
36 Added respondToChangedSelection to replace old bridge function
38 (WebCore::Editor::respondToChangedSelection):
39 Add client call to replace old bridge call from Frame::respondToChangedSelection
40 * editing/SelectionController.cpp:
41 (WebCore::SelectionController::setSelection):
42 No longer directly call Editor as Frame::respondToChangedSelection
45 (WebCore::Frame::respondToChangedSelection):
46 Moved from FrameMac, replaced bridge call with call to Editor
47 * page/mac/FrameMac.mm:
48 Moved respondToChangedSelection to Frame.cpp
49 * page/mac/WebCoreFrameBridge.h:
50 Removed respondToChangedSelection from bridge
51 * page/qt/FrameQt.cpp:
52 Remove stub method for respondToChangedSelection
54 2007-03-11 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
56 Reviewed by Brady Eidson.
60 * loader/gdk/FrameLoaderClientGdk.cpp:
61 (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): return true so
62 that FrameLoader:goBackOrForwards() works.
64 2007-03-10 Geoffrey Garen <ggaren@apple.com>
66 Reviewed by Darin Adler.
68 Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
69 JSCore causes a hang @ www.panoramas.dk
71 See JavaScriptCore ChangeLog for details.
73 * bindings/objc/WebScriptObject.mm:
74 (_didExecute): Added helpful ASSERT.
75 (+[WebScriptObject throwException:]): Added missing JSLock.
77 2007-03-11 Antti Koivisto <antti@apple.com>
81 Optimize linebox memory consumption:
82 - move all bitfields to baseclass compacting them
83 - make InlineTextBox::m_truncation unsigned short and make it relative to m_start
84 - remove extremely rarely used EllipsisBox pointer from RootInlineBox and instead
85 use a global hashmap to store it if needed
86 - use minimum required number of bits to store BidiStatus enum variables in RootInlineBox
87 - move overflow variables in RootInlineBox to a separate struct that is instantiated
88 only if any of the variables is set to a value that can't trivially be derived from
89 box x, y, width and height
91 As a result line box objects shrink:
92 InlineBox: 44 -> 44 bytes
93 InlineTextBox: 68 -> 60 bytes
94 InlineFlowBox: 68 -> 64 bytes
95 RootInlineBox: 128 -> 88 bytes
97 The optimizations possiblity was noticed when debugging http://bugs.webkit.org/show_bug.cgi?id=12833
98 Bug 12833: REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly
99 <rdar://problem/5028159>
101 On that page the patch saves 11.5MB or some 21% of linebox memory consumption. It also
102 actually improves selection performance somewhat by improving memory locality.
104 * rendering/InlineBox.h:
105 (WebCore::InlineBox::InlineBox):
106 * rendering/InlineFlowBox.h:
107 (WebCore::InlineFlowBox::InlineFlowBox):
108 * rendering/InlineTextBox.cpp:
109 (WebCore::InlineTextBox::placeEllipsisBox):
110 (WebCore::InlineTextBox::nodeAtPoint):
111 (WebCore::InlineTextBox::paint):
112 (WebCore::InlineTextBox::paintDecoration):
113 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
114 (WebCore::InlineTextBox::paintMarkedTextUnderline):
115 * rendering/InlineTextBox.h:
116 (WebCore::InlineTextBox::InlineTextBox):
117 * rendering/RootInlineBox.cpp:
119 (WebCore::RootInlineBox::Overflow::operator delete):
120 (WebCore::RootInlineBox::Overflow::destroy):
121 (WebCore::RootInlineBox::destroy):
122 (WebCore::RootInlineBox::detachEllipsisBox):
123 (WebCore::RootInlineBox::clearTruncation):
124 (WebCore::RootInlineBox::placeEllipsis):
125 (WebCore::RootInlineBox::paintEllipsisBox):
126 (WebCore::RootInlineBox::addHighlightOverflow):
127 (WebCore::RootInlineBox::nodeAtPoint):
128 (WebCore::RootInlineBox::adjustPosition):
129 (WebCore::RootInlineBox::selectionTop):
130 (WebCore::RootInlineBox::setLineBreakInfo):
131 (WebCore::RootInlineBox::ellipsisBox):
132 (WebCore::RootInlineBox::setVerticalOverflowPositions):
133 (WebCore::RootInlineBox::setHorizontalOverflowPositions):
134 (WebCore::RootInlineBox::setVerticalSelectionPositions):
135 * rendering/RootInlineBox.h:
136 (WebCore::RootInlineBox::RootInlineBox):
137 (WebCore::RootInlineBox::topOverflow):
138 (WebCore::RootInlineBox::bottomOverflow):
139 (WebCore::RootInlineBox::leftOverflow):
140 (WebCore::RootInlineBox::rightOverflow):
141 (WebCore::RootInlineBox::lineBreakBidiStatus):
142 (WebCore::RootInlineBox::selectionBottom):
143 (WebCore::RootInlineBox::Overflow::Overflow):
145 2007-03-11 Alexey Proskuryakov <ap@webkit.org>
149 A partial fix for http://bugs.webkit.org/show_bug.cgi?id=13021
150 XPath can be very slow
152 * xml/XPathExpression.cpp:
153 (WebCore::XPathExpression::evaluate): Cache evaluationContext in a local variable.
155 * xml/XPathExpressionNode.cpp:
156 (WebCore::XPath::Expression::evaluationContext):
157 * xml/XPathExpressionNode.h:
158 (WebCore::XPath::Expression::addSubExpression):
159 (WebCore::XPath::Expression::subExprCount):
160 (WebCore::XPath::Expression::subExpr):
161 * xml/XPathFunctions.cpp:
162 * xml/XPathFunctions.h:
163 (WebCore::XPath::Function::setName):
164 (WebCore::XPath::Function::arg):
165 (WebCore::XPath::Function::argCount):
166 (WebCore::XPath::Function::name):
167 Made one-liners critical for performance inline.
169 * xml/XPathGrammar.y: Fully parse NodeTests, so that strings are no longer passed for what is
170 essentially an enum. Use LocationPath accessors to add steps, instead of directly manipulating
171 internal data members.
173 * xml/XPathParser.cpp:
174 (WebCore::XPath::Parser::parseStatement):
175 (WebCore::XPath::Parser::registerNodeTest):
176 (WebCore::XPath::Parser::deleteNodeTest):
178 Added support methods for changes in XPathGrammar.y.
181 (WebCore::XPath::Filter::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid
182 performing vector assignments.
183 (WebCore::XPath::LocationPath::evaluate): Use swap() to avoid performing vector assignments.
184 (WebCore::XPath::LocationPath::optimizeStepPair): This new method is called during LocationPath construction,
185 to simplify the path as it's being built. Currently, the only optimized case is "//*" - it is a basis for
186 important operations that cannot be efficiently written in XPath 1.0, but can be optimized with a little bit
188 (WebCore::XPath::LocationPath::appendStep): A new accessor that modifies m_steps and calls optimizeStepPair().
189 (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
191 (WebCore::XPath::LocationPath::setAbsolute): A new accessor.
194 (WebCore::XPath::Step::NodeTest::):
195 (WebCore::XPath::Step::NodeTest::NodeTest):
196 (WebCore::XPath::Step::NodeTest::kind):
197 (WebCore::XPath::Step::NodeTest::data):
198 Step::NodeTest is a new sub-class that represents a fully parsed NodeTest.
199 (WebCore::XPath::Step::axis):
200 (WebCore::XPath::Step::nodeTest):
201 (WebCore::XPath::Step::nodeTestData):
202 (WebCore::XPath::Step::namespaceURI):
203 (WebCore::XPath::Step::predicates):
204 (WebCore::XPath::Step::setAxis):
205 (WebCore::XPath::Step::setNodeTest):
206 (WebCore::XPath::Step::setNodeTestData):
207 (WebCore::XPath::Step::setNamespaceURI):
208 (WebCore::XPath::Step::setPredicates):
209 New accessors that let optimizeStepPair() manipulate Step data.
212 (WebCore::XPath::Step::Step): Use the new NodeTest class.
213 (WebCore::XPath::Step::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid
214 performing unneeded vector assignments.
215 (WebCore::XPath::Step::nodesInAxis): Cosmetic changes.
216 (WebCore::XPath::Step::nodeTestMatches): Use NodeTest instead of parsing the test from string each time.
217 Added a partial implementation of XPath 2.0 element() node test.
219 2007-03-10 Alexey Proskuryakov <ap@webkit.org>
223 http://bugs.webkit.org/show_bug.cgi?id=12249
224 FCKeditor: <hr>, <ul> and <ol> have id="undefined"
226 This fixes the attached reduction, but not the original issue.
228 Test: editing/execCommand/default-parameters.html
232 Make second and third execCommand() parameters optional.
234 2007-03-10 Adele Peterson <adele@apple.com>
238 Fix for http://bugs.webkit.org/show_bug.cgi?id=13028
239 REGRESSION: textField:doCommandBySelector:inFrame: not being called properly
241 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
242 Before calling the base class defaultEventHandler, which will call handleKeypress, call doTextFieldCommandFromEvent.
244 2007-03-10 Mitz Pettel <mitz@webkit.org>
248 - fix http://bugs.webkit.org/show_bug.cgi?id=13013
249 REGRESSION: Selection box does not scroll to where the focus jumps when pressing an alphanumeric key
251 Test: fast/forms/listbox-typeahead-scroll.html
253 * html/HTMLSelectElement.cpp:
254 (WebCore::HTMLSelectElement::setSelectedIndex): Reordered to set the active selection's
255 anchor and end before selecting the option, since the active selection is used to
256 decide where to scroll when the selection is made.
257 (WebCore::HTMLSelectElement::defaultEventHandler): Removed redundant check.
259 2007-03-10 Mitz Pettel <mitz@webkit.org>
263 - fix http://bugs.webkit.org/show_bug.cgi?id=12973
264 REGRESSION: Reproducible assert while loading this test file if css is already in the cache
266 Test: fast/dom/css-cached-import-rule.html
268 Replaced some direct calls to document->stylesheetLoaded() with calls to
269 the sheet's checkLoaded(). The latter calls back to the element's sheetLoaded() --
270 which notifies the document of the load -- and then updates the sheet's
271 loadCompleted() flag, ensuring that it stays in sync with whether the stylesheet
272 is still considered pending by the document.
274 * dom/ProcessingInstruction.cpp:
275 (WebCore::ProcessingInstruction::parseStyleSheet):
276 * dom/StyleElement.cpp:
277 (WebCore::StyleElement::childrenChanged):
278 * html/HTMLLinkElement.cpp:
279 (WebCore::HTMLLinkElement::process):
280 (WebCore::HTMLLinkElement::setCSSStyleSheet):
281 * ksvg2/svg/SVGStyleElement.cpp:
282 (WebCore::SVGStyleElement::sheetLoaded):
283 * ksvg2/svg/SVGStyleElement.h:
285 2007-03-10 David Kilzer <ddkilzer@webkit.org>
289 - fix http://bugs.webkit.org/show_bug.cgi?id=9609
290 REGRESSION: Missing image icon needs to be moved back to WebKit
292 * WebCore.exp: Export WebCore::Image::loadPlatformResource(const char*) for use in
293 [WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:].
295 2007-03-09 Darin Adler <darin@apple.com>
299 - fix http://bugs.webkit.org/show_bug.cgi?id=8928
300 <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
301 contenteditable region in an XHTML document (8928)
303 Test: editing/pasteboard/paste-xml.xhtml
305 * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Added a check for 0
306 here, since createContextualFragment can return 0 for XML documents that fail
307 to parse. In my testing, callers all seem equipped to handle 0.
309 2007-03-09 Mitz Pettel <mitz@webkit.org>
313 - fix http://bugs.webkit.org/show_bug.cgi?id=9929
314 REGRESSION: crash on logging in on mijnpostbank.nl
316 Test: http/tests/misc/onload-remove-iframe-crash-2.html
318 The resulted from an iframe's load event handler removing the iframe
322 (WebCore::Document::implicitClose): Bail out early if an event handler
324 * loader/FrameLoader.cpp:
325 (WebCore::FrameLoader::FrameLoader):
326 (WebCore::FrameLoader::clear):
327 (WebCore::FrameLoader::checkCompleted): Protect the frame from deletion
329 (WebCore::FrameLoader::checkCompletedTimerFired):
330 (WebCore::FrameLoader::scheduleCheckCompleted):
331 (WebCore::FrameLoader::detachFromParent): Schedule a completion check
332 on the parent (in case the child is what has been keeping it from completing).
333 * loader/FrameLoader.h:
335 2007-03-08 David Kilzer <ddkilzer@webkit.org>
339 - fix http://bugs.webkit.org/show_bug.cgi?id=13019
340 REGRESSION (r20074): Forms don't submit on a variety of websites
342 No tests added since LayoutTests/fast/forms/document-write.html was timing out
343 and causing a layout test failure.
345 * html/HTMLFormElement.cpp:
346 (WebCore::HTMLFormElement::submit): Removed stray code.
348 2007-03-08 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
350 Not reviewed - gdk build fix.
352 * platform/graphics/cairo/ImageSourceCairo.cpp:
353 (WebCore::ImageSource::frameIsCompleteAtIndex): add empty stub
355 2007-03-08 Justin Garcia <justin.garcia@apple.com>
359 <rdar://problem/4903193>
360 On particular page, Copy is so slow it seems like a hang
363 http://shakespeare.mit.edu/henryviii/full.html
364 Also produces less bloated markup.
366 * editing/markup.cpp:
367 (WebCore::startMarkup): Don't wrap text nodes in style spans.
368 For Elements, don't inline styles inherited from ancestors.
369 (WebCore::createMarkup): No longer necessary to find
370 the root's default style and pass it to startMarkup.
371 Add a wrapper span around the markup with the styles
372 that all nodes in the markup inherit (the inheritable
373 styles from the common ancestor container's computed style).
374 Added a FIXME about unecessary markup for inline ancestors
375 up to the commonAncestorBlock.
377 2007-03-08 Darin Adler <darin@apple.com>
381 - <rdar://problem/4470381> multipart/form-data boundary security vulnerability
383 By making the form data boundary a string with some random data in it, we reduce
384 the possibility that anyone could take advantage of it by creating a file that
385 intentionally has the boundary string in it.
387 * html/HTMLFormElement.h: Removed boundary(), setBoundary(), and m_boundary.
388 Marked a lot more stuff private.
389 * html/HTMLFormElement.cpp:
390 (WebCore::HTMLFormElement::HTMLFormElement): Removed code to initialize
392 (WebCore::randomNumber): Added. Function that returns a random number, including
393 seeding the random number generator the first time it's called. For now, usees the more
394 random function random() on Mac OS X and the more-standard rand() on other platforms.
395 (WebCore::HTMLFormElement::formData): Take a parameter with the form boundary string,
396 and use that instead of m_boundary.
397 (WebCore::getUniqueBoundaryString): Added. Makes a boundary string using random numbers
398 and base 64 encoding.
399 (WebCore::HTMLFormElement::submit): Call getUniqueBoundaryString and pass the boundary
400 string into formData for multipart form posts.
402 2007-03-08 Maciej Stachowiak <mjs@apple.com>
406 <rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)
407 http://bugs.webkit.org/show_bug.cgi?id=12588
409 Carefully revised which focus operations restore previous selection, which clear it, and which
410 select the whole control contents.
413 fast/forms/focus-selection-input.html
414 fast/forms/focus-selection-textarea.html
417 (WebCore::Element::focus):
419 * html/HTMLInputElement.cpp:
420 (WebCore::HTMLInputElement::focus):
421 (WebCore::HTMLInputElement::accessKeyAction):
422 * html/HTMLInputElement.h:
423 * html/HTMLLabelElement.cpp:
424 (WebCore::HTMLLabelElement::focus):
425 (WebCore::HTMLLabelElement::accessKeyAction):
426 * html/HTMLLabelElement.h:
427 * html/HTMLLegendElement.cpp:
428 (WebCore::HTMLLegendElement::focus):
429 * html/HTMLLegendElement.h:
430 * html/HTMLTextAreaElement.cpp:
431 (WebCore::HTMLTextAreaElement::focus):
432 * html/HTMLTextAreaElement.h:
433 * page/FocusController.cpp:
434 (WebCore::FocusController::advanceFocus):
436 2007-03-08 Justin Garcia <justin.garcia@apple.com>
440 <http://bugs.webkit.org/show_bug.cgi?id=12244>
441 FCKeditor: Find dialog doesn't work
443 * bindings/js/kjs_window.cpp:
444 (KJS::Window::find): Added. This function doesn't yet
445 support whole word searches, searching in subframes, or
446 opening the find dialog.
447 (KJS::WindowFunc::callAsFunction):
448 * bindings/js/kjs_window.h:
451 2007-03-08 David Hyatt <hyatt@apple.com>
453 Fix regression from throwing away frames of large animated images. Alter
454 animated images so that they refuse to advance the animation until the
455 current displayed frame has been fully decoded.
459 * platform/graphics/BitmapImage.cpp:
460 (WebCore::BitmapImage::startAnimation):
461 (WebCore::BitmapImage::advanceAnimation):
462 * platform/graphics/ImageSource.h:
463 * platform/graphics/cg/ImageSourceCG.cpp:
464 (WebCore::ImageSource::frameIsCompleteAtIndex):
466 2007-03-08 David Hyatt <hyatt@apple.com>
468 Fix 2% performance regression on the PLT. Increase the large animated
469 image cutoff from 1MB to 5MB.
471 In addition when pruning we will aggressively discard image sources.
475 * platform/graphics/BitmapImage.cpp:
476 (WebCore::BitmapImage::destroyDecodedData):
478 2007-03-08 Timothy Hatcher <timothy@apple.com>
482 <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
484 Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.
487 * page/mac/FrameMac.mm:
488 (WebCore::Frame::customHighlightLineRect):
489 (WebCore::Frame::paintCustomHighlight):
490 * page/mac/WebCoreFrameBridge.h:
491 * rendering/InlineTextBox.cpp:
492 (WebCore::InlineTextBox::paintCustomHighlight):
493 * rendering/RenderBox.cpp:
494 (WebCore::RenderBox::paintCustomHighlight):
495 * rendering/RootInlineBox.cpp:
496 (WebCore::RootInlineBox::addHighlightOverflow):
497 (WebCore::RootInlineBox::paintCustomHighlight):
499 2007-03-08 Justin Garcia <justin.garcia@apple.com>
503 <http://bugs.webkit.org/show_bug.cgi?id=13000>
504 Range.createContextualFragment is not supported
507 (WebCore::Range::createContextualFragment): The
508 "startContainer" may not be a container, if the
509 range starts inside text. In that case, look
510 to the parent of the start node for an HTMLElement.
512 2007-03-08 Justin Garcia <justin.garcia@apple.com>
516 <rdar://problem/5049671>
517 Gmail Editor: With linked text, Remove Formatting doesn't always remove underline
519 * editing/Editor.cpp:
520 (WebCore::Editor::removeFormattingAndStyle): Clear removed
521 anchors after the deletion.
523 2007-03-08 David Kilzer <ddkilzer@webkit.org>
525 Reviewed by NOBODY (build fix).
527 Added missing file for r20059:
528 <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.
530 File was taken from this svn repository which contained versions of ucnv.h and ucnv_err.h
531 that were identical to ours:
532 http://source.icu-project.org/repos/icu/icu/tags/release-3-2/source/common/unicode/ucnv_cb.h
534 * icu/unicode/ucnv_cb.h: Added.
536 2007-03-08 Shrikant Gangoda <shrikant.gangoda@celunite.com>
540 * platform/graphics/cairo/ImageSourceCairo.cpp:
541 (WebCore::ImageSource::~ImageSource):
542 (WebCore::ImageSource::clear):
544 2007-03-08 Oliver Hunt <oliver@apple.com>
548 To match old TEC behaviour when using ICU we need to use
549 a few manual fallback encodings for the GBK/EUC-CN charsets
551 <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.
553 * platform/TextCodecICU.cpp:
554 (WebCore::TextCodecICU::TextCodecICU):
555 (WebCore::TextCodecICU::createICUConverter):
556 (WebCore::gbkEscapes):
557 (WebCore::gbkCallbackEscape):
558 (WebCore::gbkCallbackSubstitute):
559 (WebCore::TextCodecICU::encode):
560 * platform/TextCodecICU.h:
561 (WebCore::TextCodecICU::needsGBKFallbacks):
562 (WebCore::TextCodecICU::setNeedsGBKFallbacks):
564 2007-03-08 Alexey Proskuryakov <ap@webkit.org>
569 (WebCore::XPath::stringValue):
571 2007-03-08 David Hyatt <hyatt@apple.com>
573 This patch dramatically reduces the memory consumed by animated images. For large animated GIFs (defined for
574 now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the
575 animated GIF and just re-decode them on the fly if the animation loops.
577 Whenever a large animated GIF has its animation reset, we will also just throw out everything and start
578 the animation over (in order to get rid of any cached detritus held in the ImageSource).
580 With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB.
584 * platform/graphics/BitmapImage.cpp:
585 (WebCore::BitmapImage::destroyDecodedData):
586 (WebCore::BitmapImage::resetAnimation):
587 (WebCore::BitmapImage::advanceAnimation):
588 * platform/graphics/ImageSource.h:
589 * platform/graphics/cg/ImageSourceCG.cpp:
590 (WebCore::ImageSource::~ImageSource):
591 (WebCore::ImageSource::clear):
593 2007-03-08 Alexey Proskuryakov <ap@webkit.org>
597 http://bugs.webkit.org/show_bug.cgi?id=13006
598 XPath string-value is broken for some node types
600 Test: fast/xpath/string-value.html
603 (WebCore::XPath::stringValue): Fix it :-)
605 2007-03-07 Anders Carlsson <acarlsson@apple.com>
609 <rdar://problem/4981000>
610 http://bugs.webkit.org/show_bug.cgi?id=12634
611 REGRESSION: crash loading web archive (12634)
613 The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while
614 the page was loading. Before we send the event to the plugin we defer loads. The problem was that
615 MainResourceLoader::setDefersLoad would not work with data loads.
617 * loader/DocumentLoader.cpp:
618 (WebCore::DocumentLoader::setRequest):
619 Only set m_committed to false if we also have a valid unreachable URL.
621 * loader/MainResourceLoader.cpp:
622 (WebCore::MainResourceLoader::setDefersLoading):
623 Make sure to stop and start data loads.
625 2007-03-07 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
631 * platform/gdk/EditorClientGdk.cpp:
632 (WebCore::EditorClientGdk::handleKeypress): renamed
633 (WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub
634 * platform/gdk/EditorClientGdk.h:
635 * platform/graphics/cairo/ImageSourceCairo.cpp:
636 (WebCore::ImageSource::destroyFrameAtIndex): add a stub
638 2007-03-07 Alexey Proskuryakov <ap@webkit.org>
642 http://bugs.webkit.org/show_bug.cgi?id=13004
643 Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks
645 Removed XPath::Expression::optimize() and related methods, since they were buggy and almost useless.
646 Merged doEvaluate() into evaluate(), since this was all evaluate() was doing after the above changes.
648 Test: fast/xpath/evaluate-twice.html
650 * xml/XPathExpression.cpp:
651 (WebCore::XPathExpression::evaluate):
652 * xml/XPathExpressionNode.cpp:
653 (WebCore::XPath::Expression::Expression):
654 (WebCore::XPath::Expression::~Expression):
655 * xml/XPathExpressionNode.h:
656 * xml/XPathFunctions.cpp:
657 (WebCore::XPath::FunLast::evaluate):
658 (WebCore::XPath::FunPosition::evaluate):
659 (WebCore::XPath::FunId::evaluate):
660 (WebCore::XPath::FunLocalName::evaluate):
661 (WebCore::XPath::FunNamespaceURI::evaluate):
662 (WebCore::XPath::FunName::evaluate):
663 (WebCore::XPath::FunCount::evaluate):
664 (WebCore::XPath::FunString::evaluate):
665 (WebCore::XPath::FunConcat::evaluate):
666 (WebCore::XPath::FunStartsWith::evaluate):
667 (WebCore::XPath::FunContains::evaluate):
668 (WebCore::XPath::FunSubstringBefore::evaluate):
669 (WebCore::XPath::FunSubstringAfter::evaluate):
670 (WebCore::XPath::FunSubstring::evaluate):
671 (WebCore::XPath::FunStringLength::evaluate):
672 (WebCore::XPath::FunNormalizeSpace::evaluate):
673 (WebCore::XPath::FunTranslate::evaluate):
674 (WebCore::XPath::FunBoolean::evaluate):
675 (WebCore::XPath::FunNot::evaluate):
676 (WebCore::XPath::FunTrue::evaluate):
677 (WebCore::XPath::FunLang::evaluate):
678 (WebCore::XPath::FunFalse::evaluate):
679 (WebCore::XPath::FunNumber::evaluate):
680 (WebCore::XPath::FunSum::evaluate):
681 (WebCore::XPath::FunFloor::evaluate):
682 (WebCore::XPath::FunCeiling::evaluate):
683 (WebCore::XPath::FunRound::evaluate):
685 (WebCore::XPath::Filter::evaluate):
686 (WebCore::XPath::LocationPath::evaluate):
687 (WebCore::XPath::Path::evaluate):
689 * xml/XPathPredicate.cpp:
690 (WebCore::XPath::Number::evaluate):
691 (WebCore::XPath::StringExpression::evaluate):
692 (WebCore::XPath::Negative::evaluate):
693 (WebCore::XPath::NumericOp::evaluate):
694 (WebCore::XPath::EqTestOp::evaluate):
695 (WebCore::XPath::LogicalOp::evaluate):
696 (WebCore::XPath::Union::evaluate):
697 * xml/XPathPredicate.h:
700 * xml/XPathVariableReference.cpp:
701 (WebCore::XPath::VariableReference::evaluate):
702 * xml/XPathVariableReference.h:
704 2007-03-07 Sam Weinig <sam@webkit.org>
708 Remove unused #import from Objective-C bindings and cleanup the order of #imports.
710 * bindings/scripts/CodeGeneratorObjC.pm:
712 2007-03-07 Sam Weinig <sam@webkit.org>
716 Make sure the baseURI attribute generates for private Objective-C bindings.
720 2007-03-07 Anders Carlsson <acarlsson@apple.com>
724 <rdar://problem/4874059>
725 REGRESSION: Painter IX:register - Crash in WebCore:: ResourceLoader::willSendRequest()
727 If a load is done from inside of an error delegate method that is called because we cancel another load,
728 the first load should be ignored since this is what shipping WebKit does.
730 (Actually, it does load the page in the data source but doesn't do anything with it since the data source
731 won't have a web frame).
733 * loader/FrameLoader.cpp:
734 (WebCore::FrameLoader::load):
735 Just bail out if m_isStoppingLoad is true.
737 2007-03-07 David Hyatt <hyatt@apple.com>
739 Use CGImageRelease instead of CFRelease.
743 * platform/graphics/cg/ImageCG.cpp:
744 (WebCore::FrameData::clear):
745 * platform/graphics/cg/ImageSourceCG.cpp:
746 (WebCore::ImageSource::destroyFrameAtIndex):
748 2007-03-07 David Hyatt <hyatt@apple.com>
750 Fix a regression where the cache size overflows because of a double
751 subtraction per resource when they got removed from the cache. Add an
752 assert to adjustSize to detect this case in the future.
754 Fix ImageSourceCG so that when we flush decoded data from our cache that
755 we also flush it from the ImageSource.
760 (WebCore::Cache::adjustSize):
761 * platform/graphics/BitmapImage.cpp:
762 (WebCore::BitmapImage::~BitmapImage):
763 (WebCore::BitmapImage::destroyDecodedData):
764 * platform/graphics/Image.h:
765 * platform/graphics/ImageSource.h:
766 * platform/graphics/cg/ImageSourceCG.cpp:
767 (WebCore::ImageSource::setData):
768 (WebCore::ImageSource::destroyFrameAtIndex):
770 2007-03-07 Mitz Pettel <mitz@webkit.org>
774 - fix http://bugs.webkit.org/show_bug.cgi?id=13002
775 Incomplete repaint of inset outlines
777 Test: fast/repaint/outline-inset.html
779 * rendering/RenderObject.cpp:
780 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
782 2007-03-07 Oliver Hunt <oliver@apple.com>
786 Reset mouse down/drag state variables on mouse button release
788 Fixes <rdar://problem/5044654>: Drag out of some QuickTime plug-ins converting into image drag
790 * page/EventHandler.cpp:
791 (WebCore::EventHandler::handleMouseReleaseEvent):
793 2007-03-07 Adele Peterson <adele@apple.com>
797 WebCore part of fix for:
798 http://bugs.webkit.org/show_bug.cgi?id=10871
799 http://bugs.webkit.org/show_bug.cgi?id=12677
800 <rdar://problem/4823129> REGRESSION: IME key events different in nightly
801 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
803 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Call handleInputMethodKeypress before actually dispatching the keypress event
804 so that input methods have a chance to handle the event.
805 If the input method handles the event (by marking or unmarking text), then we don't need to send the keypress event.
806 If an input method doesn't handle the event, then we'll save the data we need to perform the correct action (like what text to insert or what selector to use)
807 when we dispatch the keypress event.
809 * dom/KeyboardEvent.h: Added Mac-specific KeypressCommand struct, so we can store command info during handleInputMethodKeypress, and use it during handleKeypress.
810 (WebCore::KeyboardEvent::keypressCommand):
811 (WebCore::KeyboardEvent::setKeypressCommand):
813 * bridge/EditorClient.h:
814 * editing/Editor.cpp:
815 (WebCore::Editor::handleKeypress): Changed handleKeyPress to handleKeypress.
816 (WebCore::Editor::handleInputMethodKeypress): Added.
819 * platform/graphics/svg/SVGImageEmptyClients.h:
820 (WebCore::SVGEmptyEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.
821 (WebCore::SVGEmptyEditorClient::handleInputMethodKeypress): Added.
823 2007-03-07 Rob Buis <buis@kde.org>
827 http://bugs.webkit.org/show_bug.cgi?id=12579
828 WebKit fails SVG xml:base test
830 Implement DOM3 properties baseURI and documentURI to fix
831 the testcase in bug 12579.
833 * bindings/js/kjs_dom.cpp:
834 (KJS::DOMNode::getValueProperty):
835 * bindings/js/kjs_domnode.h:
838 (WebCore::Document::documentURI):
839 (WebCore::Document::setDocumentURI):
840 (WebCore::Document::baseURI):
843 * dom/DocumentType.cpp:
844 (WebCore::DocumentType::baseURI):
845 * dom/DocumentType.h:
847 (WebCore::Element::baseURI):
850 (WebCore::Node::baseURI):
852 * ksvg2/misc/SVGImageLoader.cpp:
853 (WebCore::SVGImageLoader::updateFromElement):
854 * ksvg2/svg/SVGImageElement.cpp:
855 (WebCore::SVGImageElement::parseMappedAttribute):
856 (WebCore::SVGImageElement::attach):
858 2007-03-07 Anders Carlsson <acarlsson@apple.com>
862 Remove some methods in FrameLoader that just calls down to the active document loader. Since each
863 resource loader now has a pointer to its document loader, we can just call directly to the
867 * loader/FrameLoader.cpp:
868 * loader/FrameLoader.h:
869 * loader/MainResourceLoader.cpp:
870 (WebCore::MainResourceLoader::willSendRequest):
871 (WebCore::MainResourceLoader::didReceiveResponse):
872 * loader/SubresourceLoader.cpp:
873 (WebCore::SubresourceLoader::SubresourceLoader):
874 (WebCore::SubresourceLoader::didFinishLoading):
875 (WebCore::SubresourceLoader::didFail):
876 (WebCore::SubresourceLoader::didCancel):
877 * loader/mac/NetscapePlugInStreamLoaderMac.mm:
878 (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
879 (WebCore::NetscapePlugInStreamLoader::didFail):
880 (WebCore::NetscapePlugInStreamLoader::didCancel):
882 2007-03-06 Geoffrey Garen <ggaren@apple.com>
884 Reviewed by Maciej Stachowiak.
886 Fixed <rdar://problem/4576242> | http://bugs.webkit.org/show_bug.cgi?id=12586
887 PAC file: malloc deadlock sometimes causes a hang @ www.apple.com/pro/profiles/ (12586)
889 No test because this is very difficult to repro, and the new ASSERTs in
890 JavaScriptCore catch the underlying cause while running normal layout tests.
892 This is a modified version of r14752 on the branch.
894 The fix is to use a bit inside each node, instead of a hash table, to track
895 which node subtrees are in the process of being marked. This avoids a call
896 to malloc inside mark().
898 * bindings/js/kjs_binding.cpp:
900 (KJS::domNodesPerDocument):
901 * bindings/js/kjs_dom.cpp:
902 (KJS::DOMNode::mark):
904 (WebCore::Node::Node):
907 2007-03-06 David Hyatt <hyatt@apple.com>
909 This patch reworks the WebCore memory cache to significantly reduce the amount of memory consumed by
910 images in the cache and to enhance the accuracy of the cache size as an absolute bound for the objects
911 contained within it. WebCore's memory use over time should significantly improve as a result of these
914 Cached resources now have both an encoded size (the original data stream) and a decoded size (an estimate of
915 the amount of memory consumed by an expanded version of that resource, e.g., the decoded frames of an image).
916 Both sizes now count towards the total size of the object and towards the allowed memory cache total.
918 By including both totals the reported size of resources will now be larger, and the cache will therefore become
919 much more aggressive about flushing.
921 Objects are stored in size-adjusted and popularity-aware LRU lists as before, but encoded size is now always
922 used when determining the correct LRU list.
924 The flush algorithm for the memory cache has been rewritten to first destroy decoded data before evicting
925 resources. By being able to compact its resources without evicting them, the memory cache can now hold many more
926 unique resources (encoded) in the same amount of space. Depending on how much of a hit we want to take from
927 re-decoding images, the memory cache could in theory have its size significantly reduced now while still holding
928 more resources than it did at the larger size!
932 * WebCore.xcodeproj/project.pbxproj:
934 (WebCore::Cache::requestResource):
935 (WebCore::Cache::prune):
936 (WebCore::Cache::remove):
937 (WebCore::Cache::lruListFor):
938 (WebCore::Cache::adjustSize):
940 * loader/CachedCSSStyleSheet.cpp:
941 (WebCore::CachedCSSStyleSheet::data):
942 * loader/CachedImage.cpp:
943 (WebCore::CachedImage::CachedImage):
944 (WebCore::CachedImage::allReferencesRemoved):
945 (WebCore::CachedImage::clear):
946 (WebCore::CachedImage::data):
947 (WebCore::CachedImage::destroyDecodedData):
948 (WebCore::CachedImage::decodedSize):
949 (WebCore::CachedImage::decodedSizeChanged):
950 (WebCore::CachedImage::shouldPauseAnimation):
951 * loader/CachedImage.h:
952 * loader/CachedResource.cpp:
953 (WebCore::CachedResource::CachedResource):
954 (WebCore::CachedResource::deref):
955 (WebCore::CachedResource::setEncodedSize):
956 * loader/CachedResource.h:
957 (WebCore::CachedResource::allReferencesRemoved):
958 (WebCore::CachedResource::size):
959 (WebCore::CachedResource::encodedSize):
960 (WebCore::CachedResource::decodedSize):
961 (WebCore::CachedResource::destroyDecodedData):
962 * loader/CachedScript.cpp:
963 (WebCore::CachedScript::data):
964 * loader/CachedXSLStyleSheet.cpp:
965 (WebCore::CachedXSLStyleSheet::data):
966 * platform/graphics/BitmapImage.cpp:
967 (WebCore::BitmapImage::BitmapImage):
968 (WebCore::BitmapImage::~BitmapImage):
969 (WebCore::BitmapImage::destroyDecodedData):
970 (WebCore::BitmapImage::pruneDecodedDataIfNeeded):
971 (WebCore::BitmapImage::cacheFrame):
972 (WebCore::BitmapImage::setNativeData):
973 (WebCore::BitmapImage::shouldAnimate):
974 (WebCore::BitmapImage::advanceAnimation):
975 * platform/graphics/BitmapImage.h:
976 (WebCore::BitmapImage::decodedSize):
977 * platform/graphics/Image.cpp:
978 (WebCore::Image::Image):
979 * platform/graphics/Image.h:
980 (WebCore::Image::destroyDecodedData):
981 (WebCore::Image::decodedSize):
982 (WebCore::Image::imageObserver):
983 * platform/graphics/ImageAnimationObserver.h: Removed.
984 * platform/graphics/ImageObserver.h: Added.
985 (WebCore::ImageObserver::~ImageObserver):
986 * platform/graphics/svg/SVGImage.cpp:
987 (WebCore::SVGImage::SVGImage):
988 * platform/graphics/svg/SVGImage.h:
990 2007-03-06 Alexey Proskuryakov <ap@webkit.org>
992 Reviewed by Sam Weinig.
994 http://bugs.webkit.org/show_bug.cgi?id=12987
995 Fix and import 4XPath test_numeric_expr.html
997 * xml/XPathPredicate.cpp:
998 (WebCore::XPath::Negative::doEvaluate): Convert the argument to number.
999 (WebCore::XPath::NumericOp::doEvaluate): Convert the arguments to numbers. Use a correct operation for mod.
1000 * xml/XPathStep.cpp:
1001 (WebCore::XPath::Step::nodesInAxis): Do not append parent node if there is none.
1002 * xml/XPathValue.cpp:
1003 (WebCore::XPath::Value::toNumber): Do not convert to DeprecatedString just to trim whitespace and to convert to double.
1004 * platform/DeprecatedString.cpp:
1005 (WebCore::DeprecatedStringData::makeAscii): Added a FIXME about unreliable makeAscii() behavior.
1007 2007-03-06 Maciej Stachowiak <mjs@apple.com>
1011 <rdar://problem/4619663> REGRESSION (NativePopup): Popup menu doesn't draw at the correct vertical position (9816)
1013 * platform/mac/PopupMenuMac.mm:
1014 (WebCore::PopupMenu::show): Make a temporary dummy view with the
1015 passed in rect, since AppKit will use the view bounds to determine
1016 what area to exclude when popping up a menu moved to the top of
1019 2007-03-06 Geoffrey Garen <ggaren@apple.com>
1021 Reviewed by Maciej Stachowiak.
1023 Fixed all known crashers exposed by run-webkit-tests --threaded [*]. See
1024 JavaScriptCore ChangeLog for more details.
1026 * bindings/js/kjs_binding.cpp:
1027 (KJS::domNodesPerDocument): Added thread safety ASSERT.
1028 (KJS::ScriptInterpreter::mark): Removed obsolete logic for marking unsafe
1029 objects when collecting on a secondary thread. The Collector takes care
1032 * bindings/js/kjs_binding.h:
1033 (KJS::DOMObject::DOMObject): Used new API for specifying that WebCore
1034 objects should be garbage collected on the main thread only.
1036 * bindings/js/kjs_window.cpp:
1037 (KJS::ScheduledAction::execute): Moved JSLock to cover implementedsCall() call,
1038 which, for some subclasses, ends up allocating garbage collected objects.
1039 (This fix was speculative. I didn't actually see a crash from this.)
1040 (KJS::Window::timerFired): Added JSLock around ScheduleAction destruction,
1041 since it destroys a KJS::List.
1043 * bindings/objc/WebScriptObject.mm:
1044 (-[WebScriptObject setException:]): Added JSLock. (This fix was speculative.
1045 I didn't actually see a crash from this.)
1047 * bridge/mac/WebCoreScriptDebugger.mm:
1048 (-[WebCoreScriptCallFrame evaluateWebScript:]): Added JSLock. (This fix
1049 was speculative. I didn't actually see a crash from this.)
1052 (WebCore::Document::~Document): Added JSLock around modification to
1053 domNodesPerDocument(), which can be accessed concurrently during garbage
1056 (WebCore::Node::setDocument): ditto.
1058 [*] fast/js/toString-stack-overflow.html is an exception. --threaded mode
1059 crashes this test because it causes the garbage collector to run frequently,
1060 and this test crashes if you happen to garbage collect while it's running.
1061 This is a known issue with stack overflow during the mark phase. It's
1062 not related to threading.
1064 2007-03-06 Mark Rowe <mrowe@apple.com>
1066 Reviewed by Sam Weinig.
1068 Fix http://bugs.webkit.org/show_bug.cgi?id=12942
1069 Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS
1071 Test: fast/dom/select-selectedIndex-bug-12942.html.
1073 * html/HTMLSelectElement.cpp:
1074 (WebCore::HTMLSelectElement::recalcListItems): Reset m_lastOnChangeIndex when recalculating list items.
1075 * html/HTMLSelectElement.h:
1077 2007-03-06 Brady Eidson <beidson@apple.com>
1079 Rubberstamped by Kevin Decker
1083 * ChangeLog: Point out revision 20,000
1085 2007-03-06 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
1091 * loader/gdk/FrameLoaderClientGdk.cpp: update userAgent() signature.
1092 (WebCore::FrameLoaderClientGdk::userAgent):
1093 * loader/gdk/FrameLoaderClientGdk.h: ditto.
1095 2007-03-06 Mitz Pettel <mitz@webkit.org>
1099 - fix http://bugs.webkit.org/show_bug.cgi?id=12986
1100 REGRESSION(NativeListBox): Listboxes not updated when resized dynamically
1102 Test: fast/forms/select-change-listbox-size.html
1104 * html/HTMLSelectElement.cpp:
1105 (WebCore::HTMLSelectElement::parseMappedAttribute): Reattach on list box size change.
1107 2007-03-06 Mitz Pettel <mitz@webkit.org>
1109 Reviewed by Dave Hyatt.
1111 - fix http://bugs.webkit.org/show_bug.cgi?id=12885
1112 REGRESSION (r19696): Incomplete background repaint
1114 Tests: fast/repaint/content-into-overflow.html
1115 fast/repaint/overflow-into-content.html
1117 Changed repaintAfterLayoutIfNeeded() to take, in addition to the clipped overflow
1118 rect, the unclipped border box plus outline, and to repaint any areas that
1119 were added or removed from that box, in addition to any areas added or removed
1120 from the clipped overflow rect.
1122 * platform/graphics/svg/SVGResourceMarker.cpp:
1123 (WebCore::SVGResourceMarker::draw):
1124 * rendering/RenderBlock.cpp:
1125 (WebCore::RenderBlock::layoutBlock):
1126 * rendering/RenderBox.cpp:
1127 (WebCore::RenderBox::absoluteClippedOverflowRect): Renamed getAbsoluteRepaintRect() to
1129 * rendering/RenderBox.h:
1130 * rendering/RenderFlexibleBox.cpp:
1131 (WebCore::RenderFlexibleBox::layoutBlock):
1132 * rendering/RenderFlow.cpp:
1133 (WebCore::RenderFlow::absoluteClippedOverflowRect):
1134 * rendering/RenderFlow.h:
1135 * rendering/RenderForeignObject.cpp:
1136 (WebCore::RenderForeignObject::layout):
1137 * rendering/RenderHTMLCanvas.cpp:
1138 (WebCore::RenderHTMLCanvas::layout):
1139 * rendering/RenderImage.cpp:
1140 (WebCore::RenderImage::layout):
1141 * rendering/RenderLayer.cpp:
1142 (WebCore::RenderLayer::RenderLayer):
1143 (WebCore::RenderLayer::checkForRepaintOnResize):
1144 (WebCore::RenderLayer::updateLayerPositions):
1145 * rendering/RenderLayer.h:
1146 * rendering/RenderObject.cpp:
1147 (WebCore::RenderObject::repaint):
1148 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1149 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
1150 (WebCore::RenderObject::absoluteClippedOverflowRect):
1151 (WebCore::RenderObject::absoluteOutlineBox):
1152 * rendering/RenderObject.h:
1153 * rendering/RenderPath.cpp:
1154 (WebCore::RenderPath::layout):
1155 (WebCore::RenderPath::absoluteClippedOverflowRect):
1156 (WebCore::RenderPath::absoluteRects):
1157 (WebCore::RenderPath::drawMarkersIfNeeded):
1158 * rendering/RenderPath.h:
1159 * rendering/RenderSVGContainer.cpp:
1160 (WebCore::RenderSVGContainer::layout):
1161 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1162 (WebCore::RenderSVGContainer::absoluteRects):
1163 * rendering/RenderSVGContainer.h:
1164 * rendering/RenderSVGHiddenContainer.cpp:
1165 (WebCore::RenderSVGHiddenContainer::absoluteClippedOverflowRect):
1166 * rendering/RenderSVGHiddenContainer.h:
1167 * rendering/RenderSVGImage.cpp:
1168 (WebCore::RenderSVGImage::imageChanged):
1169 (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
1170 (WebCore::RenderSVGImage::absoluteRects):
1171 * rendering/RenderSVGImage.h:
1172 * rendering/RenderSVGText.cpp:
1173 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1174 (WebCore::RenderSVGText::layout):
1175 (WebCore::RenderSVGText::absoluteRects):
1176 * rendering/RenderSVGText.h:
1177 * rendering/RenderTable.cpp:
1178 (WebCore::RenderTable::layout):
1179 * rendering/RenderTableCell.cpp:
1180 (WebCore::RenderTableCell::absoluteClippedOverflowRect):
1181 * rendering/RenderTableCell.h:
1182 * rendering/RenderTableCol.cpp:
1183 (WebCore::RenderTableCol::absoluteClippedOverflowRect):
1184 * rendering/RenderTableCol.h:
1185 * rendering/RenderTableRow.cpp:
1186 (WebCore::RenderTableRow::absoluteClippedOverflowRect):
1187 * rendering/RenderTableRow.h:
1188 * rendering/RenderText.cpp:
1189 (WebCore::RenderText::absoluteClippedOverflowRect):
1190 * rendering/RenderText.h:
1192 2007-03-06 Ian Eng <ian.eng.webkit@gmail.com>
1196 - fixed http://bugs.webkit.org/show_bug.cgi?id=12720
1197 Bug 12720: Re-defining window.location.toString function keeps re-loading forever
1199 * bindings/js/kjs_window.cpp:
1200 Disallow replacing functions in LocationTable, and return early without updating URL.
1202 2007-03-06 Kevin McCullough <kmccullough@apple.com>
1206 <http://bugs.webkit.org/show_bug.cgi?id=12686>
1207 REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT
1208 - Now all class constructors implement implementsHasInstance.
1210 * bindings/scripts/CodeGeneratorJS.pm:
1212 2007-03-07 Nikolas Zimmermann <zimmermann@kde.org>
1214 Reviewed by Rob & Oliver.
1216 Preparations for the new SVG text engine.
1218 Handle baseline-shift / kerning css values correctly.
1219 Recognize missing svg presentation attribute "font-size-adjust".
1220 Add all missing svg<->css property mappings in mapToEntry().
1222 Doesn't affect any layout test (as these properties are not used w/o my text patch).
1223 While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit.
1225 * ksvg2/css/CSSPropertyNames.in:
1226 * ksvg2/css/SVGCSSParser.cpp:
1227 (WebCore::CSSParser::parseSVGValue):
1228 * ksvg2/css/SVGCSSStyleSelector.cpp:
1229 (WebCore::CSSStyleSelector::applySVGProperty):
1230 * ksvg2/css/SVGRenderStyle.cpp:
1231 (WebCore::SVGRenderStyle::SVGRenderStyle):
1232 (WebCore::SVGRenderStyle::operator==):
1233 (WebCore::SVGRenderStyle::inheritedNotEqual):
1234 (WebCore::SVGRenderStyle::inheritFrom):
1235 * ksvg2/css/SVGRenderStyle.h:
1236 (WebCore::SVGRenderStyle::NonInheritedFlags::):
1237 (WebCore::SVGRenderStyle::setBitDefaults):
1238 * ksvg2/css/SVGRenderStyleDefs.cpp:
1239 (StyleTextData::StyleTextData):
1240 (StyleTextData::operator==):
1241 (StyleMiscData::StyleMiscData):
1242 (StyleMiscData::operator==):
1243 * ksvg2/css/SVGRenderStyleDefs.h:
1245 (WebCore::StyleTextData::operator!=):
1246 * ksvg2/svg/SVGStyledElement.cpp:
1247 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
1249 2007-03-06 Justin Garcia <justin.garcia@apple.com>
1253 <http://bugs.webkit.org/show_bug.cgi?id=12245>
1254 FCKeditor: Remove Format sometimes doesn't work
1255 <rdar://problem/4786404>
1256 Underline style is not removed from selection after performing Remove Format
1258 * editing/Editor.cpp:
1259 (WebCore::Editor::removeFormattingAndStyle): Re-wrote this.
1261 2007-03-07 Nikolas Zimmermann <zimmermann@kde.org>
1265 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12979
1266 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12981
1268 Guard against registering pending resources with empty id.
1269 Be careful with calling recalcStyle() in SVGUseElement, when change is "Detach" we
1270 have to use special code, as calling attach() on the shadow tree root element will crash,
1271 because it has no (direct) parent node, only a shadow parent node element.
1273 * ksvg2/misc/SVGDocumentExtensions.cpp:
1274 (WebCore::SVGDocumentExtensions::addPendingResource):
1275 * ksvg2/svg/SVGUseElement.cpp:
1276 (WebCore::SVGUseElement::recalcStyle):
1278 2007-03-06 Kevin Decker <kdecker@apple.com>
1282 Fixed: <rdar://problem/5041660> REGRESSION: <keygen> element broken, prevents users from signing up for Thawte email certs
1284 * bindings/objc/DOM.mm:
1285 (WebCore::createElementClassMap): Added <keygen> to the DOM bindings so it can be accessed from Objective-C.
1286 * css/html4.css: Apply the look of the <select> element to <keygen>.
1287 * html/HTMLElementFactory.cpp:
1288 (WebCore::keygenConstructor): Added.
1289 (WebCore::createFunctionMap): Added keygen.
1290 * html/HTMLSelectElement.cpp: Made const typeAheadTimeout variable static const.
1291 (WebCore::HTMLSelectElement::HTMLSelectElement): Fix both HTMLSelectElement constructors to initialize the
1292 same number of member variables. The fact that some fields were not initialized could (and would) crash the
1293 keygen element when selecting different items. Also removed m_typedString(String()) from the constructor
1294 initialization because this is not needed.
1296 2007-03-06 Kevin McCullough <kmccullough@apple.com>
1300 - Rename a function to clarify its purpose.
1303 * loader/FrameLoader.cpp:
1304 (WebCore::FrameLoader::registerURLSchemeAsLocal):
1305 * loader/FrameLoader.h:
1307 2007-03-06 Adam Roben <aroben@apple.com>
1311 * WebCore.exp: Updated symbols.
1313 2007-03-06 Adam Roben <aroben@apple.com>
1317 Added a parameter to all StringTruncator methods to specify whether
1318 rounding hacks should be on or off.
1320 No layout test possible.
1322 * platform/StringTruncator.cpp:
1323 (WebCore::stringWidth): Added disableRoundingHacks parameter.
1324 (WebCore::truncateString): Ditto.
1325 (WebCore::StringTruncator::centerTruncate): Ditto.
1326 (WebCore::StringTruncator::rightTruncate): Ditto.
1327 (WebCore::StringTruncator::width): Ditto.
1328 * platform/StringTruncator.h: Ditto.
1329 * platform/mac/FileChooserMac.mm:
1330 (WebCore::FileChooser::basenameForWidth): Pass in false to
1331 centerTruncate so that the truncation matches the way the text will be
1334 2007-03-06 Anders Carlsson <acarlsson@apple.com>
1338 <rdar://problem/5035045>
1339 REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html
1341 It turns out WinIE does allow you to access images by their id as special document properties. However, this is only
1342 allowed when the element also has a name attribute. The value of the name attribute is ignored and can even be empty!
1344 * bindings/js/kjs_html.cpp:
1345 (KJS::JSHTMLDocument::namedItemGetter):
1346 Return jsUndefined() if the collection is empty.
1348 * html/HTMLImageElement.cpp:
1349 (WebCore::HTMLImageElement::parseMappedAttribute):
1350 (WebCore::HTMLImageElement::insertedIntoDocument):
1351 (WebCore::HTMLImageElement::removedFromDocument):
1352 * html/HTMLImageElement.h:
1353 Add the id attribute value to the extra named item map.
1355 * html/HTMLNameCollection.cpp:
1356 (WebCore::HTMLNameCollection::traverseNextItem):
1357 Check for images with name attributes that match, as well as elements with id attributes that match where
1358 the element also has a name attribute.
1360 2007-03-06 Anders Carlsson <acarlsson@apple.com>
1364 WebCore part of patch to make it possible to have different user agents for different URLs.
1366 * bindings/js/kjs_navigator.cpp:
1367 (KJS::Navigator::getValueProperty):
1368 * bindings/js/kjs_proxy.cpp:
1369 (WebCore::KJSProxy::initScriptIfNeeded):
1370 * loader/DocumentLoader.cpp:
1371 (WebCore::DocumentLoader::setLoading):
1372 * loader/FrameLoader.cpp:
1373 (WebCore::FrameLoader::userAgent):
1374 (WebCore::FrameLoader::loadResourceSynchronously):
1375 (WebCore::FrameLoader::applyUserAgent):
1376 * loader/FrameLoader.h:
1377 * loader/FrameLoaderClient.h:
1378 * platform/graphics/svg/SVGImageEmptyClients.h:
1379 (WebCore::SVGEmptyFrameLoaderClient::userAgent):
1381 2007-03-05 Kevin McCullough <kmccullough@apple.com>
1383 Reviewed by Mark and Dave H.
1385 - rdar://problem/5038491
1386 An oversight of the security fix that prevented remote from loading local is that it
1387 prevents user style sheets when the site is remote. This fixes that.
1389 * loader/Cache.cpp: Propogate and check user style sheet flag.
1390 (WebCore::createResource):
1391 (WebCore::Cache::requestResource):
1392 * loader/Cache.h: Propogate user style sheet flag.
1393 * loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag.
1394 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
1395 * loader/CachedCSSStyleSheet.h: Propogate user style sheet flag.
1396 * loader/DocLoader.cpp: Propogate user style sheet flag.
1397 (WebCore::DocLoader::requestResource):
1398 * loader/SubresourceLoader.cpp: Propogate and check user style sheet flag.
1399 (WebCore::SubresourceLoader::create):
1400 * loader/SubresourceLoader.h: Add check for user style sheet flag.
1401 * loader/loader.cpp: Propogate user style sheet flag.
1402 (WebCore::Loader::load):
1403 (WebCore::Loader::servePendingRequests):
1404 * loader/loader.h: Propogate user style sheet flag.
1406 2007-03-06 Nikolas Zimmermann <zimmermann@kde.org>
1410 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12936 (Master bug used to track all current use problems.)
1412 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12926 (transform attribute not respected in nested <use> elements)
1413 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12267 (getElementById broken for <use>)
1414 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12916 (use instance in symbol definition does not work)
1415 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12917 (mouseout event does not occur after scaling use instance)
1416 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> DOM broken for script)
1418 Added test: svg/custom/use-nested-transform.svg
1419 Added test: svg/custom/struct-use-09-b.svg (not yet official W3C-SVG-1.1 testcase)
1420 Fixes test: svg/custom/use-elementInstance-event-target.svg (rectangle now turns green on first click)
1422 Fix all (except one) known <use> bug. The remaining bug (12630) is not crucical at all.
1423 Enable <use> again as default SVG feature, as discussed on webkit-dev.
1425 dom/Element.cpp needed following tweak: set hasParentStyle to true, if there is no parentNode
1426 available - which happens for <use> nodes, as it's a shadow node. This fixes recalcStyle behaviour.
1427 Override recalcStyle() in SVGUseElement, and properly forward the call to the shadow tree root element.
1428 The shadow tree now receives proper style updates (without having to recreate the whole tree!).
1430 Override attributeChanged() in SVGUseElement and only call notifyAttributeChange if one of x/y/width/height/xlink:href
1431 attribute changed - otherwhise we'll end up recreating the tree for every transform/style/(non-existing-attribute) change.
1433 Do not override transform in nested use situations, but correctly append (right-sided) the translation of the <use> element.
1434 Some cosmetic fixes: don't add transform="translate(0 0)" attributes if both x/y values are null in the shadow tree.
1436 Factor out logic for replacing symbol/svg tags in the shadow tree, and also invoke it during expandUseElementsInShadowTree -
1437 otherwhise <symbol><use xlink:href="#someOtherSymbol"></symbol> the <use> gets expanded to a <symbol>. Though no one expands
1438 the <symbol> element - and we're end up in hitting an assertion. Avoid that.
1440 * bindings/js/JSSVGElementWrapperFactory.cpp:
1441 * bindings/js/kjs_dom.cpp:
1443 * bindings/objc/DOM.mm:
1444 (WebCore::createElementClassMap):
1446 (WebCore::Element::recalcStyle):
1447 * ksvg2/svg/SVGElement.cpp:
1448 (WebCore::shadowTreeParentElementForShadowTreeElement):
1449 (WebCore::SVGElement::dispatchEvent):
1450 * ksvg2/svg/SVGElementInstance.cpp:
1451 * ksvg2/svg/SVGElementInstance.h:
1452 * ksvg2/svg/SVGElementInstance.idl:
1453 * ksvg2/svg/SVGElementInstanceList.cpp:
1454 * ksvg2/svg/SVGElementInstanceList.h:
1455 * ksvg2/svg/SVGElementInstanceList.idl:
1456 * ksvg2/svg/SVGStyledElement.cpp:
1457 (WebCore::SVGStyledElement::notifyAttributeChange):
1458 (WebCore::SVGStyledElement::updateElementInstance):
1459 * ksvg2/svg/SVGStyledElement.h:
1460 * ksvg2/svg/SVGUseElement.cpp:
1461 (WebCore::SVGUseElement::attributeChanged):
1462 (WebCore::SVGUseElement::notifyAttributeChange):
1463 (WebCore::SVGUseElement::recalcStyle):
1464 (WebCore::SVGUseElement::buildPendingResource):
1465 (WebCore::SVGUseElement::buildShadowTreeForSymbolTag):
1466 (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1467 (WebCore::SVGUseElement::buildShadowTree):
1468 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1469 (WebCore::SVGUseElement::attachShadowTree):
1470 * ksvg2/svg/SVGUseElement.h:
1471 * ksvg2/svg/SVGUseElement.idl:
1472 * ksvg2/svg/svgtags.in:
1474 2007-03-05 Brady Eidson <beidson@apple.com>
1478 Fixes <rdar://problem/4974258>
1479 Adds some key null checking
1481 * bindings/js/kjs_html.cpp:
1482 (KJS::JSHTMLElement::implementsCall): Null check doc/frame
1483 * bindings/objc/DOMInternal.mm:
1484 (-[WebScriptObject _initializeScriptDOMNodeImp]): Null check doc/frame
1486 2007-03-06 Nikolas Zimmermann <zimmermann@kde.org>
1490 Path::normalAngleAtLength() / Path::pointAtLength() don't work correctly.
1491 pointAtLength() was not implemented, basically and normalAngleAtLength()
1492 had a bug in the tangent slope calculation.
1494 The normalAngleAtLength() stuff can only be tested with my local textPath support.
1495 New LayoutTest: svg/custom/path-textPath-simulation.svg
1497 * platform/graphics/Path.cpp:
1498 (WebCore::pathLengthApplierFunction):
1499 * platform/graphics/PathTraversalState.cpp:
1500 (WebCore::PathTraversalState::quadraticBezierTo):
1501 (WebCore::PathTraversalState::cubicBezierTo):
1502 * platform/graphics/PathTraversalState.h:
1503 (WebCore::PathTraversalState::):
1505 2007-03-05 Alexey Proskuryakov <ap@webkit.org>
1509 http://bugs.webkit.org/show_bug.cgi?id=12970
1510 Fix and import 4XPath test_core_functions.html test
1512 * xml/XPathExpression.cpp:
1513 (WebCore::XPathExpression::evaluate): Fully initialize the evaluation context.
1515 * xml/XPathFunctions.cpp:
1516 (WebCore::XPath::FunSubstring::doEvaluate): Fixed handling of edge cases.
1517 (WebCore::XPath::FunRound::round): Reimplemented to match the spec; exposed FunRound::round() to be used in
1520 2007-03-05 Alexey Proskuryakov <ap@webkit.org>
1524 http://bugs.webkit.org/show_bug.cgi?id=12954
1525 XPath relative operations are implemented incorrectly
1527 * xml/XPathPredicate.cpp:
1528 (WebCore::XPath::NumericOp::doEvaluate):
1529 (WebCore::XPath::EqTestOp::compare):
1530 (WebCore::XPath::EqTestOp::doEvaluate):
1531 Reimplemented relative equality operations to match the spec.
1533 * xml/XPathPredicate.h:
1534 (WebCore::XPath::NumericOp::):
1535 (WebCore::XPath::EqTestOp::):
1536 Moved relative operations to EqTestOp.
1538 * xml/XPathGrammar.y:
1539 * xml/XPathParser.cpp:
1540 (WebCore::XPath::Parser::nextTokenInternal):
1541 (WebCore::XPath::Parser::lex):
1542 Adapted for the above changes.
1544 2007-03-05 Mark Rowe <mrowe@apple.com>
1548 Fix http://bugs.webkit.org/show_bug.cgi?id=12947
1549 Bug 12947: REGRESSION: ASSERTION FAILED: maxWidth >= 0 in StringTruncator.cpp:109 in WebCore::truncateString()
1551 Handle nil window correctly in toUserSpace and toDeviceSpace. On Intel Macs a message to nil that returns a
1552 float will return 0.0. We use this as the divisor in calculating a scale factor, which results in NaN being
1553 introduced into our rect.
1555 * platform/mac/ScreenMac.mm:
1556 (WebCore::toUserSpace):
1557 (WebCore::toDeviceSpace):
1559 2007-03-05 Rob Buis <buis@kde.org>
1563 http://bugs.webkit.org/show_bug.cgi?id=12868
1564 parts of the CSS classes in this simple SVG example are not applied
1566 Make sure the xml stylesheets are parsed in strict mode.
1568 * dom/ProcessingInstruction.cpp:
1569 (WebCore::ProcessingInstruction::parseStyleSheet):
1571 2007-03-04 Adele Peterson <adele@apple.com>
1575 Change to dispatch the keypress event during the defaultEventHandler for keydown events. This matches IE behavior.
1576 This is preparation for fixing event dispatch with input methods (http://bugs.webkit.org/show_bug.cgi?id=10871)
1578 Test: fast/events/keydown-keypress-preventDefault.html
1580 * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Call the defaultKeyboardEventHandler for keydown events.
1581 * page/EventHandler.cpp:
1582 (WebCore::eventTargetNodeForDocument): Return 0 instead of false since the return type in EventTargetNode.
1583 (WebCore::EventHandler::keyEvent): Removed dispatch of keypress event, since this is now done in the default event handler.
1584 (WebCore::EventHandler::defaultKeyboardEventHandler): For keydown events, create and dispatch a keypress event.
1586 2007-03-04 Alexey Proskuryakov <ap@webkit.org>
1588 Reviewed by Nikolas Zimmermann (yay!).
1590 http://bugs.webkit.org/show_bug.cgi?id=12962
1591 4XPath tests crash on lang() function
1593 Covered by 4XPath tests, to be landed later.
1595 * platform/StringImpl.cpp:
1596 (WebCore::StringImpl::reverseFind): Do not crash with empty strings.
1597 * xml/XPathFunctions.cpp:
1598 (WebCore::XPath::FunLang::doEvaluate): Do not crash when an element has no
1599 attributes. Use a proper namespace for xml:lang (not sure where "xms" came from).
1600 Rewrote the algorithm for suffix removing to match the spec.
1602 2007-03-02 Anders Carlsson <acarlsson@apple.com>
1606 <rdar://problem/5028165>
1607 http://bugs.webkit.org/show_bug.cgi?id=12915
1608 REGRESSION: XMLHttpRequest.abort() does not stop loading (12915)
1610 * loader/DocumentLoader.cpp:
1611 (WebCore::DocumentLoader::stopLoading):
1612 Save the value of m_loading since calling FrameLoader::stopLoading could set it to false.
1614 * loader/SubresourceLoader.cpp:
1615 (WebCore::SubresourceLoader::didCancel):
1616 * loader/SubresourceLoader.h:
1617 Get rid of didCancel now, it's not needed anymore.
1619 * xml/xmlhttprequest.cpp:
1620 (WebCore::XMLHttpRequest::abort):
1621 Call cancel() instead of stopLoading(). Also, set m_aborted to true so the XMLHttpRequest object
1622 won't be dereferenced in didFail when aborting.
1624 2007-03-04 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
1626 Reviewed by Nikolas Zimmermann.
1628 Move ScrollView stubs to ScrollViewGdk.cpp
1630 * platform/gdk/FrameGdk.h: remove comment that no longer makes sense
1631 * platform/gdk/ScrollViewGdk.cpp:
1632 (WebCore::ScrollView::addChild):
1633 (WebCore::ScrollView::removeChild):
1634 (WebCore::ScrollView::scrollPointRecursively):
1635 (WebCore::ScrollView::inWindow):
1636 (WebCore::ScrollView::wheelEvent):
1637 (WebCore::ScrollView::updateScrollbars):
1638 (WebCore::ScrollView::updateScrollInfo):
1639 (WebCore::ScrollView::windowToContents):
1640 (WebCore::ScrollView::contentsToWindow):
1641 (WebCore::ScrollView::scrollbarUnderMouse):
1642 * platform/gdk/TemporaryLinkStubs.cpp:
1644 2007-03-02 Kevin McCullough <kmccullough@apple.com>
1648 - rdar://problem/4922454
1649 - This fixes a security issue by making remote referrers not able to access local
1650 resources, unless they register their schemes to be treated as local. The result is
1651 that those schemes can access local resources and cannot be accessed by remote
1653 Because this behavior is new a link-on-or-after check is made to determine if the
1654 app should use the older, less safe, behavior.
1656 * WebCore.exp: added exported functions
1657 * bindings/objc/DOM.mm: consolodated function to base class
1658 (-[DOMElement image]):
1659 (-[DOMElement _imageTIFFRepresentation]):
1660 * dom/Document.cpp: Cache the document's ability to load local resources.
1661 (WebCore::Document::Document):
1662 (WebCore::Document::setURL):
1663 (WebCore::Document::shouldBeAllowedToLoadLocalResources):
1664 (WebCore::Document::stylesheetLoaded):
1665 * dom/Document.h: Cache the docuent's ability to load local resources.
1666 (WebCore::Document::getPendingSheet):
1667 (WebCore::Document::isAllowedToLoadLocalResources):
1668 * html/HTMLImageLoader.cpp: Moved functionality into base class.
1669 (WebCore::HTMLImageLoader::updateFromElement):
1670 (WebCore::HTMLImageLoader::dispatchLoadEvent):
1671 * html/HTMLLinkElement.cpp: Handles null returns correctly now.
1672 * html/HTMLTokenizer.cpp: Moved functionality into base class.
1673 (WebCore::HTMLTokenizer::notifyFinished):
1674 * ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class.
1675 (WebCore::SVGImageLoader::dispatchLoadEvent):
1676 * loader/Cache.cpp: Checks if the cached resource can be loaded.
1677 (WebCore::Cache::requestResource):
1678 * loader/CachedCSSStyleSheet.cpp: Moved functionality into base class.
1679 (WebCore::CachedCSSStyleSheet::ref):
1680 (WebCore::CachedCSSStyleSheet::error):
1681 * loader/CachedImage.cpp: Moved functionality into base class.
1682 (WebCore::CachedImage::CachedImage):
1683 * loader/CachedImage.h: Moved functionality into base class.
1684 (WebCore::CachedImage::canRender):
1685 * loader/CachedResource.cpp: Cache if the CachedResource should be treated as local
1686 (WebCore::CachedResource::CachedResource):
1687 * loader/CachedResource.h: Moved functionality into base class.
1688 (WebCore::CachedResource::errorOccurred):
1689 (WebCore::CachedResource::shouldTreatAsLocal):
1690 * loader/CachedScript.cpp: Moved functionality into base class.
1691 (WebCore::CachedScript::CachedScript):
1692 * loader/CachedScript.h: Moved functionality into base class.
1693 (WebCore::CachedScript::schedule):
1694 * loader/CachedXBLDocument.cpp: Moved functionality into base class.
1695 (WebCore::CachedXBLDocument::error):
1696 * loader/CachedXSLStyleSheet.cpp: Moved functionality into base class.
1697 (WebCore::CachedXSLStyleSheet::error):
1698 * loader/FrameLoader.cpp: See comments for each function below.
1699 (WebCore::FrameLoader::loadSubframe): Use new canLoad.
1700 (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check.
1701 (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check.
1702 (WebCore::localSchemes): Return set of schemes that are to be treated as local.
1703 (WebCore::FrameLoader::loadPlugin): Use new canLoad.
1704 (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously.
1705 (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed.
1706 (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info.
1707 (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local.
1708 (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local.
1709 * loader/FrameLoader.h: Declared functions for this security fix. See above.
1710 * loader/MainResourceLoader.cpp: Optized order of bools to regain performance.
1711 (WebCore::MainResourceLoader::continueAfterContentPolicy):
1712 * loader/SubresourceLoader.cpp: Now restricts remote from loading local resources.
1713 (WebCore::SubresourceLoader::create):
1714 * page/EventHandler.cpp: Moved functionality into base class.
1715 (WebCore::selectCursor):
1716 * platform/KURL.cpp: KURLs need to check all the registered schemes now.
1717 (WebCore::KURL::isLocalFile):
1718 * rendering/HitTestResult.cpp: Moved functionality into base class.
1719 (WebCore::HitTestResult::image):
1720 * rendering/RenderImage.cpp: Moved functionality into base class.
1721 (WebCore::RenderImage::setCachedImage):
1722 (WebCore::RenderImage::imageChanged):
1723 (WebCore::RenderImage::paint):
1724 (WebCore::RenderImage::layout):
1725 (WebCore::RenderImage::calcAspectRatioWidth):
1726 (WebCore::RenderImage::calcAspectRatioHeight):
1727 * rendering/RenderImage.h: Moved functionality into base class.
1728 (WebCore::RenderImage::errorOccurred):
1729 * rendering/RenderListItem.cpp: Moved functionality into base class.
1730 (WebCore::RenderListItem::setStyle):
1731 * rendering/RenderListMarker.cpp: Moved functionality into base class.
1732 (WebCore::RenderListMarker::isImage):
1733 * xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently.
1734 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1736 2007-03-02 Justin Garcia <justin.garcia@apple.com>
1740 <rdar://problem/5028447>
1741 REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size
1743 * editing/markup.cpp:
1744 (WebCore::createMarkup): The style of the div that holds
1745 a fully selected body's styles didn't include styles inherited
1746 from the body's ancestors.
1748 2007-03-02 Justin Garcia <justin.garcia@apple.com>
1750 Reviewed by harrison
1752 <rdar://problem/4545040>
1753 innerHTML does not HTML-escape text nodes inside PRE elements
1754 <rdar://problem/5027857>
1755 Pasting into Mail from Safari's view-source window renders the HTML
1757 * editing/HTMLInterchange.cpp:
1758 (WebCore::convertHTMLTextToInterchangeFormat): Send this function
1759 the node that the text comes from as a parameter. It shouldn't convert
1760 '\n's to spaces/nbsps if the text is coming from text where newlines are
1762 * editing/HTMLInterchange.h:
1763 * editing/markup.cpp:
1764 (WebCore::startMarkup): Escape text inside the children of PREs.
1766 2007-03-02 Sam Weinig <sam@webkit.org>
1770 Try to fix the Qt build.
1772 * platform/qt/TemporaryLinkStubs.cpp: Add stubs.
1773 (WebCore::searchMenuNoRecentSearchesText):
1774 (WebCore::searchMenuRecentSearchesText):
1775 (WebCore::searchMenuClearRecentSearchesText):
1776 (WebCore::AXWebAreaText):
1777 (WebCore::AXLinkText):
1778 (WebCore::AXListMarkerText):
1779 (WebCore::AXImageMapText):
1780 (WebCore::AXHeadingText):
1782 2007-03-02 David Harrison <harrison@apple.com>
1786 A more efficient solution to rdar://4961431.
1788 * bridge/mac/WebCoreAXObject.mm:
1789 (-[WebCoreAXObject accessibilityIsIgnored]):
1791 2007-03-01 Justin Garcia <justin.garcia@apple.com>
1795 <rdar://problem/5032095>
1796 Gmail Editor: Copied text pastes on a new line instead of current line
1798 Start merge failed to occur because positionAtStartOfInsertedContent
1801 * editing/ReplaceSelectionCommand.cpp:
1802 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
1803 Was failing when inserting <span><div>foo/div></span>. Return the
1804 inserted content's first VisiblePosition.
1806 2007-03-02 Dave Hyatt <hyatt@apple.com>
1808 Fix crasher in glyph map code (buffer overrun).
1812 * platform/win/GlyphPageTreeNodeWin.cpp:
1813 (WebCore::GlyphPage::fill):
1815 2007-03-01 Antti Koivisto <antti@apple.com>
1819 Fix for http://bugs.webkit.org/show_bug.cgi?id=12895
1820 REGRESSION: imagemap: pointer cursor is shown everywhere
1821 <rdar://problem/5028163>
1823 Image with imagemap should never itself be URLElement in hit test results.
1825 No layout test, cursor state can't be captured.
1827 * rendering/RenderLayer.cpp:
1828 (WebCore::RenderLayer::hitTest):
1830 2007-03-01 Antti Koivisto <antti@apple.com>
1834 Fix http://bugs.webkit.org/show_bug.cgi?id=12690
1835 REGRESSION: can not log in to bank of america with TOT webkit
1836 <rdar://problem/4990044>
1838 and http://bugs.webkit.org/show_bug.cgi?id=12604
1839 REGRESSION: After closing the "Would you like to save password" sheet, the form fails
1840 to submit automatically at http://www.mac.com/WebObjects/HomePage.woa
1841 <rdar://problem/4871752>
1843 and http://bugs.webkit.org/show_bug.cgi?id=12020
1844 REGRESSION: Flickr uploading broken
1845 <rdar://problem/4928662>
1847 Turn protection against multiple forms submission back on. This approach is buggy
1848 but it is way better than not having it at all. Not protecting against this
1849 breaks number of major sites.
1851 * bridge/mac/WebCoreAXObject.mm:
1852 (-[WebCoreAXObject accessibilityPerformAction:]):
1853 * loader/FrameLoader.cpp:
1854 (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
1855 (WebCore::FrameLoader::submitForm):
1856 (WebCore::FrameLoader::receivedMainResourceError):
1857 * loader/FrameLoader.h:
1858 * page/EventHandler.cpp:
1859 (WebCore::EventHandler::keyEvent):
1861 (WebCore::Frame::setView):
1862 * page/mac/EventHandlerMac.mm:
1863 (WebCore::EventHandler::mouseDown):
1865 2007-03-01 Kevin McCullough <kmccullough@apple.com>
1869 - Added the test case: external-script-URL-location.html
1870 - Fix an issue where the url of a document is null after an open if the document
1874 (WebCore::Document::open):
1876 2007-03-01 Anders Carlsson <acarlsson@apple.com>
1880 <rdar://problem/4960250>
1881 http://bugs.webkit.org/show_bug.cgi?id=11627
1882 REGRESSION: Reproducible crash at IMDb in WebCore::FrameLoader::stopLoadingSubframes
1884 In rare cases, we could end up calling checkLoadComplete twice for the same frame. This would cause the
1885 didFailProvisionalLoad delegate method to be called twice for the same frame, and also cause the provisional document loader
1886 to be reset to null when other code wasn't expecting it.
1888 This regressed in revision 10904 with the fix for <rdar://problem/4184719>. The fix is to only call stopLoading on the frame
1889 if either the document loader is loading, or the document is still being parsed. I've verified that the bug is still fixed and
1890 that no leaks occur.
1892 * loader/DocumentLoader.cpp:
1893 (WebCore::DocumentLoader::stopLoading):
1895 2007-03-01 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
1899 Fix ARM crash due to accessing non-4-byte-aligned memory
1902 * platform/AtomicString.cpp:
1903 (WebCore::UCharBufferTranslator::equal):
1905 2007-03-01 David Harrison <harrison@apple.com>
1909 <rdar://problem/5033905> Have the DOM secondary thread check raise an exception by default
1911 * platform/mac/ThreadCheck.mm:
1912 (WebCore::_WebCoreThreadViolationCheck):
1913 Initialize threadViolationIsException to true.
1915 2007-03-01 Brady Eidson <beidson@apple.com>
1919 <rdar://problem/5030628> - Crash opening a new window with the
1920 "New windows open to the same page" pref set
1922 * history/HistoryItem.cpp:
1923 (WebCore::HistoryItem::HistoryItem): Set the m_subItems vector capacity correctly
1925 2007-03-01 Alexey Proskuryakov <ap@webkit.org>
1929 http://bugs.webkit.org/show_bug.cgi?id=12801
1930 Assertion failure in createMarkup() (root) when doing Select All, Copy in an SVG document
1932 Test: editing/pasteboard/createMarkup-assert.xml
1934 * editing/markup.cpp:
1935 (WebCore::createMarkup): Removed the assertion, because it's wrong in a non-HTML world.
1937 2007-02-28 Adam Roben <aroben@apple.com>
1939 Reviewed by Oliver and Hyatt.
1941 Fix <rdar://problem/5024233> Crash while using Find on empty document
1943 No layout test possible, as this involves a null document.
1946 (WebCore::rangeOfContents): Added an ASSERT.
1948 (WebCore::Frame::findString): Added a null-check for document().
1949 (WebCore::Frame::markAllMatchesForText): Ditto.
1951 2007-02-28 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
1953 Not reviewed - simple gdk build fix.
1955 Add stubs for newly introduced localized strings.
1957 * platform/gdk/TemporaryLinkStubs.cpp:
1958 (WebCore::searchMenuNoRecentSearchesText):
1959 (WebCore::searchMenuRecentSearchesText):
1960 (WebCore::searchMenuClearRecentSearchesText):
1962 2007-02-28 Brady Eidson <beidson@apple.com>
1966 Move the Thread Safety Check functions into their own header for export to WebKit
1968 * WebCore.exp: Export the function
1969 * WebCore.xcodeproj/project.pbxproj:
1970 * bindings/scripts/CodeGeneratorObjC.pm: Include the new header
1971 * platform/Logging.h: Move stuff to ThreadCheck.h
1972 * platform/ThreadCheck.h: Added.
1973 * platform/mac/LoggingMac.mm: Move stuff to ThreadCheck.mm
1974 * platform/mac/ThreadCheck.mm: Added.
1975 (WebCore::_WebCoreThreadViolationCheck):
1976 (WebCoreReportThreadViolation):
1978 2007-02-28 Beth Dakin <bdakin@apple.com>
1982 Fix for http://bugs.webkit.org/show_bug.cgi?id=12923 REGRESSION:
1983 Assertion failure copying standalone image
1985 * platform/mac/PasteboardMac.mm:
1986 (WebCore::Pasteboard::writeImage): Use the CachedImage as the
1987 resource. This makes more sense anyway. There is no need to null-
1988 check the renderer or the CachedImage since we return early if
1989 there is no Image* and the HitTestResult::image() function checks
1992 2007-02-28 Adele Peterson <adele@apple.com>
1996 Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
1997 and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
1999 Use localized strings from WebKit instead of hard coded strings.
2001 * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject roleDescription]):
2002 * page/mac/WebCoreViewFactory.h:
2003 * platform/LocalizedStrings.h:
2004 * platform/mac/LocalizedStringsMac.mm:
2005 (WebCore::searchMenuNoRecentSearchesText):
2006 (WebCore::searchMenuRecentSearchesText):
2007 (WebCore::searchMenuClearRecentSearchesText):
2008 (WebCore::AXWebAreaText):
2009 (WebCore::AXLinkText):
2010 (WebCore::AXListMarkerText):
2011 (WebCore::AXImageMapText):
2012 (WebCore::AXHeadingText):
2013 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemText):
2015 2007-02-27 Antti Koivisto <antti@apple.com>
2019 - fix http://bugs.webkit.org/show_bug.cgi?id=12911
2020 GoogleDocs: Ordered lists don't update immediately when start attribute changed
2022 Update list marker value when start attribute changes.
2024 * html/HTMLOListElement.cpp:
2025 (WebCore::HTMLOListElement::parseMappedAttribute):
2027 2007-02-28 Nikolas Zimmermann <zimmermann@kde.org>
2031 Corrected the use of the new ENABLE() macros in some ksvg2/svg files.
2032 Add new build-webkit flags "--(no-)xpath" / "--(no-)xslt", to be able
2033 to switch off build features easily. Also add "--(no-)svg-experimental-features"
2034 flag, to be able to test filters/animations/use/foreignObject easily.
2036 * DerivedSources.make:
2037 * ksvg2/scripts/make_names.pl:
2038 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2039 * ksvg2/svg/SVGStyledElement.cpp:
2040 * ksvg2/svg/SVGUseElement.cpp:
2042 2007-02-28 Rob Buis <buis@kde.org>
2046 http://bugs.webkit.org/show_bug.cgi?id=12609
2047 Any SVG element will create renderers even when children of HTML elements
2049 Allow creation of svg renderers only when parent is SVG, except for
2052 * ksvg2/svg/SVGAElement.h:
2053 * ksvg2/svg/SVGAnimationElement.h:
2054 * ksvg2/svg/SVGCircleElement.h:
2055 * ksvg2/svg/SVGClipPathElement.h:
2056 (WebCore::SVGClipPathElement::rendererIsNeeded):
2057 * ksvg2/svg/SVGDefsElement.cpp:
2058 * ksvg2/svg/SVGDefsElement.h:
2059 * ksvg2/svg/SVGDescElement.h:
2060 (WebCore::SVGDescElement::rendererIsNeeded):
2061 * ksvg2/svg/SVGElement.cpp:
2062 * ksvg2/svg/SVGEllipseElement.h:
2063 * ksvg2/svg/SVGFilterElement.h:
2064 (WebCore::SVGFilterElement::rendererIsNeeded):
2065 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2066 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2067 * ksvg2/svg/SVGForeignObjectElement.h:
2068 * ksvg2/svg/SVGGElement.h:
2069 * ksvg2/svg/SVGGradientElement.h:
2070 * ksvg2/svg/SVGImageElement.h:
2071 * ksvg2/svg/SVGLineElement.h:
2072 * ksvg2/svg/SVGMarkerElement.h:
2073 * ksvg2/svg/SVGMaskElement.h:
2074 * ksvg2/svg/SVGPathElement.h:
2075 * ksvg2/svg/SVGPatternElement.h:
2076 * ksvg2/svg/SVGPolyElement.h:
2077 * ksvg2/svg/SVGRectElement.h:
2078 * ksvg2/svg/SVGStopElement.h:
2079 * ksvg2/svg/SVGStyledElement.cpp:
2080 (WebCore::SVGStyledElement::rendererIsNeeded):
2081 * ksvg2/svg/SVGStyledElement.h:
2082 * ksvg2/svg/SVGSwitchElement.h:
2083 * ksvg2/svg/SVGSymbolElement.h:
2084 (WebCore::SVGSymbolElement::rendererIsNeeded):
2085 * ksvg2/svg/SVGTRefElement.h:
2086 * ksvg2/svg/SVGTSpanElement.h:
2087 * ksvg2/svg/SVGTextElement.h:
2088 * ksvg2/svg/SVGTitleElement.h:
2089 (WebCore::SVGTitleElement::rendererIsNeeded):
2090 * ksvg2/svg/SVGUseElement.h:
2091 * ksvg2/svg/SVGViewElement.h:
2092 (WebCore::SVGViewElement::rendererIsNeeded):
2094 2007-02-28 Rob Buis <buis@kde.org>
2098 http://bugs.webkit.org/show_bug.cgi?id=12913
2099 Markers do not render in webkit when it misses markerWidth or markerHeight attribute
2101 Set defaults for markerWidth/markerHeight so markers that do not specify them render.
2103 * ksvg2/svg/SVGMarkerElement.cpp:
2104 (WebCore::SVGMarkerElement::SVGMarkerElement):
2106 2007-02-27 Anders Carlsson <acarlsson@apple.com>
2108 * loader/ResourceLoader.cpp:
2109 (WebCore::ResourceLoader::~ResourceLoader):
2112 2007-02-27 Justin Garcia <justin.garcia@apple.com>
2116 <rdar://problem/5027300>
2117 REGRESSION: Images inserted with align left/right are lost
2119 * editing/ReplaceSelectionCommand.cpp:
2120 (WebCore::ReplaceSelectionCommand::shouldMerge):
2121 Don't attempt to merge to or from a position before
2122 or after a block because it will be a no-op and
2123 lead to infinite recursion.
2124 In this case it instead resulted in content loss because
2125 of bugs in start/endOfParagraph (5027702).
2126 * editing/visible_units.cpp: Added two FIXMEs for
2127 the problems with start/endOfParagraph.
2129 2007-02-27 Anders Carlsson <acarlsson@apple.com>
2133 Make resource load delegate methods pass the right document loader.
2135 * loader/FrameLoader.cpp:
2136 (WebCore::FrameLoader::willSendRequest):
2137 (WebCore::FrameLoader::didReceiveResponse):
2138 (WebCore::FrameLoader::didReceiveData):
2139 (WebCore::FrameLoader::didFailToLoad):
2140 (WebCore::FrameLoader::didFinishLoad):
2141 (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
2142 (WebCore::FrameLoader::didCancelAuthenticationChallenge):
2143 Use the resource loader's document loader instead of the active one.
2145 * loader/MainResourceLoader.cpp:
2146 (WebCore::MainResourceLoader::receivedError):
2147 Make it so we send the frame load delegate method before the resource load delegate method.
2148 This was a regression from 2.0 and was caused by the fix to rdar://problem/4609195. Because the way the loader
2149 now works, both delegate methods will be called.
2151 * loader/ResourceLoader.cpp:
2152 (WebCore::ResourceLoader::ResourceLoader):
2153 * loader/ResourceLoader.h:
2154 (WebCore::ResourceLoader::documentLoader):
2155 Add document loader pointer to ResourceLoader.
2157 2007-02-27 Mitz Pettel <mitz@webkit.org>
2161 - fix http://bugs.webkit.org/show_bug.cgi?id=12910
2162 REGRESSION (r18756-r18765): list-bullet doesn't redraw properly when changing the list's content using JavaScript
2164 Test: fast/repaint/list-marker.html
2166 * rendering/RenderListItem.cpp:
2167 (WebCore::RenderListItem::positionListMarker): Add the marker to the visual
2168 overflow of all its ancestor blocks up to the list item. This needs to be
2169 done here since the marker is positioned only after those blocks have been
2172 2007-02-27 Antti Koivisto <antti@apple.com>
2176 - fix http://bugs.webkit.org/show_bug.cgi?id=12918
2177 REGRESSION: Google Finance dropdown Flickers
2180 If a node dies while mouse is over it, it is still supposed to receive
2181 mouseout event (wasn't case in Tiger webkit). However this event should
2182 not propagate to any other nodes. This patch matches Firefox behavior in
2185 * dom/EventTargetNode.cpp:
2186 (WebCore::EventTargetNode::dispatchGenericEvent):
2188 2007-02-27 Geoffrey Garen <ggaren@apple.com>
2190 Reviewed by Maciej Stachowiak.
2192 Fixed http://bugs.webkit.org/show_bug.cgi?id=12659 | <rdar://problem/4954306>
2193 JS objects not collected after closing window @ ebay.com/maps.google.com
2195 Garbage collect in the KJSProxy destructor, after clearing our reference
2196 to the interpreter, because that's when the interpreter has torn down fully.
2198 (Technically speaking, we can't *prove* that we have the only reference to
2199 our interpreter, but that's how it works in practice, and manual garbage
2200 collection is just an opportunistic optimization, so it's OK for it to
2201 work in practice even if it can't be proven in theory.)
2203 Layout tests pass. No leaks reported.
2205 * bindings/js/kjs_proxy.cpp:
2206 (WebCore::KJSProxy::~KJSProxy):
2207 * bindings/js/kjs_proxy.h:
2209 (WebCore::Page::~Page): Merged pageDestroyed() calls. Moved debug-only
2212 (WebCore::Frame::~Frame): Don't call getObject() because globalObject()
2213 returns a JSObject* already, and the call can leave a pointer to the Window
2214 object on the stack. Don't check for NULL because it is an invariant of
2215 JavaScriptCore that no JSObject* can be NULL. Do use a volatile pointer
2216 for w because the 'w = 0' assignment just screams to the compiler, "Don't
2217 generate any code for me!"
2219 2007-02-27 Rob Buis <buis@kde.org>
2221 Reviewed by David Hyatt.
2223 http://bugs.webkit.org/show_bug.cgi?id=4128
2224 !important is ignored in inline styling.
2226 Handle properties with !important flag better in inline
2229 * css/CSSMutableStyleDeclaration.cpp:
2230 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2232 2007-02-27 David Hyatt <hyatt@apple.com>
2234 Bug 11435. Make sure RenderViews always paintBoxDecorations. They used to before I removed RenderView's
2235 paint method. This fix restores the original behavior.
2239 * rendering/RenderBox.cpp:
2240 (WebCore::RenderBox::setStyle):
2242 2007-02-27 David Hyatt <hyatt@apple.com>
2244 Fix for bug 12094, make sure setMinMaxKnown starts off false for the weird/rare case of empty
2245 plaintext documents (which really are buggy and should be fixed to generate root elements).
2249 * rendering/RenderView.cpp:
2250 (WebCore::RenderView::RenderView):
2252 2007-02-27 Dex Deacon <occupant4@gmail.com>
2256 Fixed the case where a BackForwardList of capacity==1 would grow without bound.
2258 * history/BackForwardList.cpp:
2259 (WebCore::BackForwardList::addItem):
2261 2007-02-22 Lars Naesbye Christensen <lars@naesbye.dk>
2265 http://bugs.webkit.org/show_bug.cgi?id=12848
2266 Help cursor should have a white outline
2268 * Resources/helpCursor.png:
2270 2007-02-27 Alexey Proskuryakov <ap@webkit.org>
2274 http://bugs.webkit.org/show_bug.cgi?id=12594
2275 REGRESSION: Strange highlight in active input area
2277 No automated test possible.
2279 * rendering/InlineTextBox.cpp:
2280 (WebCore::InlineTextBox::paint): Restore a check lost in r12792.
2282 2007-02-27 Darin Adler <darin@apple.com>
2286 - fix http://bugs.webkit.org/show_bug.cgi?id=12908
2287 crash in http/tests/incremental/frame-focus-before-load.html
2289 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView):
2292 2007-02-27 Darin Adler <darin@apple.com>
2296 - fix http://bugs.webkit.org/show_bug.cgi?id=12909
2297 should use ICU, not TEC, for MacRoman decoding
2299 * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames):
2300 Add "macroman" as an alias for "macintosh". We have seen that in use in mail,
2301 although I'm not sure it's used on the web.
2303 * platform/mac/mac-encodings.txt: Remove MacRoman line, which was added back
2304 as part of the patch for bug 4971226. But by adding it to this file rather
2305 than the ICU codec, we get it only on Mac OS X. And long term we are trying to
2306 get rid of the use of TEC entirely, so we want this file to be as empty as
2309 2007-02-27 Rob Buis <buis@kde.org>
2313 http://bugs.webkit.org/show_bug.cgi?id=12905
2314 Not all svg shapes should support markers
2316 Restrict marker usage to svg shapes polyline, polygon, line and path.
2318 * ksvg2/svg/SVGLineElement.h:
2319 (WebCore::SVGLineElement::supportsMarkers):
2320 * ksvg2/svg/SVGPathElement.h:
2321 (WebCore::SVGPathElement::supportsMarkers):
2322 * ksvg2/svg/SVGPolyElement.h:
2323 (WebCore::SVGPolyElement::supportsMarkers):
2324 * ksvg2/svg/SVGStyledElement.h:
2325 (WebCore::SVGStyledElement::supportsMarkers):
2326 * rendering/RenderPath.cpp:
2327 (WebCore::RenderPath::paint):
2329 2007-02-26 Adele Peterson <adele@apple.com>
2333 Fix for http://bugs.webkit.org/show_bug.cgi?id=12902
2334 <rdar://problem/5012679> REGRESSION: Pressing return key doesn't
2335 move caret to next line after applying a font color in GMail
2337 Test: fast/frames/iframe-window-focus-2.html
2339 * page/EventHandler.h: Make focusDocumentView public.
2340 * page/Frame.cpp: (WebCore::Frame::focusWindow): Instead of just setting the focused frame,
2341 we should set also focus the document view. The bug here was that since the subframe view
2342 wasn't the first responder, the key down event was going to the wrong frame.
2344 2007-02-26 Maciej Stachowiak <mjs@apple.com>
2348 - fixed <rdar://problem/4946881> Recursive loop with <marker> not caught, crashes in WebCore::SVGPaintServer::draw (11244)
2349 http://bugs.webkit.org/show_bug.cgi?id=11244
2351 * platform/graphics/svg/SVGResourceMarker.cpp:
2352 (WebCore::SVGResourceMarker::draw): Use a HashSet to guard against
2355 2007-02-26 Maciej Stachowiak <mjs@apple.com>
2357 Reviewed by Kevin McCullough.
2359 - fix Qt build for earlier SVG changes.
2361 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
2363 2007-02-26 Oliver Hunt <oliver@apple.com>
2367 Fix for <rdar://problem/4827378>: Canvas with large height
2368 uses lots of memory, computer almost stops responding
2370 Put cap on maximum area of canvas, size is similar too the
2371 maximum size allowed by firefox (firefox seems to to cut off
2372 at area == 32767 * 9358).
2374 Also protect renderer against the possibility of a null context
2375 (this was triggering a CG warning)
2377 * html/HTMLCanvasElement.cpp:
2378 (WebCore::HTMLCanvasElement::createDrawingContext):
2379 Apply maximum canvas area
2380 (WebCore::HTMLCanvasElement::createPlatformImage):
2381 Protect against null CG Context
2383 2007-02-26 Mitz Pettel <mitz@webkit.org>
2385 Reviewed by Antti Koivisto.
2387 - fix http://bugs.webkit.org/show_bug.cgi?id=12899
2388 Ordered lists not updating dynamically with new styles
2390 Test: fast/lists/list-style-type-dynamic-change.html
2392 * rendering/RenderListMarker.cpp:
2393 (WebCore::RenderListMarker::setStyle): Made changing the marker type trigger
2394 updating of the marker.
2396 2007-02-26 Adele Peterson <adele@apple.com>
2400 Fix for <rdar://problem/5012761> REGRESSION: form submit invokes wrong event handler
2402 Test: fast/events/submit-reset-nested-bubble.html
2404 * dom/EventTargetNode.h: Made handleLocalEvents virtual.
2405 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::handleLocalEvents): If we're
2406 not in the capture phase, and the target is a different form, and we're handling
2407 the submitEvent or the resetEvent, then stop propagation of the event. This matches
2408 Firefox behavior. You can only get in this situation if misnested tags cause
2410 * html/HTMLFormElement.h: Added handleLocalEvents.
2412 2007-02-26 Darin Adler <darin@apple.com>
2414 Reviewed by Oliver Hunt.
2416 - <rdar://problem/5021555> TextCodecICU does not use fallback mappings; it should
2418 * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::createICUConverter):
2419 Added a call to ucnv_setFallback(TRUE).
2421 2007-02-26 Oliver Hunt <oliver@apple.com>
2425 Fix for rdar://problem/5021127
2427 Need to add null check to node -- original Obj-C didn't need
2428 the null check due to the Obj-C null messaging semantics
2430 * editing/Editor.cpp:
2431 (WebCore::Editor::shouldInsertFragment):
2433 2007-02-26 David Hyatt <hyatt@apple.com>
2435 Make text files render using white-space: pre-wrap instead of white-space: pre.
2439 * loader/TextDocument.cpp:
2440 (WebCore::TextTokenizer::write):
2442 2007-02-26 David Hyatt <hyatt@apple.com>
2444 Back out the change to add fullyClippedContentRect. The layout test
2445 was actually showing more correct results.
2448 (WebCore::Frame::visibleSelectionRect):
2449 (WebCore::Frame::setIsActive):
2450 (WebCore::Frame::markAllMatchesForText):
2451 * platform/ScrollView.h:
2452 * platform/mac/ScrollViewMac.mm:
2453 * rendering/RenderLayer.cpp:
2454 (WebCore::RenderLayer::scrollRectToVisible):
2456 2007-02-26 David Hyatt <hyatt@apple.com>
2458 Add support for a new property called -webkit-border-fit. This property
2459 has two values: border and lines. The "border" value means the border and
2460 background paint normally at the border box level. The "lines" value indicates
2461 that the border and background should shrink dynamically to snugly hug the
2462 line boxes of normal flow descendants.
2466 fast/borders/border-fit.html
2468 * WebCore.xcodeproj/project.pbxproj:
2469 * css/CSSComputedStyleDeclaration.cpp:
2471 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2472 * css/CSSPropertyNames.in:
2473 * css/CSSValueKeywords.in:
2474 * css/cssparser.cpp:
2475 (WebCore::CSSParser::parseValue):
2476 * css/cssstyleselector.cpp:
2477 (WebCore::CSSStyleSelector::applyProperty):
2478 * rendering/RenderBlock.cpp:
2479 (WebCore::RenderBlock::adjustForBorderFit):
2480 (WebCore::RenderBlock::borderFitAdjust):
2481 * rendering/RenderBlock.h:
2482 * rendering/RenderBox.cpp:
2483 (WebCore::RenderBox::paintBoxDecorations):
2484 * rendering/RenderBox.h:
2485 (WebCore::RenderBox::borderFitAdjust):
2486 * rendering/RenderStyle.cpp:
2487 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2488 (WebCore::StyleRareNonInheritedData::operator==):
2489 (WebCore::RenderStyle::diff):
2490 * rendering/RenderStyle.h:
2492 (WebCore::RenderStyle::borderFit):
2493 (WebCore::RenderStyle::setBorderFit):
2494 (WebCore::RenderStyle::initialBorderFit):
2496 2007-02-26 Adam Roben <aroben@apple.com>
2502 * rendering/RenderTreeAsText.cpp: Can't use #ifndef with ENABLE() macro.
2504 2007-02-26 Adele Peterson <adele@apple.com>
2508 Fix for <rdar://problem/4990700> Safari always crashes when attempting to edit/view
2509 Yahoo pipes in WebCore::HTMLSelectElement::optionToListIndex
2511 Test: fast/forms/select-out-of-bounds-index.html
2513 * html/HTMLSelectElement.cpp:
2514 (WebCore::HTMLSelectElement::setSelectedIndex): If we're about to deselect all options, then set m_lastOnChangeIndex to -1.
2515 (WebCore::HTMLSelectElement::optionToListIndex): Moved listSize to a local variable. Rewrote using a simpler for-loop to prevent out-of-bounds errors.
2517 2007-02-26 Anders Carlsson <acarlsson@apple.com>
2521 <rdar://problem/4816376>
2522 REGRESSION: NetNewsWire 3.0 - Crashes in WebDocumentLoaderMac::attachToFrame() (12674)
2524 * loader/FrameLoader.cpp:
2525 (WebCore::FrameLoader::reload):
2526 Remove call to setPolicyDocumentLoader here, it's set by the ::load function that we end up calling.
2528 2007-02-26 Maciej Stachowiak <mjs@apple.com>
2532 - fixed <rdar://problem/5021698> Disable experimental SVG features (12883)
2534 I added an ENABLE_SVG_EXPERIMENTAL_FEATURES define to guard all use of the experimental
2535 features, and used it to guard relevant tag names, elements, JS bindings and renderers.
2537 I also converted all the existing optional feature defines to
2538 ENABLE_FOO instead of FOO_SUPPORT since that is the more standard
2539 way to do it in open source projects and works with the handy new
2543 * DerivedSources.make:
2544 * Projects/gdk/webcore-gdk.bkl:
2546 * WebCore.vcproj/WebCore/WebCore.vcproj:
2547 * WebCore.vcproj/WebCore/build-generated-files.sh:
2548 * WebCore.xcodeproj/project.pbxproj:
2549 * bindings/js/JSCustomXPathNSResolver.cpp:
2550 * bindings/js/JSCustomXPathNSResolver.h:
2551 * bindings/js/JSSVGElementWrapperFactory.cpp:
2552 * bindings/js/JSSVGElementWrapperFactory.h:
2553 * bindings/js/JSSVGMatrixCustom.cpp:
2554 * bindings/js/JSSVGPODTypeWrapper.h:
2555 * bindings/js/JSSVGPathSegCustom.cpp:
2556 * bindings/js/JSSVGPathSegListCustom.cpp:
2557 * bindings/js/JSSVGPointListCustom.cpp:
2558 * bindings/js/JSXSLTProcessor.cpp:
2559 * bindings/js/JSXSLTProcessor.h:
2560 * bindings/js/kjs_binding.cpp:
2561 (KJS::setDOMException):
2562 * bindings/js/kjs_css.cpp:
2564 * bindings/js/kjs_dom.cpp:
2566 * bindings/js/kjs_html.cpp:
2567 (KJS::HTMLElementFunction::callAsFunction):
2568 * bindings/js/kjs_proxy.cpp:
2569 * bindings/js/kjs_proxy.h:
2570 * bindings/js/kjs_window.cpp:
2571 (KJS::Window::getValueProperty):
2572 * bindings/objc/DOM.mm:
2573 (WebCore::createElementClassMap):
2574 (+[DOMNode _nodeWith:WebCore::]):
2575 * bindings/objc/DOMCSS.mm:
2576 (+[DOMCSSValue _CSSValueWith:WebCore::]):
2577 * bindings/objc/DOMCustomXPathNSResolver.h:
2578 * bindings/objc/DOMCustomXPathNSResolver.mm:
2579 * bindings/objc/DOMEvents.mm:
2580 (+[DOMEvent _eventWith:WebCore::]):
2581 * bindings/objc/DOMInternal.h:
2582 * bindings/objc/DOMSVGPathSegInternal.mm:
2583 * bindings/objc/DOMXPath.mm:
2584 * bindings/objc/ExceptionHandlers.mm:
2585 (WebCore::raiseDOMException):
2586 * bindings/objc/PublicDOMInterfaces.h:
2587 * bindings/scripts/CodeGeneratorJS.pm:
2588 * bindings/scripts/CodeGeneratorObjC.pm:
2591 * css/CSSStyleDeclaration.cpp:
2592 (WebCore::propertyID):
2594 * css/cssparser.cpp:
2595 (WebCore::CSSParser::parseValue):
2597 * css/cssstyleselector.cpp:
2598 (WebCore::CSSStyleSelector::loadDefaultStyle):
2599 (WebCore::CSSStyleSelector::initForStyleResolve):
2600 (WebCore::checkPseudoState):
2601 (WebCore::CSSStyleSelector::adjustRenderStyle):
2602 (WebCore::CSSStyleSelector::applyProperty):
2603 * css/cssstyleselector.h:
2604 * dom/DOMImplementation.cpp:
2605 (WebCore::DOMImplementation::hasFeature):
2606 (WebCore::DOMImplementation::createDocument):
2608 (WebCore::Document::Document):
2609 (WebCore::Document::~Document):
2610 (WebCore::Document::createElement):
2611 (WebCore::Document::implicitClose):
2612 (WebCore::Document::recalcStyleSelector):
2613 (WebCore::Document::createEvent):
2618 * dom/EventTarget.cpp:
2619 * dom/EventTarget.h:
2620 * dom/MappedAttributeEntry.h:
2623 (WebCore::Node::createRendererIfNeeded):
2624 (WebCore::Node::shadowAncestorNode):
2626 * dom/ProcessingInstruction.cpp:
2627 (WebCore::ProcessingInstruction::ProcessingInstruction):
2628 (WebCore::ProcessingInstruction::checkStyleSheet):
2629 (WebCore::ProcessingInstruction::setCSSStyleSheet):
2630 * dom/ProcessingInstruction.h:
2632 (WebCore::Text::createRenderer):
2633 * dom/XMLTokenizer.cpp:
2634 (WebCore::XMLTokenizer::startElementNs):
2635 (WebCore::XMLTokenizer::endElementNs):
2636 (WebCore::XMLTokenizer::processingInstruction):
2637 (WebCore::XMLTokenizer::end):
2638 (WebCore::XMLTokenizer::insertErrorMessageBlock):
2639 * dom/XMLTokenizer.h:
2640 * html/HTMLEmbedElement.cpp:
2641 * html/HTMLEmbedElement.h:
2642 * html/HTMLObjectElement.cpp:
2643 * html/HTMLObjectElement.h:
2644 * ksvg2/css/SVGCSSParser.cpp:
2645 * ksvg2/css/SVGCSSStyleSelector.cpp:
2646 * ksvg2/css/SVGRenderStyle.cpp:
2647 * ksvg2/css/SVGRenderStyle.h:
2648 * ksvg2/css/SVGRenderStyleDefs.cpp:
2649 * ksvg2/css/SVGRenderStyleDefs.h:
2650 * ksvg2/events/JSSVGLazyEventListener.cpp:
2651 * ksvg2/events/JSSVGLazyEventListener.h:
2652 * ksvg2/events/SVGZoomEvent.cpp:
2653 * ksvg2/events/SVGZoomEvent.h:
2654 * ksvg2/misc/KCanvasRenderingStyle.cpp:
2655 * ksvg2/misc/KCanvasRenderingStyle.h:
2656 * ksvg2/misc/PointerEventsHitRules.cpp:
2657 * ksvg2/misc/PointerEventsHitRules.h:
2658 * ksvg2/misc/SVGDocumentExtensions.cpp:
2659 * ksvg2/misc/SVGDocumentExtensions.h:
2660 * ksvg2/misc/SVGImageLoader.cpp:
2661 * ksvg2/misc/SVGImageLoader.h:
2662 * ksvg2/misc/SVGTimer.cpp:
2663 * ksvg2/misc/SVGTimer.h:
2664 * ksvg2/misc/TimeScheduler.cpp:
2665 * ksvg2/misc/TimeScheduler.h:
2666 * ksvg2/scripts/make_names.pl:
2667 * ksvg2/svg/ColorDistance.cpp:
2668 * ksvg2/svg/ColorDistance.h:
2669 * ksvg2/svg/GradientAttributes.h:
2670 * ksvg2/svg/LinearGradientAttributes.h:
2671 * ksvg2/svg/PatternAttributes.h:
2672 * ksvg2/svg/RadialGradientAttributes.h:
2673 * ksvg2/svg/SVGAElement.cpp:
2674 * ksvg2/svg/SVGAElement.h:
2675 * ksvg2/svg/SVGAngle.cpp:
2676 * ksvg2/svg/SVGAngle.h:
2677 * ksvg2/svg/SVGAnimateColorElement.cpp:
2678 * ksvg2/svg/SVGAnimateColorElement.h:
2679 * ksvg2/svg/SVGAnimateElement.cpp:
2680 * ksvg2/svg/SVGAnimateElement.h:
2681 * ksvg2/svg/SVGAnimateElement.idl:
2682 * ksvg2/svg/SVGAnimateMotionElement.cpp:
2683 * ksvg2/svg/SVGAnimateMotionElement.h:
2684 * ksvg2/svg/SVGAnimateTransformElement.cpp:
2685 * ksvg2/svg/SVGAnimateTransformElement.h:
2686 * ksvg2/svg/SVGAnimateTransformElement.idl:
2687 * ksvg2/svg/SVGAnimatedPathData.cpp:
2688 * ksvg2/svg/SVGAnimatedPathData.h:
2689 * ksvg2/svg/SVGAnimatedPoints.cpp:
2690 * ksvg2/svg/SVGAnimatedPoints.h:
2691 * ksvg2/svg/SVGAnimatedTemplate.h:
2692 * ksvg2/svg/SVGAnimationElement.cpp:
2693 * ksvg2/svg/SVGAnimationElement.h:
2694 * ksvg2/svg/SVGCircleElement.cpp:
2695 * ksvg2/svg/SVGCircleElement.h:
2696 * ksvg2/svg/SVGClipPathElement.cpp:
2697 * ksvg2/svg/SVGClipPathElement.h:
2698 * ksvg2/svg/SVGColor.cpp:
2699 * ksvg2/svg/SVGColor.h:
2700 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2701 * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2702 * ksvg2/svg/SVGCursorElement.cpp:
2703 * ksvg2/svg/SVGCursorElement.h:
2704 * ksvg2/svg/SVGDefsElement.cpp:
2705 * ksvg2/svg/SVGDefsElement.h:
2706 * ksvg2/svg/SVGDescElement.cpp:
2707 * ksvg2/svg/SVGDescElement.h:
2708 * ksvg2/svg/SVGDocument.cpp:
2709 * ksvg2/svg/SVGDocument.h:
2710 * ksvg2/svg/SVGElement.cpp:
2711 (WebCore::SVGElement::dispatchEvent):
2712 * ksvg2/svg/SVGElement.h:
2713 * ksvg2/svg/SVGElementInstance.cpp:
2714 * ksvg2/svg/SVGElementInstance.h:
2715 * ksvg2/svg/SVGElementInstance.idl:
2716 * ksvg2/svg/SVGElementInstanceList.cpp:
2717 * ksvg2/svg/SVGElementInstanceList.h:
2718 * ksvg2/svg/SVGElementInstanceList.idl:
2719 * ksvg2/svg/SVGEllipseElement.cpp:
2720 * ksvg2/svg/SVGEllipseElement.h:
2721 * ksvg2/svg/SVGException.h:
2722 * ksvg2/svg/SVGExternalResourcesRequired.cpp:
2723 * ksvg2/svg/SVGExternalResourcesRequired.h:
2724 * ksvg2/svg/SVGFEBlendElement.cpp:
2725 * ksvg2/svg/SVGFEBlendElement.h:
2726 * ksvg2/svg/SVGFEBlendElement.idl:
2727 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2728 * ksvg2/svg/SVGFEColorMatrixElement.h:
2729 * ksvg2/svg/SVGFEColorMatrixElement.idl:
2730 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2731 * ksvg2/svg/SVGFEComponentTransferElement.h:
2732 * ksvg2/svg/SVGFEComponentTransferElement.idl:
2733 * ksvg2/svg/SVGFECompositeElement.cpp:
2734 * ksvg2/svg/SVGFECompositeElement.h:
2735 * ksvg2/svg/SVGFECompositeElement.idl:
2736 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2737 * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2738 * ksvg2/svg/SVGFEDiffuseLightingElement.idl:
2739 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2740 * ksvg2/svg/SVGFEDisplacementMapElement.h:
2741 * ksvg2/svg/SVGFEDisplacementMapElement.idl:
2742 * ksvg2/svg/SVGFEDistantLightElement.cpp:
2743 * ksvg2/svg/SVGFEDistantLightElement.h:
2744 * ksvg2/svg/SVGFEDistantLightElement.idl:
2745 * ksvg2/svg/SVGFEFloodElement.cpp:
2746 * ksvg2/svg/SVGFEFloodElement.h:
2747 * ksvg2/svg/SVGFEFloodElement.idl:
2748 * ksvg2/svg/SVGFEFuncAElement.cpp:
2749 * ksvg2/svg/SVGFEFuncAElement.h:
2750 * ksvg2/svg/SVGFEFuncAElement.idl:
2751 * ksvg2/svg/SVGFEFuncBElement.cpp:
2752 * ksvg2/svg/SVGFEFuncBElement.h:
2753 * ksvg2/svg/SVGFEFuncBElement.idl:
2754 * ksvg2/svg/SVGFEFuncGElement.cpp:
2755 * ksvg2/svg/SVGFEFuncGElement.h:
2756 * ksvg2/svg/SVGFEFuncGElement.idl:
2757 * ksvg2/svg/SVGFEFuncRElement.cpp:
2758 * ksvg2/svg/SVGFEFuncRElement.h:
2759 * ksvg2/svg/SVGFEFuncRElement.idl:
2760 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2761 * ksvg2/svg/SVGFEGaussianBlurElement.h:
2762 * ksvg2/svg/SVGFEGaussianBlurElement.idl:
2763 * ksvg2/svg/SVGFEImageElement.cpp:
2764 * ksvg2/svg/SVGFEImageElement.h:
2765 * ksvg2/svg/SVGFEImageElement.idl:
2766 * ksvg2/svg/SVGFELightElement.cpp:
2767 * ksvg2/svg/SVGFELightElement.h:
2768 * ksvg2/svg/SVGFEMergeElement.cpp:
2769 * ksvg2/svg/SVGFEMergeElement.h:
2770 * ksvg2/svg/SVGFEMergeElement.idl:
2771 * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2772 * ksvg2/svg/SVGFEMergeNodeElement.h:
2773 * ksvg2/svg/SVGFEMergeNodeElement.idl:
2774 * ksvg2/svg/SVGFEOffsetElement.cpp:
2775 * ksvg2/svg/SVGFEOffsetElement.h:
2776 * ksvg2/svg/SVGFEOffsetElement.idl:
2777 * ksvg2/svg/SVGFEPointLightElement.cpp:
2778 * ksvg2/svg/SVGFEPointLightElement.h:
2779 * ksvg2/svg/SVGFEPointLightElement.idl:
2780 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2781 * ksvg2/svg/SVGFESpecularLightingElement.h:
2782 * ksvg2/svg/SVGFESpecularLightingElement.idl:
2783 * ksvg2/svg/SVGFESpotLightElement.cpp:
2784 * ksvg2/svg/SVGFESpotLightElement.h:
2785 * ksvg2/svg/SVGFESpotLightElement.idl:
2786 * ksvg2/svg/SVGFETileElement.cpp:
2787 * ksvg2/svg/SVGFETileElement.h:
2788 * ksvg2/svg/SVGFETileElement.idl:
2789 * ksvg2/svg/SVGFETurbulenceElement.cpp:
2790 * ksvg2/svg/SVGFETurbulenceElement.h:
2791 * ksvg2/svg/SVGFETurbulenceElement.idl:
2792 * ksvg2/svg/SVGFilterElement.cpp:
2793 * ksvg2/svg/SVGFilterElement.h:
2794 * ksvg2/svg/SVGFilterElement.idl:
2795 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2796 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2797 * ksvg2/svg/SVGFitToViewBox.cpp:
2798 * ksvg2/svg/SVGFitToViewBox.h:
2799 * ksvg2/svg/SVGForeignObjectElement.cpp:
2800 * ksvg2/svg/SVGForeignObjectElement.h:
2801 * ksvg2/svg/SVGForeignObjectElement.idl:
2802 * ksvg2/svg/SVGGElement.cpp:
2803 * ksvg2/svg/SVGGElement.h:
2804 * ksvg2/svg/SVGGradientElement.cpp:
2805 * ksvg2/svg/SVGGradientElement.h:
2806 * ksvg2/svg/SVGImageElement.cpp:
2807 * ksvg2/svg/SVGImageElement.h:
2808 * ksvg2/svg/SVGLangSpace.cpp:
2809 * ksvg2/svg/SVGLangSpace.h:
2810 * ksvg2/svg/SVGLength.cpp:
2811 * ksvg2/svg/SVGLength.h:
2812 * ksvg2/svg/SVGLengthList.cpp:
2813 * ksvg2/svg/SVGLengthList.h:
2814 * ksvg2/svg/SVGLineElement.cpp:
2815 * ksvg2/svg/SVGLineElement.h:
2816 * ksvg2/svg/SVGLinearGradientElement.cpp:
2817 * ksvg2/svg/SVGLinearGradientElement.h:
2818 * ksvg2/svg/SVGList.h:
2819 * ksvg2/svg/SVGListTraits.h:
2820 * ksvg2/svg/SVGLocatable.cpp:
2821 (WebCore::SVGLocatable::nearestViewportElement):
2822 (WebCore::SVGLocatable::farthestViewportElement):
2823 * ksvg2/svg/SVGLocatable.h:
2824 * ksvg2/svg/SVGMPathElement.cpp:
2825 * ksvg2/svg/SVGMPathElement.h:
2826 * ksvg2/svg/SVGMarkerElement.cpp:
2827 * ksvg2/svg/SVGMarkerElement.h:
2828 * ksvg2/svg/SVGMaskElement.cpp:
2829 * ksvg2/svg/SVGMaskElement.h:
2830 * ksvg2/svg/SVGMetadataElement.cpp:
2831 * ksvg2/svg/SVGMetadataElement.h:
2832 * ksvg2/svg/SVGNumberList.cpp:
2833 * ksvg2/svg/SVGNumberList.h:
2834 * ksvg2/svg/SVGPaint.cpp:
2835 * ksvg2/svg/SVGPaint.h:
2836 * ksvg2/svg/SVGParserUtilities.cpp:
2837 * ksvg2/svg/SVGParserUtilities.h:
2838 * ksvg2/svg/SVGPathElement.cpp:
2839 * ksvg2/svg/SVGPathElement.h:
2840 * ksvg2/svg/SVGPathSeg.h:
2841 * ksvg2/svg/SVGPathSegArc.cpp:
2842 * ksvg2/svg/SVGPathSegArc.h:
2843 * ksvg2/svg/SVGPathSegClosePath.cpp:
2844 * ksvg2/svg/SVGPathSegClosePath.h:
2845 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
2846 * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2847 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
2848 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2849 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
2850 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2851 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2852 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2853 * ksvg2/svg/SVGPathSegLineto.cpp:
2854 * ksvg2/svg/SVGPathSegLineto.h:
2855 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
2856 * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2857 * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
2858 * ksvg2/svg/SVGPathSegLinetoVertical.h:
2859 * ksvg2/svg/SVGPathSegList.cpp:
2860 * ksvg2/svg/SVGPathSegList.h:
2861 * ksvg2/svg/SVGPathSegMoveto.cpp:
2862 * ksvg2/svg/SVGPathSegMoveto.h:
2863 * ksvg2/svg/SVGPatternElement.cpp:
2864 * ksvg2/svg/SVGPatternElement.h:
2865 * ksvg2/svg/SVGPointList.cpp:
2866 * ksvg2/svg/SVGPointList.h:
2867 * ksvg2/svg/SVGPolyElement.cpp:
2868 * ksvg2/svg/SVGPolyElement.h:
2869 * ksvg2/svg/SVGPolygonElement.cpp:
2870 * ksvg2/svg/SVGPolygonElement.h:
2871 * ksvg2/svg/SVGPolylineElement.cpp:
2872 * ksvg2/svg/SVGPolylineElement.h:
2873 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2874 * ksvg2/svg/SVGPreserveAspectRatio.h:
2875 * ksvg2/svg/SVGRadialGradientElement.cpp:
2876 * ksvg2/svg/SVGRadialGradientElement.h:
2877 * ksvg2/svg/SVGRectElement.cpp:
2878 * ksvg2/svg/SVGRectElement.h:
2879 * ksvg2/svg/SVGRenderingIntent.h:
2880 * ksvg2/svg/SVGSVGElement.cpp:
2881 * ksvg2/svg/SVGSVGElement.h:
2882 * ksvg2/svg/SVGScriptElement.cpp:
2883 * ksvg2/svg/SVGScriptElement.h:
2884 * ksvg2/svg/SVGSetElement.cpp:
2885 * ksvg2/svg/SVGSetElement.h:
2886 * ksvg2/svg/SVGStopElement.cpp:
2887 * ksvg2/svg/SVGStopElement.h:
2888 * ksvg2/svg/SVGStringList.cpp:
2889 * ksvg2/svg/SVGStringList.h:
2890 * ksvg2/svg/SVGStylable.cpp:
2891 * ksvg2/svg/SVGStylable.h:
2892 * ksvg2/svg/SVGStyleElement.cpp:
2893 * ksvg2/svg/SVGStyleElement.h:
2894 * ksvg2/svg/SVGStyledElement.cpp:
2895 (WebCore::SVGStyledElement::notifyAttributeChange):
2896 * ksvg2/svg/SVGStyledElement.h:
2897 * ksvg2/svg/SVGStyledLocatableElement.cpp:
2898 * ksvg2/svg/SVGStyledLocatableElement.h:
2899 * ksvg2/svg/SVGStyledTransformableElement.cpp:
2900 * ksvg2/svg/SVGStyledTransformableElement.h:
2901 * ksvg2/svg/SVGSwitchElement.cpp:
2902 * ksvg2/svg/SVGSwitchElement.h:
2903 * ksvg2/svg/SVGSymbolElement.cpp:
2904 * ksvg2/svg/SVGSymbolElement.h:
2905 * ksvg2/svg/SVGTRefElement.cpp:
2906 * ksvg2/svg/SVGTRefElement.h:
2907 * ksvg2/svg/SVGTSpanElement.cpp:
2908 * ksvg2/svg/SVGTSpanElement.h:
2909 * ksvg2/svg/SVGTests.cpp:
2910 * ksvg2/svg/SVGTests.h:
2911 * ksvg2/svg/SVGTextContentElement.cpp:
2912 * ksvg2/svg/SVGTextContentElement.h:
2913 * ksvg2/svg/SVGTextElement.cpp:
2914 * ksvg2/svg/SVGTextElement.h:
2915 * ksvg2/svg/SVGTextPositioningElement.cpp:
2916 * ksvg2/svg/SVGTextPositioningElement.h:
2917 * ksvg2/svg/SVGTitleElement.cpp:
2918 * ksvg2/svg/SVGTitleElement.h:
2919 * ksvg2/svg/SVGTransform.cpp:
2920 * ksvg2/svg/SVGTransform.h:
2921 * ksvg2/svg/SVGTransformDistance.cpp:
2922 * ksvg2/svg/SVGTransformDistance.h:
2923 * ksvg2/svg/SVGTransformList.cpp:
2924 * ksvg2/svg/SVGTransformList.h:
2925 * ksvg2/svg/SVGTransformable.cpp:
2926 * ksvg2/svg/SVGTransformable.h:
2927 * ksvg2/svg/SVGURIReference.cpp:
2928 * ksvg2/svg/SVGURIReference.h:
2929 * ksvg2/svg/SVGUnitTypes.h:
2930 * ksvg2/svg/SVGUseElement.cpp:
2931 * ksvg2/svg/SVGUseElement.h:
2932 * ksvg2/svg/SVGUseElement.idl:
2933 * ksvg2/svg/SVGViewElement.cpp:
2934 * ksvg2/svg/SVGViewElement.h:
2935 * ksvg2/svg/SVGZoomAndPan.cpp:
2936 * ksvg2/svg/SVGZoomAndPan.h:
2937 * ksvg2/svg/svgtags.in:
2939 (WebCore::createResource):
2940 (WebCore::Cache::getStatistics):
2942 * loader/CachedImage.cpp:
2943 (WebCore::CachedImage::createImage):
2944 * loader/CachedResource.h:
2945 (WebCore::CachedResource::):
2946 * loader/CachedResourceClient.h:
2947 * loader/CachedXBLDocument.cpp:
2948 * loader/CachedXBLDocument.h:
2949 * loader/CachedXSLStyleSheet.cpp:
2950 * loader/CachedXSLStyleSheet.h:
2951 * loader/DocLoader.cpp:
2952 * loader/DocLoader.h:
2953 * page/DOMWindow.idl:
2954 * page/EventHandler.cpp:
2955 (WebCore::EventHandler::handleMouseMoveEvent):
2956 (WebCore::selectCursor):
2958 (WebCore::Frame::Frame):
2959 * page/PageState.cpp:
2960 (WebCore::PageState::PageState):
2961 (WebCore::PageState::restore):
2962 * platform/MimeTypeRegistry.cpp:
2963 (WebCore::initialiseSupportedNonImageMimeTypes):
2964 * platform/graphics/FloatPoint3D.cpp:
2965 * platform/graphics/FloatPoint3D.h:
2966 * platform/graphics/ImageBuffer.cpp:
2967 (WebCore::ImageBuffer::renderSubtreeToImage):
2968 * platform/graphics/svg/SVGImage.cpp:
2969 * platform/graphics/svg/SVGImage.h:
2970 * platform/graphics/svg/SVGImageEmptyClients.h:
2971 * platform/graphics/svg/SVGPaintServer.cpp:
2972 * platform/graphics/svg/SVGPaintServer.h:
2973 * platform/graphics/svg/SVGPaintServerGradient.cpp:
2974 * platform/graphics/svg/SVGPaintServerGradient.h:
2975 * platform/graphics/svg/SVGPaintServerLinearGradient.cpp:
2976 * platform/graphics/svg/SVGPaintServerLinearGradient.h:
2977 * platform/graphics/svg/SVGPaintServerPattern.cpp:
2978 * platform/graphics/svg/SVGPaintServerPattern.h:
2979 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
2980 * platform/graphics/svg/SVGPaintServerRadialGradient.h:
2981 * platform/graphics/svg/SVGPaintServerSolid.cpp:
2982 * platform/graphics/svg/SVGPaintServerSolid.h:
2983 * platform/graphics/svg/SVGResource.cpp:
2984 * platform/graphics/svg/SVGResource.h:
2985 * platform/graphics/svg/SVGResourceClipper.cpp:
2986 * platform/graphics/svg/SVGResourceClipper.h:
2987 * platform/graphics/svg/SVGResourceFilter.cpp:
2988 * platform/graphics/svg/SVGResourceFilter.h:
2989 * platform/graphics/svg/SVGResourceMarker.cpp:
2990 * platform/graphics/svg/SVGResourceMarker.h:
2991 * platform/graphics/svg/SVGResourceMasker.cpp:
2992 * platform/graphics/svg/SVGResourceMasker.h:
2993 * platform/graphics/svg/cg/CgSupport.cpp:
2994 * platform/graphics/svg/cg/CgSupport.h:
2995 * platform/graphics/svg/cg/RenderPathCg.cpp:
2996 * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
2997 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2998 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2999 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
3000 * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
3001 * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
3002 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
3003 * platform/graphics/svg/filters/SVGDistantLightSource.h:
3004 * platform/graphics/svg/filters/SVGFEBlend.cpp:
3005 * platform/graphics/svg/filters/SVGFEBlend.h:
3006 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
3007 * platform/graphics/svg/filters/SVGFEColorMatrix.h:
3008 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
3009 * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
3010 * platform/graphics/svg/filters/SVGFEComposite.cpp:
3011 * platform/graphics/svg/filters/SVGFEComposite.h:
3012 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
3013 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
3014 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
3015 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
3016 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
3017 * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
3018 * platform/graphics/svg/filters/SVGFEFlood.cpp:
3019 * platform/graphics/svg/filters/SVGFEFlood.h:
3020 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
3021 * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
3022 * platform/graphics/svg/filters/SVGFEImage.cpp:
3023 * platform/graphics/svg/filters/SVGFEImage.h:
3024 * platform/graphics/svg/filters/SVGFEMerge.cpp:
3025 * platform/graphics/svg/filters/SVGFEMerge.h:
3026 * platform/graphics/svg/filters/SVGFEMorphology.cpp:
3027 * platform/graphics/svg/filters/SVGFEMorphology.h:
3028 * platform/graphics/svg/filters/SVGFEOffset.cpp:
3029 * platform/graphics/svg/filters/SVGFEOffset.h:
3030 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
3031 * platform/graphics/svg/filters/SVGFESpecularLighting.h:
3032 * platform/graphics/svg/filters/SVGFETile.h:
3033 * platform/graphics/svg/filters/SVGFETurbulence.cpp:
3034 * platform/graphics/svg/filters/SVGFETurbulence.h:
3035 * platform/graphics/svg/filters/SVGFilterEffect.cpp:
3036 * platform/graphics/svg/filters/SVGFilterEffect.h:
3037 * platform/graphics/svg/filters/SVGLightSource.cpp:
3038 * platform/graphics/svg/filters/SVGLightSource.h:
3039 * platform/graphics/svg/filters/SVGPointLightSource.h:
3040 * platform/graphics/svg/filters/SVGSpotLightSource.h:
3041 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
3042 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
3043 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
3044 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
3045 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
3046 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
3047 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
3048 * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
3049 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
3050 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
3051 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
3052 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
3053 * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
3054 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
3055 * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
3056 * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
3057 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
3058 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
3059 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
3060 * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
3061 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
3062 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
3063 * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
3064 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
3065 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
3066 * rendering/HitTestResult.cpp:
3067 (WebCore::HitTestResult::absoluteImageURL):
3068 (WebCore::HitTestResult::absoluteLinkURL):
3069 (WebCore::HitTestResult::isLiveLink):
3070 * rendering/RenderForeignObject.cpp:
3071 * rendering/RenderForeignObject.h:
3072 * rendering/RenderLayer.cpp:
3073 (WebCore::RenderLayer::isTransparent):
3074 * rendering/RenderObject.cpp:
3075 (WebCore::RenderObject::containingBlock):
3076 * rendering/RenderObject.h:
3077 * rendering/RenderPath.cpp:
3078 * rendering/RenderPath.h:
3079 * rendering/RenderSVGBlock.cpp:
3080 * rendering/RenderSVGBlock.h:
3081 * rendering/RenderSVGContainer.cpp:
3082 * rendering/RenderSVGContainer.h:
3083 * rendering/RenderSVGGradientStop.cpp:
3084 * rendering/RenderSVGGradientStop.h:
3085 * rendering/RenderSVGHiddenContainer.cpp:
3086 * rendering/RenderSVGHiddenContainer.h:
3087 * rendering/RenderSVGImage.cpp:
3088 * rendering/RenderSVGImage.h:
3089 * rendering/RenderSVGInline.cpp:
3090 * rendering/RenderSVGInline.h:
3091 * rendering/RenderSVGInlineText.cpp:
3092 * rendering/RenderSVGInlineText.h:
3093 * rendering/RenderSVGTSpan.cpp:
3094 * rendering/RenderSVGTSpan.h:
3095 * rendering/RenderSVGText.cpp:
3096 * rendering/RenderSVGText.h:
3097 * rendering/RenderStyle.cpp:
3098 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3099 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
3100 (WebCore::StyleRareNonInheritedData::operator==):
3101 (WebCore::RenderStyle::RenderStyle):
3102 (WebCore::RenderStyle::inheritFrom):
3103 (WebCore::RenderStyle::operator==):
3104 (WebCore::RenderStyle::inheritedNotEqual):
3105 (WebCore::RenderStyle::diff):
3106 * rendering/RenderStyle.h:
3107 * rendering/RenderText.cpp:
3108 (WebCore::RenderText::setStyle):
3109 (WebCore::RenderText::setTextInternal):
3110 * rendering/RenderTreeAsText.cpp:
3112 (WebCore::externalRepresentation):
3113 * rendering/SVGInlineFlowBox.cpp:
3114 * rendering/SVGInlineFlowBox.h:
3115 * rendering/SVGRenderTreeAsText.cpp:
3116 * rendering/SVGRenderTreeAsText.h:
3117 * rendering/SVGRootInlineBox.cpp:
3118 * rendering/SVGRootInlineBox.h:
3119 * rendering/bidi.cpp:
3120 (WebCore::shouldPreserveNewline):
3121 (WebCore::RenderBlock::findNextLineBreak):
3123 * xml/NativeXPathNSResolver.cpp:
3124 * xml/NativeXPathNSResolver.h:
3125 * xml/XPathEvaluator.cpp:
3126 * xml/XPathEvaluator.h:
3127 * xml/XPathExpression.cpp:
3128 * xml/XPathExpression.h:
3129 * xml/XPathExpressionNode.cpp:
3130 * xml/XPathExpressionNode.h:
3131 * xml/XPathFunctions.cpp:
3132 * xml/XPathFunctions.h:
3133 * xml/XPathGrammar.y:
3134 * xml/XPathNSResolver.cpp:
3135 * xml/XPathNSResolver.h:
3136 * xml/XPathNamespace.cpp:
3137 * xml/XPathNamespace.h:
3138 * xml/XPathParser.cpp:
3139 * xml/XPathParser.h:
3140 * xml/XPathPath.cpp:
3142 * xml/XPathPredicate.cpp:
3143 * xml/XPathPredicate.h:
3144 * xml/XPathResult.cpp:
3145 * xml/XPathResult.h:
3146 * xml/XPathStep.cpp:
3148 * xml/XPathUtil.cpp:
3150 * xml/XPathValue.cpp:
3152 * xml/XPathVariableReference.cpp:
3153 * xml/XPathVariableReference.h:
3154 * xml/XSLImportRule.cpp:
3155 * xml/XSLImportRule.h:
3156 * xml/XSLStyleSheet.cpp:
3157 * xml/XSLStyleSheet.h:
3158 * xml/XSLTProcessor.cpp:
3159 * xml/XSLTProcessor.h:
3161 2007-02-25 Mitz Pettel <mitz@webkit.org>
3163 Reviewed by David Hyatt.
3165 - fix http://bugs.webkit.org/show_bug.cgi?id=12886
3166 Crash with Scriptalicious javascript library
3168 Test: fast/dynamic/float-withdrawal.html
3170 * rendering/RenderBlock.cpp:
3171 (WebCore::RenderBlock::layoutBlockChildren): Detect when a child block had
3172 intruding floats in a previous layout, and in that case force it to relayout.
3174 2007-02-25 David Hyatt <hyatt@apple.com>
3176 Revert my change to the default fill color. Just set the color to transparent explicitly when
3177 drawing textarea resizer frames.
3179 * platform/graphics/GraphicsContext.cpp:
3180 (WebCore::GraphicsContextState::GraphicsContextState):
3181 * rendering/RenderLayer.cpp:
3182 (WebCore::RenderLayer::paintOverflowControls):
3184 2007-02-25 Sam Weinig <sam@webkit.org>
3186 Update forgotten files.
3188 * rendering/RenderLayer.cpp:
3189 (WebCore::RenderLayer::updateLayerPosition):
3191 2007-02-25 David Hyatt <hyatt@apple.com>
3193 Fix for regression caused by changing the containing block of positioned elements with no positioned ancestor
3194 to be the initial containing block (represented in our tree by the RenderView). Rework RenderView's layout
3195 to have very few special cases. Now it will just relayout its children when the width/height of the
3196 view actually changes. Positioned elements no longer get a special additional layout, since width/height
3197 adjustments are caught by the base class already anyway.
3199 Reviewed by mjs, darin
3201 * rendering/RenderBlock.cpp:
3202 (WebCore::RenderBlock::layoutBlock):
3203 * rendering/RenderFlexibleBox.cpp:
3204 (WebCore::RenderFlexibleBox::layoutBlock):
3205 (WebCore::RenderFlexibleBox::layoutVerticalBox):
3206 * rendering/RenderView.cpp:
3207 (WebCore::RenderView::RenderView):
3208 (WebCore::RenderView::layout):
3209 * rendering/RenderView.h:
3211 2007-02-25 Maciej Stachowiak <mjs@apple.com>
3213 Not reviewed, build fix.
3215 - fix build breakage
3217 * platform/gdk/ScrollViewGdk.cpp:
3218 (WebCore::ScrollView::fullyClippedContentRect):
3219 * platform/qt/ScrollViewQt.cpp:
3220 (WebCore::ScrollView::fullyClippedContentRect):
3222 2007-02-24 Maciej Stachowiak <mjs@apple.com>
3226 - fixed layout test failure in fast/overflow/scrollRevealButton
3228 I added a new ScrollView method, fullyClippedContentRect, that vies the content rect
3229 as clipped by all ancestor scroll views, not just this one. Currently it only works
3230 correctly on mac however. visibleContentRect, only accounting for the clipping from
3231 this particular scroll view, is sufficient for most purposes.
3234 (WebCore::Frame::visibleSelectionRect):
3235 (WebCore::Frame::setIsActive):
3236 (WebCore::Frame::markAllMatchesForText):
3237 * platform/ScrollView.h:
3238 * platform/gdk/ScrollViewGdk.cpp:
3239 (WebCore::ScrolView::fullyClippedContentRect):
3240 * platform/mac/ScrollViewMac.mm:
3241 (WebCore::ScrollView::fullyClippedContentRect):
3242 * platform/qt/ScrollViewQt.cpp:
3243 (WebCore::ScrolView::fullyClippedContentRect):
3244 * rendering/RenderLayer.cpp:
3245 (WebCore::RenderLayer::scrollRectToVisible):
3247 2007-02-24 Adam Roben <aroben@apple.com>
3251 "Look Up in Dictionary" context menu item should be Mac-only for now,
3252 since it's only implemented on that platform (<rdar://problem/5021468>)
3254 * platform/ContextMenu.cpp:
3255 (WebCore::ContextMenu::populate): Wrap all instances of the dictionary
3256 menu item in #if PLATFORM(MAC).
3258 2007-02-24 Geoffrey Garen <ggaren@apple.com>
3260 Reviewed by Darin Adler.
3262 Fixed <rdar://problem/4987649> leaks in BidiRun::operator new seen while
3263 running WebKit unit tests
3265 In bidi.cpp, some functions allocate BidiRuns and put them in a global data
3266 structure, while others uses the BidiRuns in the global data structure.
3267 The caller is responsible for knowing which functions may allocate runs
3268 and which may use them, and calling deleteBidiRuns() at the appropriate time.
3270 The fix is to add some calls to deleteBidiRuns() where they were missing.
3272 I also added a BidiRun counter because these two leaks were introduced by
3273 our two bidi.cpp experts, so the odds that leaks will creep in again
3274 in the future seem pretty high.
3276 * rendering/bidi.cpp:
3277 (WebCore::RenderBlock::bidiReorderCharacters): Added missing call to
3279 (WebCore::BidiRunCounter::~BidiRunCounter):
3280 (WebCore::BidiRun::operator delete):
3281 (WebCore::RenderBlock::layoutInlineChildren): Added missing call to
3282 deleteBidiRuns(). Moved call to deleteBidiRuns() to same scope as call to
3283 bidiReorderLine(), to emphasize that they go together like new/delete.
3284 In theory, the old code was just as good, but I didn't want to rely on
3287 2007-02-24 David Harrison <harrison@apple.com>
3291 <rdar://problem/4961431> Image with empty string alt tag should be ignored
3293 * bridge/mac/WebCoreAXObject.mm:
3294 (-[WebCoreAXObject accessibilityIsIgnored]):
3295 Ignore img element that has an alt attribute, but that string is empty.
3297 2007-02-24 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
3299 Reviewed by Adam Roben.
3303 * platform/gdk/FrameGdk.cpp: only scroll on keydown, not both keydown and keyup.
3304 (WebCore::FrameGdk::keyPress):
3305 (WebCore::FrameGdk::handleGdkEvent):
3306 (WebCore::Frame::print):
3307 (WebCore::Frame::issueTransposeCommand):
3308 (WebCore::Frame::respondToChangedSelection):
3309 (WebCore::Frame::cleanupPlatformScriptObjects):
3310 (WebCore::Frame::dragImageForSelection):
3311 * platform/network/gdk/ResourceHandleManager.cpp: don't free memory that
3312 doesn't belong to us.
3313 (WebCore::ResourceHandleManager::downloadTimerCallback):
3315 2007-02-23 Kevin Decker <kdecker@apple.com>
3319 Fixed: <rdar://problem/4971226> REGRESSION: Replying to closed HTML mail message does not quote original body (12503)
3321 There were two problems here:
3323 * page/mac/WebCoreFrameBridge.mm:
3324 (+[WebCoreFrameBridge stringWithData:textEncodingName:]): The old code said "if there is no text encoding name than
3325 assume WindowsLatin1 (iso-8859-1) and try to decode that". That's not sufficient because it doesn't handle the fallback
3326 case for unknown encodings. This method will now attempt to decode using WindowsLatin1 for unknown encoding types.
3327 * platform/mac/mac-encodings.txt: Added the missing "macroman" encoding type.
3329 2007-02-23 Mitz Pettel <mitz@webkit.org>
3333 - fix http://bugs.webkit.org/show_bug.cgi?id=12856
3334 REGRESSION (r13685): Canceling the suggestion popup does not revert the change
3336 * editing/ReplaceSelectionCommand.cpp:
3337 (WebCore::ReplaceSelectionCommand::doApply): If the fragment to be inserted
3338 is empty, first delete the selection, and only then bail out.
3340 2007-02-23 Anders Carlsson <acarlsson@apple.com>
3344 <rdar://problem/5001923>
3345 REGRESSION: Crash when navigating forward from an error page in WebFrameLoaderClient::dispatchDidReceiveContentLength
3347 Fix an error that was introduced in revision r18541. We should check if the provisional document loader
3348 has an unreachable URL, not the actual document loader.
3350 * loader/FrameLoader.cpp:
3351 (WebCore::FrameLoader::updateHistoryForCommit):
3353 2007-02-23 Mitz Pettel <mitz@webkit.org>
3357 - fix http://bugs.webkit.org/show_bug.cgi?id=12823
3358 REGRESSION(r16968-16977): unable to prevent selection by cancelling "selectstart" event
3360 Test: fast/events/selectstart-during-autoscroll.html
3362 * rendering/RenderLayer.cpp:
3363 (WebCore::RenderLayer::autoscroll): Invoke the renderer's shouldSelect() --
3364 which dispatches the selection DOM event and gives it a chance to cancel
3365 the selection -- before updating the selection during autoscroll.
3367 2007-02-23 Oliver Hunt <oliver@apple.com>
3371 Fix for http://bugs.webkit.org/show_bug.cgi?id=12870
3373 It turns out short circuiting DragData::containsURL() was bad
3375 * manual-tests/directory-drop-on-view.html: Added.
3376 * platform/mac/DragDataMac.mm:
3377 (WebCore::DragData::containsURL):
3379 2007-02-23 Maciej Stachowiak <mjs@apple.com>
3383 - 12.5% speedup on BenchJS test 6
3384 Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866
3386 It turns out that calling documentVisibleRect on an NSScrollView is pretty expensive,
3387 and calling visibleRect even more so. Take measures to call them less often.
3389 * platform/mac/ScrollViewMac.mm:
3390 (WebCore::ScrollView::visibleContentRect): Use documentVisibleRect when possible.
3391 (WebCore::ScrollView::updateContents): Use visibleContentRect to be able to use
3392 documentVisibleRect when possible.
3393 * rendering/RenderView.cpp:
3394 (WebCore::RenderView::repaintViewRectangle): Don't get or intersect with viewRect
3395 if we don't have a parent frame, since the ScrollView will do that anyway. Also,
3396 don't get contentX and contentY separately since they are in the viewRect already.
3397 (WebCore::RenderView::viewRect): Use visibleContentRect instead of getting each
3398 coordinate individually, to avoid calling documentVisibleRect repeatedly.
3400 2007-02-23 Maciej Stachowiak <mjs@apple.com>
3404 - 2% speedup on BenchJS test 6
3405 Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866
3407 * css/CSSPrimitiveValue.cpp:
3408 (WebCore::CSSPrimitiveValue::cssText): Use format() instead of
3409 number() followed by append of a constant string.
3411 2007-02-22 George Staikos <staikos@kde.org>
3415 * platform/qt/ClipboardQt.cpp:
3416 (WebCore::ClipboardQt::ClipboardQt):
3418 2007-02-22 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
3420 Reviewed by Adam Roben, who never sleeps.
3422 To avoid code duplication, move notImplementedGdk() macro to a separate
3423 header file. Remove existing notImplementedGdk() macros and replace
3424 remaining notImplemented() to notImplementedGdk() in gdk code.
3426 * loader/gdk/DocumentLoaderGdk.cpp:
3427 (WebCore::DocumentLoader::getResponseModifiedHeader):
3428 * loader/gdk/FrameLoaderClientGdk.cpp:
3429 (WebCore::FrameLoaderClientGdk::hasWebView):
3430 (WebCore::FrameLoaderClientGdk::hasFrameView):
3431 * page/gdk/ContextMenuClientGdk.cpp:
3432 (WebCore::ContextMenuClientGdk::contextMenuDestroyed):
3433 (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems):
3434 (WebCore::ContextMenuClientGdk::contextMenuItemSelected):
3435 (WebCore::ContextMenuClientGdk::downloadURL):
3436 (WebCore::ContextMenuClientGdk::copyImageToClipboard):
3437 (WebCore::ContextMenuClientGdk::searchWithGoogle):
3438 (WebCore::ContextMenuClientGdk::lookUpInDictionary):
3439 (WebCore::ContextMenuClientGdk::speak):
3440 (WebCore::ContextMenuClientGdk::stopSpeaking):
3441 * page/gdk/EventHandlerGdk.cpp:
3442 * platform/gdk/CursorGdk.cpp:
3443 (WebCore::Cursor::Cursor):
3444 * platform/gdk/EditorClientGdk.cpp:
3445 * platform/gdk/NotImplementedGdk.h: Added.
3446 * platform/gdk/PopupMenuGdk.cpp:
3447 (WebCore::PopupMenu::PopupMenu):
3448 (WebCore::PopupMenu::~PopupMenu):
3449 (WebCore::PopupMenu::show):
3450 (WebCore::PopupMenu::hide):
3451 (WebCore::PopupMenu::updateFromElement):
3452 * platform/gdk/RenderThemeGdk.cpp:
3453 * platform/gdk/ScreenGdk.cpp:
3454 (WebCore::screenDepth):
3455 (WebCore::screenDepthPerComponent):
3456 (WebCore::screenIsMonochrome):
3457 (WebCore::screenRect):
3458 (WebCore::screenAvailableRect):
3459 * platform/gdk/TemporaryLinkStubs.cpp:
3460 * platform/graphics/gdk/ImageGdk.cpp:
3461 (WebCore::Image::drawPattern):
3462 * platform/network/gdk/ResourceHandleCurl.cpp:
3463 (WebCore::ResourceHandle::setDefersLoading):
3464 * platform/network/gdk/ResourceHandleManager.cpp:
3465 (WebCore::ResourceHandleManager::setupPUT):
3466 (WebCore::ResourceHandleManager::setupPOST):
3468 2007-02-22 Ian Eng <ian.eng.webkit@gmail.com>
3472 - Patch for http://bugs.webkit.org/show_bug.cgi?id=12850
3477 - http://bugs.webkit.org/show_bug.cgi?id=12853
3478 add a EventListener leak counter
3480 Problem: RemoveEventListener leaks memory if the listener is not
3482 Fix: Added Window::findJSEventListener function w/o creating a
3483 JSEventListener; Renamed getJSEventListener to findOrCreateJSEventListener;
3485 As an enhancement, added a leak counter for EventListeners.
3487 Added a test case, LayoutTests/fast/events/remove-event-listener.html.
3489 * WebCore/bindings/js/kjs_dom.cpp:
3490 * WebCore/bindings/js/kjs_window.h:
3491 * WebCore/bindings/js/kjs_window.cpp:
3492 * WebCore/bindings/js/kjs_event.cpp: Add a leak counter.
3493 * WebCore/bindings/js/JSXMLHttpRequest.cpp:
3494 * LayoutTests/fast/events/remove-event-listener.html:
3496 2007-02-22 Anders Carlsson <acarlsson@apple.com>
3500 <rdar://problem/4998203>
3501 REGRESSION: Back-forward list gets messed up when navigating to error pages with back-forward cache turned off
3503 * loader/FrameLoader.cpp:
3504 (WebCore::FrameLoader::load):
3505 Remove call to setPolicyDocumentLoader(), the policy document loader is set immediately after, and setting it before
3506 calling shouldReloadToHandleUnreachableURL causes us to get the wrong URL.
3508 (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
3509 Check if the unreachable URL is equal to the document loader's request.
3511 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3512 Check the provisional document loader's unreachable URL.
3514 2007-02-22 Justin Garcia <justin.garcia@apple.com>
3518 <rdar://problem/5007143>
3519 REGRESSION: WebKit doesn't remember horizontal position of caret when moving forward by line
3521 * editing/SelectionController.cpp:
3522 (WebCore::SelectionController::SelectionController): Initialize
3523 m_xPosForVerticalArrowNavigation.
3524 (WebCore::SelectionController::setSelection): Call the new setter.
3525 (WebCore::SelectionController::modifyMovingRightForward): For line
3526 and paragraph granularities, use the saved xPosForVerticalArrowNavigation
3527 even if the old selection was a range. Use the x position of the
3528 *start*, not the end of the selection if there is no saved
3529 xPosForVerticalArrowNavigation. This matches TextEdit's behavior.
3530 (WebCore::SelectionController::modifyMovingLeftBackward): For line
3531 and paragraph granularities, use the saved xPosForVerticalArrowNavigation
3532 even if the old selection was a range.
3533 (WebCore::SelectionController::modify): Preserve the xPosForVerticalArrowNavigation
3534 for line and paragraph granularities.
3535 (WebCore::SelectionController::xPosForVerticalArrowNavigation): Removed
3536 the recalc bool because it is now always false.
3537 (WebCore::SelectionController::setXPosForVerticalArrowNavigation): Added.
3538 * editing/SelectionController.h: Moved m_xPosForVerticalArrowNavigation
3540 * page/Frame.cpp: Moved m_xPosForVerticalArrowNavigation to SelectionController.
3541 * page/Frame.h: Ditto.
3542 * page/FramePrivate.h: Ditto.
3544 2007-02-22 Beth Dakin <bdakin@apple.com>
3546 Reviewed by Adam. Manual test added.
3548 Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION:
3549 Unable to prevent default context menu from appearing. <rdar://
3552 This problem appeared because of two facets of the current context
3553 menu design. First, all context menu events are now considered to&nb