1 2008-02-29 Adam Roben <aroben@apple.com>
5 * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
6 and the post-build event, and add page/win to each. Also let VS have
7 its way with the order of the files.
8 * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
9 * page/win/GlobalHistoryWin.cpp: Copied from
10 bridge/win/GlobalHistoryWin.cpp in r30673
12 2008-02-29 Anders Carlsson <andersca@apple.com>
16 * WebCore.xcodeproj/project.pbxproj:
18 2008-02-29 Mark Rowe <mrowe@apple.com>
20 Reviewed by Tim Hatcher.
24 * platform/graphics/mac/SimpleFontDataMac.mm:
25 (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
26 FMGetATSFontRefFromFont is not available.
28 2008-02-29 Mark Rowe <mrowe@apple.com>
30 Build fix. Only declare pathFromFont in debug builds as it is unused in release builds.
32 * platform/graphics/mac/SimpleFontDataMac.mm:
34 2008-02-29 Anders Carlsson <andersca@apple.com>
38 Copy the remaining files in bridge/ over to page/
40 * WebCore.vcproj/WebCore.vcproj:
41 * WebCore.xcodeproj/project.pbxproj:
43 * bridge/AXObjectCache.h: Removed.
44 * bridge/EditorClient.h: Removed.
45 * bridge/GlobalHistory.h: Removed.
46 * bridge/win: Removed.
47 * bridge/win/FrameCGWin.cpp: Removed.
48 * bridge/win/FrameCairoWin.cpp: Removed.
49 * bridge/win/FrameWin.cpp: Removed.
50 * bridge/win/FrameWin.h: Removed.
51 * bridge/win/GlobalHistoryWin.cpp: Removed.
52 * bridge/win/PageWin.cpp: Removed.
53 * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
54 * page/EditorClient.h: Copied from bridge/EditorClient.h.
55 * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
56 * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
57 * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
58 * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
59 * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
61 2008-02-29 Robert Blaut <webkit@blaut.biz>
63 Reviewed by Darin Adler.
65 - fix http://bugs.webkit.org/show_bug.cgi?id=17532
66 Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
68 Test: fast/html/link-rel-stylesheet.html
70 * html/HTMLLinkElement.cpp:
71 (WebCore::HTMLLinkElement::process):
73 2008-02-29 Mark Rowe <mrowe@apple.com>
75 Reviewed by Anders Carlsson.
77 Replace use of WKPathFromFont with implementation in terms of public API.
79 * WebCore.base.exp: Remove unused symbol.
80 * platform/graphics/mac/SimpleFontDataMac.mm:
81 (WebCore::initFontData):
82 (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
83 (WebCore::SimpleFontData::platformInit):
84 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
85 * platform/mac/WebCoreSystemInterface.mm: Ditto.
87 2008-02-29 Anders Carlsson <andersca@apple.com>
91 Move a bunch of files from bridge/mac to page/mac.
93 * WebCore.xcodeproj/project.pbxproj:
94 * bridge/mac: Removed.
95 * bridge/mac/AXObjectCacheMac.mm: Removed.
96 * bridge/mac/GlobalHistoryMac.mm: Removed.
97 * bridge/mac/WebCoreAXObject.h: Removed.
98 * bridge/mac/WebCoreAXObject.mm: Removed.
99 * bridge/mac/WebCoreScriptDebugger.h: Removed.
100 * bridge/mac/WebCoreScriptDebugger.mm: Removed.
101 * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
102 * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
103 * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
104 * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
105 * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
106 * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
108 2008-02-29 David Hyatt <hyatt@apple.com>
110 Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
111 guard malloc. Pass along the style selector so it can be accessed, since it has not yet
112 been assigned into the document's member variable.
116 * css/CSSStyleSelector.cpp:
117 (WebCore::CSSRuleSet::addRulesFromSheet):
118 * css/MediaQueryEvaluator.cpp:
119 (WebCore::MediaQueryEvaluator::eval):
120 * css/MediaQueryEvaluator.h:
122 2008-02-29 David Hyatt <hyatt@apple.com>
124 <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
126 Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
127 Be more precise in terms of what nodes we mark dirty.
131 * css/CSSStyleSelector.cpp:
132 (WebCore::CSSStyleSelector::checkSelector):
134 (WebCore::Element::recalcStyle):
135 (WebCore::checkForSiblingStyleChanges):
136 (WebCore::Element::childrenChanged):
137 (WebCore::Element::finishParsingChildren):
138 * rendering/RenderStyle.cpp:
139 (WebCore::RenderStyle::RenderStyle):
140 * rendering/RenderStyle.h:
141 (WebCore::RenderStyle::childrenAffectedByPositionalRules):
142 (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
143 (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
145 2008-02-29 Alexey Proskuryakov <ap@webkit.org>
149 <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
151 Test: http/tests/xmlhttprequest/status-after-abort.html
153 * xml/XMLHttpRequest.cpp:
154 (WebCore::XMLHttpRequest::getStatus):
155 (WebCore::XMLHttpRequest::getStatusText):
156 Changed to match Firefox more closely (IE just raises an exception in most of those cases).
158 2008-02-29 Dan Bernstein <mitz@apple.com>
160 Reviewed by Darin Adler.
162 - fix a bug where explicit embedding past the end of a line could
163 affect text that line
165 Test: fast/text/embed-at-end-of-pre-wrap-line.html
167 * rendering/bidi.cpp:
168 (WebCore::RenderBlock::skipWhitespace): Removed calls to
169 setAdjustEmbedding().
170 (WebCore::RenderBlock::findNextLineBreak): Added calls to
171 setAdjustEmbedding() around skipWhitespace() only where needed.
173 2008-02-29 Mark Rowe <mrowe@apple.com>
175 Reviewed by Oliver Hunt.
177 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
179 * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
180 * platform/mac/WebCoreSystemInterface.mm: Ditto.
181 * platform/network/mac/ResourceRequestMac.mm:
182 (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
183 * WebCore.Tiger.exp: Move Tiger-only symbol here.
186 2008-02-29 Mark Rowe <mrowe@apple.com>
188 Rubber-stamped by Eric Seidel.
190 Remove unneeded includes of WebCoreSystemInterface.h.
192 * loader/mac/LoaderNSURLExtras.m:
193 * page/mac/FrameMac.mm:
194 * page/mac/WebCoreFrameBridge.mm:
195 * platform/MIMETypeRegistry.cpp:
196 * platform/graphics/mac/ImageMac.mm:
197 * platform/mac/PasteboardMac.mm:
199 2008-02-29 Mark Rowe <mrowe@apple.com>
201 Reviewed by Oliver Hunt and Oliver Hunt.
203 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
205 * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
206 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
207 * platform/mac/WebCoreSystemInterface.mm: Ditto.
208 * WebCore.base.exp: Ditto.
210 2008-02-28 Mark Rowe <mrowe@apple.com>
212 Reviewed by Dave Hyatt.
214 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
216 * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger.
217 * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp.
219 * platform/graphics/mac/SimpleFontDataMac.mm:
220 (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard.
221 * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused.
222 * platform/mac/WebCoreSystemInterface.mm: Ditto.
224 2008-02-28 Matt Lilek <webkit@mattlilek.com>
226 Reviewed by Tim Hatcher.
228 Bug 16535: Stylesheets loaded with @import are not editable
229 http://bugs.webkit.org/show_bug.cgi?id=16535
230 <rdar://problem/5712899>
232 Sheets loaded using @import were incorrectly being flagged as non-editable
233 user agent sheets because their parent sheet doesn't have an ownerNode. We now
234 check to make sure sheets also don't have a href before restricting their editability.
236 * page/inspector/StylesSidebarPane.js:
238 2008-02-28 Rodney Dawes <dobey@wayofthemonkey.com>
240 Reviewed by Adam Roben.
242 Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
243 Add PluginPackage.cpp to build configurations.
244 Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
245 Use cross-platform pathGetFilename method.
246 Remove platform-specific code from shared PluginPackage implementation.
247 Remove shared code from PluginPackageWin.cpp.
251 * WebCoreSources.bkl:
252 * WebCore.vcproj/WebCore.vcproj:
253 * platform/gtk/TemporaryLinkStubs.cpp:
254 * platform/qt/TemporaryLinkStubs.cpp:
255 * platform/wx/TemporaryLinkStubs.cpp:
256 * plugins/PluginPackage.cpp:
257 * plugins/win/PluginPackageWin.cpp:
259 2008-02-28 Justin Garcia <justin.garcia@apple.com>
261 Reviewed by Darin Adler.
263 <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
265 Add a second style span at copy time to hold document default styles. This helps us
266 differentiate between those and user applied styles at paste time, where we'll want
267 to let Mail's Paste As Quotation blockquote override document default styles, but
270 * css/CSSComputedStyleDeclaration.cpp:
271 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used
272 for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that
273 are thick | medium | thin | <length>. Before, there was a mismatch between the unit
274 type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for
275 an element and that element's inlineStyleDecl(), causing identical values to always appear
277 * editing/ReplaceSelectionCommand.cpp:
278 (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change
279 the class to an empty string, completely remove it, it's no longer needed.
280 (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
281 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
282 Added, replaces removeRedundantStyles.
283 We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
284 unused code and renamed the function.
285 There won't be more than two style spans that we need to consider, the one with the
286 source document's default styles and styles on the commonAncestor of the copied Range,
287 so don't look for more than two.
288 Let elements that wrap the incoming fragment override the source document's styles.
289 (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
290 and call the renamed handleStyleSpans.
291 * editing/ReplaceSelectionCommand.h:
292 * editing/markup.cpp:
293 (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span
294 that holds user applied styles, since they'll be added to their own style span.
295 (WebCore::createMarkup):
296 Add a second style span that holds just the document defaults. This lets us differentiate
297 between those and user applied styles at paste time.
298 Mail blockquotes are just another type of special element, moved their handling there. This
299 also lets paste code make assumptions about the position of the two style spans (they are
300 *always* parent-child).
302 2008-02-28 Brent Fulgham <bfulgham@gmail.com>
304 http://bugs.webkit.org/show_bug.cgi?id=17576
305 Modify RenderThemeWin to use SOFT_LINK
307 Reviewed by Adam Roben.
309 * rendering/RenderThemeWin.h: Remove unneeded library handle
310 * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
311 rather than hand-coded load library calls.
313 2008-02-28 Dan Bernstein <mitz@apple.com>
315 Reviewed by Darin Adler.
317 - fix http://bugs.webkit.org/show_bug.cgi?id=17590
318 ASSERTION FAILED: subject in jsRegExpExecute()
320 * page/mac/FrameMac.mm:
321 (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
322 case the element name is empty.
324 2008-02-28 Justin Garcia <justin.garcia@apple.com>
326 Reviewed by Dan Bernstein
328 Small editing speed up.
331 (WebCore::Position::upstream): Don't check for a change in editability
332 if the current node hasn't changed.
333 (WebCore::Position::downstream): Ditto.
335 2008-02-27 Dan Bernstein <mitz@apple.com>
337 Reviewed by John Sullivan.
339 - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
341 Test: fast/text/soft-hyphen-2.html
343 * rendering/bidi.cpp:
344 (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
345 that if there are two midpoints at the given position, only the last one
348 2008-02-27 Dan Bernstein <mitz@apple.com>
350 Reviewed by Darin Adler.
352 - make centered text in right-to-left blocks spill over to the left
354 Test: fast/text/align-center-rtl-spill.html
356 * rendering/bidi.cpp:
357 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
359 2008-02-27 Dan Bernstein <mitz@apple.com>
361 Reviewed by Darin Adler.
363 - more bidi.cpp cleanup
365 * platform/text/BidiResolver.h:
366 (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
367 (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
369 (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
371 (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
372 destroy(), avoiding the need to specialize this method in BidiState.
373 * rendering/bidi.cpp:
374 (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
375 (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
376 (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
377 (WebCore::RenderBlock::createLineBoxes):
378 (WebCore::RenderBlock::constructLine):
379 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
380 (WebCore::RenderBlock::computeVerticalPositionsForLine):
381 (WebCore::buildCompactRuns):
382 (WebCore::RenderBlock::layoutInlineChildren):
383 (WebCore::RenderBlock::determineStartPosition):
384 (WebCore::RenderBlock::determineEndPosition):
385 (WebCore::RenderBlock::matchedEndLine):
386 (WebCore::skipNonBreakingSpace):
387 (WebCore::RenderBlock::skipWhitespace):
388 (WebCore::shouldSkipWhitespaceAfterStartObject):
390 (WebCore::BidiRun): Added m_ prefixes to several member variables.
392 2008-02-27 Sam Weinig <sam@webkit.org>
396 Fix for <rdar://problem/5768769>
398 - Don't allow cross-origin calls using window.functionName.call(otherFrame)
401 * bindings/js/JSLocation.cpp:
402 (WebCore::jsLocationProtoFuncToString): Do same-origin check.
403 * bindings/js/kjs_window.cpp:
404 (KJS::windowProtoFuncAToB): Ditto.
405 (KJS::windowProtoFuncBToA): Ditto.
406 (KJS::windowProtoFuncOpen): Ditto.
407 (KJS::windowProtoFuncClearTimeout): Ditto.
408 * bindings/scripts/CodeGeneratorJS.pm: Ditto.
410 2008-02-27 David Hyatt <hyatt@apple.com>
412 More cleanup in preparation for fixing the HTML5 spec performance regression.
414 Reviewed by Sam Weinig
417 (WebCore::Attr::childrenChanged):
419 * dom/ContainerNode.cpp:
420 (WebCore::ContainerNode::insertBefore):
421 (WebCore::ContainerNode::replaceChild):
422 (WebCore::ContainerNode::removeChild):
423 (WebCore::ContainerNode::removeChildren):
424 (WebCore::ContainerNode::appendChild):
425 (WebCore::ContainerNode::addChild):
426 (WebCore::ContainerNode::childrenChanged):
427 * dom/ContainerNode.h:
429 (WebCore::Document::childrenChanged):
432 (WebCore::Element::childrenChanged):
435 (WebCore::Node::childrenChanged):
436 * html/HTMLObjectElement.cpp:
437 (WebCore::HTMLObjectElement::childrenChanged):
438 * html/HTMLObjectElement.h:
439 * html/HTMLOptGroupElement.cpp:
440 (WebCore::HTMLOptGroupElement::childrenChanged):
441 * html/HTMLOptGroupElement.h:
442 * html/HTMLOptionElement.cpp:
443 (WebCore::HTMLOptionElement::childrenChanged):
444 * html/HTMLOptionElement.h:
445 * html/HTMLScriptElement.cpp:
446 (WebCore::HTMLScriptElement::childrenChanged):
447 * html/HTMLScriptElement.h:
448 * html/HTMLSelectElement.cpp:
449 (WebCore::HTMLSelectElement::childrenChanged):
450 * html/HTMLSelectElement.h:
451 * html/HTMLStyleElement.cpp:
452 (WebCore::HTMLStyleElement::childrenChanged):
453 * html/HTMLStyleElement.h:
454 * html/HTMLTextAreaElement.cpp:
455 (WebCore::HTMLTextAreaElement::childrenChanged):
456 * html/HTMLTextAreaElement.h:
457 * html/HTMLTitleElement.cpp:
458 (WebCore::HTMLTitleElement::childrenChanged):
459 * html/HTMLTitleElement.h:
460 * svg/SVGClipPathElement.cpp:
461 (WebCore::SVGClipPathElement::childrenChanged):
462 * svg/SVGClipPathElement.h:
463 * svg/SVGDefinitionSrcElement.cpp:
464 (WebCore::SVGDefinitionSrcElement::childrenChanged):
465 * svg/SVGDefinitionSrcElement.h:
466 * svg/SVGFontFaceElement.cpp:
467 (WebCore::SVGFontFaceElement::childrenChanged):
468 * svg/SVGFontFaceElement.h:
469 * svg/SVGFontFaceFormatElement.cpp:
470 (WebCore::SVGFontFaceFormatElement::childrenChanged):
471 * svg/SVGFontFaceFormatElement.h:
472 * svg/SVGFontFaceSrcElement.cpp:
473 (WebCore::SVGFontFaceSrcElement::childrenChanged):
474 * svg/SVGFontFaceSrcElement.h:
475 * svg/SVGFontFaceUriElement.cpp:
476 (WebCore::SVGFontFaceUriElement::childrenChanged):
477 * svg/SVGFontFaceUriElement.h:
478 * svg/SVGGElement.cpp:
479 (WebCore::SVGGElement::childrenChanged):
481 * svg/SVGGradientElement.cpp:
482 (WebCore::SVGGradientElement::childrenChanged):
483 * svg/SVGGradientElement.h:
484 * svg/SVGMarkerElement.cpp:
485 (WebCore::SVGMarkerElement::childrenChanged):
486 * svg/SVGMarkerElement.h:
487 * svg/SVGMaskElement.cpp:
488 (WebCore::SVGMaskElement::childrenChanged):
489 * svg/SVGMaskElement.h:
490 * svg/SVGPatternElement.cpp:
491 (WebCore::SVGPatternElement::childrenChanged):
492 * svg/SVGPatternElement.h:
493 * svg/SVGStyleElement.cpp:
494 (WebCore::SVGStyleElement::childrenChanged):
495 * svg/SVGStyleElement.h:
496 * svg/SVGStyledElement.cpp:
497 (WebCore::SVGStyledElement::childrenChanged):
498 * svg/SVGStyledElement.h:
499 * svg/SVGTitleElement.cpp:
500 (WebCore::SVGTitleElement::childrenChanged):
501 * svg/SVGTitleElement.h:
502 * svg/SVGUseElement.cpp:
503 (WebCore::SVGUseElement::childrenChanged):
504 * svg/SVGUseElement.h:
506 2008-02-27 Julien Chaffraix <julien.chaffraix@gmail.com>
510 http://bugs.webkit.org/show_bug.cgi?id=17481
511 Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
513 Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
515 * xml/XMLHttpRequest.cpp:
516 (WebCore::XMLHttpRequest::open):
518 2008-02-27 Sriram Neelakandan <sriram.neelakandan@gmail.com>
520 Reviewed, tweaked and landed by ap.
522 http://bugs.webkit.org/show_bug.cgi?id=17487
523 HTMLInput mysteriously fails to work if ICU dat file is missing
525 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
528 2008-02-27 Adam Roben <aroben@apple.com>
530 Windows build fix after r30616
532 * platform/win/ClipboardWin.cpp:
534 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
538 Small style cleanup, and obvious fix: SVGGElement reacted on
539 'clipPathUnits' changes, which is a funny copy&paste error.
541 * svg/SVGGElement.cpp:
542 (WebCore::SVGGElement::parseMappedAttribute):
543 (WebCore::SVGGElement::svgAttributeChanged):
544 (WebCore::SVGGElement::createRenderer):
546 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
550 Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
551 Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
553 * svg/SVGDefsElement.cpp:
554 (WebCore::SVGDefsElement::createRenderer):
555 * svg/SVGDefsElement.h:
556 * svg/SVGDescElement.h:
558 2008-02-26 Antti Koivisto <antti@apple.com>
562 Fix <rdar://problem/5761326>
563 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
565 Generate better code with VS:
566 - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
567 - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
568 - Add a separate version of the function for cases where error messages are not wanted
570 * bindings/js/JSDOMWindowCustom.cpp:
571 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
572 * bindings/js/kjs_window.cpp:
573 (KJS::Window::allowsAccessFrom):
574 (KJS::Window::allowsAccessFromNoErrorMessage):
575 (KJS::Window::allowsAccessFromPrivate):
576 (KJS::Window::crossDomainAccessErrorMessage):
577 * bindings/js/kjs_window.h:
579 2008-02-26 Sam Weinig <sam@webkit.org>
581 Reviewed by Dave Hyatt.
583 - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
587 * WebCore.vcproj/WebCore.vcproj:
588 * WebCore.xcodeproj/project.pbxproj:
589 * WebCoreSources.bkl:
590 * platform/ArrayImpl.cpp: Removed.
591 * platform/ArrayImpl.h: Removed.
592 * platform/DeprecatedArray.h: Removed.
593 * platform/DeprecatedCString.cpp: Removed.
594 * platform/DeprecatedCString.h: Removed.
595 * platform/text/CString.cpp:
596 (WebCore::CString::length):
597 * platform/text/CString.h:
599 2008-02-26 David Hyatt <hyatt@apple.com>
601 Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
603 Reviewed by Sam Weinig
606 (WebCore::Attr::childrenChanged):
607 * dom/ContainerNode.cpp:
608 (WebCore::ContainerNode::insertBefore):
609 (WebCore::ContainerNode::replaceChild):
610 (WebCore::ContainerNode::removeChild):
611 (WebCore::ContainerNode::removeChildren):
612 (WebCore::ContainerNode::appendChild):
613 (WebCore::ContainerNode::addChild):
614 (WebCore::ContainerNode::childrenChanged):
615 * dom/ContainerNode.h:
616 * dom/EventTargetNode.cpp:
617 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
618 * dom/EventTargetNode.h:
619 * dom/NamedAttrMap.cpp:
620 (WebCore::NamedAttrMap::addAttribute):
621 (WebCore::NamedAttrMap::removeAttribute):
623 2008-02-26 Darin Adler <darin@apple.com>
627 - remove use of DeprecatedCString from Windows pasteboard code
629 * platform/win/ClipboardUtilitiesWin.cpp:
630 (WebCore::createGlobalData): Added an overload for Vector<char>.
631 Streamlined the logic a bit.
632 (WebCore::append): Added. Helper functions for appending to a
634 (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
635 of DeprecatedCString. Also simplified the logic a bit and used
636 macros to handle the integer width.
637 (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
638 (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
639 * platform/win/ClipboardUtilitiesWin.h: Update type of return
640 value from markupToCF_HTML. Did a bit of streamlining too.
641 * platform/win/ClipboardWin.cpp:
642 (WebCore::writeURL): Update for above changes.
643 (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
644 (WebCore::ClipboardWin::writeRange): Ditto.
645 * platform/win/PasteboardWin.cpp:
646 (WebCore::Pasteboard::writeSelection): Ditto.
647 (WebCore::Pasteboard::writeURL): Ditto.
649 2008-02-26 Timothy Hatcher <timothy@apple.com>
651 Reviewed by Adam Roben.
653 <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
654 source list does not scroll when item at edge is reached (16572)
656 Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
657 we were using in utilities.js.
659 * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
660 * page/inspector/Resource.js: Ditto.
661 * page/inspector/inspector.js: Ditto.
662 * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
663 of scrollIntoView, so the source line is centered in the view if needed.
664 * page/inspector/utilities.js: Removed scrollToElement().
666 2008-02-26 David Hyatt <hyatt@apple.com>
670 http://bugs.webkit.org/show_bug.cgi?id=17485
672 Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
673 Fixes a regression on huffingtonpost.com.
675 New tests added to fast/inline
677 * rendering/InlineFlowBox.cpp:
678 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
679 (WebCore::InlineFlowBox::placeBoxesVertically):
680 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
681 * rendering/RenderFlow.cpp:
682 (WebCore::RenderFlow::calcMargins):
683 * rendering/RenderFlow.h:
684 * rendering/RenderObject.h:
685 (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
686 (WebCore::RenderObject::hasHorizontalBordersOrPadding):
687 * rendering/bidi.cpp:
688 (WebCore::getBorderPaddingMargin):
689 (WebCore::RenderBlock::layoutInlineChildren):
690 (WebCore::inlineFlowRequiresLineBox):
692 2008-02-26 Sam Weinig <sam@webkit.org>
696 * platform/text/PlatformString.h:
697 (WebCore::reverseFind):
699 2008-02-26 Dan Bernstein <mitz@apple.com>
701 Reviewed by Darin Adler.
703 - fix http://bugs.webkit.org/show_bug.cgi?id=17555
704 <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
706 Test: fast/dynamic/subtree-table-cell-height.html
708 * rendering/RenderObject.cpp:
709 (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
710 height depends on their contents even if the CSS height property is
713 2008-02-25 Sam Weinig <sam@webkit.org>
715 Reviewed by Dan Bernstein.
717 Make the cleanPath function in CSSStyleSelector more efficient by using
720 * css/CSSStyleSelector.cpp:
721 (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
722 of a String. Also remove unnecessary reverseFind call that could be acomplished
724 (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
726 * platform/text/PlatformString.h:
727 (WebCore::find): Make this find generic enough that it can be used for
729 (WebCore::reverseFind): Implement reverseFind so that it can be used
730 for with a UChar* and length.
731 * platform/text/StringImpl.cpp:
732 (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
733 (WebCore::StringImpl::reverseFind): Ditto,
735 2008-02-26 Satoshi Nakagawa <artension@gmail.com>
737 Reviewed by Darin. Tweaked and landed by Alexey.
739 http://bugs.webkit.org/show_bug.cgi?id=17411
740 Ideographic comma and full stop should be treated as line-breakable characters
742 Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
744 * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
745 * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
746 Unicode 5.0 that is causing this.
748 2008-02-26 MorganL <morganl.webkit@yahoo.com>
750 Reviewed by eseidel. Landed by eseidel
752 Fix improperly initialized m_isUpToDate member variable.
753 Fixs 50+ layout tests when run on Tiger.
754 http://bugs.webkit.org/show_bug.cgi?id=17549
756 * platform/network/cf/ResourceResponse.h:
757 (WebCore::ResourceResponse::ResourceResponse):
758 * platform/network/mac/ResourceResponse.h:
759 (WebCore::ResourceResponse::ResourceResponse):
761 2008-02-25 Dan Bernstein <mitz@apple.com>
763 Reviewed by Sam Weinig.
765 - fix http://bugs.webkit.org/show_bug.cgi?id=17152
766 Paragraphs indented with :first-letter and text-align CSS render incorrectly
768 Test: fast/text/apply-start-width-after-skipped-text.html
770 * rendering/bidi.cpp:
771 (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
772 to figure in the padding, border and margin before a text node when the
773 line begins inside a text node.
775 2008-02-25 Kevin Ollivier <kevino@theolliviers.com>
777 Windows build fix for wx port.
779 * loader/FTPDirectoryDocument.cpp:
781 2008-02-25 Mark Rowe <mrowe@apple.com>
785 * platform/network/cf/ResourceResponseCFNet.cpp:
786 (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp.
788 2008-02-25 Beth Dakin <bdakin@apple.com>
792 Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in
793 Document::removePendingSheet() from r30438
795 r30438 added a call to CachedResource::error() from inside
796 Loader::didReceiveData() if a CSS file 4xxs. There was an
797 assumption in the loader, though, that either error() would be
798 called, or didFinishLoading() would be called, so some work is
799 duplicated in each. Now that we are calling an error() on files
800 that will also make it to didFinishLoading() (since they succeeded
801 in the network layer), we need to make sure we do not duplicate the
802 work. CachedCSSStyleSheet::error() calls checkNotify, which ends up
803 decrementing the document's pending style sheet counter.
804 checkNotify() was still getting called, though, through the normal
805 didFinishLoading code path, and the counter was being decremented
809 (WebCore::Loader::didFinishLoading):
810 (WebCore::Loader::didReceiveData):
812 2008-02-25 Mark Rowe <mrowe@apple.com>
814 Fix the Gtk, wx and Qt builds.
816 * GNUmakefile.am: Add new files.
817 * WebCore.pro: Ditto.
818 * WebCoreSources.bkl: Ditto.
819 * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
821 2008-02-25 MorganL <morganl.webkit@yahoo.com>
823 Reviewed by Darin Adler.
825 Eliminate some #ifdefs from headers in platform/network.
826 http://bugs.webkit.org/show_bug.cgi?id=17210
830 * WebCore.vcproj/WebCore.vcproj:
831 * WebCore.xcodeproj/project.pbxproj:
832 * dom/XMLTokenizer.cpp:
833 * loader/ResourceLoader.h:
834 * platform/network/AuthenticationChallenge.cpp: Removed.
835 * platform/network/AuthenticationChallenge.h: Removed.
836 * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
837 (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
838 (WebCore::AuthenticationChallengeBase::previousFailureCount):
839 (WebCore::AuthenticationChallengeBase::proposedCredential):
840 (WebCore::AuthenticationChallengeBase::protectionSpace):
841 (WebCore::AuthenticationChallengeBase::failureResponse):
842 (WebCore::AuthenticationChallengeBase::error):
843 (WebCore::AuthenticationChallengeBase::isNull):
844 (WebCore::AuthenticationChallengeBase::nullify):
845 (WebCore::AuthenticationChallengeBase::compare):
846 * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
847 (WebCore::AuthenticationChallengeBase::platformCompare):
848 (WebCore::operator==):
849 (WebCore::operator!=):
850 * platform/network/ResourceError.cpp: Removed.
851 * platform/network/ResourceError.h: Removed.
852 * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
853 (WebCore::ResourceErrorBase::lazyInit):
854 (WebCore::ResourceErrorBase::compare):
855 * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
856 (WebCore::ResourceErrorBase::isNull):
857 (WebCore::ResourceErrorBase::domain):
858 (WebCore::ResourceErrorBase::errorCode):
859 (WebCore::ResourceErrorBase::failingURL):
860 (WebCore::ResourceErrorBase::localizedDescription):
861 (WebCore::ResourceErrorBase::ResourceErrorBase):
862 (WebCore::ResourceErrorBase::platformLazyInit):
863 (WebCore::ResourceErrorBase::platformCompare):
864 (WebCore::operator==):
865 * platform/network/ResourceResponseBase.cpp:
866 (WebCore::ResourceResponseBase::isHTTP):
867 (WebCore::ResourceResponseBase::url):
868 (WebCore::ResourceResponseBase::setUrl):
869 (WebCore::ResourceResponseBase::mimeType):
870 (WebCore::ResourceResponseBase::setMimeType):
871 (WebCore::ResourceResponseBase::expectedContentLength):
872 (WebCore::ResourceResponseBase::setExpectedContentLength):
873 (WebCore::ResourceResponseBase::textEncodingName):
874 (WebCore::ResourceResponseBase::setTextEncodingName):
875 (WebCore::ResourceResponseBase::suggestedFilename):
876 (WebCore::ResourceResponseBase::setSuggestedFilename):
877 (WebCore::ResourceResponseBase::httpStatusCode):
878 (WebCore::ResourceResponseBase::setHTTPStatusCode):
879 (WebCore::ResourceResponseBase::httpStatusText):
880 (WebCore::ResourceResponseBase::setHTTPStatusText):
881 (WebCore::ResourceResponseBase::httpHeaderField):
882 (WebCore::ResourceResponseBase::setHTTPHeaderField):
883 (WebCore::ResourceResponseBase::httpHeaderFields):
884 (WebCore::ResourceResponseBase::isAttachment):
885 (WebCore::ResourceResponseBase::setExpirationDate):
886 (WebCore::ResourceResponseBase::expirationDate):
887 (WebCore::ResourceResponseBase::setLastModifiedDate):
888 (WebCore::ResourceResponseBase::lastModifiedDate):
889 (WebCore::ResourceResponseBase::lazyInit):
890 (WebCore::ResourceResponseBase::compare):
891 * platform/network/ResourceResponseBase.h:
892 (WebCore::ResourceResponseBase::ResourceResponseBase):
893 (WebCore::ResourceResponseBase::platformLazyInit):
894 (WebCore::ResourceResponseBase::platformCompare):
895 (WebCore::operator==):
896 * platform/network/cf/AuthenticationCF.cpp:
897 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
898 (WebCore::AuthenticationChallenge::platformCompare):
899 * platform/network/cf/AuthenticationChallenge.h: Added.
900 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
901 (WebCore::AuthenticationChallenge::sourceHandle):
902 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
903 * platform/network/cf/ResourceError.h: Added.
904 (WebCore::ResourceError::ResourceError):
905 * platform/network/cf/ResourceErrorCF.cpp:
906 (WebCore::ResourceError::ResourceError):
907 (WebCore::ResourceError::platformLazyInit):
908 (WebCore::ResourceError::platformCompare):
909 (WebCore::ResourceError::operator CFStreamError):
910 * platform/network/cf/ResourceResponse.h:
911 (WebCore::ResourceResponse::ResourceResponse):
912 * platform/network/cf/ResourceResponseCFNet.cpp:
913 (WebCore::ResourceResponse::platformLazyInit):
914 * platform/network/curl/AuthenticationChallenge.h: Added.
915 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
916 * platform/network/curl/ResourceError.h: Added.
917 (WebCore::ResourceError::ResourceError):
918 * platform/network/curl/ResourceResponse.h:
919 (WebCore::ResourceResponse::ResourceResponse):
920 * platform/network/mac/AuthenticationChallenge.h: Added.
921 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
922 (WebCore::AuthenticationChallenge::sender):
923 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
924 * platform/network/mac/AuthenticationMac.mm:
925 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
926 (WebCore::AuthenticationChallenge::platformCompare):
927 * platform/network/mac/ResourceError.h: Added.
928 (WebCore::ResourceError::ResourceError):
929 * platform/network/mac/ResourceErrorMac.mm:
930 (WebCore::ResourceError::platformLazyInit):
931 (WebCore::ResourceError::platformCompare):
932 * platform/network/mac/ResourceResponse.h:
933 (WebCore::ResourceResponse::ResourceResponse):
934 * platform/network/mac/ResourceResponseMac.mm:
935 (WebCore::ResourceResponse::platformLazyInit):
936 (WebCore::ResourceResponse::platformCompare):
937 * platform/network/qt/AuthenticationChallenge.h: Added.
938 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
939 * platform/network/qt/ResourceError.h: Added.
940 (WebCore::ResourceError::ResourceError):
941 * platform/network/qt/ResourceResponse.h:
942 (WebCore::ResourceResponse::ResourceResponse):
943 * xml/XSLTProcessor.cpp:
945 2008-02-25 Anders Carlsson <andersca@apple.com>
949 Move remaining render style objects over to start with a refcount of 1 and get
950 rid of DeprecatedDataRef.
952 * rendering/DataRef.h:
953 (WebCore::DataRef::operator*):
954 (WebCore::DataRef::operator->):
955 * rendering/RenderStyle.h:
956 * rendering/SVGRenderStyle.cpp:
957 (WebCore::SVGRenderStyle::SVGRenderStyle):
958 * rendering/SVGRenderStyle.h:
959 (WebCore::SVGRenderStyle::create):
960 (WebCore::SVGRenderStyle::copy):
961 * rendering/SVGRenderStyleDefs.cpp:
962 (StyleFillData::StyleFillData):
963 (StyleStrokeData::StyleStrokeData):
964 (StyleStopData::StyleStopData):
965 (StyleTextData::StyleTextData):
966 (StyleClipData::StyleClipData):
967 (StyleMaskData::StyleMaskData):
968 (StyleMarkerData::StyleMarkerData):
969 (StyleMiscData::StyleMiscData):
970 * rendering/SVGRenderStyleDefs.h:
971 (WebCore::StyleFillData::create):
972 (WebCore::StyleFillData::copy):
973 (WebCore::StyleStrokeData::create):
974 (WebCore::StyleStrokeData::copy):
975 (WebCore::StyleStopData::create):
976 (WebCore::StyleStopData::copy):
977 (WebCore::StyleTextData::create):
978 (WebCore::StyleTextData::copy):
979 (WebCore::StyleClipData::create):
980 (WebCore::StyleClipData::copy):
981 (WebCore::StyleMaskData::create):
982 (WebCore::StyleMaskData::copy):
983 (WebCore::StyleMarkerData::create):
984 (WebCore::StyleMarkerData::copy):
985 (WebCore::StyleMiscData::create):
986 (WebCore::StyleMiscData::copy):
988 2008-02-25 Dan Bernstein <mitz@apple.com>
990 Reviewed by Dave Hyatt.
992 - remove file-static BidiRun variables from bidi.cpp
994 * platform/text/BidiResolver.h:
995 (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
996 (WebCore::BidiResolver::logicallyLastRun): Added.
997 (WebCore::BidiResolver::runCount): Made unsigned.
998 (WebCore::::reverseRuns): Changed ints to unsigned.
999 (WebCore::::createBidiRunsForLine): Made this function set
1001 * rendering/RenderBlock.h:
1002 * rendering/bidi.cpp:
1003 (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
1004 (WebCore::RenderBlock::constructLine): Removed unused start parameter
1005 and added run count and first and last run parameters. Replaced end
1006 parameter with lastLine boolean and endObject pointer.
1007 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
1008 and logically last run parameters.
1009 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
1011 (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
1013 (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
1014 accessors instead of file statics.
1016 2008-02-25 Rodney Dawes <dobey@wayofthemonkey.com>
1018 Reviewed by Jon Honeycutt.
1020 http://bugs.webkit.org/show_bug.cgi?id=16924
1021 Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
1023 Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
1024 Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
1025 Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
1026 Add new PluginDatabase.cpp to Windows build.
1027 Add temporary stubs for new PluginDatabase and PluginPackage.
1028 shared classes to GTK+, Qt, and Wx ports.
1029 Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
1030 Remove shared code from PluginDatabaseWin.cpp.
1031 Remove Windows-specific code from PluginDatabase.cpp.
1032 Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
1033 Remove extraneous PluginPackage:: from hash() class method prototype.
1034 Subsume storeFileVersion into PluginPackage::fetchInfo.
1035 Add cross-platform PlatformModuleVersion type definition.
1036 Use PlatformModuleVersion to store the module version.
1037 Rename m_fileVersion[ML]S to m_moduleVersion.
1038 Change compareFileVersion to use PlatformModuleVersion as the argument.
1039 Move PluginView::determineQuirks and m_quirks to PluginPackage.
1040 Updated determineQuirks for the PlatformModuleVersion.
1044 * WebCoreSources.bkl:
1046 * WebCore.vcproj/WebCore.vcproj:
1047 * Platform/FileSystem.h:
1048 * platform/qt/PlugInInfoStoreQt.cpp:
1049 * platform/gtk/TemporaryLinkStubs.cpp:
1050 * platform/qt/TemporaryLinkStubs.cpp:
1051 * platform/wx/TemporaryLinkStubs.cpp:
1052 * plugins/PluginDatabase.cpp:
1053 * plugins/PluginDatabase.h:
1054 * plugins/win/PluginDatabaseWin.cpp:
1055 * plugins/PluginPackage.h:
1056 * plugins/win/PluginPackageWin.cpp:
1057 * plugins/PluginView.h:
1058 * plugins/win/PluginViewWin.cpp:
1060 2008-02-25 Anders Carlsson <andersca@apple.com>
1064 Make more style objects start out with a refcount of 1.
1066 * rendering/RenderStyle.cpp:
1067 (WebCore::StyleSurroundData::StyleSurroundData):
1068 (WebCore::StyleBoxData::StyleBoxData):
1069 (WebCore::StyleVisualData::StyleVisualData):
1070 (WebCore::StyleBackgroundData::StyleBackgroundData):
1071 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1072 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1073 (WebCore::StyleInheritedData::StyleInheritedData):
1074 * rendering/RenderStyle.h:
1075 (WebCore::StyleSurroundData::create):
1076 (WebCore::StyleSurroundData::copy):
1077 (WebCore::StyleBoxData::create):
1078 (WebCore::StyleBoxData::copy):
1079 (WebCore::StyleVisualData::create):
1080 (WebCore::StyleVisualData::copy):
1081 (WebCore::StyleBackgroundData::create):
1082 (WebCore::StyleBackgroundData::copy):
1083 (WebCore::StyleBackgroundData::~StyleBackgroundData):
1084 (WebCore::StyleRareNonInheritedData::create):
1085 (WebCore::StyleRareNonInheritedData::copy):
1086 (WebCore::StyleRareInheritedData::create):
1087 (WebCore::StyleRareInheritedData::copy):
1088 (WebCore::StyleInheritedData::create):
1089 (WebCore::StyleInheritedData::copy):
1091 2008-02-25 Anders Carlsson <andersca@apple.com>
1095 Make some of the refcounted style objects start out with a refcount of 1.
1097 * rendering/DataRef.h:
1098 Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
1099 Change DataRef to use ::create() and ::copy() instead of the constructors.
1100 Change DataRef's pointer to be a RefPtr instead.
1102 * rendering/RenderStyle.cpp:
1103 (WebCore::StyleMarqueeData::StyleMarqueeData):
1104 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1105 (WebCore::StyleMultiColData::StyleMultiColData):
1106 (WebCore::StyleTransformData::StyleTransformData):
1107 Start with a RefCount of 1.
1109 * rendering/RenderStyle.h:
1110 * rendering/SVGRenderStyle.h:
1111 Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
1113 2008-02-25 Darin Adler <darin@apple.com>
1116 Based on a patch by Tim Steele <timsteele41@gmail.com>.
1118 - fix http://bugs.webkit.org/show_bug.cgi?id=17186
1119 Fragment navigation within a page permanently cancels meta refresh
1121 Test: fast/loader/meta-refresh-anchor-click.html
1123 * loader/FrameLoader.cpp:
1124 (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
1125 always do a real load. This makes sure that meta refresh loads are treated as real loads
1126 rather than anchor scrolls. Also tweaked formatting a bit.
1127 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
1128 an alternate way to complete a load, so it needs to start the redirection timer if
1129 redirection has already been scheduled.
1131 2008-02-25 Dan Bernstein <mitz@apple.com>
1133 Reviewed by Darin Adler.
1135 - avoid counting spaces in non-justified text
1137 * rendering/bidi.cpp:
1138 Removed file-static numSpaces.
1139 (WebCore::BidiState::addRun): Removed space counting.
1140 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
1141 counting, conditional on the block having the text-align: justify
1143 (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
1146 2008-02-25 Darin Adler <darin@apple.com>
1150 * platform/graphics/cg/ImageSourceCG.cpp:
1151 (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
1152 variable (because CFSTR is inefficient on Windows).
1154 2008-02-25 Darin Adler <darin@apple.com>
1158 * WebCore.base.exp: Export blankURL, and sort the file.
1160 2008-02-25 Simon Hausmann <hausmann@webkit.org>
1162 Reviewed by Mark Rowe.
1164 Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
1168 * editing/Selection.cpp:
1169 * editing/SelectionController.cpp:
1170 * editing/VisiblePosition.cpp:
1171 * history/HistoryItem.cpp:
1173 * loader/FTPDirectoryParser.cpp:
1174 * platform/KURL.cpp:
1175 * platform/gtk/FileSystemGtk.cpp:
1176 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1177 * platform/text/TextCodecLatin1.cpp:
1178 * platform/text/TextCodecUserDefined.cpp:
1179 * rendering/CounterNode.cpp:
1180 * rendering/RenderObject.cpp:
1182 2008-02-25 Johnny Ding <johnnyding.webkit@gmail.com>
1184 Reviewed by Darin Adler.
1186 - fix http://bugs.webkit.org/show_bug.cgi?id=17444
1188 In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
1189 whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
1190 and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
1191 to decide whether to save prependingSrc or not. The later behavior is not right
1192 because, in scriptHandler and scriptExecution, even the pendingScripts queue is
1193 empty, the testBit:LoadingExtScript might be TRUE.
1195 Test: fast/tokenizer/nested-multiple-scripts.html
1197 * html/HTMLTokenizer.cpp:
1198 (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
1199 checking state.loadingExtScript().
1200 (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
1201 checking state.loadingExtScript().
1203 2008-02-24 Darin Adler <darin@apple.com>
1205 * dom/Document.h: Removed stray duplicate declaration of
1206 RegisteredEventListenerList.
1208 2008-02-24 Darin Adler <darin@apple.com>
1211 (WebCore::Range::surroundContents): Removed incorrect comment.
1212 I added it a while ago, and I was just mixed up.
1214 2008-02-24 Darin Adler <darin@apple.com>
1216 - quick follow-up to that last check-in
1218 * platform/graphics/cg/ImageSourceCG.cpp:
1219 (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
1220 WebCore::String's == for speed.
1222 2008-02-24 Michael Knaup <michael.knaup@mac.com>
1226 Bug 8749: XBM rendered incorrectly as black on white
1228 xbm images are now created and rendered using black on a
1229 transparent background (same behavior as in Firefox)
1231 Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
1233 * platform/graphics/cg/ImageSourceCG.cpp:
1234 (WebCore::ImageSource::createFrameAtIndex):
1236 2008-02-24 Dan Bernstein <mitz@apple.com>
1238 Reviewed by Darin Adler.
1240 - fix http://bugs.webkit.org/show_bug.cgi?id=17471
1241 REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
1243 Test: http/tests/misc/object-image-error.html
1245 * html/HTMLObjectElement.cpp:
1246 (WebCore::HTMLObjectElement::attach): Added an early return in case
1247 updateFromElement() has changed the object to use fallback content.
1249 2008-02-24 Dan Bernstein <mitz@apple.com>
1251 Reviewed by Darin Adler.
1253 - fix float positioning when a float that does not fit on the line is
1254 followed by a float that does
1256 Test: fast/block/float/narrow-after-wide.html
1258 * rendering/bidi.cpp:
1259 (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
1260 more floats on the line once a float that does not fit is encountered.
1261 That float should be pushed to the next line, and so should all floats
1262 that follow, regardless of whether they can fit on the current line.
1264 2008-02-24 Darin Adler <darin@apple.com>
1268 - fix http://bugs.webkit.org/show_bug.cgi?id=16770
1269 Acid3 expects :visited styled links to restyle on iframe load
1271 Disentangle global history updating from the back/forward history.
1272 There are many cases where we don't want to create a new back/forward
1273 item, but we do still want to add to the global history (used for visited
1274 link coloring) in those cases.
1276 Test: fast/history/subframe-is-visited.html
1278 * loader/FrameLoader.cpp:
1279 (WebCore::FrameLoader::updateGlobalHistory): Renamed from
1280 addHistoryForCurrentLocation and removed the back/forward handling.
1281 (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
1282 bit. Replaced call to addHistoryForCurrentLocation with a call to
1283 addBackForwardItemClippedAtTarget. Added an unconditional call to
1284 updateGlobalHistory.
1285 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
1286 why doesn't this function update global history?
1287 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
1288 (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
1289 the client with a call to the new updateGlobalHistory function.
1290 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
1291 the same changes as for updateHistoryForStandardLoad.
1292 * loader/FrameLoader.h: More of the same.
1294 * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
1295 renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
1297 * svg/graphics/SVGImageEmptyClients.h:
1298 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
1301 2008-02-23 Darin Adler <darin@apple.com>
1305 - fix http://bugs.webkit.org/show_bug.cgi?id=17508
1306 REGRESSION (r30535): mailto regression tests failing
1308 * html/HTMLFormElement.cpp:
1309 (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
1310 trip through String do to the replace operation. It's inefficient, but there's
1311 no real reason to worry about the efficiency of mailto forms, since that feature
1314 2008-02-23 Darin Adler <darin@apple.com>
1318 - replace SegmentedString's use of DeprecatedValueList with Deque
1320 Testing indicates this is a slight speed-up for page loading.
1322 * platform/text/SegmentedString.cpp:
1323 (WebCore::SegmentedString::length): Update to use Deque.
1324 (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
1325 (WebCore::SegmentedString::append): Ditto.
1326 (WebCore::SegmentedString::prepend): Ditto.
1327 (WebCore::SegmentedString::advanceSubstring): Ditto.
1328 (WebCore::SegmentedString::toString): Ditto.
1329 * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
1330 class private with a single friend. Change m_sbstrings from a DeprecatedValueList
1333 2008-02-23 Darin Adler <darin@apple.com>
1337 - fix http://bugs.webkit.org/show_bug.cgi?id=17506
1338 REGRESSION (r30535): ASSERTION FAILED: i < size()
1340 * loader/TextResourceDecoder.cpp:
1341 (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
1344 2008-02-23 Matt Lilek <webkit@mattlilek.com>
1346 Not reviewed, build fix.
1348 * platform/network/cf/FormDataStreamCFNet.cpp:
1349 (WebCore::httpBodyFromRequest):
1350 * plugins/win/PluginViewWin.cpp:
1351 (WebCore::PluginView::handlePost):
1353 2008-02-23 Dan Bernstein <mitz@apple.com>
1357 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1358 (WebCore::GlyphPage::fill):
1359 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1360 (WebCore::GlyphPage::fill):
1362 2008-02-23 Dan Bernstein <mitz@apple.com>
1364 Reviewed by Anders Carlsson.
1366 - fix GlyphPage::fill() logic for partial page fills
1368 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1369 (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
1370 work correctly when the length parameter is less than a full page size.
1371 Also updated the comment.
1372 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1373 (WebCore::GlyphPage::fill): Ditto.
1375 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1377 Reviewed by Darin Adler.
1379 Move text drawing into wxcode, as we need platform-dependent
1380 APIs for drawing non-kerned text, which wx doesn't yet have.
1381 (But hopefully will, once these APIs are fleshed out on all
1384 http://bugs.webkit.org/show_bug.cgi?id=17396
1386 * platform/graphics/wx/FontWx.cpp:
1387 (WebCore::Font::drawGlyphs):
1388 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
1389 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
1390 * platform/wx/wxcode/non-kerned-drawing.h: Added.
1391 * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
1394 2008-02-23 Darin Adler <darin@apple.com>
1396 Pointed out by Mitz.
1398 * loader/TextResourceDecoder.cpp:
1399 (WebCore::find): Fix a "==" that was supposed to be ">".
1400 (WebCore::findIgnoringCase): Ditto.
1402 2008-02-23 Darin Adler <darin@apple.com>
1406 * html/HTMLFormElement.cpp:
1407 (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
1409 2008-02-23 Darin Adler <darin@apple.com>
1413 - remove all but 1 remaining use of DeprecatedCString
1414 - change FormData to start refcount at 1
1416 * html/HTMLFormElement.cpp:
1417 (WebCore::appendString): Added. Helpers for Vector<char>.
1418 (WebCore::appendEncodedString): Renamed from encodeCString and changed to
1419 append to an existing Vector<char> to cut down a bit on memory allocation.
1420 (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
1421 enc_string with a Vector<char> called encodedData. Change to use the new
1422 FormData::create function.
1423 (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
1425 * loader/TextResourceDecoder.cpp:
1426 (WebCore::find): Added. Helper for searching in char* with length.
1427 (WebCore::findIgnoringCase): Ditto.
1428 (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
1429 when we have a char* with length rather than a null-terminated char*.
1430 (WebCore::findXMLEncoding): Changed to use char* and length rather than
1431 DeprecatedCString. Also fixed some things that would be one-character
1432 buffer overruns in a string that's not null-terminated.
1433 (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
1434 findTextEncoding rather than constructing a CString to pass to the
1435 TextEncodingconstructor.
1436 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1438 * platform/network/FormData.cpp:
1439 (WebCore::FormData::FormData): Changed to start refcount at 1.
1440 (WebCore::FormData::create): Added.
1441 (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
1442 * platform/network/FormData.h: Made constructor private. Added create functions.
1444 * platform/network/mac/ResourceRequestMac.mm:
1445 (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
1446 * xml/XMLHttpRequest.cpp:
1447 (WebCore::XMLHttpRequest::send): Ditto.
1449 2008-02-23 Darin Adler <darin@apple.com>
1453 - http://bugs.webkit.org/show_bug.cgi?id=17067
1454 eliminate attributes parameter from JSObject::put for speed/clarity
1456 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1457 (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
1459 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1460 (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
1461 (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
1462 CanvasPixelArray object, for consistency with the getter. Removed attributes
1465 * bindings/js/JSDOMWindowCustom.cpp:
1466 (WebCore::JSDOMWindow::customPut): Removed special case for variable
1467 initialization, which is not needed since that does use put any more.
1468 Removed attributes argument.
1470 * bindings/js/JSEventTargetBase.h:
1471 (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
1472 (WebCore::JSEventTargetBase::put): Ditto.
1473 (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
1474 * bindings/js/JSEventTargetNode.cpp:
1475 (WebCore::JSEventTargetNode::put): Removed attributes argument.
1476 (WebCore::JSEventTargetNode::putValueProperty): Ditto.
1477 * bindings/js/JSEventTargetNode.h: Ditto.
1478 * bindings/js/JSHTMLAppletElementCustom.cpp:
1479 (WebCore::JSHTMLAppletElement::customPut): Ditto.
1480 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1481 (WebCore::JSHTMLEmbedElement::customPut): Ditto.
1482 * bindings/js/JSHTMLInputElementBase.cpp:
1483 (WebCore::JSHTMLInputElementBase::put): Ditto.
1484 (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
1485 * bindings/js/JSHTMLInputElementBase.h: Ditto.
1486 * bindings/js/JSHTMLObjectElementCustom.cpp:
1487 (WebCore::JSHTMLObjectElement::customPut): Ditto.
1488 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1489 (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
1490 * bindings/js/JSHTMLSelectElementCustom.cpp:
1491 (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1492 * bindings/js/JSHistoryCustom.cpp:
1493 (WebCore::JSHistory::customPut): Ditto.
1494 * bindings/js/JSLocation.cpp:
1495 (WebCore::JSLocation::put): Ditto.
1496 * bindings/js/JSLocation.h: Ditto.
1497 * bindings/js/JSXMLHttpRequest.cpp:
1498 (WebCore::JSXMLHttpRequest::put): Ditto.
1499 (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
1500 * bindings/js/JSXMLHttpRequest.h: Ditto.
1502 * bindings/js/kjs_dom.cpp:
1503 (WebCore::getRuntimeObject): Changed return type to JSObject*.
1504 * bindings/js/kjs_dom.h: Ditto.
1506 * bindings/js/kjs_events.cpp:
1507 (WebCore::JSClipboard::put): Removed attributes argument.
1508 (WebCore::JSClipboard::putValueProperty): Ditto.
1509 * bindings/js/kjs_events.h: Ditto.
1511 * bindings/js/kjs_html.cpp:
1512 (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
1513 return a JSObject. Used early exit idiom.
1514 (WebCore::runtimeObjectPropertyGetter): Ditto.
1515 (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
1516 (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
1517 that we should put with the property syntax instead of canPut.
1518 (WebCore::runtimeObjectImplementsCall): Ditto.
1519 (WebCore::runtimeObjectCallAsFunction): Ditto.
1520 * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
1522 * bindings/js/kjs_window.cpp:
1523 (KJS::Window::put): Removed attributes argument.
1524 * bindings/js/kjs_window.h: Ditto.
1526 * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
1527 putValueProperty, customPut, and indexSetter.
1529 * html/CanvasPixelArray.h:
1530 (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
1531 function. Before, the checking was done in the JavaScript bindings for set.
1533 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
1535 Reviewed by Adam and Darin.
1537 http://bugs.webkit.org/show_bug.cgi?id=17442
1538 Correct the Windows Cairo implementation of GraphicsContext so
1539 that Windows 'WorldTransform' is kept in sync with the Cairo
1542 Also corrects an uninitialized variable in the Cairo Windows
1545 WARNING: NO TEST CASES ADDED OR CHANGED
1547 * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify
1548 methods to call GraphicsContextPlatformPrivate calls, just
1549 as is done for the CoreGraphics version. These calls are
1550 nop's for everything but Windows.
1551 (WebCore::GraphicsContext::savePlatformState):
1552 (WebCore::GraphicsContext::restorePlatformState):
1553 (WebCore::GraphicsContext::clip):
1554 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1555 (WebCore::GraphicsContext::translate):
1556 (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
1557 (WebCore::GraphicsContext::beginTransparencyLayer):
1558 (WebCore::GraphicsContext::endTransparencyLayer):
1559 (WebCore::GraphicsContext::rotate):
1560 (WebCore::GraphicsContext::scale):
1561 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1562 * platform/graphics/win/GraphicsContextCGWin.cpp: Move common
1563 code for handling WorldTransform calls to parent class.
1564 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common
1565 code for handling WorldTransform calls.
1566 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change
1567 implementation so that it only handles WorldTransform. The
1568 Cairo update is done in GraphicsContextCairo.cpp
1569 * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private
1570 methods to keep WorldTransform in sync.
1571 (WebCore::GraphicsContextPlatformPrivate::save):
1572 (WebCore::GraphicsContextPlatformPrivate::restore):
1573 (WebCore::GraphicsContextPlatformPrivate::clip):
1574 (WebCore::GraphicsContextPlatformPrivate::scale):
1575 (WebCore::GraphicsContextPlatformPrivate::rotate):
1576 (WebCore::GraphicsContextPlatformPrivate::translate):
1577 * platform/win/DragImageCairoWin.cpp:
1578 (WebCore::createDragImageFromImage): Correct uninitialized value
1580 2008-02-23 Dan Bernstein <mitz@apple.com>
1582 Reviewed by Dave Hyatt.
1584 - make non-autowrapping text clear floats
1586 Test: fast/text/whitespace/nowrap-clear-float.html
1588 * rendering/RenderBlock.cpp:
1589 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
1590 this and changed to avoid comparing bottom to 0 in each iteration.
1591 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
1592 * rendering/RenderBlock.h:
1593 * rendering/bidi.cpp:
1594 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
1595 findNextLineBreak() and simplified.
1596 (WebCore::RenderBlock::findNextLineBreak): Changed to call
1597 fitBelowFloats(). Fixed the bug by trying to fit below floats in the
1598 case of non-wrapping text. Removed some redundancy.
1600 2008-02-23 Sam Weinig <sam@webkit.org>
1602 Reviewed by Oliver Hunt.
1604 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
1605 Speed up DOM lists array subscription syntax by using the fast
1606 getOwnPropertySlot and set paths
1608 - 6x speed improvement on Oliver's ImageData put test.
1610 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
1611 and put when an indexGetter or indexSetter is used. We can not use the fast
1612 path if an overridingNameGetter is used as there would be no way to override.
1614 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1616 wx build fix after JSImageData.cpp was added.
1618 * WebCoreSources.bkl:
1620 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1622 Windows build fix - move ThreadCondition implementation from WebCore to WTF.
1624 * WebCore.vcproj/WebCore.vcproj:
1625 * platform/win/ThreadConditionWin.cpp: Removed.
1627 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1631 Move basic threading support from WebCore to WTF.
1633 One call that remains in WebCore is callOnMainThread(), and it has its own header now.
1635 * ForwardingHeaders/wtf/Locker.h: Added.
1636 * ForwardingHeaders/wtf/MessageQueue.h: Added.
1637 * ForwardingHeaders/wtf/Threading.h: Added.
1640 * WebCore.vcproj/WebCore.vcproj:
1641 * WebCore.xcodeproj/project.pbxproj:
1642 * WebCoreSources.bkl:
1643 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1644 * dom/XMLTokenizer.cpp:
1645 * loader/icon/IconDatabase.cpp:
1646 (WebCore::iconDatabase):
1647 * loader/icon/IconDatabase.h:
1648 * platform/Locker.h: Removed.
1649 * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
1650 (WebCore::initializeThreadingAndMainThread):
1651 * platform/MessageQueue.h: Removed.
1652 * platform/SecurityOrigin.h:
1653 * platform/Threading.h: Removed.
1654 * platform/ThreadingNone.cpp: Removed.
1655 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
1656 * platform/gtk/ThreadingGtk.cpp: Removed.
1657 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
1658 * platform/mac/Threading.mm: Removed.
1659 * platform/pthreads: Removed.
1660 * platform/pthreads/ThreadingPthreads.cpp: Removed.
1661 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
1662 * platform/qt/ThreadingQt.cpp: Removed.
1663 * platform/sql/SQLValue.h:
1664 * platform/sql/SQLiteAuthorizer.h:
1665 * platform/sql/SQLiteDatabase.h:
1666 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
1667 (WebCore::initializeThreadingAndMainThread):
1668 * platform/win/MutexWin.cpp: Removed.
1669 * platform/win/ThreadingWin.cpp: Removed.
1670 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
1671 * platform/wx/ThreadingWx.cpp: Removed.
1672 * storage/Database.cpp:
1673 (WebCore::Database::Database):
1674 * storage/Database.h:
1675 * storage/DatabaseTask.h:
1676 * storage/DatabaseThread.h:
1677 * storage/DatabaseTracker.cpp:
1678 * storage/OriginQuotaManager.h:
1679 * storage/SQLError.h:
1680 * storage/SQLResultSet.h:
1681 * storage/SQLStatement.h:
1682 * storage/SQLStatementCallback.h:
1683 * storage/SQLStatementErrorCallback.h:
1684 * storage/SQLTransaction.h:
1685 * storage/SQLTransactionCallback.h:
1686 * storage/SQLTransactionErrorCallback.h:
1689 2008-02-23 David Kilzer <ddkilzer@apple.com>
1691 Please clarify licensing for some files
1692 <http://bugs.webkit.org/show_bug.cgi?id=14970>
1696 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
1697 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
1698 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
1700 2008-02-22 Justin Garcia <justin.garcia@apple.com>
1702 Reviewed by Anders Carlsson.
1704 <rdar://problem/5714333> Add document.getSelection()
1706 Add a synonym for window.getSelection() that FF supports. There were requests in
1707 this bugs dupes to also support the IE only document.selection, but IE's Selection
1708 object is too different than ours currently for that to be safe (specifically, we
1709 don't support enough of IE's TextRange methods on our DOM Range object yet). I
1710 filed <rdar://problem/5761233> to cover that.
1713 (WebCore::Document::getSelection): Added.
1715 * dom/Document.idl: Ditto. JS only since this is about web compatibility.
1717 2008-02-22 Oliver Hunt <oliver@apple.com>
1721 * WebCoreSources.bkl:
1723 2008-02-22 Oliver Hunt <oliver@apple.com>
1725 Once more with the cairo/qt/wx build fixing
1727 * platform/graphics/cairo/ImageBufferCairo.cpp:
1728 * platform/graphics/qt/ImageBufferQt.cpp:
1729 * platform/graphics/wx/ImageBufferWx.cpp:
1731 2008-02-22 Mark Rowe <mrowe@apple.com>
1733 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
1735 * platform/win/PasteboardWin.cpp:
1737 2008-02-22 Mark Rowe <mrowe@apple.com>
1739 Speculative Windows build fix.
1741 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
1742 * platform/win/ClipboardWin.cpp: Ditto.
1744 2008-02-22 Oliver Hunt <oliver@apple.com>
1746 Build fix for windows, wx and qt
1748 * html/CanvasPixelArray.h:
1749 (WebCore::CanvasPixelArray::set):
1751 2008-02-22 Oliver Hunt <oliver@apple.com>
1753 Unbreak windows vcproj
1755 * WebCore.vcproj/WebCore.vcproj:
1757 2008-02-22 Oliver Hunt <oliver@apple.com>
1761 Support Canvas.getImageData and Canvas.createImageData
1763 This patch adds support for all the pixel reading portions
1764 of the HTML5 Canvas spec. There are two new types ImageData
1765 and CanvasPixelArray which are used to provide the HTML5
1766 ImageData object, and the required semantics for assignment
1767 to the ImageData data array.
1769 We only implement the CG version of ImageBuffer::getImageData,
1770 but the logic is null safe, so this will not introduce any
1771 crashes into other platforms, unfortunately it will result in
1772 JS Object detection "lying" on non-CG platforms.
1774 Tests: fast/canvas/canvas-ImageData-behaviour.html
1775 fast/canvas/canvas-getImageData.html
1777 * DerivedSources.make:
1780 * WebCore.vcproj/WebCore.vcproj:
1781 * WebCore.xcodeproj/project.pbxproj:
1782 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
1783 (WebCore::JSCanvasPixelArray::indexGetter):
1784 (WebCore::JSCanvasPixelArray::indexSetter):
1786 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1787 * bindings/scripts/CodeGeneratorJS.pm:
1788 * html/CanvasPixelArray.cpp: Added.
1789 (WebCore::CanvasPixelArray::create):
1790 * html/CanvasPixelArray.h: Added.
1791 (WebCore::CanvasPixelArray::data):
1792 (WebCore::CanvasPixelArray::length):
1793 (WebCore::CanvasPixelArray::set):
1794 (WebCore::CanvasPixelArray::get):
1795 * html/CanvasPixelArray.idl: Added.
1796 * html/CanvasRenderingContext2D.cpp:
1797 (WebCore::createEmptyImageData):
1798 (WebCore::CanvasRenderingContext2D::createImageData):
1799 (WebCore::CanvasRenderingContext2D::getImageData):
1800 * html/CanvasRenderingContext2D.h:
1801 * html/CanvasRenderingContext2D.idl:
1802 * html/HTMLCanvasElement.cpp:
1803 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
1804 (WebCore::HTMLCanvasElement::createImageBuffer):
1805 * html/HTMLCanvasElement.h:
1806 * html/ImageData.cpp: Added.
1807 (WebCore::ImageData::create):
1808 (WebCore::ImageData::ImageData):
1809 * html/ImageData.h: Added.
1810 (WebCore::ImageData::width):
1811 (WebCore::ImageData::height):
1812 (WebCore::ImageData::data):
1813 * html/ImageData.idl: Added.
1814 * platform/graphics/ImageBuffer.h:
1815 * platform/graphics/cairo/ImageBufferCairo.cpp:
1816 (WebCore::ImageBuffer::getImageData):
1817 * platform/graphics/cg/ImageBufferCG.cpp:
1818 (WebCore::ImageBuffer::getImageData):
1819 * platform/graphics/qt/ImageBufferQt.cpp:
1820 (WebCore::ImageBuffer::getImageData):
1821 * platform/graphics/wx/ImageBufferWx.cpp:
1822 (WebCore::ImageBuffer::getImageData):
1824 2008-02-22 Sam Weinig <sam@webkit.org>
1826 Rubber-stamped by Adam Roben.
1828 Rid the project of the Devil known as DeprecatedString!
1833 * WebCore.vcproj/WebCore.vcproj:
1834 * WebCore.xcodeproj/project.pbxproj:
1835 * WebCoreSources.bkl:
1837 * html/HTMLFormElement.cpp:
1838 * platform/DeprecatedString.cpp: Removed.
1839 * platform/DeprecatedString.h: Removed.
1840 * platform/graphics/qt/IconQt.cpp:
1841 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1842 * platform/gtk/CookieJarGtk.cpp:
1843 * platform/gtk/CursorGtk.cpp:
1844 * platform/gtk/KeyEventGtk.cpp:
1845 * platform/mac/DeprecatedStringMac.mm: Removed.
1846 * platform/network/qt/ResourceHandleQt.cpp:
1847 * platform/network/win/CookieJarWin.cpp:
1849 * platform/qt/ClipboardQt.cpp:
1850 * platform/qt/CookieJarQt.cpp:
1851 * platform/qt/CursorQt.cpp:
1852 * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
1853 * platform/text/AtomicString.cpp:
1854 * platform/text/AtomicString.h:
1855 * platform/text/PlatformString.h:
1856 * platform/text/String.cpp:
1857 * platform/text/StringImpl.cpp:
1858 * platform/text/qt/StringQt.cpp:
1859 (WebCore::String::String):
1860 * platform/text/wx/StringWx.cpp:
1861 * platform/win/BString.cpp:
1862 * platform/win/BString.h:
1863 * platform/win/PasteboardWin.cpp:
1865 2008-02-22 Sam Weinig <sam@webkit.org>
1867 Reviewed by Geoff Garen.
1869 - Remove use of DeprecatedString in CSSStyleSelector.
1871 * css/CSSStyleSelector.cpp:
1872 (WebCore::findHash): Removed. Use find instead.
1873 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
1874 (WebCore::findSlashSlash): Ditto.
1875 (WebCore::findSlashDotSlash): Ditto.
1876 (WebCore::containsColonSlashSlash): Ditto.
1877 (WebCore::cleanPath): Change to operate on a String.
1878 (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
1880 2008-02-22 Geoffrey Garen <ggaren@apple.com>
1882 Reviewed by Sam Weinig.
1884 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
1885 associated objects @ www.viamichelin.it, which was probably an underlying
1886 cause of <rdar://problem/5744037> Gmail out of memory (17455)
1888 If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
1889 the XMLHttpRequest but think we hadn't, therefore never
1890 calling deref() / gcUnprotect().
1892 This could happen at gmail.com, since gmail.com attempts to send
1893 XMLHttpRequests from unload handlers in order to gather usage statistics.
1894 (According to comments in the code, SubresourceLoader::create returns
1895 NULL when called from an unload handler.)
1897 The solution is to ref() / gcProtect() only if SubresourceLoader::create
1898 doesn't return NULL. This make sense, since we only need to protect the
1899 request as long as it has an outstanding network transaction.
1901 * xml/XMLHttpRequest.cpp:
1902 (WebCore::XMLHttpRequest::XMLHttpRequest):
1903 (WebCore::XMLHttpRequest::send):
1905 2008-02-22 Darin Adler <darin@apple.com>
1907 Reviewed, tweaked and landed by Sam.
1909 - Make RegularExpression operate on Strings instead of DeprecatedStrings.
1911 * dom/DOMImplementation.cpp:
1912 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
1913 to build up the RegularExpression.
1915 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
1916 (WebCore::Frame::searchForLabelsAboveCell): Ditto.
1917 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1918 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1920 * page/mac/FrameMac.mm:
1921 (WebCore::regExpForLabels): Ditto.
1922 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
1923 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1924 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1926 * platform/text/RegularExpression.cpp:
1927 (WebCore::RegularExpression::Private::Private):
1928 (WebCore::RegularExpression::Private::compile):
1929 (WebCore::RegularExpression::RegularExpression):
1930 (WebCore::RegularExpression::operator=):
1931 (WebCore::RegularExpression::pattern):
1932 (WebCore::RegularExpression::match):
1933 (WebCore::RegularExpression::search):
1934 (WebCore::RegularExpression::searchRev):
1935 (WebCore::replace): Added.
1936 * platform/text/RegularExpression.h:
1937 Change functions to take Strings as input instead of DeprecatedStrings and
1938 reduce the complexity of the class by removing unneeded globbing support.
1940 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
1944 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
1945 during stress test (after only 5 min) - null dereference
1947 Full-frame plug-ins create PluginStream objects without loaders, as the
1948 PluginView receives the loading callbacks. We were trying to call
1949 setDefersLoading on these null pointers.
1951 * plugins/PluginStream.cpp:
1952 (WebCore::PluginStream::startStream): Add null check.
1953 (WebCore::PluginStream::destroyStream): Same.
1954 (WebCore::PluginStream::deliverData): Same.
1956 2008-02-22 Darin Adler <darin@apple.com>
1958 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
1960 - Remove uses of DeprecatedString in Windows plugin code.
1962 * plugins/win/PluginPackageWin.cpp:
1963 (WebCore::getVersionInfo): Cleanup formatting.
1964 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
1965 (WebCore::PluginPackage::storeFileVersion): Move casts.
1966 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
1968 (WebCore::PluginPackage::load): Fix whitespace.
1969 (WebCore::PluginPackage::hash): Make the hashCodes const
1970 * plugins/win/PluginViewWin.cpp:
1971 (WebCore::makeURL): Use String instead of DeprecatedString.
1972 (WebCore::parseRFC822HeaderFields): Ditto.
1973 (WebCore::PluginView::handlePost): Ditto.
1974 (WebCore::PluginView::status): Ditto.
1976 2008-02-22 Darin Adler <darin@apple.com>
1978 Reviewed, tweaked and landed by Sam.
1980 - Don't use DeprecatedString in HTMLTokenizer.
1982 * html/HTMLTokenizer.cpp:
1983 (WebCore::HTMLTokenizer::finish):
1984 * platform/text/PlatformString.h:
1987 2008-02-21 Sam Weinig <sam@webkit.org>
1989 Reviewed by Anders Carlsson.
1991 Fix for <rdar://problem/5757946>
1993 - Parse URLs before checking whether they are javascript: urls
1994 (which require security checks).
1996 * bindings/js/JSAttrCustom.cpp:
1997 (WebCore::JSAttr::setValue):
1998 * bindings/js/JSElementCustom.cpp:
1999 (WebCore::allowSettingSrcToJavascriptURL):
2000 * bindings/js/JSHTMLFrameElementCustom.cpp:
2001 (WebCore::allowSettingJavascriptURL):
2002 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2003 (WebCore::JSHTMLIFrameElement::setSrc):
2005 2008-02-21 Ada Chan <adachan@apple.com>
2007 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
2008 We could get a buffer overrun in DeprecatedCString::find() if the end of the
2009 string matches a beginning portion of the substring, for example, if string is
2010 "a" but the substring is "ab".
2011 The code as is also will not match things correctly under certain situations
2012 since the inner while loop increments the index. For example, we wouldn't find
2013 a match if the string is "aab..." and the substring is "ab". Changed the
2014 inner while loop to increment a temporary index into str.
2016 Test: fast/loader/charset-parse.html
2018 Reviewed by Dan Berstein.
2020 * platform/DeprecatedCString.cpp:
2021 (WebCore::DeprecatedCString::find):
2023 2008-02-21 David Hyatt <hyatt@apple.com>
2025 Fix for bug 17301. CSS media queries need to use the correct viewport
2026 when contained in documents inside iframes (rather than always using the
2027 top-level document's viewport). CSS media queries based on the viewport
2028 also needed to be dynamic and update as you resize the window (this is
2031 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
2035 Added fast/media/viewport-media-query.html
2037 * css/CSSStyleSelector.cpp:
2038 (WebCore::CSSStyleSelector::CSSStyleSelector):
2039 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
2040 (WebCore::CSSStyleSelector::affectedByViewportChange):
2041 * css/CSSStyleSelector.h:
2042 (WebCore::MediaQueryResult::MediaQueryResult):
2043 * css/MediaQueryEvaluator.cpp:
2044 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
2045 (WebCore::MediaQueryEvaluator):
2046 (WebCore::MediaQueryEvaluator::eval):
2047 (WebCore::colorMediaFeatureEval):
2048 (WebCore::monochromeMediaFeatureEval):
2049 (WebCore::device_aspect_ratioMediaFeatureEval):
2050 (WebCore::device_pixel_ratioMediaFeatureEval):
2051 (WebCore::gridMediaFeatureEval):
2052 (WebCore::device_heightMediaFeatureEval):
2053 (WebCore::device_widthMediaFeatureEval):
2054 (WebCore::heightMediaFeatureEval):
2055 (WebCore::widthMediaFeatureEval):
2056 (WebCore::min_colorMediaFeatureEval):
2057 (WebCore::max_colorMediaFeatureEval):
2058 (WebCore::min_monochromeMediaFeatureEval):
2059 (WebCore::max_monochromeMediaFeatureEval):
2060 (WebCore::min_device_aspect_ratioMediaFeatureEval):
2061 (WebCore::max_device_aspect_ratioMediaFeatureEval):
2062 (WebCore::min_device_pixel_ratioMediaFeatureEval):
2063 (WebCore::max_device_pixel_ratioMediaFeatureEval):
2064 (WebCore::min_heightMediaFeatureEval):
2065 (WebCore::max_heightMediaFeatureEval):
2066 (WebCore::min_widthMediaFeatureEval):
2067 (WebCore::max_widthMediaFeatureEval):
2068 (WebCore::min_device_heightMediaFeatureEval):
2069 (WebCore::max_device_heightMediaFeatureEval):
2070 (WebCore::min_device_widthMediaFeatureEval):
2071 (WebCore::max_device_widthMediaFeatureEval):
2072 * css/MediaQueryEvaluator.h:
2073 * css/MediaQueryExp.cpp:
2074 (WebCore::MediaQueryExp::~MediaQueryExp):
2075 * css/MediaQueryExp.h:
2076 (WebCore::MediaQueryExp::value):
2077 (WebCore::MediaQueryExp::isViewportDependent):
2078 * html/HTMLMediaElement.cpp:
2079 (WebCore::HTMLMediaElement::pickMedia):
2080 * page/FrameView.cpp:
2081 (WebCore::FrameView::layout):
2083 2008-02-21 Anders Carlsson <andersca@apple.com>
2087 Make more classes start out with a refcount of 1.
2089 * dom/QualifiedName.cpp:
2090 (WebCore::QNameComponentsTranslator::translate):
2091 (WebCore::QualifiedName::QualifiedName):
2092 * dom/QualifiedName.h:
2093 (WebCore::QualifiedName::QualifiedNameImpl::create):
2094 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2095 * history/BackForwardList.cpp:
2096 (WebCore::BackForwardList::BackForwardList):
2097 * history/BackForwardList.h:
2098 (WebCore::BackForwardList::create):
2100 (WebCore::Page::Page):
2101 * platform/text/CString.cpp:
2102 (WebCore::CString::init):
2103 (WebCore::CString::newUninitialized):
2104 (WebCore::CString::copyBufferIfNeeded):
2105 * platform/text/CString.h:
2106 (WebCore::CStringBuffer::create):
2107 (WebCore::CStringBuffer::CStringBuffer):
2109 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
2111 wx build fix for the domString() -> string() rename in r30443.
2113 * platform/graphics/wx/FontPlatformDataWx.cpp:
2114 (WebCore::FontPlatformData::FontPlatformData):
2116 2008-02-21 Antti Koivisto <antti@apple.com>
2118 Reviewed by Sam Weinig.
2120 <rdar://problem/5753789>
2121 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2123 Ensure all versions of allowsAccessFrom are inlined to single functions.
2124 This is a 2% win in browser hosted Sunspider.
2126 * bindings/js/kjs_window.cpp:
2127 (KJS::Window::allowsAccessFrom):
2128 (KJS::Window::allowsAccessFromPrivate):
2129 * bindings/js/kjs_window.h:
2131 2008-02-21 Dan Bernstein <mitz@apple.com>
2133 Reviewed by Sam Weinig.
2137 * rendering/bidi.cpp:
2138 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
2139 true for RenderLineBreak.
2140 (WebCore::bidiFirst): Ditto.
2141 (WebCore::shouldSkipWhitespaceAfterStartObject):
2142 (WebCore::RenderBlock::findNextLineBreak):
2144 2008-02-21 Geoffrey Garen <ggaren@apple.com>
2146 Reviewed by David Harrison.
2148 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
2149 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
2151 Test: fast/dom/script-element-without-frame-crash.html
2153 * html/HTMLTokenizer.cpp:
2154 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
2155 accidentally removed in r30325.
2157 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
2159 GTK+ build fix. s/domString()/string()/
2161 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2162 (FontPlatformData::FontPlatformData):
2164 2008-02-20 Dan Bernstein <mitz@apple.com>
2166 Reviewed by Dave Hyatt.
2168 - fix http://bugs.webkit.org/show_bug.cgi?id=17465
2169 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
2171 Test: fast/tokenizer/doctype-search-reset.html
2173 * html/HTMLTokenizer.cpp:
2174 (WebCore::HTMLTokenizer::parseTag):
2176 2008-02-20 Dan Bernstein <mitz@apple.com>
2178 Reviewed by Dave Hyatt.
2180 - fix http://bugs.webkit.org/show_bug.cgi?id=17464
2181 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
2183 Test: fast/text/wbr-in-pre-crash.html
2185 * rendering/bidi.cpp:
2186 (WebCore::RenderBlock::findNextLineBreak):
2188 2008-02-20 Oliver Hunt <oliver@apple.com>
2192 Bug 17303: Canvas crash in ImageBuffer
2194 We handle a null GraphicsContext everywhere, but we weren't checking for
2195 a null ImageBuffer, which is what will result in a null GraphicsContext in
2198 Test: fast/canvas/access-zero-sized-canvas.html
2200 * html/HTMLCanvasElement.cpp:
2202 2008-02-20 David Hyatt <hyatt@apple.com>
2204 Fix the layout test failure that never should have passed in the first
2205 place by making changes to media lists actually result in the recomputation
2206 of the style selector. Now it passes for the right reasons and not because
2209 Reviewed by Sam Weinig
2211 * css/MediaList.cpp:
2212 (WebCore::MediaList::deleteMedium):
2213 (WebCore::MediaList::setMediaText):
2214 (WebCore::MediaList::appendMedium):
2215 (WebCore::MediaList::notifyChanged):
2218 (WebCore::Document::attach):
2220 2008-02-20 Darin Adler <darin@apple.com>
2222 Reviewed, tweaked and landed by Sam.
2224 - make markup functions not use DeprecatedString.
2226 * editing/markup.cpp:
2227 (WebCore::append): Added.
2228 (WebCore::escapeContentText): Build up string using a Vector.
2229 (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
2231 2008-02-20 Darin Adler <darin@apple.com>
2233 Reviewed, tweaked and landed by Sam.
2235 - make TextIterator use a Vector instead of a DeprecatedString.
2237 * editing/TextIterator.cpp:
2238 (WebCore::CharacterIterator::string): Build up the String using a
2240 (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
2241 (WebCore::WordAwareIterator::length): Ditto.
2242 (WebCore::WordAwareIterator::characters): Ditto.
2243 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
2244 of DeprecatedString.
2246 2008-02-20 Darin Adler <darin@apple.com>
2248 Reviewed, tweaked and landed by Sam.
2250 - make HTMLInterchange return a String instead of a DeprecatedString
2252 * editing/HTMLInterchange.cpp:
2253 (WebCore::): Return a String from convertedSpaceString.
2254 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
2255 a DeprecatedString to build up the return String.
2256 * editing/HTMLInterchange.h:
2258 2008-02-20 Eric Seidel <eric@webkit.org>
2262 Remove m_drawingContext and change m_data to m_imageBuffer
2264 * html/HTMLCanvasElement.cpp:
2265 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2266 (WebCore::HTMLCanvasElement::reset):
2267 (WebCore::HTMLCanvasElement::paint):
2268 (WebCore::HTMLCanvasElement::createImageBuffer):
2269 (WebCore::HTMLCanvasElement::buffer):
2270 (WebCore::HTMLCanvasElement::createPlatformImage):
2271 * html/HTMLCanvasElement.h:
2273 2008-02-20 Anders Carlsson <andersca@apple.com>
2277 Rename AtomicString::domString() to AtomicString::string().
2279 * css/CSSComputedStyleDeclaration.cpp:
2280 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2281 * css/CSSFontSelector.cpp:
2282 (WebCore::CSSFontSelector::getFontData):
2284 (WebCore::Attr::createTextChild):
2286 (WebCore::Comment::nodeName):
2288 (WebCore::Document::recalcStyleSelector):
2289 (WebCore::Document::setHTMLWindowEventListener):
2290 (WebCore::Document::formElementsState):
2291 * dom/StyledElement.cpp:
2292 (WebCore::StyledElement::parseMappedAttribute):
2294 (WebCore::Text::nodeName):
2295 * editing/SelectionController.cpp:
2296 (WebCore::SelectionController::debugRenderer):
2297 * html/HTMLCollection.cpp:
2298 (WebCore::HTMLCollection::checkForNameMatch):
2299 * html/HTMLElement.cpp:
2300 (WebCore::HTMLElement::nodeName):
2301 (WebCore::HTMLElement::setHTMLEventListener):
2302 * html/HTMLFormCollection.cpp:
2303 (WebCore::HTMLFormCollection::getNamedFormItem):
2304 * html/HTMLImageElement.cpp:
2305 (WebCore::HTMLImageElement::parseMappedAttribute):
2306 (WebCore::HTMLImageElement::isURLAttribute):
2307 * html/HTMLLinkElement.cpp:
2308 (WebCore::HTMLLinkElement::parseMappedAttribute):
2309 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2310 * html/HTMLObjectElement.cpp:
2311 (WebCore::HTMLObjectElement::isURLAttribute):
2312 (WebCore::HTMLObjectElement::containsJavaApplet):
2313 * html/HTMLParamElement.cpp:
2314 (WebCore::HTMLParamElement::isURLAttribute):
2315 * html/HTMLParser.cpp:
2316 (WebCore::HTMLParser::handleIsindex):
2317 * html/HTMLScriptElement.cpp:
2318 (WebCore::HTMLScriptElement::insertedIntoDocument):
2319 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
2320 * html/HTMLStyleElement.cpp:
2321 (WebCore::HTMLStyleElement::parseMappedAttribute):
2322 * html/HTMLTokenizer.cpp:
2323 (WebCore::HTMLTokenizer::parseTag):
2324 * html/HTMLViewSourceDocument.cpp:
2325 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2326 * loader/FrameLoader.cpp:
2327 (WebCore::FrameLoader::saveDocumentState):
2328 * page/FrameTree.cpp:
2329 (WebCore::FrameTree::uniqueChildName):
2330 * platform/text/AtomicString.h:
2331 (WebCore::AtomicString::string):
2332 (WebCore::AtomicString::contains):
2333 (WebCore::AtomicString::find):
2334 (WebCore::AtomicString::startsWith):
2335 (WebCore::AtomicString::endsWith):
2336 * rendering/RenderPartObject.cpp:
2337 (WebCore::RenderPartObject::updateWidget):
2338 * svg/SVGElement.cpp:
2339 (WebCore::SVGElement::addSVGEventListener):
2340 * svg/SVGSVGElement.cpp:
2341 (WebCore::SVGSVGElement::addSVGWindowEventListener):
2342 * xml/XPathFunctions.cpp:
2343 (WebCore::XPath::FunLocalName::evaluate):
2344 (WebCore::XPath::FunNamespaceURI::evaluate):
2345 (WebCore::XPath::FunName::evaluate):
2347 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
2351 http://bugs.webkit.org/show_bug.cgi?id=17336
2352 Provide implementations for Windows (Cairo) build of WebKit that
2353 handles font formatting.
2354 - Split font implementation files to allow maximal code sharing
2355 between CG and Cairo back-ends.
2357 * WebCore.vcproj/WebCore.vcproj:
2358 * platform/graphics/SimpleFontData.h: Add signatures for private win
2359 initialization functions.
2360 * platform/graphics/win/FontCacheWin.cpp:
2361 (WebCore::FontCache::platformInit):
2362 (WebCore::FontCache::createFontPlatformData):
2363 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
2364 is now part of platform/graphics/cairo.
2365 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
2366 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
2367 (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
2368 (WebCore::releaseData):
2369 (WebCore::createFontCustomPlatformData):
2370 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
2371 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
2372 * platform/graphics/win/FontPlatformData.h:
2373 (WebCore::FontPlatformData::FontPlatformData):
2374 (WebCore::FontPlatformData::fontFace):
2375 (WebCore::FontPlatformData::scaledFont):
2376 (WebCore::FontPlatformData::operator==):
2377 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
2378 (WebCore::FontPlatformData::platformDataInit):
2379 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
2380 (WebCore::FontPlatformData::platformDataInit):
2381 (WebCore::FontPlatformData::FontPlatformData):
2382 (WebCore::FontPlatformData::setFont):
2383 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
2384 code to FontPlatformDataCG.cpp.
2385 (WebCore::FontPlatformData::FontPlatformData):
2386 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2387 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2388 (WebCore::GlyphPage::fill):
2389 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
2390 with CG- and Cairo-specific versions.
2391 * platform/graphics/win/SimpleFontDataCGWin.cpp:
2392 (WebCore::SimpleFontData::platformInit):
2393 (WebCore::SimpleFontData::platformDestroy):
2394 (WebCore::SimpleFontData::platformWidthForGlyph):
2395 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2396 (WebCore::SimpleFontData::platformInit):
2397 (WebCore::SimpleFontData::platformDestroy):
2398 (WebCore::SimpleFontData::platformWidthForGlyph):
2399 (WebCore::SimpleFontData::setFont):
2400 * platform/graphics/win/SimpleFontDataWin.cpp:
2401 (WebCore::SimpleFontData::initGDIFont):
2402 (WebCore::SimpleFontData::platformCommonDestroy):
2403 (WebCore::SimpleFontData::widthForGDIGlyph):
2405 2008-02-20 Darin Adler <darin@apple.com>
2409 * dom/Node.h: Took out unneeded forward declaration of TextStream.
2411 2008-02-20 Darin Adler <darin@apple.com>
2415 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
2417 2008-02-20 David Hyatt <hyatt@apple.com>
2419 Fix for bug 16760, incorrect <object> MIME type handling and fallback
2424 * html/HTMLImageLoader.cpp:
2425 (WebCore::HTMLImageLoader::notifyFinished):
2426 If the image had an error, make sure to do <object> fallback.
2428 * html/HTMLObjectElement.cpp:
2429 (WebCore::HTMLObjectElement::renderFallbackContent):
2430 Before doing fallback check if there is a MIME type mismatch between
2431 an image type and a non-image type. If so, detach and re-attach after
2432 storing the correct MIME type.
2434 * loader/loader.cpp:
2435 (WebCore::Loader::didReceiveData):
2436 Consider it an error when a 404 is encountered on a CachedResource load.
2438 2008-02-20 Anders Carlsson <andersca@apple.com>
2442 StringImpl constructors used by AtomicString should start with a refcount of 1.
2444 * platform/text/AtomicString.cpp:
2445 (WebCore::AtomicString::add):
2446 * platform/text/AtomicString.h:
2447 * platform/text/StringImpl.cpp:
2448 (WebCore::StringImpl::StringImpl):
2450 2008-02-20 Darin Adler <darin@apple.com>
2452 * bindings/js/kjs_navigator.cpp:
2453 (WebCore::needsYouTubeQuirk): Tweak comments.
2455 2008-02-20 Anders Carlsson <andersca@apple.com>
2459 Change all refcounted classes in page/ to start with a refcount of 1.
2462 (WebCore::BarInfo::BarInfo):
2464 (WebCore::BarInfo::create):
2466 (WebCore::Console::Console):
2468 (WebCore::Console::create):
2469 * page/DOMSelection.cpp:
2470 (WebCore::DOMSelection::DOMSelection):
2471 * page/DOMSelection.h:
2472 (WebCore::DOMSelection::create):
2473 * page/DOMWindow.cpp:
2474 (WebCore::DOMWindow::DOMWindow):
2475 (WebCore::DOMWindow::screen):
2476 (WebCore::DOMWindow::history):
2477 (WebCore::DOMWindow::locationbar):
2478 (WebCore::DOMWindow::menubar):
2479 (WebCore::DOMWindow::personalbar):
2480 (WebCore::DOMWindow::scrollbars):
2481 (WebCore::DOMWindow::statusbar):
2482 (WebCore::DOMWindow::toolbar):
2483 (WebCore::DOMWindow::console):
2484 (WebCore::DOMWindow::getSelection):
2486 (WebCore::DOMWindow::create):
2488 (WebCore::Frame::domWindow):
2490 (WebCore::History::History):
2492 (WebCore::History::create):
2493 * page/InspectorController.cpp:
2494 (WebCore::InspectorResource::create):
2495 (WebCore::InspectorResource::InspectorResource):
2496 (WebCore::InspectorDatabaseResource::create):
2497 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2498 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2499 (WebCore::InspectorController::identifierForInitialRequest):
2500 (WebCore::InspectorController::didOpenDatabase):
2502 (WebCore::Plugin::create):
2503 (WebCore::Plugin::Plugin):
2505 (WebCore::Screen::Screen):
2507 (WebCore::Screen::create):
2509 2008-02-20 Sam Weinig <sam@webkit.org>
2511 Reviewed by Darin and Geoff.
2513 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2515 * WebCore.base.exp: Updated.
2517 * bindings/js/kjs_navigator.cpp:
2518 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
2519 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
2520 return true, then return the empty string.
2522 * page/Settings.cpp:
2523 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
2524 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
2525 * page/Settings.h: Added m_needsSiteSpecificQuirks.
2526 (WebCore::Settings::needsSiteSpecificQuirks): Added.
2528 2008-02-20 David Hyatt <hyatt@apple.com>
2530 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
2532 Reviewed by Sam Weinig
2534 Many tests added in fast/doctypes.
2536 * dom/DOMImplementation.cpp:
2537 (WebCore::DOMImplementation::createDocument):
2538 (WebCore::DOMImplementation::createHTMLDocument):
2540 (WebCore::Document::Document):
2541 (WebCore::Document::setDocType):
2542 (WebCore::Document::attach):
2543 (WebCore::Document::getImageMap):
2545 (WebCore::Document::doctype):
2546 (WebCore::Document::):
2547 (WebCore::Document::determineParseMode):
2548 (WebCore::Document::setParseMode):
2549 (WebCore::Document::parseMode):
2550 (WebCore::Document::inCompatMode):
2551 (WebCore::Document::inAlmostStrictMode):
2552 (WebCore::Document::inStrictMode):
2553 * dom/DocumentType.cpp:
2554 (WebCore::DocumentType::cloneNode):
2555 (WebCore::DocumentType::insertedIntoDocument):
2556 (WebCore::DocumentType::removedFromDocument):
2557 * dom/DocumentType.h:
2559 (WebCore::Node::childAllowed):
2560 * dom/StyledElement.cpp:
2561 (WebCore::StyledElement::attributeChanged):
2562 * dom/XMLTokenizer.cpp:
2563 (WebCore::XMLTokenizer::internalSubset):
2565 * editing/markup.cpp:
2566 (WebCore::appendStartMarkup):
2567 * html/HTMLAppletElement.cpp:
2568 (WebCore::HTMLAppletElement::createRenderer):
2569 * html/HTMLDocument.cpp:
2570 (WebCore::HTMLDocument::HTMLDocument):
2571 (WebCore::HTMLDocument::childAllowed):
2572 (WebCore::HTMLDocument::determineParseMode):
2573 * html/HTMLDocument.h:
2574 * html/HTMLMapElement.cpp:
2575 (WebCore::HTMLMapElement::parseMappedAttribute):
2576 * html/HTMLParamElement.cpp:
2577 (WebCore::HTMLParamElement::parseMappedAttribute):
2578 * html/HTMLParser.cpp:
2579 (WebCore::HTMLParser::parseDoctypeToken):
2580 * html/HTMLParser.h:
2581 * html/HTMLTokenizer.cpp:
2582 (WebCore::HTMLTokenizer::reset):
2583 (WebCore::HTMLTokenizer::parseDoctype):
2584 (WebCore::HTMLTokenizer::parseTag):
2585 (WebCore::HTMLTokenizer::write):
2586 (WebCore::HTMLTokenizer::finish):
2587 (WebCore::HTMLTokenizer::processDoctypeToken):
2588 * html/HTMLTokenizer.h:
2590 (WebCore::DoctypeToken::DoctypeToken):
2591 (WebCore::DoctypeToken::reset):
2592 (WebCore::DoctypeToken::state):
2593 (WebCore::DoctypeToken::setState):
2594 (WebCore::HTMLTokenizer::State::inDoctype):
2595 (WebCore::HTMLTokenizer::State::setInDoctype):
2596 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
2597 (WebCore::HTMLTokenizer::State::):
2598 * html/HTMLViewSourceDocument.cpp:
2599 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2600 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
2601 * html/HTMLViewSourceDocument.h:
2602 * loader/FrameLoader.cpp:
2603 (WebCore::FrameLoader::write):
2604 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2606 (WebCore::Frame::documentTypeString):
2607 * page/inspector/utilities.js:
2608 * xml/XSLTProcessor.cpp:
2609 (WebCore::XSLTProcessor::createDocumentFromSource):
2611 2008-02-20 Anders Carlsson <andersca@apple.com>
2615 Change most SVG related classes to start out with a ref count of 1.
2617 * bindings/js/JSSVGPointListCustom.cpp:
2618 (WebCore::JSSVGPointList::initialize):
2619 (WebCore::JSSVGPointList::insertItemBefore):
2620 (WebCore::JSSVGPointList::replaceItem):
2621 (WebCore::JSSVGPointList::appendItem):
2622 * bindings/js/JSSVGTransformListCustom.cpp:
2623 (WebCore::JSSVGTransformList::initialize):
2624 (WebCore::JSSVGTransformList::insertItemBefore):
2625 (WebCore::JSSVGTransformList::replaceItem):
2626 (WebCore::JSSVGTransformList::appendItem):
2627 * rendering/SVGCharacterLayoutInfo.h:
2628 (WebCore::SVGCharOnPath::create):
2629 (WebCore::SVGCharOnPath::SVGCharOnPath):
2630 * rendering/SVGRootInlineBox.cpp:
2631 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2632 * svg/SVGAnimationElement.cpp:
2633 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2634 * svg/SVGClipPathElement.cpp:
2635 (WebCore::SVGClipPathElement::canvasResource):
2636 * svg/SVGElementInstance.cpp:
2637 (WebCore::SVGElementInstance::childNodes):
2638 * svg/SVGElementInstanceList.cpp:
2639 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2640 * svg/SVGElementInstanceList.h:
2641 (WebCore::SVGElementInstanceList::create):
2642 * svg/SVGFitToViewBox.cpp:
2643 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2644 * svg/SVGGradientElement.cpp:
2645 (WebCore::SVGGradientElement::SVGGradientElement):
2646 (WebCore::SVGGradientElement::canvasResource):
2647 * svg/SVGImageElement.cpp:
2648 (WebCore::SVGImageElement::SVGImageElement):
2649 * svg/SVGLengthList.h:
2650 (WebCore::SVGLengthList::create):
2652 (WebCore::SVGList::SVGList):
2653 (WebCore::SVGPODListItem::create):
2654 (WebCore::SVGPODListItem::copy):
2655 (WebCore::SVGPODListItem::SVGPODListItem):
2656 (WebCore::SVGPODList::initialize):
2657 (WebCore::SVGPODList::insertItemBefore):
2658 (WebCore::SVGPODList::replaceItem):
2659 (WebCore::SVGPODList::appendItem):
2660 (WebCore::SVGPODList::SVGPODList):
2661 * svg/SVGMarkerElement.cpp:
2662 (WebCore::SVGMarkerElement::canvasResource):
2663 * svg/SVGMaskElement.cpp:
2664 (WebCore::SVGMaskElement::canvasResource):
2665 * svg/SVGNumberList.h:
2666 (WebCore::SVGNumberList::create):
2667 * svg/SVGPathElement.cpp:
2668 (WebCore::SVGPathElement::createSVGPathSegClosePath):
2669 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2670 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2671 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2672 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2673 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2674 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2675 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2676 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2677 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2678 (WebCore::SVGPathElement::createSVGPathSegArcRel):
2679 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2680 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2681 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2682 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2683 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2684 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2685 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2686 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2687 (WebCore::SVGPathElement::pathSegList):
2688 * svg/SVGPathElement.h:
2690 (WebCore::SVGPathSeg::SVGPathSeg):
2691 * svg/SVGPathSegArc.h:
2692 (WebCore::SVGPathSegArcAbs::create):
2693 (WebCore::SVGPathSegArcRel::create):
2694 * svg/SVGPathSegClosePath.h:
2695 (WebCore::SVGPathSegClosePath::create):
2696 * svg/SVGPathSegCurvetoCubic.h:
2697 (WebCore::SVGPathSegCurvetoCubicAbs::create):
2698 (WebCore::SVGPathSegCurvetoCubicRel::create):
2699 * svg/SVGPathSegCurvetoCubicSmooth.h:
2700 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2701 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2702 * svg/SVGPathSegCurvetoQuadratic.h:
2703 (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2704 (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2705 * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2706 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2707 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2708 * svg/SVGPathSegLineto.h:
2709 (WebCore::SVGPathSegLinetoAbs::create):
2710 (WebCore::SVGPathSegLinetoRel::create):
2711 * svg/SVGPathSegLinetoHorizontal.h:
2712 (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2713 (WebCore::SVGPathSegLinetoHorizontalRel::create):
2714 * svg/SVGPathSegLinetoVertical.h:
2715 (WebCore::SVGPathSegLinetoVerticalAbs::create):
2716 (WebCore::SVGPathSegLinetoVerticalRel::create):
2717 * svg/SVGPathSegList.h:
2718 (WebCore::SVGPathSegList::create):
2719 * svg/SVGPathSegMoveto.h:
2720 (WebCore::SVGPathSegMovetoAbs::create):
2721 (WebCore::SVGPathSegMovetoRel::create):
2722 * svg/SVGPatternElement.cpp:
2723 (WebCore::SVGPatternElement::SVGPatternElement):
2724 (WebCore::SVGPatternElement::canvasResource):
2725 * svg/SVGPointList.h:
2726 (WebCore::SVGPointList::create):
2727 * svg/SVGPolyElement.cpp:
2728 (WebCore::SVGPolyElement::points):
2729 * svg/SVGPreserveAspectRatio.cpp:
2730 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2731 * svg/SVGPreserveAspectRatio.h:
2732 (WebCore::SVGPreserveAspectRatio::create):
2733 * svg/SVGRenderingIntent.h:
2734 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
2735 * svg/SVGStringList.h:
2736 (WebCore::SVGStringList::create):
2737 * svg/SVGStyledTransformableElement.cpp:
2738 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2740 (WebCore::SVGTests::requiredFeatures):
2741 (WebCore::SVGTests::requiredExtensions):
2742 (WebCore::SVGTests::systemLanguage):
2743 * svg/SVGTextElement.cpp:
2744 (WebCore::SVGTextElement::SVGTextElement):
2745 * svg/SVGTextPositioningElement.cpp:
2746 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2747 * svg/SVGTransformList.h:
2748 (WebCore::SVGTransformList::create):
2749 * svg/SVGUnitTypes.h:
2750 (WebCore::SVGUnitTypes::SVGUnitTypes):
2751 * svg/SVGViewElement.cpp:
2752 (WebCore::SVGViewElement::viewTarget):
2753 * svg/SVGViewSpec.cpp:
2754 (WebCore::SVGViewSpec::SVGViewSpec):
2755 * svg/graphics/SVGPaintServer.cpp:
2756 (WebCore::SVGPaintServer::sharedSolidPaintServer):
2757 * svg/graphics/SVGPaintServer.h:
2758 * svg/graphics/SVGPaintServerGradient.h:
2759 (WebCore::SVGPaintServerGradient::SharedStopCache::create):
2760 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
2761 * svg/graphics/SVGPaintServerLinearGradient.h:
2762 (WebCore::SVGPaintServerLinearGradient::create):
2763 * svg/graphics/SVGPaintServerPattern.h:
2764 (WebCore::SVGPaintServerPattern::create):
2765 * svg/graphics/SVGPaintServerRadialGradient.h:
2766 (WebCore::SVGPaintServerRadialGradient::create):
2767 * svg/graphics/SVGPaintServerSolid.h:
2768 (WebCore::SVGPaintServerSolid::create):
2769 * svg/graphics/SVGResource.cpp:
2770 (WebCore::SVGResource::SVGResource):
2771 * svg/graphics/SVGResource.h:
2772 * svg/graphics/SVGResourceClipper.h:
2773 (WebCore::SVGResourceClipper::create):
2774 * svg/graphics/SVGResourceMarker.h:
2775 (WebCore::SVGResourceMarker::create):
2776 * svg/graphics/SVGResourceMasker.h:
2777 (WebCore::SVGResourceMasker::create):
2778 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2779 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2781 2008-02-20 Darin Adler <darin@apple.com>
2785 - make conversion from CSS ParseString to String and AtomicString
2786 automatic and remove all the explicit calls to do the conversion
2788 - fix CSS parsing to do fewer allocations, mostly by using the
2789 equalIgnoringCase function in CSSParser
2791 * css/CSSGrammar.y: Take out all the explicit atomicString and
2792 domString calls now that ParseString knows how to convert itself.
2794 * css/CSSParser.cpp:
2795 (WebCore::equal): Added.
2796 (WebCore::equalIgnoringCase): Allow non-lettters.
2797 (WebCore::ParseString::lower): Used charactersAreAllASCII.
2798 (WebCore::unitFromString): Use equal.
2799 (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
2800 (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
2801 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
2802 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
2803 (WebCore::CSSParser::parseDashboardRegions): More of the same.
2804 (WebCore::CSSParser::parseCounterContent): Ditto.
2805 (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
2806 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
2807 (WebCore::CSSParser::parseFontFaceSrc): More.
2808 (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
2809 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
2810 handles the case folding.
2811 (WebCore::CSSParser::parseColorFromValue): More.
2812 (WebCore::CSSParser::parseBorderImage): More.
2813 (WebCore::CSSParser::parseCounter): More.
2814 (WebCore::TransformOperationInfo::TransformOperationInfo): More.
2815 (WebCore::CSSParser::parseTransform): More.
2816 (WebCore::CSSParser::createCharsetRule): More.
2817 (WebCore::CSSParser::createImportRule): More.
2819 * css/CSSParser.h: Removed domString and atomicString functions.
2820 (WebCore::ParseString::operator String): Added. Allows conversion to String
2821 without an explicit function call.
2822 (WebCore::ParseString::operator AtomicString): Ditto.
2824 * css/MediaQueryExp.cpp:
2825 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
2826 * css/SVGCSSParser.cpp:
2827 (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
2829 * platform/graphics/Color.cpp:
2830 (WebCore::findNamedColor): Call toASCIILower on each character as we copy
2831 it into the 8-bit character buffer to make the operation fold case.
2833 2008-02-20 Justin Garcia <justin.garcia@apple.com>
2835 Reviewed by Darin Adler.
2837 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2839 * editing/DeleteSelectionCommand.cpp:
2840 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
2841 is where there are no special elements. Avoid creating VisiblePositions in
2842 that case. Additionally, this change postpones the more expensive creation
2843 of an upstream VisiblePosition until the last possible moment.
2844 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2845 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
2846 early return for a common case: deleting characters that are all inside the
2847 same text node. In that case the style at the start of the selection will
2848 not change during the delete, so there is no need to save/recompute it.
2849 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
2850 before VisiblePosition creation if the ends of the selection aren't enclosed
2852 * editing/TypingCommand.cpp:
2853 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
2854 checking isn't enabled.
2856 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2858 Incorporates some improvements made by Dan Bernstein.
2862 http://bugs.webkit.org/show_bug.cgi?id=17106
2863 <rdar://problem/5750722> Debug build ASSERTs on page load
2865 Test: fast/encoding/GBK/close-gbk-converter.html
2867 * platform/text/TextCodecICU.cpp:
2868 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
2869 are only four values.
2870 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
2871 getting an escape character if it's not UCNV_UNASSIGNED.
2872 (WebCore::gbkCallbackSubstitute): Ditto.
2874 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2878 * xml/XMLHttpRequest.cpp:
2879 (WebCore::isSafeRequestHeader):
2880 (WebCore::XMLHttpRequest::setRequestHeader):
2882 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2886 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
2888 Cannot be tested in DRT.
2890 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
2891 local files can also set any headers.
2893 2008-02-19 Darin Adler <darin@apple.com>
2897 - removed use of DeprecatedString for font family names
2899 * css/CSSFontSelector.cpp:
2900 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
2901 * css/CSSParser.cpp:
2902 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
2903 function and String rather than DeprecatedString.
2904 * css/CSSStyleSelector.cpp:
2905 (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
2906 * css/FontFamilyValue.cpp:
2907 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
2908 expression with code that does the same thing more efficiently.
2909 (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
2910 (WebCore::FontFamilyValue::cssText): Updated for name change.
2911 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
2912 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
2913 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
2914 be private instead of public.
2916 2008-02-19 Darin Adler <darin@apple.com>
2918 - fix build when SVG is not enabled
2920 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
2922 2008-02-19 Anders Carlsson <andersca@apple.com>
2926 Change all classes in xml/ to start out with a ref count of 1.
2928 * bindings/js/JSCustomXPathNSResolver.h:
2929 * bindings/js/JSXMLHttpRequest.cpp:
2930 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
2931 * bindings/js/JSXSLTProcessor.cpp:
2932 (WebCore::JSXSLTProcessor::JSXSLTProcessor):
2933 * bindings/objc/DOMCustomXPathNSResolver.h:
2934 (WebCore::DOMCustomXPathNSResolver::create):
2935 * bindings/scripts/CodeGeneratorJS.pm:
2936 * bindings/scripts/CodeGeneratorObjC.pm:
2938 (WebCore::Document::applyXSLTransform):
2939 (WebCore::Document::createExpression):
2940 (WebCore::Document::createNSResolver):
2941 (WebCore::Document::evaluate):
2943 (WebCore::DOMParser::create):
2944 (WebCore::DOMParser::DOMParser):
2945 * xml/NativeXPathNSResolver.h:
2946 (WebCore::NativeXPathNSResolver::create):
2947 * xml/XMLHttpRequest.cpp:
2948 (WebCore::XMLHttpRequest::XMLHttpRequest):
2949 * xml/XMLHttpRequest.h:
2950 (WebCore::XMLHttpRequest::create):
2951 * xml/XMLSerializer.h:
2952 (WebCore::XMLSerializer::create):
2953 (WebCore::XMLSerializer::XMLSerializer):
2954 * xml/XPathEvaluator.cpp:
2955 (WebCore::XPathEvaluator::createNSResolver):
2956 * xml/XPathEvaluator.h:
2957 (WebCore::XPathEvaluator::create):
2958 (WebCore::XPathEvaluator::XPathEvaluator):
2959 * xml/XPathExpression.cpp:
2960 (WebCore::XPathExpression::createExpression):
2961 (WebCore::XPathExpression::evaluate):
2962 * xml/XPathExpression.h:
2963 (WebCore::XPathExpression::create):
2964 (WebCore::XPathExpression::XPathExpression):
2965 * xml/XPathNSResolver.h:
2966 * xml/XPathResult.cpp:
2967 (WebCore::XPathResult::XPathResult):
2968 * xml/XPathResult.h:
2969 (WebCore::XPathResult::create):
2970 * xml/XPathValue.cpp:
2971 (WebCore::XPath::Value::modifiableNodeSet):
2973 (WebCore::XPath::ValueData::create):
2974 (WebCore::XPath::ValueData::ValueData):
2975 (WebCore::XPath::Value::Value):
2976 * xml/XSLTProcessor.h:
2977 (WebCore::XSLTProcessor::create):
2978 (WebCore::XSLTProcessor::XSLTProcessor):
2980 2008-02-19 Darin Adler <darin@apple.com>
2984 - Trimmed down TextStream and weaned it from DeprecatedString.
2986 * page/mac/WebCoreFrameBridge.mm:
2987 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
2988 Removed now-unneeded call to getNSString.
2990 * platform/text/TextStream.cpp: Removed unused functions.
2991 Use snprintf instead of sprintf, for better security.
2992 (WebCore::TextStream::release): Added.
2993 * platform/text/TextStream.h: Removed lots of unneeded stuff.
2995 * rendering/RenderTreeAsText.cpp:
2996 (WebCore::externalRepresentation): Changed to use String instead
2997 of DeprecatedString.
2998 * rendering/RenderTreeAsText.h: Ditto.
3000 * rendering/SVGRenderTreeAsText.cpp:
3001 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
3002 (WebCore::write): Ditto.
3003 (WebCore::writeRenderResources): Ditto.
3005 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3007 Reviewed by Darin Adler.
3009 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
3011 This brings performance on the phone back to old levels. Andre and I are doing
3012 some formal testing to see exactly where we stand.
3015 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
3016 without the expensive editability checks. upstream and downstream can avoid
3017 those because they do their own editability checking.
3018 (WebCore::Position::upstream):
3019 (WebCore::Position::downstream):
3021 2008-02-19 Chris Fleizach <cfleizach@apple.com>
3025 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
3027 * bridge/mac/WebCoreAXObject.mm:
3028 (-[WebCoreAXObject linkedUIElement]):
3029 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
3031 (-[WebCoreAXObject accessibilityAttributeNames]):
3032 (-[WebCoreAXObject accessibilityAttributeValue:]):
3033 Support NSAccessibilityLinkedUIElementsAttribute.
3035 2008-02-19 Darin Adler <darin@apple.com>
3039 - Removed old debugging aids, Node::dump, RenderObject::dump, and
3040 RenderObject::information, that used DeprecatedString.
3042 * dom/CharacterData.cpp: Removed override of Node::dump.
3043 * dom/CharacterData.h: Ditto.
3044 * dom/Element.cpp: Ditto.
3045 * dom/Element.h: Ditto.
3046 * dom/EventTargetNode.cpp: Ditto.
3047 * dom/EventTargetNode.h: Ditto.
3048 * dom/Node.cpp: Removed Node::dump.
3049 * dom/Node.h: Ditto.
3051 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
3052 * rendering/RenderBlock.h: Ditto.
3053 * rendering/RenderFrameSet.cpp: Ditto.
3054 * rendering/RenderFrameSet.h: Ditto.
3055 * rendering/RenderObject.cpp: Removed RenderObject::dump and
3056 RenderObject::information.
3057 * rendering/RenderObject.h: Ditto.
3058 * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
3059 * rendering/RenderTable.h: Ditto.
3060 * rendering/RenderTableCell.cpp: Ditto.
3061 * rendering/RenderTableCell.h: Ditto.
3062 * rendering/RenderTableCol.cpp: Ditto.
3063 * rendering/RenderTableCol.h: Ditto.
3064 * rendering/RenderTableSection.cpp: Ditto.
3065 * rendering/RenderTableSection.h: Ditto.
3067 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
3068 and added forward declarations as appropriate.
3070 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
3071 * svg/graphics/SVGResourceClipper.cpp: And here.
3072 * svg/graphics/SVGResourceFilter.cpp: Ditto.
3073 * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
3074 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
3075 * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
3076 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
3077 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
3078 * svg/graphics/filters/SVGFEImage.cpp: Ditto.
3079 * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
3080 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
3081 * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
3082 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
3083 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
3084 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
3086 2008-02-19 Beth Dakin <bdakin@apple.com>
3090 Fix for <rdar://problem/5729674> Seed: Crash in
3091 RenderButton::setStyle at http://www.dinorpg.com
3093 Inputs should not honor first-letter.
3095 * rendering/RenderBlock.cpp:
3096 (WebCore::RenderBlock::updateFirstLetter):
3098 2008-02-19 Dan Bernstein <mitz@apple.com>
3100 Reviewed by Darin Adler.
3102 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
3104 Test: fast/text/wbr-styled.html
3106 Changed RenderWordBreak to inherit from RenderText instead of
3109 * rendering/RenderBlock.cpp:
3110 (WebCore::RenderBlock::calcInlinePrefWidths):
3111 * rendering/RenderFlow.h:
3112 * rendering/RenderText.cpp:
3113 (WebCore::RenderText::renderName):
3114 (WebCore::RenderText::isTextFragment):
3115 (WebCore::RenderText::isWordBreak):
3116 * rendering/RenderText.h:
3117 * rendering/RenderWordBreak.cpp:
3118 (WebCore::RenderWordBreak::RenderWordBreak):
3119 * rendering/RenderWordBreak.h:
3120 * rendering/bidi.cpp:
3121 (WebCore::RenderBlock::findNextLineBreak):
3123 2008-02-19 Anders Carlsson <andersca@apple.com>
3128 * loader/mac/LoaderNSURLExtras.h:
3129 * loader/mac/LoaderNSURLExtras.m:
3130 Move unused functions to WebKit (where they are used)
3132 (vectorContainsString):
3133 Use const references.
3135 * platform/mac/WebCoreSystemInterface.h:
3136 * platform/mac/WebCoreSystemInterface.mm:
3137 Remove wkNSURLProtocolClassForReqest.
3139 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3141 Reviewed by Darin Adler.
3143 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
3145 These changes bring deleting performance back to old levels on the phone
3146 except for deleting the first space to the right of a word, which we are
3150 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
3151 if we have left the original enclosing block or entered a new one, and avoid
3152 rootEditableElement for determining if we have changed editability. These
3153 operations are expensive.
3154 (WebCore::Position::downstream): Ditto.
3156 2008-02-19 Darin Adler <darin@apple.com>
3158 Rubber stamped by Anders.
3160 - removed explicit initialization to 1 for RefCounted; that's now the default
3162 * loader/ResourceLoader.cpp:
3163 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
3164 * platform/network/ResourceHandle.cpp:
3165 (WebCore::ResourceHandle::ResourceHandle): Ditto.
3166 * platform/text/StringImpl.cpp:
3167 (WebCore::StringImpl::StringImpl): Ditto.
3169 2008-02-18 Anders Carlsson <andersca@apple.com>
3173 Make ResourceLoader and ResourceHandle start out with a refcount of 1.
3175 * loader/MainResourceLoader.cpp:
3176 (WebCore::MainResourceLoader::create):
3177 * loader/NetscapePlugInStreamLoader.cpp:
3178 (WebCore::NetscapePlugInStreamLoader::create):
3179 * loader/ResourceLoader.cpp:
3180 (WebCore::ResourceLoader::ResourceLoader):
3181 * loader/SubresourceLoader.cpp:
3182 (WebCore::SubresourceLoader::create):
3183 * platform/network/ResourceHandle.cpp:
3184 (WebCore::ResourceHandle::ResourceHandle):
3185 (WebCore::ResourceHandle::create):
3187 2008-02-19 Alp Toker <alp@atoker.com>
3189 Reviewed by Mark Rowe.
3191 http://bugs.webkit.org/show_bug.cgi?id=16863
3192 [GTK] tab focusing doesn't work
3194 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3197 Use GDK_META_MASK where available, otherwise do not support the meta
3198 key. This matches the behaviour of other applications.
3200 Also add a comment noting that the platform event constructors need to
3201 be kept in sync (it's not obvious that there are multiple places that
3202 check the key state).
3204 * platform/gtk/KeyEventGtk.cpp:
3205 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3206 * platform/gtk/MouseEventGtk.cpp:
3207 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3208 * platform/gtk/WheelEventGtk.cpp:
3209 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3211 2008-02-18 Brady Eidson <beidson@apple.com>
3213 Reviewed by Sam Weinig's white rhino tusk stamp
3215 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
3217 * platform/sql/SQLiteTransaction.cpp:
3218 (WebCore::SQLiteTransaction::stop):
3220 2008-02-18 Brady Eidson <beidson@apple.com>
3224 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
3226 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
3228 * bindings/objc/WebScriptObject.mm:
3229 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
3230 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
3231 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
3232 JSLock in two individual scopes - Right before the exception and right after.
3234 2008-02-18 Darin Adler <darin@apple.com>
3238 - reduce use of DeprecatedString and memory allocations in processing of CSS
3239 - remove unnecessary double -> float -> double trip in the CSS parser
3240 - cleaned up names and structure in CSS grammar
3242 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
3243 instead, and they now work on ParseString and String objects and don't require the caller
3244 to put the string into a char*. Gave members of the %union more sensible names, removed
3245 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
3247 * css/CSSParser.cpp:
3248 (WebCore::equalIgnoringCase): Added.
3249 (WebCore::hasPrefix): Added.
3250 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
3251 which obviates the need to call lower() and utf8() or to allocate memory at all. Also
3252 used equalIgnoringCase rather than putting the value into a String just to compare it.
3253 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
3254 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
3255 affects the result of one layout test.
3256 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
3257 without allocating any memory.
3258 (WebCore::cssValueKeywordID): Ditto.
3259 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
3260 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
3262 * css/CSSStyleDeclaration.cpp:
3263 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
3264 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
3265 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
3266 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
3267 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
3268 (WebCore::CSSStyleDeclaration::setProperty): Ditto.
3269 (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
3270 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
3271 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
3272 and the getPropertyID function declaration along with its associated apology comment.
3274 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
3275 enumeration, like properties, since you rarely have any reason to handle all values, but
3276 often have a reason to handle all properties). Renamed the constant for the number of CSS
3277 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
3279 * platform/text/String.cpp:
3280 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
3281 rather than a CString.
3283 2008-02-18 Dan Bernstein <mitz@apple.com>
3285 Reviewed by Dave Hyatt.
3287 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
3289 Test: fast/css/font-face-multiple-remote-sources.html
3291 * css/CSSFontFace.cpp:
3292 (WebCore::CSSFontFace::fontLoaded):
3293 * css/CSSSegmentedFontFace.cpp:
3294 (WebCore::CSSSegmentedFontFace::fontLoaded):
3296 2008-02-18 Darin Adler <darin@apple.com>
3300 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3301 (WebCore::hasCSSPropertyNamePrefix): Added.
3302 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
3303 by using a Vector<UChar> and eliminating all the string operations.
3305 2008-02-18 Stephanie Lewis <slewis@apple.com>
3309 Remove workaround for <rdar://problem/5695848>.
3311 * platform/network/cf/ResourceResponseCFNet.cpp:
3312 (WebCore::ResourceResponse::doUpdateResourceResponse):
3314 2008-02-18 Samuel Weinig <sam@webkit.org>
3316 Reviewed by Geoff Garen.
3318 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
3319 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
3321 * bindings/js/kjs_proxy.cpp:
3322 (WebCore::KJSProxy::initScript):
3324 2008-02-18 Alp Toker <alp@atoker.com>
3326 Reviewed by Mark Rowe.
3328 http://bugs.webkit.org/show_bug.cgi?id=17381
3329 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
3331 This patch resolves the regression for the GTK+ port.
3333 * platform/network/curl/ResourceHandleManager.cpp:
3334 (WebCore::parseDataUrl):
3336 2008-02-18 Darin Adler <darin@apple.com>
3340 * platform/network/win/ResourceHandleWin.cpp:
3341 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
3342 (WebCore::ResourceHandle::start): Ditto.
3344 2008-02-18 Darin Adler <darin@apple.com>
3348 * platform/network/win/CookieJarWin.cpp:
3349 (WebCore::setCookies): Use String instead of DeprecatedString.
3350 (WebCore::cookies): Ditto.
3352 2008-02-18 Darin Adler <darin@apple.com>
3356 - removed use of DeprecatedString in the Color class
3358 * platform/graphics/Color.cpp:
3359 (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
3360 Used toASCIIHexValue a character at a time rather than using toIntStrict
3362 (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
3363 a color using the gperf-generated findColor function. Saves a memory allocation
3364 vs. the old version that called DeprecatedString::latin1().
3365 (WebCore::Color::setNamedColor): Changed to use findNamedColor.
3367 2008-02-18 Darin Adler <darin@apple.com>
3371 * editing/htmlediting.cpp:
3372 (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
3375 2008-02-18 Darin Adler <darin@apple.com>
3379 * editing/SelectionController.cpp:
3380 (WebCore::SelectionController::debugRenderer): Changed to use String instead of
3383 2008-02-18 Darin Adler <darin@apple.com>
3385 Reviewed and landed by Sam.
3387 Remove DeprecatedStringList.
3391 * WebCore.vcproj/WebCore.vcproj:
3392 * WebCore.xcodeproj/project.pbxproj:
3393 * WebCoreSources.bkl:
3394 * editing/markup.cpp:
3395 * platform/DeprecatedStringList.cpp: Removed.
3396 * platform/DeprecatedStringList.h: Removed.
3397 * platform/mac/DeprecatedStringListMac.mm: Removed.
3399 2008-02-18 Darin Adler <darin@apple.com>
3403 * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
3404 This will ease the way some day if we decide to use an enum instead of int; otherwise
3405 we'll have a ton of "unhandled enum value" warnings here.
3407 2008-02-18 Alp Toker <alp@atoker.com>
3409 Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
3410 with older GTK+ versions for now.
3412 * platform/gtk/PasteboardGtk.cpp:
3413 (WebCore::Pasteboard::writeSelection):
3415 2008-02-18 Darin Adler <darin@apple.com>
3419 * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
3420 in the future in WebKit.
3422 2008-02-18 Darin Adler <darin@apple.com>
3426 * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
3427 for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
3428 files would not be regenerated if the scripts were changed (but would if SVG was
3431 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3435 * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
3436 conversion via UString (as in bug 17418).
3438 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com>
3442 <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
3443 slow script Flash 9 dialog at http://www.kidzui.com
3445 When navigating to a new page, we stop all outstanding PluginStreams.
3446 Flash hangs in the call to NPP_URLNotify. It eventually displays the
3447 "slow script" dialog, which relinquishes control to the system. While
3448 this dialog is running, the request we are in the process of cancelling
3449 completes, and we re-enter Flash to deliver the data. When the dialog
3450 is dismissed, the internal state of Flash has changed, and Flash
3451 crashes with a null dereference.
3453 To work around this, we can defer loading before entering plug-in code,
3454 so that even if a plug-in yields to the system, we won't get callbacks
3455 while we're handling a callback.
3457 * plugins/PluginStream.cpp:
3458 (WebCore::PluginStream::startStream): Defers loads while calling into
3460 (WebCore::PluginStream::destroyStream): Same.
3461 (WebCore::PluginStream::deliverData): Same.
3462 (WebCore::PluginStream::didFail): Protect 'this' from deletion by
3463 destroyStream. Null out m_loader only after destroyStream returns.
3464 (WebCore::PluginStream::didFinishLoading): Same.
3466 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3470 http://bugs.webkit.org/show_bug.cgi?id=17418
3471 REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
3473 * platform/win/ClipboardWin.cpp:
3474 (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
3475 as an implicit conversion uses UString and thus needs a JSLock.
3477 2008-02-17 Sam Weinig <sam@webkit.org>
3481 * loader/FrameLoader.cpp:
3482 (WebCore::FrameLoader::changeLocation):
3484 2008-02-17 Sam Weinig <sam@webkit.org>
3488 * WebCore.xcodeproj/project.pbxproj:
3490 2008-02-17 Alp Toker <alp@atoker.com>
3492 Attempt to fix the Wx build (has been broken all weekend).
3494 Stub out some graphics functions.
3496 * platform/graphics/wx/GraphicsContextWx.cpp:
3497 (WebCore::GraphicsContext::beginPath):
3498 (WebCore::GraphicsContext::addPath):
3499 * platform/graphics/wx/PathWx.cpp:
3500 (WebCore::Path::isEmpty):
3502 2008-02-17 Julien Chaffraix <julien.chaffraix@gmail.com>
3504 Reviewed by Alexey Proskuryakov.
3506 http://bugs.webkit.org/show_bug.cgi?id=16989
3507 bug 16989 : Add send() flag checks in XmlHttpRequest
3509 Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
3510 perform the cancellation and is called mainly from internal methods.
3512 Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
3513 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
3514 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
3516 * xml/XMLHttpRequest.cpp:
3517 (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
3518 (WebCore::XMLHttpRequest::send): Added m_loader check
3519 (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
3522 (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
3523 (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
3525 (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
3526 (WebCore::XMLHttpRequest::willSendRequest): Ditto
3527 (WebCore::XMLHttpRequest::cancelRequests): Ditto
3528 (WebCore::XMLHttpRequest::detachRequests): Ditto
3529 * xml/XMLHttpRequest.h: Added the private internalAbort method
3531 2008-02-17 Sam Weinig <sam@webkit.org>
3533 Reviewed by Dan Bernstein.
3535 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
3536 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
3538 - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
3540 * DerivedSources.make:
3541 Generate Objective-C binding for DOMProgressEvent which was missing.
3543 * WebCore.xcodeproj/project.pbxproj:
3544 Add missing DOMProgressEvent files to the project.
3546 * bindings/js/JSEventCustom.cpp:
3548 Clean up and add case for SVGZoomEvent that was missing.
3550 * bindings/objc/DOMEvents.mm:
3551 (+[DOMEvent _wrapEvent:WebCore::]):
3552 Clean up and add cases for ProgressEvent and MessageEvent that were missing.
3555 (WebCore::Document::createEvent):
3556 Add case for MessageEvent.
3558 2008-02-17 Adam Treat <treat@kde.org>
3560 Reviewed by Eric Seidel.
3562 http://bugs.webkit.org/show_bug.cgi?id=17008
3563 Meta refresh does not work with cache turned off
3565 Fix for issue noticed on http://adserver.vivox.com/2
3567 * loader/FrameLoader.cpp:
3568 (WebCore::FrameLoader::changeLocation):
3570 2008-02-17 Alp Toker <alp@atoker.com>
3572 Reviewed by Sam Weinig.
3574 Fix for change made in r30355. Issue noticed by İsmail Dönmez.
3576 Verify SSL certs by default, but allow checks to be disabled with an
3577 environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
3579 * platform/network/curl/ResourceHandleManager.cpp:
3580 (WebCore::ResourceHandleManager::startJob):
3582 2008-02-17 Bin Chen <binary.chen@gmail.com>
3584 Reviewed by Alp Toker.
3586 http://bugs.webkit.org/show_bug.cgi?id=17404
3587 Bug 17404: curl certification problem
3589 Disable SSL cert verification until we have a way of distributing
3590 certs and/or reporting SSL errors to the user.
3592 * platform/network/curl/ResourceHandleManager.cpp:
3593 (WebCore::ResourceHandleManager::startJob):
3595 2008-02-17 Alp Toker <alp@atoker.com>
3597 Reviewed by Mark Rowe.
3599 DevHelp fails to load local files; URL truncated by one character.
3601 Fix a file:// URL regression introduced in KURL.cpp r30243.
3603 * platform/KURL.cpp:
3604 (WebCore::KURL::KURL):
3606 2008-02-17 Dan Bernstein <mitz@apple.com>
3608 Reviewed by Darin Adler.
3610 - fix http://bugs.webkit.org/show_bug.cgi?id=17033
3611 <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
3613 Test: fast/forms/control-clip-overflow.html
3615 * rendering/RenderFlow.cpp:
3616 (WebCore::RenderFlow::lowestPosition): Account for control clipping.
3617 (WebCore::RenderFlow::rightmostPosition): Ditto.
3618 (WebCore::RenderFlow::leftmostPosition): Ditto.
3620 2008-02-16 Oliver Hunt <oliver@apple.com>
3624 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
3626 Use cross-platform code to determine the dirty rects for
3627 fill and stroke operations
3629 * html/CanvasRenderingContext2D.cpp:
3630 (WebCore::CanvasRenderingContext2D::fill):
3631 (WebCore::CanvasRenderingContext2D::stroke):
3632 Added a FIXME as code inspection shows a trivial under-painting
3633 bug, although we currently ignore dirty rect tracking on canvas
3634 and repaint the whole thing anyway.
3635 (WebCore::CanvasRenderingContext2D::fillRect):
3637 2008-02-16 Sam Weinig <sam@webkit.org>
3639 Reviewed by Darin Adler.
3641 Take another step in the direction of getting rid of DeprecatedString
3642 by moving all the to{NumericType} off of it.
3644 - Create free functions that take a UChar* buffer and length to do
3645 the string-to-number conversions. This allows us to avoid two allocations
3646 if we don't already have a String and is consistent with the design we would
3648 - Since the toInt (and family) functions on DeprecatedString were slightly
3649 different than the ones on String (they didn't allow trailing garbage),
3650 an extra set of 'Strict' toInt functions were added that have this behavior.
3652 * platform/graphics/Color.cpp:
3653 (WebCore::Color::parseHexColor):
3654 * platform/text/PlatformString.h:
3655 * platform/text/String.cpp:
3656 (WebCore::String::percentage):
3657 (WebCore::String::toIntStrict):
3658 (WebCore::String::toUIntStrict):
3659 (WebCore::String::toInt64Strict):
3660 (WebCore::String::toUInt64Strict):
3661 (WebCore::String::toUInt):
3662 (WebCore::String::toDouble):
3663 (WebCore::isCharacterAllowedInBase):
3664 (WebCore::toIntegralType):
3665 (WebCore::lengthOfCharactersAsInteger):
3666 (WebCore::charactersToIntStrict):
3667 (WebCore::charactersToUIntStrict):
3668 (WebCore::charactersToInt64Strict):
3669 (WebCore::charactersToUInt64Strict):
3670 (WebCore::charactersToInt):
3671 (WebCore::charactersToUInt):
3672 (WebCore::charactersToInt64):
3673 (WebCore::charactersToUInt64):
3674 (WebCore::charactersToDouble):
3675 (WebCore::charactersToFloat):
3676 * platform/text/StringImpl.cpp:
3677 (WebCore::parseLength):
3678 (WebCore::StringImpl::toIntStrict):
3679 (WebCore::StringImpl::toUIntStrict):
3680 (WebCore::StringImpl::toInt64Strict):
3681 (WebCore::StringImpl::toUInt64Strict):
3682 (WebCore::StringImpl::toInt):
3683 (WebCore::StringImpl::toUInt):
3684 (WebCore::StringImpl::toInt64):
3685 (WebCore::StringImpl::toUInt64):
3686 (WebCore::StringImpl::toDouble):
3687 (WebCore::StringImpl::toFloat):
3688 * platform/text/StringImpl.h:
3689 * svg/SVGAnimationElement.cpp:
3690 (WebCore::SVGAnimationElement::parseClockValue):
3691 * svg/SVGFETurbulenceElement.cpp:
3692 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
3694 2008-02-16 Dan Bernstein <mitz@apple.com>
3696 Reviewed by Sam Weinig.
3698 - fix fixed-pitch font measurement of control characters that render
3701 Test: fast/text/fixed-pitch-control-characters.html
3703 * rendering/RenderText.cpp:
3704 (WebCore::RenderText::widthFromCache):
3706 2008-02-16 Kevin Ollivier <kevino@theolliviers.com>
3710 * platform/graphics/wx/GraphicsContextWx.cpp:
3711 (WebCore::GraphicsContext::drawImage):
3713 2008-02-16 Jan Michael Alonzo <jmalonzo@unpluggable.com>
3715 Reviewed by Alp Toker.
3717 Cross document messaging GTK+/autotools build fix.
3721 2008-02-15 Oliver Hunt <oliver@apple.com>
3723 Build fix for Qt and Cairo builds
3725 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3726 (WebCore::GraphicsContext::drawImage):
3727 * platform/graphics/qt/GraphicsContextQt.cpp:
3729 2008-02-15 Oliver Hunt <oliver@apple.com>
3733 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
3734 Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs
3736 Add logic draw(ImageBuffer*) method to GraphicsContext to handle
3737 painting the source canvas content.
3739 * html/CanvasRenderingContext2D.cpp:
3740 (WebCore::CanvasRenderingContext2D::drawImage):
3741 * html/HTMLCanvasElement.cpp:
3742 (WebCore::HTMLCanvasElement::buffer):
3743 * html/HTMLCanvasElement.h:
3744 * platform/graphics/GraphicsContext.h:
3745 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3746 (WebCore::GraphicsContext::drawImage):
3747 * platform/graphics/cg/GraphicsContextCG.cpp:
3748 (WebCore::GraphicsContext::paintBuffer):
3749 (WebCore::GraphicsContext::drawImage):
3750 * platform/graphics/qt/GraphicsContextQt.cpp:
3751 (WebCore::GraphicsContext::drawImage):
3753 2008-02-15 Kevin Ollivier <kevino@theolliviers.com>
3755 Reviewed by David Hyatt.
3757 Using GetNativeFontInfoDesc() to generate the hash value was
3758 leading to duplicate entries in the HashMap. Use the font object's
3761 http://bugs.webkit.org/show_bug.cgi?id=17371
3763 * platform/graphics/wx/FontPlatformData.h:
3764 (WebCore::FontPlatformData::computeHash):
3766 2008-02-15 Ada Chan <adachan@apple.com>
3768 When parsing url we get from a CFURLRef, we need to null terminate
3769 the string for the case when url ends with a '/'.
3773 * platform/cf/KURLCFNet.cpp:
3774 (WebCore::KURL::KURL):
3776 2008-02-15 Brady Eidson <beidson@apple.com>
3780 Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after
3781 a page has closed or loaded a new document
3783 Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements
3784 a policy of shutting down the databases in a document at the same time. This includes removing all pending transactions
3785 in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being
3788 No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already
3789 (crashing, unexpected exceptions and output, etc)
3792 (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already.
3793 Add an assertion to that effect.
3794 (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set
3795 (WebCore::Document::removeOpenDatabase): Remove such a handle
3796 (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document
3799 * loader/FrameLoader.cpp:
3800 (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O
3802 * platform/MessageQueue.h:
3803 (WebCore::MessageQueue::killed):
3805 * platform/sql/SQLiteTransaction.cpp:
3806 (WebCore::SQLiteTransaction::stop): Added. Explicit stop to cut off a transaction so it won't try anymore SQL activity
3807 * platform/sql/SQLiteTransaction.h:
3809 * storage/Database.cpp:
3810 (WebCore::Database::Database):
3811 (WebCore::Database::~Database):
3812 (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the
3814 (WebCore::Database::stop): Stop this database, including all queued transactions and callbacks
3815 * storage/Database.h:
3816 (WebCore::Database::stopped):
3818 * storage/DatabaseThread.cpp:
3819 (WebCore::DatabaseThread::terminationRequested):
3820 * storage/DatabaseThread.h:
3822 * storage/SQLTransaction.cpp:
3823 (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed
3824 (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added. Clears queued statements and clear the next step
3825 when the database has been closed since the last step/callback was run. Also stops the current SQLite transaction,
3827 (WebCore::SQLTransaction::performNextStep):
3828 (WebCore::SQLTransaction::performPendingCallback):
3829 * storage/SQLTransaction.h:
3831 2008-02-15 Adele Peterson <adele@apple.com>
3835 Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs
3837 The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus.
3838 We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior).
3839 This change makes the shift-tab behavior match the forward-tab behavior.
3841 If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided.
3842 This is something we should look into and maybe advise the site on in the future. However, it's a low-risk change to just make tab and shift-tab uniform
3843 in this respect, so I think this is the way to go for right now.
3845 * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
3847 2008-02-15 Anders Carlsson <andersca@apple.com>
3851 <rdar://problem/5738678>
3852 REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari
3854 Use the new CFNetwork functions for setting body parts.
3856 * platform/network/cf/FormDataStreamCFNet.cpp:
3857 (WebCore::setHTTPBody):
3858 (WebCore::httpBodyFromRequest):
3860 2008-02-15 Geoffrey Garen <ggaren@apple.com>
3862 Reviewed by Anders Carlsson.
3864 Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online
3865 surveys no longer work due to XMLHttpRequest exceptions
3867 Reverted some exception throwing code from r12194.
3869 To comply with the W3C draft spec, we used to throw an exception when
3870 trying to access responseText and responseXML at the wrong time, but
3871 that turned out to be a compatibility problem.
3873 Now, matching Firefox and previous versions of WebKit, we never throw
3874 an exception when accessing responseText or responseXML.
3876 See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html.
3878 * xml/XMLHttpRequest.cpp:
3879 (WebCore::XMLHttpRequest::getResponseText):
3880 (WebCore::XMLHttpRequest::getResponseXML):
3882 2008-02-15 Justin Garcia <justin.garcia@apple.com>
3884 Reviewed by Dan Bernstein.
3886 <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace
3888 Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667>
3890 * editing/SelectionController.cpp:
3891 (WebCore::SelectionController::nodeWillBeRemoved):
3893 2008-02-15 Alice Liu <alice.liu@apple.com>
3897 Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run
3899 Before this patch, Frame::scriptProxy() would only return null in the case that javascript was
3900 disabled and if the script proxy field wasn't set (which would only be the case if the window
3901 hasn't loaded anything yet). Not all callers of scriptProxy() always check for a non-null return
3902 value. Those that did check would effectively be checking if javascript was enabled before proceeding.
3903 This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless
3904 of whether javascript is disabled. This will mean that callers who don't check for null won't crash.
3905 Second, callers who did check for null now instead check for javascript being disabled. This means that
3906 code paths intended for preventing javascript from being run will be making the correct check. Another
3907 minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript
3910 * bindings/js/JSCustomSQLStatementCallback.cpp:
3911 (WebCore::JSCustomSQLStatementCallback::handleEvent):
3912 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3913 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3914 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3915 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3916 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3917 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3918 * bindings/js/JSCustomVoidCallback.cpp:
3919 (WebCore::JSCustomVoidCallback::handleEvent):
3920 * bindings/js/JSCustomXPathNSResolver.cpp:
3921 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3922 * bindings/js/ScheduledAction.cpp:
3923 (WebCore::ScheduledAction::execute):
3924 * bindings/js/kjs_events.cpp:
3925 (WebCore::JSAbstractEventListener::handleEvent):
3926 (WebCore::JSLazyEventListener::parseCode):
3927 * bindings/js/kjs_html.cpp:
3928 (WebCore::runtimeObjectImplementsCall):
3929 * bindings/js/kjs_proxy.cpp:
3930 (WebCore::KJSProxy::isEnabled):
3931 * bindings/js/kjs_proxy.h:
3932 * bindings/js/kjs_window.cpp:
3933 (KJS::Window::retrieveWindow):
3934 (KJS::Window::retrieve):
3936 (WebCore::Document::createHTMLEventListener):
3937 * dom/EventTarget.cpp:
3938 (WebCore::EventTarget::dispatchGenericEvent):
3939 * html/HTMLPlugInElement.cpp:
3940 (WebCore::HTMLPlugInElement::createNPObject):
3941 * html/HTMLScriptElement.cpp:
3942 (WebCore::HTMLScriptElement::evaluateScript):
3943 * html/HTMLTokenizer.cpp:
3944 (WebCore::HTMLTokenizer::parseTag):
3945 (WebCore::HTMLTokenizer::processToken):
3946 * loader/FrameLoader.cpp:
3947 (WebCore::FrameLoader::executeScript):
3948 (WebCore::FrameLoader::userGestureHint):
3949 (WebCore::FrameLoader::open):
3950 (WebCore::FrameLoader::dispatchWindowObjectAvailable):
3951 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
3952 * manual-tests/disable-javascript-reload.html: Added.
3954 (WebCore::Frame::scriptProxy):
3955 (WebCore::Frame::bindingRootObject):
3956 (WebCore::Frame::windowScriptNPObject):
3958 * page/InspectorController.cpp:
3959 (WebCore::canPassNodeToJavaScript):
3960 * page/mac/FrameMac.mm:
3961 (WebCore::Frame::windowScriptObject):
3962 * svg/SVGDocumentExtensions.cpp:
3963 (WebCore::SVGDocumentExtensions::createSVGEventListener):
3965 2008-02-15 Dan Bernstein <mitz@apple.com>
3967 Reviewed by Alexey Proskuryakov.
3969 - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
3970 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
3972 Test: http/tests/loading/text-content-type-with-binary-extension.html
3974 Refined the workaround for <rdar://problem/5321972> to exclude files
3975 with extensions that are known to be associated with binary MIME types.
3977 * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}.
3978 * platform/network/mac/ResourceResponseMac.mm:
3979 (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the
3980 workaround logic into WebCoreURLResponse.
3981 * platform/network/mac/WebCoreURLResponse.h: Added.
3982 * platform/network/mac/WebCoreURLResponse.mm: Added.
3983 (createBinaryExtensionsSet): Returns a set of extensions known to
3984 belong to MIME types of binary data.
3985 (-[NSURLResponse _webcore_MIMEType]):
3986 (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from
3987 application/octet-stream to text/plain if that is the specified
3988 Content-Type, unless the extension is in the binary extensions set.
3990 2008-02-15 Dan Bernstein <mitz@apple.com>
3992 Reviewed by Dave Hyatt.
3994 - fix http://bugs.webkit.org/show_bug.cgi?id=17306
3995 <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently
3997 * manual-tests/transitions.html: Added.
3998 * page/AnimationController.cpp:
3999 (WebCore::CompositeImplicitAnimation::animate): Changed to use the
4000 transition properties of the current style rather than the target style.
4001 (WebCore::AnimationControllerPrivate::get): Changed to not create an
4002 animation if the style does not have transitions.
4003 (WebCore::AnimationController::updateImplicitAnimations): Added code to
4004 return the target style if the current style is not animating.
4005 * rendering/RenderObject.cpp:
4006 (WebCore::RenderObject::setAnimatableStyle): Changed to call
4007 updateImplicitAnimations() even if the current style does not have
4008 transitions, because we may be animating out of a style that had them.
4010 2008-02-15 Alexey Proskuryakov <ap@webkit.org>
4012 Rubber-stamped by Darin.
4014 Remove an obsolete WebCore readme file.
4018 2008-02-15 Sam Weinig <sam@webkit.org>
4020 Reviewed by Darin Adler.
4022 Remove more uses of DeprecatedString in preparation of getting rid of it.
4024 * bridge/mac/WebCoreScriptDebugger.mm:
4025 * css/CSSCursorImageValue.cpp:
4026 (WebCore::isSVGCursorIdentifier):
4027 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
4028 * css/CSSStyleSelector.h:
4030 (WebCore::Element::dump):
4031 (WebCore::Element::formatForDebugger):
4033 (WebCore::Position::debugPosition):
4034 (WebCore::Position::formatForDebugger):
4036 (WebCore::Range::formatForDebugger):
4038 (WebCore::Text::formatForDebugger):
4039 * editing/Selection.cpp:
4040 (WebCore::Selection::debugPosition):
4041 (WebCore::Selection::formatForDebugger):
4042 * editing/SelectionController.cpp:
4043 (WebCore::SelectionController::debugRenderer):
4044 * editing/VisiblePosition.cpp:
4045 (WebCore::VisiblePosition::debugPosition):
4046 * html/HTMLTokenizer.cpp:
4047 (WebCore::HTMLTokenizer::scriptHandler):
4048 (WebCore::HTMLTokenizer::parseTag):
4049 (WebCore::HTMLTokenizer::processToken):
4050 (WebCore::HTMLTokenizer::notifyFinished):
4051 * svg/SVGFontFaceElement.cpp:
4052 (WebCore::mapAttributeToCSSProperty):
4054 2008-02-15 Adam Roben <aroben@apple.com>
4056 * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to
4059 2008-02-15 Adam Roben <aroben@apple.com>
4061 Try to fix Qt/GTK+ builds
4063 * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional
4066 2008-02-15 Darin Adler <darin@apple.com>
4068 - another Qt build fix
4070 * platform/qt/KURLQt.cpp:
4071 (WebCore::KURL::operator QUrl): Use the characters directly, not ascii().
4072 Eliminate references to urlString.
4074 2008-02-15 Darin Adler <darin@apple.com>
4076 - another Qt build fix
4078 * platform/qt/ClipboardQt.cpp:
4079 (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String.
4081 2008-02-14 Darin Adler <darin@apple.com>
4083 - another round of build fixes
4085 * platform/KURL.cpp:
4086 (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen).
4087 * platform/network/curl/ResourceHandleManager.cpp:
4088 (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters.
4090 2008-02-14 Darin Adler <darin@apple.com>
4092 - added back accidentally-removed files
4094 * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp.
4095 * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h.
4096 * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm.
4098 2008-02-14 Darin Adler <darin@apple.com>
4102 * platform/KURL.cpp:
4103 (WebCore::appendEncodedHostname): Use String to make a QString.
4104 * platform/network/cf/ResourceRequest.h:
4105 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
4106 * platform/network/curl/ResourceHandleManager.cpp:
4107 (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions.
4109 2008-02-14 Darin Adler <darin@apple.com>
4113 * platform/network/qt/ResourceRequest.h:
4114 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
4116 2008-02-14 Darin Adler <darin@apple.com>
4120 * platform/network/curl/ResourceRequest.h:
4121 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
4123 2008-02-14 Darin Adler <darin@apple.com>
4125 - first Qt build fix
4127 * dom/XMLTokenizer.cpp:
4128 (WebCore::XMLTokenizer::endElementNs): Added a missing string() call.
4130 2008-02-14 Darin Adler <darin@apple.com>
4132 Reviewed by Eric Seidel.
4134 Based on work by Marvin Decker <marv.decker@gmail.com>
4136 - fix http://bugs.webkit.org/show_bug.cgi?id=16538
4137 KURL should use String instead of DeprecatedString
4139 - fix http://bugs.webkit.org/show_bug.cgi?id=16485
4140 DocLoader::checkForReload will crash if the URL isNull
4141 and a similar problem in IconDatabase
4143 - fix http://bugs.webkit.org/show_bug.cgi?id=16487
4144 KURL doesn't preserve isNull when constructed with a DeprecatedString
4146 - changed completeURL and various DOM getters to return KURL, to avoid
4147 conversion back and forth from KURL to String
4149 - changed the conversion of KURL to NSURL or NSString to be automatic,
4150 to ease the use of KURL in Objective C DOM bindings, and eliminated
4151 the getNSURL function
4153 - because I had to visit the DOM bindings anyway, eliminated almost all
4154 the use of the KJS namespace for things in WebCore
4156 - fixed HTMLOptionElement constructor to check for undefined rather
4157 than size of the arguments array
4159 - eliminated some other unnecessary uses of DeprecatedString
4161 - changed String::split to take a Vector parameter instead of returning
4162 a Vector, for better performance
4164 - added a couple of missing calls to do layout in SVG image handling;
4165 I was able to reproduce these only because I had broken URLs for a
4166 while -- not sure how to reproduce them now but the changes are
4169 Performance testing shows this to be at least a 1% speedup.
4171 Added a new function protocols to efficiently compare protocols
4172 without case errors and a blankURL function so we don't have to
4173 code "about:blank" in multiple places in the code and don't have to
4174 construct a frash KURL each time. Moved decode_string and encode_string
4175 out of KURL and gave them clearer names.
4177 Made KURL constructors explicit to highlight potentially-expensive
4178 operations and the poor semantics of KURL's constructor that takes
4181 * WebCore.base.exp: Updated.
4183 * bindings/js/JSAttrCustom.cpp:
4184 (WebCore::JSAttr::setValue): Use protocolIs.
4185 * bindings/js/JSAudioConstructor.h: KJS namespace change.
4186 * bindings/js/JSCSSRuleCustom.cpp:
4187 (WebCore::toJS): Ditto.
4188 * bindings/js/JSCSSValueCustom.cpp:
4189 (WebCore::toJS): Ditto.
4190 * bindings/js/JSDocumentCustom.cpp:
4191 (WebCore::JSDocument::location): Ditto.
4192 (WebCore::JSDocument::setLocation): Updated for KURL change.
4193 (WebCore::toJS): KJS namespace change.
4194 * bindings/js/JSElementCustom.cpp:
4195 (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs.
4196 (WebCore::JSElement::setAttribute): KJS namespace change.
4197 (WebCore::JSElement::setAttributeNode): Ditto.
4198 (WebCore::JSElement::setAttributeNS): Ditto.
4199 (WebCore::JSElement::setAttributeNodeNS): Ditto.
4200 * bindings/js/JSHTMLFrameElementCustom.cpp:
4201 (WebCore::allowSettingJavascriptURL): Use protocolIs.
4202 (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change.
4203 (WebCore::JSHTMLFrameElement::setLocation): Ditto.
4204 * bindings/js/JSHTMLIFrameElementCustom.cpp:
4205 (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs.
4206 * bindings/js/JSHTMLOptionElementConstructor.cpp:
4207 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
4208 (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the
4209 structure a bit and changed checking to check for undefined rather than
4210 number of arguments.
4211 * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change.
4212 * bindings/js/JSLocation.cpp:
4213 (WebCore::JSLocation::put): Eliminat