1 2008-03-03 Oliver Hunt <oliver@apple.com>
5 Correct incorrect assertion
7 * platform/graphics/cg/ImageBufferCG.cpp:
8 (WebCore::ImageBuffer::putImageData):
10 2008-03-02 Alp Toker <alp@atoker.com>
12 Another fix for non-database builds after changes in r30331.
14 Conditionalize a stopDatabases() call.
16 * loader/FrameLoader.cpp:
17 (WebCore::FrameLoader::stopLoading):
19 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
21 Reviewed by Alp Toker.
23 Scrolling fixes. Implement page scrolling, initialize mouse wheel
24 event variables, and remove duplicate event binding for TOP
27 http://bugs.webkit.org/show_bug.cgi?id=17643
29 * platform/wx/MouseWheelEventWx.cpp:
30 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
31 * platform/wx/ScrollViewWx.cpp:
32 (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
33 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
35 2008-03-02 Alp Toker <alp@atoker.com>
37 Fix building without database support after changes in r30331.
41 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
43 wx build fix for Windows after PageWin.cpp move.
47 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
49 Reviewed by Dave Hyatt.
51 Gracefully handle a CSS rule containing an invalid value.
52 (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
56 2008-03-02 Alp Toker <alp@atoker.com>
58 Reviewed by Mark Rowe.
60 Improve the Cairo Path::isEmpty() function
62 Use cairo_has_current_point() where available.
64 * platform/graphics/cairo/PathCairo.cpp:
65 (WebCore::Path::isEmpty):
67 2008-03-01 Mark Rowe <mrowe@apple.com>
69 Reviewed by Tim Hatcher.
71 Update Xcode configuration to support building debug and release from the mysterious future.
73 * Configurations/DebugRelease.xcconfig:
75 2008-03-01 Oliver Hunt <oliver@apple.com>
77 Reviewed by Sam Weinig.
79 Bug 16954: Support putImageData
81 Implement support for HTML5's putImageData for the CG port. All other ports
82 are currently just using stubs for the final blit.
84 Test: fast/canvas/canvas-putImageData.html
86 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
87 (WebCore::JSCanvasRenderingContext2D::putImageData):
88 * html/CanvasRenderingContext2D.cpp:
89 (WebCore::CanvasRenderingContext2D::putImageData):
90 * html/CanvasRenderingContext2D.h:
91 * platform/graphics/ImageBuffer.h:
92 * platform/graphics/cairo/ImageBufferCairo.cpp:
93 * platform/graphics/cg/ImageBufferCG.cpp:
94 (WebCore::ImageBuffer::putImageData):
95 * platform/graphics/qt/ImageBufferQt.cpp:
96 * platform/graphics/wx/ImageBufferWx.cpp:
98 2008-03-01 Jon Honeycutt <jhoneycutt@apple.com>
102 <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
105 The VLC Netscape plug-in crashes if more than one instance is created.
107 Added a quirk that disallows a plug-in from having more than one
108 instance and set this for the VLC plug-in.
110 In addition, we now sort plug-ins that handle the same MIME
111 type to choose the most appropriate one. This sorting first sorts by
112 whether a plug-in has an issue that should put it at the end of the
113 list, then whether it appears in a "preferred" plug-in directory.
115 * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
116 * plugins/PluginDatabase.cpp:
117 (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
118 sorting plug-ins; calls PluginPackage::compare().
119 (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
120 that handle this MIME type to a list, sort the list, and return the
122 (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
123 that handle this extension to a list, sort the list, and return the MIME
124 type used by the plug-in at the beginning of the list.
125 * plugins/PluginDatabase.h:
126 * plugins/PluginPackage.h:
127 (WebCore::PluginPackage::version): Added; returns the module version.
128 * plugins/win/PluginDatabaseWin.cpp:
129 (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
131 * plugins/win/PluginPackageWin.cpp:
132 (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
133 the end, then plug-ins in preferred directories to the beginning, then
134 alphabetically by file name, numerically by version, and alphabetically
136 (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
137 instances" quirk for VLC.
138 (WebCore::PluginPackage::load): Return false if the plug-in library has
139 already been loaded and the "don't allow multiple instances" quirk is
141 * platform/gtk/TemporaryLinkStubs.cpp:
142 (PluginPackage::compare): Added stub.
143 (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
144 * platform/qt/TemporaryLinkStubs.cpp:
145 (PluginPackage::compare): Added stub.
146 (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
147 * platform/wx/TemporaryLinkStubs.cpp:
148 (PluginPackage::compare): Added stub.
149 (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
151 2008-03-01 Sam Weinig <sam@webkit.org>
153 Rubber-stamped by Mark Rowe.
155 Remove reference to the now non-existent bridge directory.
157 * WebCore.xcodeproj/project.pbxproj:
159 2008-03-01 Sam Weinig <sam@webkit.org>
161 Reviewed by Darin Adler.
163 Search the entire prototype chain when doing early prototype lookup in
164 the Window's getOwnPropertySlot method.
166 Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
168 * bindings/js/kjs_window.cpp:
169 (KJS::Window::getOwnPropertySlot):
171 2008-03-01 Nikolas Zimmermann <zimmermann@kde.org>
175 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
177 As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
179 Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
180 svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
181 svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
182 svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
183 svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
184 svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
185 svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
186 svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
188 * svg/SVGForeignObjectElement.cpp:
189 (WebCore::SVGForeignObjectElement::parseMappedAttribute):
190 (WebCore::addCSSPropertyAndNotifyAttributeMap):
191 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
192 * svg/SVGForeignObjectElement.h:
194 2008-02-29 Brady Eidson <beidson@apple.com>
196 Reviewed by build-fix karma
198 Bonehead mistake. Revert function to previous version for all non-Windows+CFNetwork platforms
200 * platform/network/ProtectionSpace.cpp:
201 (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
203 2008-02-29 Brady Eidson <beidson@apple.com>
207 <rdar://problem/5771227> - Incorrect password handling text in credential sheet
209 * platform/network/ProtectionSpace.cpp:
210 (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
211 get "secureness" of the auth challenge instead of figuring it out ourselves
213 2008-02-29 Brent Fulgham <bfulgham@gmail.com>
215 http://bugs.webkit.org/show_bug.cgi?id=17483
216 Implement scrollbars on Windows (Cairo)
218 Reviewed by Adam Roben.
220 * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
221 from PlatformScrollBarWinSafari.cpp, then modify to use the
222 native Windows theme engine. Use SOFT_LINK. Use platform
223 'GetSystemMetrics' call to decide size of scrollbars and buttons.
225 2008-02-29 Adam Roben <aroben@apple.com>
229 * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
230 and the post-build event, and add page/win to each. Also let VS have
231 its way with the order of the files.
232 * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
233 * page/win/GlobalHistoryWin.cpp: Copied from
234 bridge/win/GlobalHistoryWin.cpp in r30673
236 2008-02-29 Anders Carlsson <andersca@apple.com>
240 * WebCore.xcodeproj/project.pbxproj:
242 2008-02-29 Mark Rowe <mrowe@apple.com>
244 Reviewed by Tim Hatcher.
248 * platform/graphics/mac/SimpleFontDataMac.mm:
249 (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
250 FMGetATSFontRefFromFont is not available.
252 2008-02-29 Mark Rowe <mrowe@apple.com>
254 Build fix. Only declare pathFromFont in debug builds as it is unused in release builds.
256 * platform/graphics/mac/SimpleFontDataMac.mm:
258 2008-02-29 Anders Carlsson <andersca@apple.com>
262 Copy the remaining files in bridge/ over to page/
264 * WebCore.vcproj/WebCore.vcproj:
265 * WebCore.xcodeproj/project.pbxproj:
267 * bridge/AXObjectCache.h: Removed.
268 * bridge/EditorClient.h: Removed.
269 * bridge/GlobalHistory.h: Removed.
270 * bridge/win: Removed.
271 * bridge/win/FrameCGWin.cpp: Removed.
272 * bridge/win/FrameCairoWin.cpp: Removed.
273 * bridge/win/FrameWin.cpp: Removed.
274 * bridge/win/FrameWin.h: Removed.
275 * bridge/win/GlobalHistoryWin.cpp: Removed.
276 * bridge/win/PageWin.cpp: Removed.
277 * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
278 * page/EditorClient.h: Copied from bridge/EditorClient.h.
279 * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
280 * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
281 * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
282 * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
283 * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
285 2008-02-29 Robert Blaut <webkit@blaut.biz>
287 Reviewed by Darin Adler.
289 - fix http://bugs.webkit.org/show_bug.cgi?id=17532
290 Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
292 Test: fast/html/link-rel-stylesheet.html
294 * html/HTMLLinkElement.cpp:
295 (WebCore::HTMLLinkElement::process):
297 2008-02-29 Mark Rowe <mrowe@apple.com>
299 Reviewed by Anders Carlsson.
301 Replace use of WKPathFromFont with implementation in terms of public API.
303 * WebCore.base.exp: Remove unused symbol.
304 * platform/graphics/mac/SimpleFontDataMac.mm:
305 (WebCore::initFontData):
306 (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
307 (WebCore::SimpleFontData::platformInit):
308 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
309 * platform/mac/WebCoreSystemInterface.mm: Ditto.
311 2008-02-29 Anders Carlsson <andersca@apple.com>
315 Move a bunch of files from bridge/mac to page/mac.
317 * WebCore.xcodeproj/project.pbxproj:
318 * bridge/mac: Removed.
319 * bridge/mac/AXObjectCacheMac.mm: Removed.
320 * bridge/mac/GlobalHistoryMac.mm: Removed.
321 * bridge/mac/WebCoreAXObject.h: Removed.
322 * bridge/mac/WebCoreAXObject.mm: Removed.
323 * bridge/mac/WebCoreScriptDebugger.h: Removed.
324 * bridge/mac/WebCoreScriptDebugger.mm: Removed.
325 * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
326 * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
327 * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
328 * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
329 * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
330 * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
332 2008-02-29 David Hyatt <hyatt@apple.com>
334 Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
335 guard malloc. Pass along the style selector so it can be accessed, since it has not yet
336 been assigned into the document's member variable.
340 * css/CSSStyleSelector.cpp:
341 (WebCore::CSSRuleSet::addRulesFromSheet):
342 * css/MediaQueryEvaluator.cpp:
343 (WebCore::MediaQueryEvaluator::eval):
344 * css/MediaQueryEvaluator.h:
346 2008-02-29 David Hyatt <hyatt@apple.com>
348 <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
350 Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
351 Be more precise in terms of what nodes we mark dirty.
355 * css/CSSStyleSelector.cpp:
356 (WebCore::CSSStyleSelector::checkSelector):
358 (WebCore::Element::recalcStyle):
359 (WebCore::checkForSiblingStyleChanges):
360 (WebCore::Element::childrenChanged):
361 (WebCore::Element::finishParsingChildren):
362 * rendering/RenderStyle.cpp:
363 (WebCore::RenderStyle::RenderStyle):
364 * rendering/RenderStyle.h:
365 (WebCore::RenderStyle::childrenAffectedByPositionalRules):
366 (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
367 (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
369 2008-02-29 Alexey Proskuryakov <ap@webkit.org>
373 <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
375 Test: http/tests/xmlhttprequest/status-after-abort.html
377 * xml/XMLHttpRequest.cpp:
378 (WebCore::XMLHttpRequest::getStatus):
379 (WebCore::XMLHttpRequest::getStatusText):
380 Changed to match Firefox more closely (IE just raises an exception in most of those cases).
382 2008-02-29 Dan Bernstein <mitz@apple.com>
384 Reviewed by Darin Adler.
386 - fix a bug where explicit embedding past the end of a line could
387 affect text that line
389 Test: fast/text/embed-at-end-of-pre-wrap-line.html
391 * rendering/bidi.cpp:
392 (WebCore::RenderBlock::skipWhitespace): Removed calls to
393 setAdjustEmbedding().
394 (WebCore::RenderBlock::findNextLineBreak): Added calls to
395 setAdjustEmbedding() around skipWhitespace() only where needed.
397 2008-02-29 Mark Rowe <mrowe@apple.com>
399 Reviewed by Oliver Hunt.
401 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
403 * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
404 * platform/mac/WebCoreSystemInterface.mm: Ditto.
405 * platform/network/mac/ResourceRequestMac.mm:
406 (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
407 * WebCore.Tiger.exp: Move Tiger-only symbol here.
410 2008-02-29 Mark Rowe <mrowe@apple.com>
412 Rubber-stamped by Eric Seidel.
414 Remove unneeded includes of WebCoreSystemInterface.h.
416 * loader/mac/LoaderNSURLExtras.m:
417 * page/mac/FrameMac.mm:
418 * page/mac/WebCoreFrameBridge.mm:
419 * platform/MIMETypeRegistry.cpp:
420 * platform/graphics/mac/ImageMac.mm:
421 * platform/mac/PasteboardMac.mm:
423 2008-02-29 Mark Rowe <mrowe@apple.com>
425 Reviewed by Oliver Hunt and Oliver Hunt.
427 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
429 * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
430 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
431 * platform/mac/WebCoreSystemInterface.mm: Ditto.
432 * WebCore.base.exp: Ditto.
434 2008-02-28 Mark Rowe <mrowe@apple.com>
436 Reviewed by Dave Hyatt.
438 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
440 * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger.
441 * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp.
443 * platform/graphics/mac/SimpleFontDataMac.mm:
444 (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard.
445 * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused.
446 * platform/mac/WebCoreSystemInterface.mm: Ditto.
448 2008-02-28 Matt Lilek <webkit@mattlilek.com>
450 Reviewed by Tim Hatcher.
452 Bug 16535: Stylesheets loaded with @import are not editable
453 http://bugs.webkit.org/show_bug.cgi?id=16535
454 <rdar://problem/5712899>
456 Sheets loaded using @import were incorrectly being flagged as non-editable
457 user agent sheets because their parent sheet doesn't have an ownerNode. We now
458 check to make sure sheets also don't have a href before restricting their editability.
460 * page/inspector/StylesSidebarPane.js:
462 2008-02-28 Rodney Dawes <dobey@wayofthemonkey.com>
464 Reviewed by Adam Roben.
466 Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
467 Add PluginPackage.cpp to build configurations.
468 Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
469 Use cross-platform pathGetFilename method.
470 Remove platform-specific code from shared PluginPackage implementation.
471 Remove shared code from PluginPackageWin.cpp.
475 * WebCoreSources.bkl:
476 * WebCore.vcproj/WebCore.vcproj:
477 * platform/gtk/TemporaryLinkStubs.cpp:
478 * platform/qt/TemporaryLinkStubs.cpp:
479 * platform/wx/TemporaryLinkStubs.cpp:
480 * plugins/PluginPackage.cpp:
481 * plugins/win/PluginPackageWin.cpp:
483 2008-02-28 Justin Garcia <justin.garcia@apple.com>
485 Reviewed by Darin Adler.
487 <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
489 Add a second style span at copy time to hold document default styles. This helps us
490 differentiate between those and user applied styles at paste time, where we'll want
491 to let Mail's Paste As Quotation blockquote override document default styles, but
494 * css/CSSComputedStyleDeclaration.cpp:
495 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used
496 for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that
497 are thick | medium | thin | <length>. Before, there was a mismatch between the unit
498 type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for
499 an element and that element's inlineStyleDecl(), causing identical values to always appear
501 * editing/ReplaceSelectionCommand.cpp:
502 (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change
503 the class to an empty string, completely remove it, it's no longer needed.
504 (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
505 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
506 Added, replaces removeRedundantStyles.
507 We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
508 unused code and renamed the function.
509 There won't be more than two style spans that we need to consider, the one with the
510 source document's default styles and styles on the commonAncestor of the copied Range,
511 so don't look for more than two.
512 Let elements that wrap the incoming fragment override the source document's styles.
513 (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
514 and call the renamed handleStyleSpans.
515 * editing/ReplaceSelectionCommand.h:
516 * editing/markup.cpp:
517 (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span
518 that holds user applied styles, since they'll be added to their own style span.
519 (WebCore::createMarkup):
520 Add a second style span that holds just the document defaults. This lets us differentiate
521 between those and user applied styles at paste time.
522 Mail blockquotes are just another type of special element, moved their handling there. This
523 also lets paste code make assumptions about the position of the two style spans (they are
524 *always* parent-child).
526 2008-02-28 Brent Fulgham <bfulgham@gmail.com>
528 http://bugs.webkit.org/show_bug.cgi?id=17576
529 Modify RenderThemeWin to use SOFT_LINK
531 Reviewed by Adam Roben.
533 * rendering/RenderThemeWin.h: Remove unneeded library handle
534 * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
535 rather than hand-coded load library calls.
537 2008-02-28 Dan Bernstein <mitz@apple.com>
539 Reviewed by Darin Adler.
541 - fix http://bugs.webkit.org/show_bug.cgi?id=17590
542 ASSERTION FAILED: subject in jsRegExpExecute()
544 * page/mac/FrameMac.mm:
545 (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
546 case the element name is empty.
548 2008-02-28 Justin Garcia <justin.garcia@apple.com>
550 Reviewed by Dan Bernstein
552 Small editing speed up.
555 (WebCore::Position::upstream): Don't check for a change in editability
556 if the current node hasn't changed.
557 (WebCore::Position::downstream): Ditto.
559 2008-02-27 Dan Bernstein <mitz@apple.com>
561 Reviewed by John Sullivan.
563 - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
565 Test: fast/text/soft-hyphen-2.html
567 * rendering/bidi.cpp:
568 (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
569 that if there are two midpoints at the given position, only the last one
572 2008-02-27 Dan Bernstein <mitz@apple.com>
574 Reviewed by Darin Adler.
576 - make centered text in right-to-left blocks spill over to the left
578 Test: fast/text/align-center-rtl-spill.html
580 * rendering/bidi.cpp:
581 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
583 2008-02-27 Dan Bernstein <mitz@apple.com>
585 Reviewed by Darin Adler.
587 - more bidi.cpp cleanup
589 * platform/text/BidiResolver.h:
590 (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
591 (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
593 (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
595 (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
596 destroy(), avoiding the need to specialize this method in BidiState.
597 * rendering/bidi.cpp:
598 (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
599 (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
600 (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
601 (WebCore::RenderBlock::createLineBoxes):
602 (WebCore::RenderBlock::constructLine):
603 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
604 (WebCore::RenderBlock::computeVerticalPositionsForLine):
605 (WebCore::buildCompactRuns):
606 (WebCore::RenderBlock::layoutInlineChildren):
607 (WebCore::RenderBlock::determineStartPosition):
608 (WebCore::RenderBlock::determineEndPosition):
609 (WebCore::RenderBlock::matchedEndLine):
610 (WebCore::skipNonBreakingSpace):
611 (WebCore::RenderBlock::skipWhitespace):
612 (WebCore::shouldSkipWhitespaceAfterStartObject):
614 (WebCore::BidiRun): Added m_ prefixes to several member variables.
616 2008-02-27 Sam Weinig <sam@webkit.org>
620 Fix for <rdar://problem/5768769>
622 - Don't allow cross-origin calls using window.functionName.call(otherFrame)
625 * bindings/js/JSLocation.cpp:
626 (WebCore::jsLocationProtoFuncToString): Do same-origin check.
627 * bindings/js/kjs_window.cpp:
628 (KJS::windowProtoFuncAToB): Ditto.
629 (KJS::windowProtoFuncBToA): Ditto.
630 (KJS::windowProtoFuncOpen): Ditto.
631 (KJS::windowProtoFuncClearTimeout): Ditto.
632 * bindings/scripts/CodeGeneratorJS.pm: Ditto.
634 2008-02-27 David Hyatt <hyatt@apple.com>
636 More cleanup in preparation for fixing the HTML5 spec performance regression.
638 Reviewed by Sam Weinig
641 (WebCore::Attr::childrenChanged):
643 * dom/ContainerNode.cpp:
644 (WebCore::ContainerNode::insertBefore):
645 (WebCore::ContainerNode::replaceChild):
646 (WebCore::ContainerNode::removeChild):
647 (WebCore::ContainerNode::removeChildren):
648 (WebCore::ContainerNode::appendChild):
649 (WebCore::ContainerNode::addChild):
650 (WebCore::ContainerNode::childrenChanged):
651 * dom/ContainerNode.h:
653 (WebCore::Document::childrenChanged):
656 (WebCore::Element::childrenChanged):
659 (WebCore::Node::childrenChanged):
660 * html/HTMLObjectElement.cpp:
661 (WebCore::HTMLObjectElement::childrenChanged):
662 * html/HTMLObjectElement.h:
663 * html/HTMLOptGroupElement.cpp:
664 (WebCore::HTMLOptGroupElement::childrenChanged):
665 * html/HTMLOptGroupElement.h:
666 * html/HTMLOptionElement.cpp:
667 (WebCore::HTMLOptionElement::childrenChanged):
668 * html/HTMLOptionElement.h:
669 * html/HTMLScriptElement.cpp:
670 (WebCore::HTMLScriptElement::childrenChanged):
671 * html/HTMLScriptElement.h:
672 * html/HTMLSelectElement.cpp:
673 (WebCore::HTMLSelectElement::childrenChanged):
674 * html/HTMLSelectElement.h:
675 * html/HTMLStyleElement.cpp:
676 (WebCore::HTMLStyleElement::childrenChanged):
677 * html/HTMLStyleElement.h:
678 * html/HTMLTextAreaElement.cpp:
679 (WebCore::HTMLTextAreaElement::childrenChanged):
680 * html/HTMLTextAreaElement.h:
681 * html/HTMLTitleElement.cpp:
682 (WebCore::HTMLTitleElement::childrenChanged):
683 * html/HTMLTitleElement.h:
684 * svg/SVGClipPathElement.cpp:
685 (WebCore::SVGClipPathElement::childrenChanged):
686 * svg/SVGClipPathElement.h:
687 * svg/SVGDefinitionSrcElement.cpp:
688 (WebCore::SVGDefinitionSrcElement::childrenChanged):
689 * svg/SVGDefinitionSrcElement.h:
690 * svg/SVGFontFaceElement.cpp:
691 (WebCore::SVGFontFaceElement::childrenChanged):
692 * svg/SVGFontFaceElement.h:
693 * svg/SVGFontFaceFormatElement.cpp:
694 (WebCore::SVGFontFaceFormatElement::childrenChanged):
695 * svg/SVGFontFaceFormatElement.h:
696 * svg/SVGFontFaceSrcElement.cpp:
697 (WebCore::SVGFontFaceSrcElement::childrenChanged):
698 * svg/SVGFontFaceSrcElement.h:
699 * svg/SVGFontFaceUriElement.cpp:
700 (WebCore::SVGFontFaceUriElement::childrenChanged):
701 * svg/SVGFontFaceUriElement.h:
702 * svg/SVGGElement.cpp:
703 (WebCore::SVGGElement::childrenChanged):
705 * svg/SVGGradientElement.cpp:
706 (WebCore::SVGGradientElement::childrenChanged):
707 * svg/SVGGradientElement.h:
708 * svg/SVGMarkerElement.cpp:
709 (WebCore::SVGMarkerElement::childrenChanged):
710 * svg/SVGMarkerElement.h:
711 * svg/SVGMaskElement.cpp:
712 (WebCore::SVGMaskElement::childrenChanged):
713 * svg/SVGMaskElement.h:
714 * svg/SVGPatternElement.cpp:
715 (WebCore::SVGPatternElement::childrenChanged):
716 * svg/SVGPatternElement.h:
717 * svg/SVGStyleElement.cpp:
718 (WebCore::SVGStyleElement::childrenChanged):
719 * svg/SVGStyleElement.h:
720 * svg/SVGStyledElement.cpp:
721 (WebCore::SVGStyledElement::childrenChanged):
722 * svg/SVGStyledElement.h:
723 * svg/SVGTitleElement.cpp:
724 (WebCore::SVGTitleElement::childrenChanged):
725 * svg/SVGTitleElement.h:
726 * svg/SVGUseElement.cpp:
727 (WebCore::SVGUseElement::childrenChanged):
728 * svg/SVGUseElement.h:
730 2008-02-27 Julien Chaffraix <julien.chaffraix@gmail.com>
734 http://bugs.webkit.org/show_bug.cgi?id=17481
735 Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
737 Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
739 * xml/XMLHttpRequest.cpp:
740 (WebCore::XMLHttpRequest::open):
742 2008-02-27 Sriram Neelakandan <sriram.neelakandan@gmail.com>
744 Reviewed, tweaked and landed by ap.
746 http://bugs.webkit.org/show_bug.cgi?id=17487
747 HTMLInput mysteriously fails to work if ICU dat file is missing
749 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
752 2008-02-27 Adam Roben <aroben@apple.com>
754 Windows build fix after r30616
756 * platform/win/ClipboardWin.cpp:
758 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
762 Small style cleanup, and obvious fix: SVGGElement reacted on
763 'clipPathUnits' changes, which is a funny copy&paste error.
765 * svg/SVGGElement.cpp:
766 (WebCore::SVGGElement::parseMappedAttribute):
767 (WebCore::SVGGElement::svgAttributeChanged):
768 (WebCore::SVGGElement::createRenderer):
770 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
774 Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
775 Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
777 * svg/SVGDefsElement.cpp:
778 (WebCore::SVGDefsElement::createRenderer):
779 * svg/SVGDefsElement.h:
780 * svg/SVGDescElement.h:
782 2008-02-26 Antti Koivisto <antti@apple.com>
786 Fix <rdar://problem/5761326>
787 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
789 Generate better code with VS:
790 - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
791 - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
792 - Add a separate version of the function for cases where error messages are not wanted
794 * bindings/js/JSDOMWindowCustom.cpp:
795 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
796 * bindings/js/kjs_window.cpp:
797 (KJS::Window::allowsAccessFrom):
798 (KJS::Window::allowsAccessFromNoErrorMessage):
799 (KJS::Window::allowsAccessFromPrivate):
800 (KJS::Window::crossDomainAccessErrorMessage):
801 * bindings/js/kjs_window.h:
803 2008-02-26 Sam Weinig <sam@webkit.org>
805 Reviewed by Dave Hyatt.
807 - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
811 * WebCore.vcproj/WebCore.vcproj:
812 * WebCore.xcodeproj/project.pbxproj:
813 * WebCoreSources.bkl:
814 * platform/ArrayImpl.cpp: Removed.
815 * platform/ArrayImpl.h: Removed.
816 * platform/DeprecatedArray.h: Removed.
817 * platform/DeprecatedCString.cpp: Removed.
818 * platform/DeprecatedCString.h: Removed.
819 * platform/text/CString.cpp:
820 (WebCore::CString::length):
821 * platform/text/CString.h:
823 2008-02-26 David Hyatt <hyatt@apple.com>
825 Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
827 Reviewed by Sam Weinig
830 (WebCore::Attr::childrenChanged):
831 * dom/ContainerNode.cpp:
832 (WebCore::ContainerNode::insertBefore):
833 (WebCore::ContainerNode::replaceChild):
834 (WebCore::ContainerNode::removeChild):
835 (WebCore::ContainerNode::removeChildren):
836 (WebCore::ContainerNode::appendChild):
837 (WebCore::ContainerNode::addChild):
838 (WebCore::ContainerNode::childrenChanged):
839 * dom/ContainerNode.h:
840 * dom/EventTargetNode.cpp:
841 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
842 * dom/EventTargetNode.h:
843 * dom/NamedAttrMap.cpp:
844 (WebCore::NamedAttrMap::addAttribute):
845 (WebCore::NamedAttrMap::removeAttribute):
847 2008-02-26 Darin Adler <darin@apple.com>
851 - remove use of DeprecatedCString from Windows pasteboard code
853 * platform/win/ClipboardUtilitiesWin.cpp:
854 (WebCore::createGlobalData): Added an overload for Vector<char>.
855 Streamlined the logic a bit.
856 (WebCore::append): Added. Helper functions for appending to a
858 (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
859 of DeprecatedCString. Also simplified the logic a bit and used
860 macros to handle the integer width.
861 (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
862 (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
863 * platform/win/ClipboardUtilitiesWin.h: Update type of return
864 value from markupToCF_HTML. Did a bit of streamlining too.
865 * platform/win/ClipboardWin.cpp:
866 (WebCore::writeURL): Update for above changes.
867 (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
868 (WebCore::ClipboardWin::writeRange): Ditto.
869 * platform/win/PasteboardWin.cpp:
870 (WebCore::Pasteboard::writeSelection): Ditto.
871 (WebCore::Pasteboard::writeURL): Ditto.
873 2008-02-26 Timothy Hatcher <timothy@apple.com>
875 Reviewed by Adam Roben.
877 <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
878 source list does not scroll when item at edge is reached (16572)
880 Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
881 we were using in utilities.js.
883 * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
884 * page/inspector/Resource.js: Ditto.
885 * page/inspector/inspector.js: Ditto.
886 * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
887 of scrollIntoView, so the source line is centered in the view if needed.
888 * page/inspector/utilities.js: Removed scrollToElement().
890 2008-02-26 David Hyatt <hyatt@apple.com>
894 http://bugs.webkit.org/show_bug.cgi?id=17485
896 Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
897 Fixes a regression on huffingtonpost.com.
899 New tests added to fast/inline
901 * rendering/InlineFlowBox.cpp:
902 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
903 (WebCore::InlineFlowBox::placeBoxesVertically):
904 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
905 * rendering/RenderFlow.cpp:
906 (WebCore::RenderFlow::calcMargins):
907 * rendering/RenderFlow.h:
908 * rendering/RenderObject.h:
909 (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
910 (WebCore::RenderObject::hasHorizontalBordersOrPadding):
911 * rendering/bidi.cpp:
912 (WebCore::getBorderPaddingMargin):
913 (WebCore::RenderBlock::layoutInlineChildren):
914 (WebCore::inlineFlowRequiresLineBox):
916 2008-02-26 Sam Weinig <sam@webkit.org>
920 * platform/text/PlatformString.h:
921 (WebCore::reverseFind):
923 2008-02-26 Dan Bernstein <mitz@apple.com>
925 Reviewed by Darin Adler.
927 - fix http://bugs.webkit.org/show_bug.cgi?id=17555
928 <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
930 Test: fast/dynamic/subtree-table-cell-height.html
932 * rendering/RenderObject.cpp:
933 (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
934 height depends on their contents even if the CSS height property is
937 2008-02-25 Sam Weinig <sam@webkit.org>
939 Reviewed by Dan Bernstein.
941 Make the cleanPath function in CSSStyleSelector more efficient by using
944 * css/CSSStyleSelector.cpp:
945 (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
946 of a String. Also remove unnecessary reverseFind call that could be acomplished
948 (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
950 * platform/text/PlatformString.h:
951 (WebCore::find): Make this find generic enough that it can be used for
953 (WebCore::reverseFind): Implement reverseFind so that it can be used
954 for with a UChar* and length.
955 * platform/text/StringImpl.cpp:
956 (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
957 (WebCore::StringImpl::reverseFind): Ditto,
959 2008-02-26 Satoshi Nakagawa <artension@gmail.com>
961 Reviewed by Darin. Tweaked and landed by Alexey.
963 http://bugs.webkit.org/show_bug.cgi?id=17411
964 Ideographic comma and full stop should be treated as line-breakable characters
966 Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
968 * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
969 * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
970 Unicode 5.0 that is causing this.
972 2008-02-26 MorganL <morganl.webkit@yahoo.com>
974 Reviewed by eseidel. Landed by eseidel
976 Fix improperly initialized m_isUpToDate member variable.
977 Fixs 50+ layout tests when run on Tiger.
978 http://bugs.webkit.org/show_bug.cgi?id=17549
980 * platform/network/cf/ResourceResponse.h:
981 (WebCore::ResourceResponse::ResourceResponse):
982 * platform/network/mac/ResourceResponse.h:
983 (WebCore::ResourceResponse::ResourceResponse):
985 2008-02-25 Dan Bernstein <mitz@apple.com>
987 Reviewed by Sam Weinig.
989 - fix http://bugs.webkit.org/show_bug.cgi?id=17152
990 Paragraphs indented with :first-letter and text-align CSS render incorrectly
992 Test: fast/text/apply-start-width-after-skipped-text.html
994 * rendering/bidi.cpp:
995 (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
996 to figure in the padding, border and margin before a text node when the
997 line begins inside a text node.
999 2008-02-25 Kevin Ollivier <kevino@theolliviers.com>
1001 Windows build fix for wx port.
1003 * loader/FTPDirectoryDocument.cpp:
1005 2008-02-25 Mark Rowe <mrowe@apple.com>
1009 * platform/network/cf/ResourceResponseCFNet.cpp:
1010 (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp.
1012 2008-02-25 Beth Dakin <bdakin@apple.com>
1016 Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in
1017 Document::removePendingSheet() from r30438
1019 r30438 added a call to CachedResource::error() from inside
1020 Loader::didReceiveData() if a CSS file 4xxs. There was an
1021 assumption in the loader, though, that either error() would be
1022 called, or didFinishLoading() would be called, so some work is
1023 duplicated in each. Now that we are calling an error() on files
1024 that will also make it to didFinishLoading() (since they succeeded
1025 in the network layer), we need to make sure we do not duplicate the
1026 work. CachedCSSStyleSheet::error() calls checkNotify, which ends up
1027 decrementing the document's pending style sheet counter.
1028 checkNotify() was still getting called, though, through the normal
1029 didFinishLoading code path, and the counter was being decremented
1032 * loader/loader.cpp:
1033 (WebCore::Loader::didFinishLoading):
1034 (WebCore::Loader::didReceiveData):
1036 2008-02-25 Mark Rowe <mrowe@apple.com>
1038 Fix the Gtk, wx and Qt builds.
1040 * GNUmakefile.am: Add new files.
1041 * WebCore.pro: Ditto.
1042 * WebCoreSources.bkl: Ditto.
1043 * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
1045 2008-02-25 MorganL <morganl.webkit@yahoo.com>
1047 Reviewed by Darin Adler.
1049 Eliminate some #ifdefs from headers in platform/network.
1050 http://bugs.webkit.org/show_bug.cgi?id=17210
1054 * WebCore.vcproj/WebCore.vcproj:
1055 * WebCore.xcodeproj/project.pbxproj:
1056 * dom/XMLTokenizer.cpp:
1057 * loader/ResourceLoader.h:
1058 * platform/network/AuthenticationChallenge.cpp: Removed.
1059 * platform/network/AuthenticationChallenge.h: Removed.
1060 * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
1061 (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
1062 (WebCore::AuthenticationChallengeBase::previousFailureCount):
1063 (WebCore::AuthenticationChallengeBase::proposedCredential):
1064 (WebCore::AuthenticationChallengeBase::protectionSpace):
1065 (WebCore::AuthenticationChallengeBase::failureResponse):
1066 (WebCore::AuthenticationChallengeBase::error):
1067 (WebCore::AuthenticationChallengeBase::isNull):
1068 (WebCore::AuthenticationChallengeBase::nullify):
1069 (WebCore::AuthenticationChallengeBase::compare):
1070 * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
1071 (WebCore::AuthenticationChallengeBase::platformCompare):
1072 (WebCore::operator==):
1073 (WebCore::operator!=):
1074 * platform/network/ResourceError.cpp: Removed.
1075 * platform/network/ResourceError.h: Removed.
1076 * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
1077 (WebCore::ResourceErrorBase::lazyInit):
1078 (WebCore::ResourceErrorBase::compare):
1079 * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
1080 (WebCore::ResourceErrorBase::isNull):
1081 (WebCore::ResourceErrorBase::domain):
1082 (WebCore::ResourceErrorBase::errorCode):
1083 (WebCore::ResourceErrorBase::failingURL):
1084 (WebCore::ResourceErrorBase::localizedDescription):
1085 (WebCore::ResourceErrorBase::ResourceErrorBase):
1086 (WebCore::ResourceErrorBase::platformLazyInit):
1087 (WebCore::ResourceErrorBase::platformCompare):
1088 (WebCore::operator==):
1089 * platform/network/ResourceResponseBase.cpp:
1090 (WebCore::ResourceResponseBase::isHTTP):
1091 (WebCore::ResourceResponseBase::url):
1092 (WebCore::ResourceResponseBase::setUrl):
1093 (WebCore::ResourceResponseBase::mimeType):
1094 (WebCore::ResourceResponseBase::setMimeType):
1095 (WebCore::ResourceResponseBase::expectedContentLength):
1096 (WebCore::ResourceResponseBase::setExpectedContentLength):
1097 (WebCore::ResourceResponseBase::textEncodingName):
1098 (WebCore::ResourceResponseBase::setTextEncodingName):
1099 (WebCore::ResourceResponseBase::suggestedFilename):
1100 (WebCore::ResourceResponseBase::setSuggestedFilename):
1101 (WebCore::ResourceResponseBase::httpStatusCode):
1102 (WebCore::ResourceResponseBase::setHTTPStatusCode):
1103 (WebCore::ResourceResponseBase::httpStatusText):
1104 (WebCore::ResourceResponseBase::setHTTPStatusText):
1105 (WebCore::ResourceResponseBase::httpHeaderField):
1106 (WebCore::ResourceResponseBase::setHTTPHeaderField):
1107 (WebCore::ResourceResponseBase::httpHeaderFields):
1108 (WebCore::ResourceResponseBase::isAttachment):
1109 (WebCore::ResourceResponseBase::setExpirationDate):
1110 (WebCore::ResourceResponseBase::expirationDate):
1111 (WebCore::ResourceResponseBase::setLastModifiedDate):
1112 (WebCore::ResourceResponseBase::lastModifiedDate):
1113 (WebCore::ResourceResponseBase::lazyInit):
1114 (WebCore::ResourceResponseBase::compare):
1115 * platform/network/ResourceResponseBase.h:
1116 (WebCore::ResourceResponseBase::ResourceResponseBase):
1117 (WebCore::ResourceResponseBase::platformLazyInit):
1118 (WebCore::ResourceResponseBase::platformCompare):
1119 (WebCore::operator==):
1120 * platform/network/cf/AuthenticationCF.cpp:
1121 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1122 (WebCore::AuthenticationChallenge::platformCompare):
1123 * platform/network/cf/AuthenticationChallenge.h: Added.
1124 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1125 (WebCore::AuthenticationChallenge::sourceHandle):
1126 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
1127 * platform/network/cf/ResourceError.h: Added.
1128 (WebCore::ResourceError::ResourceError):
1129 * platform/network/cf/ResourceErrorCF.cpp:
1130 (WebCore::ResourceError::ResourceError):
1131 (WebCore::ResourceError::platformLazyInit):
1132 (WebCore::ResourceError::platformCompare):
1133 (WebCore::ResourceError::operator CFStreamError):
1134 * platform/network/cf/ResourceResponse.h:
1135 (WebCore::ResourceResponse::ResourceResponse):
1136 * platform/network/cf/ResourceResponseCFNet.cpp:
1137 (WebCore::ResourceResponse::platformLazyInit):
1138 * platform/network/curl/AuthenticationChallenge.h: Added.
1139 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1140 * platform/network/curl/ResourceError.h: Added.
1141 (WebCore::ResourceError::ResourceError):
1142 * platform/network/curl/ResourceResponse.h:
1143 (WebCore::ResourceResponse::ResourceResponse):
1144 * platform/network/mac/AuthenticationChallenge.h: Added.
1145 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1146 (WebCore::AuthenticationChallenge::sender):
1147 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
1148 * platform/network/mac/AuthenticationMac.mm:
1149 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1150 (WebCore::AuthenticationChallenge::platformCompare):
1151 * platform/network/mac/ResourceError.h: Added.
1152 (WebCore::ResourceError::ResourceError):
1153 * platform/network/mac/ResourceErrorMac.mm:
1154 (WebCore::ResourceError::platformLazyInit):
1155 (WebCore::ResourceError::platformCompare):
1156 * platform/network/mac/ResourceResponse.h:
1157 (WebCore::ResourceResponse::ResourceResponse):
1158 * platform/network/mac/ResourceResponseMac.mm:
1159 (WebCore::ResourceResponse::platformLazyInit):
1160 (WebCore::ResourceResponse::platformCompare):
1161 * platform/network/qt/AuthenticationChallenge.h: Added.
1162 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
1163 * platform/network/qt/ResourceError.h: Added.
1164 (WebCore::ResourceError::ResourceError):
1165 * platform/network/qt/ResourceResponse.h:
1166 (WebCore::ResourceResponse::ResourceResponse):
1167 * xml/XSLTProcessor.cpp:
1169 2008-02-25 Anders Carlsson <andersca@apple.com>
1173 Move remaining render style objects over to start with a refcount of 1 and get
1174 rid of DeprecatedDataRef.
1176 * rendering/DataRef.h:
1177 (WebCore::DataRef::operator*):
1178 (WebCore::DataRef::operator->):
1179 * rendering/RenderStyle.h:
1180 * rendering/SVGRenderStyle.cpp:
1181 (WebCore::SVGRenderStyle::SVGRenderStyle):
1182 * rendering/SVGRenderStyle.h:
1183 (WebCore::SVGRenderStyle::create):
1184 (WebCore::SVGRenderStyle::copy):
1185 * rendering/SVGRenderStyleDefs.cpp:
1186 (StyleFillData::StyleFillData):
1187 (StyleStrokeData::StyleStrokeData):
1188 (StyleStopData::StyleStopData):
1189 (StyleTextData::StyleTextData):
1190 (StyleClipData::StyleClipData):
1191 (StyleMaskData::StyleMaskData):
1192 (StyleMarkerData::StyleMarkerData):
1193 (StyleMiscData::StyleMiscData):
1194 * rendering/SVGRenderStyleDefs.h:
1195 (WebCore::StyleFillData::create):
1196 (WebCore::StyleFillData::copy):
1197 (WebCore::StyleStrokeData::create):
1198 (WebCore::StyleStrokeData::copy):
1199 (WebCore::StyleStopData::create):
1200 (WebCore::StyleStopData::copy):
1201 (WebCore::StyleTextData::create):
1202 (WebCore::StyleTextData::copy):
1203 (WebCore::StyleClipData::create):
1204 (WebCore::StyleClipData::copy):
1205 (WebCore::StyleMaskData::create):
1206 (WebCore::StyleMaskData::copy):
1207 (WebCore::StyleMarkerData::create):
1208 (WebCore::StyleMarkerData::copy):
1209 (WebCore::StyleMiscData::create):
1210 (WebCore::StyleMiscData::copy):
1212 2008-02-25 Dan Bernstein <mitz@apple.com>
1214 Reviewed by Dave Hyatt.
1216 - remove file-static BidiRun variables from bidi.cpp
1218 * platform/text/BidiResolver.h:
1219 (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
1220 (WebCore::BidiResolver::logicallyLastRun): Added.
1221 (WebCore::BidiResolver::runCount): Made unsigned.
1222 (WebCore::::reverseRuns): Changed ints to unsigned.
1223 (WebCore::::createBidiRunsForLine): Made this function set
1225 * rendering/RenderBlock.h:
1226 * rendering/bidi.cpp:
1227 (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
1228 (WebCore::RenderBlock::constructLine): Removed unused start parameter
1229 and added run count and first and last run parameters. Replaced end
1230 parameter with lastLine boolean and endObject pointer.
1231 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
1232 and logically last run parameters.
1233 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
1235 (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
1237 (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
1238 accessors instead of file statics.
1240 2008-02-25 Rodney Dawes <dobey@wayofthemonkey.com>
1242 Reviewed by Jon Honeycutt.
1244 http://bugs.webkit.org/show_bug.cgi?id=16924
1245 Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
1247 Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
1248 Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
1249 Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
1250 Add new PluginDatabase.cpp to Windows build.
1251 Add temporary stubs for new PluginDatabase and PluginPackage.
1252 shared classes to GTK+, Qt, and Wx ports.
1253 Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
1254 Remove shared code from PluginDatabaseWin.cpp.
1255 Remove Windows-specific code from PluginDatabase.cpp.
1256 Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
1257 Remove extraneous PluginPackage:: from hash() class method prototype.
1258 Subsume storeFileVersion into PluginPackage::fetchInfo.
1259 Add cross-platform PlatformModuleVersion type definition.
1260 Use PlatformModuleVersion to store the module version.
1261 Rename m_fileVersion[ML]S to m_moduleVersion.
1262 Change compareFileVersion to use PlatformModuleVersion as the argument.
1263 Move PluginView::determineQuirks and m_quirks to PluginPackage.
1264 Updated determineQuirks for the PlatformModuleVersion.
1268 * WebCoreSources.bkl:
1270 * WebCore.vcproj/WebCore.vcproj:
1271 * Platform/FileSystem.h:
1272 * platform/qt/PlugInInfoStoreQt.cpp:
1273 * platform/gtk/TemporaryLinkStubs.cpp:
1274 * platform/qt/TemporaryLinkStubs.cpp:
1275 * platform/wx/TemporaryLinkStubs.cpp:
1276 * plugins/PluginDatabase.cpp:
1277 * plugins/PluginDatabase.h:
1278 * plugins/win/PluginDatabaseWin.cpp:
1279 * plugins/PluginPackage.h:
1280 * plugins/win/PluginPackageWin.cpp:
1281 * plugins/PluginView.h:
1282 * plugins/win/PluginViewWin.cpp:
1284 2008-02-25 Anders Carlsson <andersca@apple.com>
1288 Make more style objects start out with a refcount of 1.
1290 * rendering/RenderStyle.cpp:
1291 (WebCore::StyleSurroundData::StyleSurroundData):
1292 (WebCore::StyleBoxData::StyleBoxData):
1293 (WebCore::StyleVisualData::StyleVisualData):
1294 (WebCore::StyleBackgroundData::StyleBackgroundData):
1295 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1296 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1297 (WebCore::StyleInheritedData::StyleInheritedData):
1298 * rendering/RenderStyle.h:
1299 (WebCore::StyleSurroundData::create):
1300 (WebCore::StyleSurroundData::copy):
1301 (WebCore::StyleBoxData::create):
1302 (WebCore::StyleBoxData::copy):
1303 (WebCore::StyleVisualData::create):
1304 (WebCore::StyleVisualData::copy):
1305 (WebCore::StyleBackgroundData::create):
1306 (WebCore::StyleBackgroundData::copy):
1307 (WebCore::StyleBackgroundData::~StyleBackgroundData):
1308 (WebCore::StyleRareNonInheritedData::create):
1309 (WebCore::StyleRareNonInheritedData::copy):
1310 (WebCore::StyleRareInheritedData::create):
1311 (WebCore::StyleRareInheritedData::copy):
1312 (WebCore::StyleInheritedData::create):
1313 (WebCore::StyleInheritedData::copy):
1315 2008-02-25 Anders Carlsson <andersca@apple.com>
1319 Make some of the refcounted style objects start out with a refcount of 1.
1321 * rendering/DataRef.h:
1322 Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
1323 Change DataRef to use ::create() and ::copy() instead of the constructors.
1324 Change DataRef's pointer to be a RefPtr instead.
1326 * rendering/RenderStyle.cpp:
1327 (WebCore::StyleMarqueeData::StyleMarqueeData):
1328 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1329 (WebCore::StyleMultiColData::StyleMultiColData):
1330 (WebCore::StyleTransformData::StyleTransformData):
1331 Start with a RefCount of 1.
1333 * rendering/RenderStyle.h:
1334 * rendering/SVGRenderStyle.h:
1335 Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
1337 2008-02-25 Darin Adler <darin@apple.com>
1340 Based on a patch by Tim Steele <timsteele41@gmail.com>.
1342 - fix http://bugs.webkit.org/show_bug.cgi?id=17186
1343 Fragment navigation within a page permanently cancels meta refresh
1345 Test: fast/loader/meta-refresh-anchor-click.html
1347 * loader/FrameLoader.cpp:
1348 (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
1349 always do a real load. This makes sure that meta refresh loads are treated as real loads
1350 rather than anchor scrolls. Also tweaked formatting a bit.
1351 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
1352 an alternate way to complete a load, so it needs to start the redirection timer if
1353 redirection has already been scheduled.
1355 2008-02-25 Dan Bernstein <mitz@apple.com>
1357 Reviewed by Darin Adler.
1359 - avoid counting spaces in non-justified text
1361 * rendering/bidi.cpp:
1362 Removed file-static numSpaces.
1363 (WebCore::BidiState::addRun): Removed space counting.
1364 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
1365 counting, conditional on the block having the text-align: justify
1367 (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
1370 2008-02-25 Darin Adler <darin@apple.com>
1374 * platform/graphics/cg/ImageSourceCG.cpp:
1375 (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
1376 variable (because CFSTR is inefficient on Windows).
1378 2008-02-25 Darin Adler <darin@apple.com>
1382 * WebCore.base.exp: Export blankURL, and sort the file.
1384 2008-02-25 Simon Hausmann <hausmann@webkit.org>
1386 Reviewed by Mark Rowe.
1388 Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
1392 * editing/Selection.cpp:
1393 * editing/SelectionController.cpp:
1394 * editing/VisiblePosition.cpp:
1395 * history/HistoryItem.cpp:
1397 * loader/FTPDirectoryParser.cpp:
1398 * platform/KURL.cpp:
1399 * platform/gtk/FileSystemGtk.cpp:
1400 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1401 * platform/text/TextCodecLatin1.cpp:
1402 * platform/text/TextCodecUserDefined.cpp:
1403 * rendering/CounterNode.cpp:
1404 * rendering/RenderObject.cpp:
1406 2008-02-25 Johnny Ding <johnnyding.webkit@gmail.com>
1408 Reviewed by Darin Adler.
1410 - fix http://bugs.webkit.org/show_bug.cgi?id=17444
1412 In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
1413 whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
1414 and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
1415 to decide whether to save prependingSrc or not. The later behavior is not right
1416 because, in scriptHandler and scriptExecution, even the pendingScripts queue is
1417 empty, the testBit:LoadingExtScript might be TRUE.
1419 Test: fast/tokenizer/nested-multiple-scripts.html
1421 * html/HTMLTokenizer.cpp:
1422 (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
1423 checking state.loadingExtScript().
1424 (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
1425 checking state.loadingExtScript().
1427 2008-02-24 Darin Adler <darin@apple.com>
1429 * dom/Document.h: Removed stray duplicate declaration of
1430 RegisteredEventListenerList.
1432 2008-02-24 Darin Adler <darin@apple.com>
1435 (WebCore::Range::surroundContents): Removed incorrect comment.
1436 I added it a while ago, and I was just mixed up.
1438 2008-02-24 Darin Adler <darin@apple.com>
1440 - quick follow-up to that last check-in
1442 * platform/graphics/cg/ImageSourceCG.cpp:
1443 (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
1444 WebCore::String's == for speed.
1446 2008-02-24 Michael Knaup <michael.knaup@mac.com>
1450 Bug 8749: XBM rendered incorrectly as black on white
1452 xbm images are now created and rendered using black on a
1453 transparent background (same behavior as in Firefox)
1455 Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
1457 * platform/graphics/cg/ImageSourceCG.cpp:
1458 (WebCore::ImageSource::createFrameAtIndex):
1460 2008-02-24 Dan Bernstein <mitz@apple.com>
1462 Reviewed by Darin Adler.
1464 - fix http://bugs.webkit.org/show_bug.cgi?id=17471
1465 REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
1467 Test: http/tests/misc/object-image-error.html
1469 * html/HTMLObjectElement.cpp:
1470 (WebCore::HTMLObjectElement::attach): Added an early return in case
1471 updateFromElement() has changed the object to use fallback content.
1473 2008-02-24 Dan Bernstein <mitz@apple.com>
1475 Reviewed by Darin Adler.
1477 - fix float positioning when a float that does not fit on the line is
1478 followed by a float that does
1480 Test: fast/block/float/narrow-after-wide.html
1482 * rendering/bidi.cpp:
1483 (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
1484 more floats on the line once a float that does not fit is encountered.
1485 That float should be pushed to the next line, and so should all floats
1486 that follow, regardless of whether they can fit on the current line.
1488 2008-02-24 Darin Adler <darin@apple.com>
1492 - fix http://bugs.webkit.org/show_bug.cgi?id=16770
1493 Acid3 expects :visited styled links to restyle on iframe load
1495 Disentangle global history updating from the back/forward history.
1496 There are many cases where we don't want to create a new back/forward
1497 item, but we do still want to add to the global history (used for visited
1498 link coloring) in those cases.
1500 Test: fast/history/subframe-is-visited.html
1502 * loader/FrameLoader.cpp:
1503 (WebCore::FrameLoader::updateGlobalHistory): Renamed from
1504 addHistoryForCurrentLocation and removed the back/forward handling.
1505 (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
1506 bit. Replaced call to addHistoryForCurrentLocation with a call to
1507 addBackForwardItemClippedAtTarget. Added an unconditional call to
1508 updateGlobalHistory.
1509 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
1510 why doesn't this function update global history?
1511 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
1512 (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
1513 the client with a call to the new updateGlobalHistory function.
1514 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
1515 the same changes as for updateHistoryForStandardLoad.
1516 * loader/FrameLoader.h: More of the same.
1518 * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
1519 renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
1521 * svg/graphics/SVGImageEmptyClients.h:
1522 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
1525 2008-02-23 Darin Adler <darin@apple.com>
1529 - fix http://bugs.webkit.org/show_bug.cgi?id=17508
1530 REGRESSION (r30535): mailto regression tests failing
1532 * html/HTMLFormElement.cpp:
1533 (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
1534 trip through String do to the replace operation. It's inefficient, but there's
1535 no real reason to worry about the efficiency of mailto forms, since that feature
1538 2008-02-23 Darin Adler <darin@apple.com>
1542 - replace SegmentedString's use of DeprecatedValueList with Deque
1544 Testing indicates this is a slight speed-up for page loading.
1546 * platform/text/SegmentedString.cpp:
1547 (WebCore::SegmentedString::length): Update to use Deque.
1548 (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
1549 (WebCore::SegmentedString::append): Ditto.
1550 (WebCore::SegmentedString::prepend): Ditto.
1551 (WebCore::SegmentedString::advanceSubstring): Ditto.
1552 (WebCore::SegmentedString::toString): Ditto.
1553 * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
1554 class private with a single friend. Change m_sbstrings from a DeprecatedValueList
1557 2008-02-23 Darin Adler <darin@apple.com>
1561 - fix http://bugs.webkit.org/show_bug.cgi?id=17506
1562 REGRESSION (r30535): ASSERTION FAILED: i < size()
1564 * loader/TextResourceDecoder.cpp:
1565 (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
1568 2008-02-23 Matt Lilek <webkit@mattlilek.com>
1570 Not reviewed, build fix.
1572 * platform/network/cf/FormDataStreamCFNet.cpp:
1573 (WebCore::httpBodyFromRequest):
1574 * plugins/win/PluginViewWin.cpp:
1575 (WebCore::PluginView::handlePost):
1577 2008-02-23 Dan Bernstein <mitz@apple.com>
1581 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1582 (WebCore::GlyphPage::fill):
1583 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1584 (WebCore::GlyphPage::fill):
1586 2008-02-23 Dan Bernstein <mitz@apple.com>
1588 Reviewed by Anders Carlsson.
1590 - fix GlyphPage::fill() logic for partial page fills
1592 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1593 (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
1594 work correctly when the length parameter is less than a full page size.
1595 Also updated the comment.
1596 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1597 (WebCore::GlyphPage::fill): Ditto.
1599 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1601 Reviewed by Darin Adler.
1603 Move text drawing into wxcode, as we need platform-dependent
1604 APIs for drawing non-kerned text, which wx doesn't yet have.
1605 (But hopefully will, once these APIs are fleshed out on all
1608 http://bugs.webkit.org/show_bug.cgi?id=17396
1610 * platform/graphics/wx/FontWx.cpp:
1611 (WebCore::Font::drawGlyphs):
1612 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
1613 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
1614 * platform/wx/wxcode/non-kerned-drawing.h: Added.
1615 * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
1618 2008-02-23 Darin Adler <darin@apple.com>
1620 Pointed out by Mitz.
1622 * loader/TextResourceDecoder.cpp:
1623 (WebCore::find): Fix a "==" that was supposed to be ">".
1624 (WebCore::findIgnoringCase): Ditto.
1626 2008-02-23 Darin Adler <darin@apple.com>
1630 * html/HTMLFormElement.cpp:
1631 (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
1633 2008-02-23 Darin Adler <darin@apple.com>
1637 - remove all but 1 remaining use of DeprecatedCString
1638 - change FormData to start refcount at 1
1640 * html/HTMLFormElement.cpp:
1641 (WebCore::appendString): Added. Helpers for Vector<char>.
1642 (WebCore::appendEncodedString): Renamed from encodeCString and changed to
1643 append to an existing Vector<char> to cut down a bit on memory allocation.
1644 (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
1645 enc_string with a Vector<char> called encodedData. Change to use the new
1646 FormData::create function.
1647 (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
1649 * loader/TextResourceDecoder.cpp:
1650 (WebCore::find): Added. Helper for searching in char* with length.
1651 (WebCore::findIgnoringCase): Ditto.
1652 (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
1653 when we have a char* with length rather than a null-terminated char*.
1654 (WebCore::findXMLEncoding): Changed to use char* and length rather than
1655 DeprecatedCString. Also fixed some things that would be one-character
1656 buffer overruns in a string that's not null-terminated.
1657 (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
1658 findTextEncoding rather than constructing a CString to pass to the
1659 TextEncodingconstructor.
1660 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1662 * platform/network/FormData.cpp:
1663 (WebCore::FormData::FormData): Changed to start refcount at 1.
1664 (WebCore::FormData::create): Added.
1665 (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
1666 * platform/network/FormData.h: Made constructor private. Added create functions.
1668 * platform/network/mac/ResourceRequestMac.mm:
1669 (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
1670 * xml/XMLHttpRequest.cpp:
1671 (WebCore::XMLHttpRequest::send): Ditto.
1673 2008-02-23 Darin Adler <darin@apple.com>
1677 - http://bugs.webkit.org/show_bug.cgi?id=17067
1678 eliminate attributes parameter from JSObject::put for speed/clarity
1680 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1681 (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
1683 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1684 (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
1685 (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
1686 CanvasPixelArray object, for consistency with the getter. Removed attributes
1689 * bindings/js/JSDOMWindowCustom.cpp:
1690 (WebCore::JSDOMWindow::customPut): Removed special case for variable
1691 initialization, which is not needed since that does use put any more.
1692 Removed attributes argument.
1694 * bindings/js/JSEventTargetBase.h:
1695 (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
1696 (WebCore::JSEventTargetBase::put): Ditto.
1697 (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
1698 * bindings/js/JSEventTargetNode.cpp:
1699 (WebCore::JSEventTargetNode::put): Removed attributes argument.
1700 (WebCore::JSEventTargetNode::putValueProperty): Ditto.
1701 * bindings/js/JSEventTargetNode.h: Ditto.
1702 * bindings/js/JSHTMLAppletElementCustom.cpp:
1703 (WebCore::JSHTMLAppletElement::customPut): Ditto.
1704 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1705 (WebCore::JSHTMLEmbedElement::customPut): Ditto.
1706 * bindings/js/JSHTMLInputElementBase.cpp:
1707 (WebCore::JSHTMLInputElementBase::put): Ditto.
1708 (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
1709 * bindings/js/JSHTMLInputElementBase.h: Ditto.
1710 * bindings/js/JSHTMLObjectElementCustom.cpp:
1711 (WebCore::JSHTMLObjectElement::customPut): Ditto.
1712 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1713 (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
1714 * bindings/js/JSHTMLSelectElementCustom.cpp:
1715 (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1716 * bindings/js/JSHistoryCustom.cpp:
1717 (WebCore::JSHistory::customPut): Ditto.
1718 * bindings/js/JSLocation.cpp:
1719 (WebCore::JSLocation::put): Ditto.
1720 * bindings/js/JSLocation.h: Ditto.
1721 * bindings/js/JSXMLHttpRequest.cpp:
1722 (WebCore::JSXMLHttpRequest::put): Ditto.
1723 (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
1724 * bindings/js/JSXMLHttpRequest.h: Ditto.
1726 * bindings/js/kjs_dom.cpp:
1727 (WebCore::getRuntimeObject): Changed return type to JSObject*.
1728 * bindings/js/kjs_dom.h: Ditto.
1730 * bindings/js/kjs_events.cpp:
1731 (WebCore::JSClipboard::put): Removed attributes argument.
1732 (WebCore::JSClipboard::putValueProperty): Ditto.
1733 * bindings/js/kjs_events.h: Ditto.
1735 * bindings/js/kjs_html.cpp:
1736 (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
1737 return a JSObject. Used early exit idiom.
1738 (WebCore::runtimeObjectPropertyGetter): Ditto.
1739 (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
1740 (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
1741 that we should put with the property syntax instead of canPut.
1742 (WebCore::runtimeObjectImplementsCall): Ditto.
1743 (WebCore::runtimeObjectCallAsFunction): Ditto.
1744 * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
1746 * bindings/js/kjs_window.cpp:
1747 (KJS::Window::put): Removed attributes argument.
1748 * bindings/js/kjs_window.h: Ditto.
1750 * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
1751 putValueProperty, customPut, and indexSetter.
1753 * html/CanvasPixelArray.h:
1754 (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
1755 function. Before, the checking was done in the JavaScript bindings for set.
1757 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
1759 Reviewed by Adam and Darin.
1761 http://bugs.webkit.org/show_bug.cgi?id=17442
1762 Correct the Windows Cairo implementation of GraphicsContext so
1763 that Windows 'WorldTransform' is kept in sync with the Cairo
1766 Also corrects an uninitialized variable in the Cairo Windows
1769 WARNING: NO TEST CASES ADDED OR CHANGED
1771 * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify
1772 methods to call GraphicsContextPlatformPrivate calls, just
1773 as is done for the CoreGraphics version. These calls are
1774 nop's for everything but Windows.
1775 (WebCore::GraphicsContext::savePlatformState):
1776 (WebCore::GraphicsContext::restorePlatformState):
1777 (WebCore::GraphicsContext::clip):
1778 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1779 (WebCore::GraphicsContext::translate):
1780 (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
1781 (WebCore::GraphicsContext::beginTransparencyLayer):
1782 (WebCore::GraphicsContext::endTransparencyLayer):
1783 (WebCore::GraphicsContext::rotate):
1784 (WebCore::GraphicsContext::scale):
1785 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1786 * platform/graphics/win/GraphicsContextCGWin.cpp: Move common
1787 code for handling WorldTransform calls to parent class.
1788 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common
1789 code for handling WorldTransform calls.
1790 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change
1791 implementation so that it only handles WorldTransform. The
1792 Cairo update is done in GraphicsContextCairo.cpp
1793 * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private
1794 methods to keep WorldTransform in sync.
1795 (WebCore::GraphicsContextPlatformPrivate::save):
1796 (WebCore::GraphicsContextPlatformPrivate::restore):
1797 (WebCore::GraphicsContextPlatformPrivate::clip):
1798 (WebCore::GraphicsContextPlatformPrivate::scale):
1799 (WebCore::GraphicsContextPlatformPrivate::rotate):
1800 (WebCore::GraphicsContextPlatformPrivate::translate):
1801 * platform/win/DragImageCairoWin.cpp:
1802 (WebCore::createDragImageFromImage): Correct uninitialized value
1804 2008-02-23 Dan Bernstein <mitz@apple.com>
1806 Reviewed by Dave Hyatt.
1808 - make non-autowrapping text clear floats
1810 Test: fast/text/whitespace/nowrap-clear-float.html
1812 * rendering/RenderBlock.cpp:
1813 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
1814 this and changed to avoid comparing bottom to 0 in each iteration.
1815 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
1816 * rendering/RenderBlock.h:
1817 * rendering/bidi.cpp:
1818 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
1819 findNextLineBreak() and simplified.
1820 (WebCore::RenderBlock::findNextLineBreak): Changed to call
1821 fitBelowFloats(). Fixed the bug by trying to fit below floats in the
1822 case of non-wrapping text. Removed some redundancy.
1824 2008-02-23 Sam Weinig <sam@webkit.org>
1826 Reviewed by Oliver Hunt.
1828 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
1829 Speed up DOM lists array subscription syntax by using the fast
1830 getOwnPropertySlot and set paths
1832 - 6x speed improvement on Oliver's ImageData put test.
1834 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
1835 and put when an indexGetter or indexSetter is used. We can not use the fast
1836 path if an overridingNameGetter is used as there would be no way to override.
1838 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1840 wx build fix after JSImageData.cpp was added.
1842 * WebCoreSources.bkl:
1844 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1846 Windows build fix - move ThreadCondition implementation from WebCore to WTF.
1848 * WebCore.vcproj/WebCore.vcproj:
1849 * platform/win/ThreadConditionWin.cpp: Removed.
1851 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1855 Move basic threading support from WebCore to WTF.
1857 One call that remains in WebCore is callOnMainThread(), and it has its own header now.
1859 * ForwardingHeaders/wtf/Locker.h: Added.
1860 * ForwardingHeaders/wtf/MessageQueue.h: Added.
1861 * ForwardingHeaders/wtf/Threading.h: Added.
1864 * WebCore.vcproj/WebCore.vcproj:
1865 * WebCore.xcodeproj/project.pbxproj:
1866 * WebCoreSources.bkl:
1867 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1868 * dom/XMLTokenizer.cpp:
1869 * loader/icon/IconDatabase.cpp:
1870 (WebCore::iconDatabase):
1871 * loader/icon/IconDatabase.h:
1872 * platform/Locker.h: Removed.
1873 * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
1874 (WebCore::initializeThreadingAndMainThread):
1875 * platform/MessageQueue.h: Removed.
1876 * platform/SecurityOrigin.h:
1877 * platform/Threading.h: Removed.
1878 * platform/ThreadingNone.cpp: Removed.
1879 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
1880 * platform/gtk/ThreadingGtk.cpp: Removed.
1881 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
1882 * platform/mac/Threading.mm: Removed.
1883 * platform/pthreads: Removed.
1884 * platform/pthreads/ThreadingPthreads.cpp: Removed.
1885 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
1886 * platform/qt/ThreadingQt.cpp: Removed.
1887 * platform/sql/SQLValue.h:
1888 * platform/sql/SQLiteAuthorizer.h:
1889 * platform/sql/SQLiteDatabase.h:
1890 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
1891 (WebCore::initializeThreadingAndMainThread):
1892 * platform/win/MutexWin.cpp: Removed.
1893 * platform/win/ThreadingWin.cpp: Removed.
1894 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
1895 * platform/wx/ThreadingWx.cpp: Removed.
1896 * storage/Database.cpp:
1897 (WebCore::Database::Database):
1898 * storage/Database.h:
1899 * storage/DatabaseTask.h:
1900 * storage/DatabaseThread.h:
1901 * storage/DatabaseTracker.cpp:
1902 * storage/OriginQuotaManager.h:
1903 * storage/SQLError.h:
1904 * storage/SQLResultSet.h:
1905 * storage/SQLStatement.h:
1906 * storage/SQLStatementCallback.h:
1907 * storage/SQLStatementErrorCallback.h:
1908 * storage/SQLTransaction.h:
1909 * storage/SQLTransactionCallback.h:
1910 * storage/SQLTransactionErrorCallback.h:
1913 2008-02-23 David Kilzer <ddkilzer@apple.com>
1915 Please clarify licensing for some files
1916 <http://bugs.webkit.org/show_bug.cgi?id=14970>
1920 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
1921 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
1922 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
1924 2008-02-22 Justin Garcia <justin.garcia@apple.com>
1926 Reviewed by Anders Carlsson.
1928 <rdar://problem/5714333> Add document.getSelection()
1930 Add a synonym for window.getSelection() that FF supports. There were requests in
1931 this bugs dupes to also support the IE only document.selection, but IE's Selection
1932 object is too different than ours currently for that to be safe (specifically, we
1933 don't support enough of IE's TextRange methods on our DOM Range object yet). I
1934 filed <rdar://problem/5761233> to cover that.
1937 (WebCore::Document::getSelection): Added.
1939 * dom/Document.idl: Ditto. JS only since this is about web compatibility.
1941 2008-02-22 Oliver Hunt <oliver@apple.com>
1945 * WebCoreSources.bkl:
1947 2008-02-22 Oliver Hunt <oliver@apple.com>
1949 Once more with the cairo/qt/wx build fixing
1951 * platform/graphics/cairo/ImageBufferCairo.cpp:
1952 * platform/graphics/qt/ImageBufferQt.cpp:
1953 * platform/graphics/wx/ImageBufferWx.cpp:
1955 2008-02-22 Mark Rowe <mrowe@apple.com>
1957 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
1959 * platform/win/PasteboardWin.cpp:
1961 2008-02-22 Mark Rowe <mrowe@apple.com>
1963 Speculative Windows build fix.
1965 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
1966 * platform/win/ClipboardWin.cpp: Ditto.
1968 2008-02-22 Oliver Hunt <oliver@apple.com>
1970 Build fix for windows, wx and qt
1972 * html/CanvasPixelArray.h:
1973 (WebCore::CanvasPixelArray::set):
1975 2008-02-22 Oliver Hunt <oliver@apple.com>
1977 Unbreak windows vcproj
1979 * WebCore.vcproj/WebCore.vcproj:
1981 2008-02-22 Oliver Hunt <oliver@apple.com>
1985 Support Canvas.getImageData and Canvas.createImageData
1987 This patch adds support for all the pixel reading portions
1988 of the HTML5 Canvas spec. There are two new types ImageData
1989 and CanvasPixelArray which are used to provide the HTML5
1990 ImageData object, and the required semantics for assignment
1991 to the ImageData data array.
1993 We only implement the CG version of ImageBuffer::getImageData,
1994 but the logic is null safe, so this will not introduce any
1995 crashes into other platforms, unfortunately it will result in
1996 JS Object detection "lying" on non-CG platforms.
1998 Tests: fast/canvas/canvas-ImageData-behaviour.html
1999 fast/canvas/canvas-getImageData.html
2001 * DerivedSources.make:
2004 * WebCore.vcproj/WebCore.vcproj:
2005 * WebCore.xcodeproj/project.pbxproj:
2006 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
2007 (WebCore::JSCanvasPixelArray::indexGetter):
2008 (WebCore::JSCanvasPixelArray::indexSetter):
2010 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2011 * bindings/scripts/CodeGeneratorJS.pm:
2012 * html/CanvasPixelArray.cpp: Added.
2013 (WebCore::CanvasPixelArray::create):
2014 * html/CanvasPixelArray.h: Added.
2015 (WebCore::CanvasPixelArray::data):
2016 (WebCore::CanvasPixelArray::length):
2017 (WebCore::CanvasPixelArray::set):
2018 (WebCore::CanvasPixelArray::get):
2019 * html/CanvasPixelArray.idl: Added.
2020 * html/CanvasRenderingContext2D.cpp:
2021 (WebCore::createEmptyImageData):
2022 (WebCore::CanvasRenderingContext2D::createImageData):
2023 (WebCore::CanvasRenderingContext2D::getImageData):
2024 * html/CanvasRenderingContext2D.h:
2025 * html/CanvasRenderingContext2D.idl:
2026 * html/HTMLCanvasElement.cpp:
2027 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2028 (WebCore::HTMLCanvasElement::createImageBuffer):
2029 * html/HTMLCanvasElement.h:
2030 * html/ImageData.cpp: Added.
2031 (WebCore::ImageData::create):
2032 (WebCore::ImageData::ImageData):
2033 * html/ImageData.h: Added.
2034 (WebCore::ImageData::width):
2035 (WebCore::ImageData::height):
2036 (WebCore::ImageData::data):
2037 * html/ImageData.idl: Added.
2038 * platform/graphics/ImageBuffer.h:
2039 * platform/graphics/cairo/ImageBufferCairo.cpp:
2040 (WebCore::ImageBuffer::getImageData):
2041 * platform/graphics/cg/ImageBufferCG.cpp:
2042 (WebCore::ImageBuffer::getImageData):
2043 * platform/graphics/qt/ImageBufferQt.cpp:
2044 (WebCore::ImageBuffer::getImageData):
2045 * platform/graphics/wx/ImageBufferWx.cpp:
2046 (WebCore::ImageBuffer::getImageData):
2048 2008-02-22 Sam Weinig <sam@webkit.org>
2050 Rubber-stamped by Adam Roben.
2052 Rid the project of the Devil known as DeprecatedString!
2057 * WebCore.vcproj/WebCore.vcproj:
2058 * WebCore.xcodeproj/project.pbxproj:
2059 * WebCoreSources.bkl:
2061 * html/HTMLFormElement.cpp:
2062 * platform/DeprecatedString.cpp: Removed.
2063 * platform/DeprecatedString.h: Removed.
2064 * platform/graphics/qt/IconQt.cpp:
2065 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2066 * platform/gtk/CookieJarGtk.cpp:
2067 * platform/gtk/CursorGtk.cpp:
2068 * platform/gtk/KeyEventGtk.cpp:
2069 * platform/mac/DeprecatedStringMac.mm: Removed.
2070 * platform/network/qt/ResourceHandleQt.cpp:
2071 * platform/network/win/CookieJarWin.cpp:
2073 * platform/qt/ClipboardQt.cpp:
2074 * platform/qt/CookieJarQt.cpp:
2075 * platform/qt/CursorQt.cpp:
2076 * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
2077 * platform/text/AtomicString.cpp:
2078 * platform/text/AtomicString.h:
2079 * platform/text/PlatformString.h:
2080 * platform/text/String.cpp:
2081 * platform/text/StringImpl.cpp:
2082 * platform/text/qt/StringQt.cpp:
2083 (WebCore::String::String):
2084 * platform/text/wx/StringWx.cpp:
2085 * platform/win/BString.cpp:
2086 * platform/win/BString.h:
2087 * platform/win/PasteboardWin.cpp:
2089 2008-02-22 Sam Weinig <sam@webkit.org>
2091 Reviewed by Geoff Garen.
2093 - Remove use of DeprecatedString in CSSStyleSelector.
2095 * css/CSSStyleSelector.cpp:
2096 (WebCore::findHash): Removed. Use find instead.
2097 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
2098 (WebCore::findSlashSlash): Ditto.
2099 (WebCore::findSlashDotSlash): Ditto.
2100 (WebCore::containsColonSlashSlash): Ditto.
2101 (WebCore::cleanPath): Change to operate on a String.
2102 (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
2104 2008-02-22 Geoffrey Garen <ggaren@apple.com>
2106 Reviewed by Sam Weinig.
2108 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
2109 associated objects @ www.viamichelin.it, which was probably an underlying
2110 cause of <rdar://problem/5744037> Gmail out of memory (17455)
2112 If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
2113 the XMLHttpRequest but think we hadn't, therefore never
2114 calling deref() / gcUnprotect().
2116 This could happen at gmail.com, since gmail.com attempts to send
2117 XMLHttpRequests from unload handlers in order to gather usage statistics.
2118 (According to comments in the code, SubresourceLoader::create returns
2119 NULL when called from an unload handler.)
2121 The solution is to ref() / gcProtect() only if SubresourceLoader::create
2122 doesn't return NULL. This make sense, since we only need to protect the
2123 request as long as it has an outstanding network transaction.
2125 * xml/XMLHttpRequest.cpp:
2126 (WebCore::XMLHttpRequest::XMLHttpRequest):
2127 (WebCore::XMLHttpRequest::send):
2129 2008-02-22 Darin Adler <darin@apple.com>
2131 Reviewed, tweaked and landed by Sam.
2133 - Make RegularExpression operate on Strings instead of DeprecatedStrings.
2135 * dom/DOMImplementation.cpp:
2136 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
2137 to build up the RegularExpression.
2139 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
2140 (WebCore::Frame::searchForLabelsAboveCell): Ditto.
2141 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
2142 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
2144 * page/mac/FrameMac.mm:
2145 (WebCore::regExpForLabels): Ditto.
2146 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
2147 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
2148 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
2150 * platform/text/RegularExpression.cpp:
2151 (WebCore::RegularExpression::Private::Private):
2152 (WebCore::RegularExpression::Private::compile):
2153 (WebCore::RegularExpression::RegularExpression):
2154 (WebCore::RegularExpression::operator=):
2155 (WebCore::RegularExpression::pattern):
2156 (WebCore::RegularExpression::match):
2157 (WebCore::RegularExpression::search):
2158 (WebCore::RegularExpression::searchRev):
2159 (WebCore::replace): Added.
2160 * platform/text/RegularExpression.h:
2161 Change functions to take Strings as input instead of DeprecatedStrings and
2162 reduce the complexity of the class by removing unneeded globbing support.
2164 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
2168 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
2169 during stress test (after only 5 min) - null dereference
2171 Full-frame plug-ins create PluginStream objects without loaders, as the
2172 PluginView receives the loading callbacks. We were trying to call
2173 setDefersLoading on these null pointers.
2175 * plugins/PluginStream.cpp:
2176 (WebCore::PluginStream::startStream): Add null check.
2177 (WebCore::PluginStream::destroyStream): Same.
2178 (WebCore::PluginStream::deliverData): Same.
2180 2008-02-22 Darin Adler <darin@apple.com>
2182 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
2184 - Remove uses of DeprecatedString in Windows plugin code.
2186 * plugins/win/PluginPackageWin.cpp:
2187 (WebCore::getVersionInfo): Cleanup formatting.
2188 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
2189 (WebCore::PluginPackage::storeFileVersion): Move casts.
2190 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
2192 (WebCore::PluginPackage::load): Fix whitespace.
2193 (WebCore::PluginPackage::hash): Make the hashCodes const
2194 * plugins/win/PluginViewWin.cpp:
2195 (WebCore::makeURL): Use String instead of DeprecatedString.
2196 (WebCore::parseRFC822HeaderFields): Ditto.
2197 (WebCore::PluginView::handlePost): Ditto.
2198 (WebCore::PluginView::status): Ditto.
2200 2008-02-22 Darin Adler <darin@apple.com>
2202 Reviewed, tweaked and landed by Sam.
2204 - Don't use DeprecatedString in HTMLTokenizer.
2206 * html/HTMLTokenizer.cpp:
2207 (WebCore::HTMLTokenizer::finish):
2208 * platform/text/PlatformString.h:
2211 2008-02-21 Sam Weinig <sam@webkit.org>
2213 Reviewed by Anders Carlsson.
2215 Fix for <rdar://problem/5757946>
2217 - Parse URLs before checking whether they are javascript: urls
2218 (which require security checks).
2220 * bindings/js/JSAttrCustom.cpp:
2221 (WebCore::JSAttr::setValue):
2222 * bindings/js/JSElementCustom.cpp:
2223 (WebCore::allowSettingSrcToJavascriptURL):
2224 * bindings/js/JSHTMLFrameElementCustom.cpp:
2225 (WebCore::allowSettingJavascriptURL):
2226 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2227 (WebCore::JSHTMLIFrameElement::setSrc):
2229 2008-02-21 Ada Chan <adachan@apple.com>
2231 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
2232 We could get a buffer overrun in DeprecatedCString::find() if the end of the
2233 string matches a beginning portion of the substring, for example, if string is
2234 "a" but the substring is "ab".
2235 The code as is also will not match things correctly under certain situations
2236 since the inner while loop increments the index. For example, we wouldn't find
2237 a match if the string is "aab..." and the substring is "ab". Changed the
2238 inner while loop to increment a temporary index into str.
2240 Test: fast/loader/charset-parse.html
2242 Reviewed by Dan Berstein.
2244 * platform/DeprecatedCString.cpp:
2245 (WebCore::DeprecatedCString::find):
2247 2008-02-21 David Hyatt <hyatt@apple.com>
2249 Fix for bug 17301. CSS media queries need to use the correct viewport
2250 when contained in documents inside iframes (rather than always using the
2251 top-level document's viewport). CSS media queries based on the viewport
2252 also needed to be dynamic and update as you resize the window (this is
2255 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
2259 Added fast/media/viewport-media-query.html
2261 * css/CSSStyleSelector.cpp:
2262 (WebCore::CSSStyleSelector::CSSStyleSelector):
2263 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
2264 (WebCore::CSSStyleSelector::affectedByViewportChange):
2265 * css/CSSStyleSelector.h:
2266 (WebCore::MediaQueryResult::MediaQueryResult):
2267 * css/MediaQueryEvaluator.cpp:
2268 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
2269 (WebCore::MediaQueryEvaluator):
2270 (WebCore::MediaQueryEvaluator::eval):
2271 (WebCore::colorMediaFeatureEval):
2272 (WebCore::monochromeMediaFeatureEval):
2273 (WebCore::device_aspect_ratioMediaFeatureEval):
2274 (WebCore::device_pixel_ratioMediaFeatureEval):
2275 (WebCore::gridMediaFeatureEval):
2276 (WebCore::device_heightMediaFeatureEval):
2277 (WebCore::device_widthMediaFeatureEval):
2278 (WebCore::heightMediaFeatureEval):
2279 (WebCore::widthMediaFeatureEval):
2280 (WebCore::min_colorMediaFeatureEval):
2281 (WebCore::max_colorMediaFeatureEval):
2282 (WebCore::min_monochromeMediaFeatureEval):
2283 (WebCore::max_monochromeMediaFeatureEval):
2284 (WebCore::min_device_aspect_ratioMediaFeatureEval):
2285 (WebCore::max_device_aspect_ratioMediaFeatureEval):
2286 (WebCore::min_device_pixel_ratioMediaFeatureEval):
2287 (WebCore::max_device_pixel_ratioMediaFeatureEval):
2288 (WebCore::min_heightMediaFeatureEval):
2289 (WebCore::max_heightMediaFeatureEval):
2290 (WebCore::min_widthMediaFeatureEval):
2291 (WebCore::max_widthMediaFeatureEval):
2292 (WebCore::min_device_heightMediaFeatureEval):
2293 (WebCore::max_device_heightMediaFeatureEval):
2294 (WebCore::min_device_widthMediaFeatureEval):
2295 (WebCore::max_device_widthMediaFeatureEval):
2296 * css/MediaQueryEvaluator.h:
2297 * css/MediaQueryExp.cpp:
2298 (WebCore::MediaQueryExp::~MediaQueryExp):
2299 * css/MediaQueryExp.h:
2300 (WebCore::MediaQueryExp::value):
2301 (WebCore::MediaQueryExp::isViewportDependent):
2302 * html/HTMLMediaElement.cpp:
2303 (WebCore::HTMLMediaElement::pickMedia):
2304 * page/FrameView.cpp:
2305 (WebCore::FrameView::layout):
2307 2008-02-21 Anders Carlsson <andersca@apple.com>
2311 Make more classes start out with a refcount of 1.
2313 * dom/QualifiedName.cpp:
2314 (WebCore::QNameComponentsTranslator::translate):
2315 (WebCore::QualifiedName::QualifiedName):
2316 * dom/QualifiedName.h:
2317 (WebCore::QualifiedName::QualifiedNameImpl::create):
2318 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2319 * history/BackForwardList.cpp:
2320 (WebCore::BackForwardList::BackForwardList):
2321 * history/BackForwardList.h:
2322 (WebCore::BackForwardList::create):
2324 (WebCore::Page::Page):
2325 * platform/text/CString.cpp:
2326 (WebCore::CString::init):
2327 (WebCore::CString::newUninitialized):
2328 (WebCore::CString::copyBufferIfNeeded):
2329 * platform/text/CString.h:
2330 (WebCore::CStringBuffer::create):
2331 (WebCore::CStringBuffer::CStringBuffer):
2333 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
2335 wx build fix for the domString() -> string() rename in r30443.
2337 * platform/graphics/wx/FontPlatformDataWx.cpp:
2338 (WebCore::FontPlatformData::FontPlatformData):
2340 2008-02-21 Antti Koivisto <antti@apple.com>
2342 Reviewed by Sam Weinig.
2344 <rdar://problem/5753789>
2345 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2347 Ensure all versions of allowsAccessFrom are inlined to single functions.
2348 This is a 2% win in browser hosted Sunspider.
2350 * bindings/js/kjs_window.cpp:
2351 (KJS::Window::allowsAccessFrom):
2352 (KJS::Window::allowsAccessFromPrivate):
2353 * bindings/js/kjs_window.h:
2355 2008-02-21 Dan Bernstein <mitz@apple.com>
2357 Reviewed by Sam Weinig.
2361 * rendering/bidi.cpp:
2362 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
2363 true for RenderLineBreak.
2364 (WebCore::bidiFirst): Ditto.
2365 (WebCore::shouldSkipWhitespaceAfterStartObject):
2366 (WebCore::RenderBlock::findNextLineBreak):
2368 2008-02-21 Geoffrey Garen <ggaren@apple.com>
2370 Reviewed by David Harrison.
2372 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
2373 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
2375 Test: fast/dom/script-element-without-frame-crash.html
2377 * html/HTMLTokenizer.cpp:
2378 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
2379 accidentally removed in r30325.
2381 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
2383 GTK+ build fix. s/domString()/string()/
2385 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2386 (FontPlatformData::FontPlatformData):
2388 2008-02-20 Dan Bernstein <mitz@apple.com>
2390 Reviewed by Dave Hyatt.
2392 - fix http://bugs.webkit.org/show_bug.cgi?id=17465
2393 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
2395 Test: fast/tokenizer/doctype-search-reset.html
2397 * html/HTMLTokenizer.cpp:
2398 (WebCore::HTMLTokenizer::parseTag):
2400 2008-02-20 Dan Bernstein <mitz@apple.com>
2402 Reviewed by Dave Hyatt.
2404 - fix http://bugs.webkit.org/show_bug.cgi?id=17464
2405 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
2407 Test: fast/text/wbr-in-pre-crash.html
2409 * rendering/bidi.cpp:
2410 (WebCore::RenderBlock::findNextLineBreak):
2412 2008-02-20 Oliver Hunt <oliver@apple.com>
2416 Bug 17303: Canvas crash in ImageBuffer
2418 We handle a null GraphicsContext everywhere, but we weren't checking for
2419 a null ImageBuffer, which is what will result in a null GraphicsContext in
2422 Test: fast/canvas/access-zero-sized-canvas.html
2424 * html/HTMLCanvasElement.cpp:
2426 2008-02-20 David Hyatt <hyatt@apple.com>
2428 Fix the layout test failure that never should have passed in the first
2429 place by making changes to media lists actually result in the recomputation
2430 of the style selector. Now it passes for the right reasons and not because
2433 Reviewed by Sam Weinig
2435 * css/MediaList.cpp:
2436 (WebCore::MediaList::deleteMedium):
2437 (WebCore::MediaList::setMediaText):
2438 (WebCore::MediaList::appendMedium):
2439 (WebCore::MediaList::notifyChanged):
2442 (WebCore::Document::attach):
2444 2008-02-20 Darin Adler <darin@apple.com>
2446 Reviewed, tweaked and landed by Sam.
2448 - make markup functions not use DeprecatedString.
2450 * editing/markup.cpp:
2451 (WebCore::append): Added.
2452 (WebCore::escapeContentText): Build up string using a Vector.
2453 (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
2455 2008-02-20 Darin Adler <darin@apple.com>
2457 Reviewed, tweaked and landed by Sam.
2459 - make TextIterator use a Vector instead of a DeprecatedString.
2461 * editing/TextIterator.cpp:
2462 (WebCore::CharacterIterator::string): Build up the String using a
2464 (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
2465 (WebCore::WordAwareIterator::length): Ditto.
2466 (WebCore::WordAwareIterator::characters): Ditto.
2467 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
2468 of DeprecatedString.
2470 2008-02-20 Darin Adler <darin@apple.com>
2472 Reviewed, tweaked and landed by Sam.
2474 - make HTMLInterchange return a String instead of a DeprecatedString
2476 * editing/HTMLInterchange.cpp:
2477 (WebCore::): Return a String from convertedSpaceString.
2478 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
2479 a DeprecatedString to build up the return String.
2480 * editing/HTMLInterchange.h:
2482 2008-02-20 Eric Seidel <eric@webkit.org>
2486 Remove m_drawingContext and change m_data to m_imageBuffer
2488 * html/HTMLCanvasElement.cpp:
2489 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2490 (WebCore::HTMLCanvasElement::reset):
2491 (WebCore::HTMLCanvasElement::paint):
2492 (WebCore::HTMLCanvasElement::createImageBuffer):
2493 (WebCore::HTMLCanvasElement::buffer):
2494 (WebCore::HTMLCanvasElement::createPlatformImage):
2495 * html/HTMLCanvasElement.h:
2497 2008-02-20 Anders Carlsson <andersca@apple.com>
2501 Rename AtomicString::domString() to AtomicString::string().
2503 * css/CSSComputedStyleDeclaration.cpp:
2504 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2505 * css/CSSFontSelector.cpp:
2506 (WebCore::CSSFontSelector::getFontData):
2508 (WebCore::Attr::createTextChild):
2510 (WebCore::Comment::nodeName):
2512 (WebCore::Document::recalcStyleSelector):
2513 (WebCore::Document::setHTMLWindowEventListener):
2514 (WebCore::Document::formElementsState):
2515 * dom/StyledElement.cpp:
2516 (WebCore::StyledElement::parseMappedAttribute):
2518 (WebCore::Text::nodeName):
2519 * editing/SelectionController.cpp:
2520 (WebCore::SelectionController::debugRenderer):
2521 * html/HTMLCollection.cpp:
2522 (WebCore::HTMLCollection::checkForNameMatch):
2523 * html/HTMLElement.cpp:
2524 (WebCore::HTMLElement::nodeName):
2525 (WebCore::HTMLElement::setHTMLEventListener):
2526 * html/HTMLFormCollection.cpp:
2527 (WebCore::HTMLFormCollection::getNamedFormItem):
2528 * html/HTMLImageElement.cpp:
2529 (WebCore::HTMLImageElement::parseMappedAttribute):
2530 (WebCore::HTMLImageElement::isURLAttribute):
2531 * html/HTMLLinkElement.cpp:
2532 (WebCore::HTMLLinkElement::parseMappedAttribute):
2533 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2534 * html/HTMLObjectElement.cpp:
2535 (WebCore::HTMLObjectElement::isURLAttribute):
2536 (WebCore::HTMLObjectElement::containsJavaApplet):
2537 * html/HTMLParamElement.cpp:
2538 (WebCore::HTMLParamElement::isURLAttribute):
2539 * html/HTMLParser.cpp:
2540 (WebCore::HTMLParser::handleIsindex):
2541 * html/HTMLScriptElement.cpp:
2542 (WebCore::HTMLScriptElement::insertedIntoDocument):
2543 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
2544 * html/HTMLStyleElement.cpp:
2545 (WebCore::HTMLStyleElement::parseMappedAttribute):
2546 * html/HTMLTokenizer.cpp:
2547 (WebCore::HTMLTokenizer::parseTag):
2548 * html/HTMLViewSourceDocument.cpp:
2549 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2550 * loader/FrameLoader.cpp:
2551 (WebCore::FrameLoader::saveDocumentState):
2552 * page/FrameTree.cpp:
2553 (WebCore::FrameTree::uniqueChildName):
2554 * platform/text/AtomicString.h:
2555 (WebCore::AtomicString::string):
2556 (WebCore::AtomicString::contains):
2557 (WebCore::AtomicString::find):
2558 (WebCore::AtomicString::startsWith):
2559 (WebCore::AtomicString::endsWith):
2560 * rendering/RenderPartObject.cpp:
2561 (WebCore::RenderPartObject::updateWidget):
2562 * svg/SVGElement.cpp:
2563 (WebCore::SVGElement::addSVGEventListener):
2564 * svg/SVGSVGElement.cpp:
2565 (WebCore::SVGSVGElement::addSVGWindowEventListener):
2566 * xml/XPathFunctions.cpp:
2567 (WebCore::XPath::FunLocalName::evaluate):
2568 (WebCore::XPath::FunNamespaceURI::evaluate):
2569 (WebCore::XPath::FunName::evaluate):
2571 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
2575 http://bugs.webkit.org/show_bug.cgi?id=17336
2576 Provide implementations for Windows (Cairo) build of WebKit that
2577 handles font formatting.
2578 - Split font implementation files to allow maximal code sharing
2579 between CG and Cairo back-ends.
2581 * WebCore.vcproj/WebCore.vcproj:
2582 * platform/graphics/SimpleFontData.h: Add signatures for private win
2583 initialization functions.
2584 * platform/graphics/win/FontCacheWin.cpp:
2585 (WebCore::FontCache::platformInit):
2586 (WebCore::FontCache::createFontPlatformData):
2587 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
2588 is now part of platform/graphics/cairo.
2589 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
2590 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
2591 (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
2592 (WebCore::releaseData):
2593 (WebCore::createFontCustomPlatformData):
2594 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
2595 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
2596 * platform/graphics/win/FontPlatformData.h:
2597 (WebCore::FontPlatformData::FontPlatformData):
2598 (WebCore::FontPlatformData::fontFace):
2599 (WebCore::FontPlatformData::scaledFont):
2600 (WebCore::FontPlatformData::operator==):
2601 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
2602 (WebCore::FontPlatformData::platformDataInit):
2603 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
2604 (WebCore::FontPlatformData::platformDataInit):
2605 (WebCore::FontPlatformData::FontPlatformData):
2606 (WebCore::FontPlatformData::setFont):
2607 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
2608 code to FontPlatformDataCG.cpp.
2609 (WebCore::FontPlatformData::FontPlatformData):
2610 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2611 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2612 (WebCore::GlyphPage::fill):
2613 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
2614 with CG- and Cairo-specific versions.
2615 * platform/graphics/win/SimpleFontDataCGWin.cpp:
2616 (WebCore::SimpleFontData::platformInit):
2617 (WebCore::SimpleFontData::platformDestroy):
2618 (WebCore::SimpleFontData::platformWidthForGlyph):
2619 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2620 (WebCore::SimpleFontData::platformInit):
2621 (WebCore::SimpleFontData::platformDestroy):
2622 (WebCore::SimpleFontData::platformWidthForGlyph):
2623 (WebCore::SimpleFontData::setFont):
2624 * platform/graphics/win/SimpleFontDataWin.cpp:
2625 (WebCore::SimpleFontData::initGDIFont):
2626 (WebCore::SimpleFontData::platformCommonDestroy):
2627 (WebCore::SimpleFontData::widthForGDIGlyph):
2629 2008-02-20 Darin Adler <darin@apple.com>
2633 * dom/Node.h: Took out unneeded forward declaration of TextStream.
2635 2008-02-20 Darin Adler <darin@apple.com>
2639 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
2641 2008-02-20 David Hyatt <hyatt@apple.com>
2643 Fix for bug 16760, incorrect <object> MIME type handling and fallback
2648 * html/HTMLImageLoader.cpp:
2649 (WebCore::HTMLImageLoader::notifyFinished):
2650 If the image had an error, make sure to do <object> fallback.
2652 * html/HTMLObjectElement.cpp:
2653 (WebCore::HTMLObjectElement::renderFallbackContent):
2654 Before doing fallback check if there is a MIME type mismatch between
2655 an image type and a non-image type. If so, detach and re-attach after
2656 storing the correct MIME type.
2658 * loader/loader.cpp:
2659 (WebCore::Loader::didReceiveData):
2660 Consider it an error when a 404 is encountered on a CachedResource load.
2662 2008-02-20 Anders Carlsson <andersca@apple.com>
2666 StringImpl constructors used by AtomicString should start with a refcount of 1.
2668 * platform/text/AtomicString.cpp:
2669 (WebCore::AtomicString::add):
2670 * platform/text/AtomicString.h:
2671 * platform/text/StringImpl.cpp:
2672 (WebCore::StringImpl::StringImpl):
2674 2008-02-20 Darin Adler <darin@apple.com>
2676 * bindings/js/kjs_navigator.cpp:
2677 (WebCore::needsYouTubeQuirk): Tweak comments.
2679 2008-02-20 Anders Carlsson <andersca@apple.com>
2683 Change all refcounted classes in page/ to start with a refcount of 1.
2686 (WebCore::BarInfo::BarInfo):
2688 (WebCore::BarInfo::create):
2690 (WebCore::Console::Console):
2692 (WebCore::Console::create):
2693 * page/DOMSelection.cpp:
2694 (WebCore::DOMSelection::DOMSelection):
2695 * page/DOMSelection.h:
2696 (WebCore::DOMSelection::create):
2697 * page/DOMWindow.cpp:
2698 (WebCore::DOMWindow::DOMWindow):
2699 (WebCore::DOMWindow::screen):
2700 (WebCore::DOMWindow::history):
2701 (WebCore::DOMWindow::locationbar):
2702 (WebCore::DOMWindow::menubar):
2703 (WebCore::DOMWindow::personalbar):
2704 (WebCore::DOMWindow::scrollbars):
2705 (WebCore::DOMWindow::statusbar):
2706 (WebCore::DOMWindow::toolbar):
2707 (WebCore::DOMWindow::console):
2708 (WebCore::DOMWindow::getSelection):
2710 (WebCore::DOMWindow::create):
2712 (WebCore::Frame::domWindow):
2714 (WebCore::History::History):
2716 (WebCore::History::create):
2717 * page/InspectorController.cpp:
2718 (WebCore::InspectorResource::create):
2719 (WebCore::InspectorResource::InspectorResource):
2720 (WebCore::InspectorDatabaseResource::create):
2721 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2722 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2723 (WebCore::InspectorController::identifierForInitialRequest):
2724 (WebCore::InspectorController::didOpenDatabase):
2726 (WebCore::Plugin::create):
2727 (WebCore::Plugin::Plugin):
2729 (WebCore::Screen::Screen):
2731 (WebCore::Screen::create):
2733 2008-02-20 Sam Weinig <sam@webkit.org>
2735 Reviewed by Darin and Geoff.
2737 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2739 * WebCore.base.exp: Updated.
2741 * bindings/js/kjs_navigator.cpp:
2742 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
2743 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
2744 return true, then return the empty string.
2746 * page/Settings.cpp:
2747 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
2748 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
2749 * page/Settings.h: Added m_needsSiteSpecificQuirks.
2750 (WebCore::Settings::needsSiteSpecificQuirks): Added.
2752 2008-02-20 David Hyatt <hyatt@apple.com>
2754 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
2756 Reviewed by Sam Weinig
2758 Many tests added in fast/doctypes.
2760 * dom/DOMImplementation.cpp:
2761 (WebCore::DOMImplementation::createDocument):
2762 (WebCore::DOMImplementation::createHTMLDocument):
2764 (WebCore::Document::Document):
2765 (WebCore::Document::setDocType):
2766 (WebCore::Document::attach):
2767 (WebCore::Document::getImageMap):
2769 (WebCore::Document::doctype):
2770 (WebCore::Document::):
2771 (WebCore::Document::determineParseMode):
2772 (WebCore::Document::setParseMode):
2773 (WebCore::Document::parseMode):
2774 (WebCore::Document::inCompatMode):
2775 (WebCore::Document::inAlmostStrictMode):
2776 (WebCore::Document::inStrictMode):
2777 * dom/DocumentType.cpp:
2778 (WebCore::DocumentType::cloneNode):
2779 (WebCore::DocumentType::insertedIntoDocument):
2780 (WebCore::DocumentType::removedFromDocument):
2781 * dom/DocumentType.h:
2783 (WebCore::Node::childAllowed):
2784 * dom/StyledElement.cpp:
2785 (WebCore::StyledElement::attributeChanged):
2786 * dom/XMLTokenizer.cpp:
2787 (WebCore::XMLTokenizer::internalSubset):
2789 * editing/markup.cpp:
2790 (WebCore::appendStartMarkup):
2791 * html/HTMLAppletElement.cpp:
2792 (WebCore::HTMLAppletElement::createRenderer):
2793 * html/HTMLDocument.cpp:
2794 (WebCore::HTMLDocument::HTMLDocument):
2795 (WebCore::HTMLDocument::childAllowed):
2796 (WebCore::HTMLDocument::determineParseMode):
2797 * html/HTMLDocument.h:
2798 * html/HTMLMapElement.cpp:
2799 (WebCore::HTMLMapElement::parseMappedAttribute):
2800 * html/HTMLParamElement.cpp:
2801 (WebCore::HTMLParamElement::parseMappedAttribute):
2802 * html/HTMLParser.cpp:
2803 (WebCore::HTMLParser::parseDoctypeToken):
2804 * html/HTMLParser.h:
2805 * html/HTMLTokenizer.cpp:
2806 (WebCore::HTMLTokenizer::reset):
2807 (WebCore::HTMLTokenizer::parseDoctype):
2808 (WebCore::HTMLTokenizer::parseTag):
2809 (WebCore::HTMLTokenizer::write):
2810 (WebCore::HTMLTokenizer::finish):
2811 (WebCore::HTMLTokenizer::processDoctypeToken):
2812 * html/HTMLTokenizer.h:
2814 (WebCore::DoctypeToken::DoctypeToken):
2815 (WebCore::DoctypeToken::reset):
2816 (WebCore::DoctypeToken::state):
2817 (WebCore::DoctypeToken::setState):
2818 (WebCore::HTMLTokenizer::State::inDoctype):
2819 (WebCore::HTMLTokenizer::State::setInDoctype):
2820 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
2821 (WebCore::HTMLTokenizer::State::):
2822 * html/HTMLViewSourceDocument.cpp:
2823 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2824 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
2825 * html/HTMLViewSourceDocument.h:
2826 * loader/FrameLoader.cpp:
2827 (WebCore::FrameLoader::write):
2828 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2830 (WebCore::Frame::documentTypeString):
2831 * page/inspector/utilities.js:
2832 * xml/XSLTProcessor.cpp:
2833 (WebCore::XSLTProcessor::createDocumentFromSource):
2835 2008-02-20 Anders Carlsson <andersca@apple.com>
2839 Change most SVG related classes to start out with a ref count of 1.
2841 * bindings/js/JSSVGPointListCustom.cpp:
2842 (WebCore::JSSVGPointList::initialize):
2843 (WebCore::JSSVGPointList::insertItemBefore):
2844 (WebCore::JSSVGPointList::replaceItem):
2845 (WebCore::JSSVGPointList::appendItem):
2846 * bindings/js/JSSVGTransformListCustom.cpp:
2847 (WebCore::JSSVGTransformList::initialize):
2848 (WebCore::JSSVGTransformList::insertItemBefore):
2849 (WebCore::JSSVGTransformList::replaceItem):
2850 (WebCore::JSSVGTransformList::appendItem):
2851 * rendering/SVGCharacterLayoutInfo.h:
2852 (WebCore::SVGCharOnPath::create):
2853 (WebCore::SVGCharOnPath::SVGCharOnPath):
2854 * rendering/SVGRootInlineBox.cpp:
2855 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2856 * svg/SVGAnimationElement.cpp:
2857 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2858 * svg/SVGClipPathElement.cpp:
2859 (WebCore::SVGClipPathElement::canvasResource):
2860 * svg/SVGElementInstance.cpp:
2861 (WebCore::SVGElementInstance::childNodes):
2862 * svg/SVGElementInstanceList.cpp:
2863 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2864 * svg/SVGElementInstanceList.h:
2865 (WebCore::SVGElementInstanceList::create):
2866 * svg/SVGFitToViewBox.cpp:
2867 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2868 * svg/SVGGradientElement.cpp:
2869 (WebCore::SVGGradientElement::SVGGradientElement):
2870 (WebCore::SVGGradientElement::canvasResource):
2871 * svg/SVGImageElement.cpp:
2872 (WebCore::SVGImageElement::SVGImageElement):
2873 * svg/SVGLengthList.h:
2874 (WebCore::SVGLengthList::create):
2876 (WebCore::SVGList::SVGList):
2877 (WebCore::SVGPODListItem::create):
2878 (WebCore::SVGPODListItem::copy):
2879 (WebCore::SVGPODListItem::SVGPODListItem):
2880 (WebCore::SVGPODList::initialize):
2881 (WebCore::SVGPODList::insertItemBefore):
2882 (WebCore::SVGPODList::replaceItem):
2883 (WebCore::SVGPODList::appendItem):
2884 (WebCore::SVGPODList::SVGPODList):
2885 * svg/SVGMarkerElement.cpp:
2886 (WebCore::SVGMarkerElement::canvasResource):
2887 * svg/SVGMaskElement.cpp:
2888 (WebCore::SVGMaskElement::canvasResource):
2889 * svg/SVGNumberList.h:
2890 (WebCore::SVGNumberList::create):
2891 * svg/SVGPathElement.cpp:
2892 (WebCore::SVGPathElement::createSVGPathSegClosePath):
2893 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2894 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2895 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2896 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2897 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2898 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2899 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2900 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2901 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2902 (WebCore::SVGPathElement::createSVGPathSegArcRel):
2903 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2904 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2905 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2906 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2907 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2908 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2909 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2910 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2911 (WebCore::SVGPathElement::pathSegList):
2912 * svg/SVGPathElement.h:
2914 (WebCore::SVGPathSeg::SVGPathSeg):
2915 * svg/SVGPathSegArc.h:
2916 (WebCore::SVGPathSegArcAbs::create):
2917 (WebCore::SVGPathSegArcRel::create):
2918 * svg/SVGPathSegClosePath.h:
2919 (WebCore::SVGPathSegClosePath::create):
2920 * svg/SVGPathSegCurvetoCubic.h:
2921 (WebCore::SVGPathSegCurvetoCubicAbs::create):
2922 (WebCore::SVGPathSegCurvetoCubicRel::create):
2923 * svg/SVGPathSegCurvetoCubicSmooth.h:
2924 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2925 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2926 * svg/SVGPathSegCurvetoQuadratic.h:
2927 (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2928 (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2929 * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2930 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2931 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2932 * svg/SVGPathSegLineto.h:
2933 (WebCore::SVGPathSegLinetoAbs::create):
2934 (WebCore::SVGPathSegLinetoRel::create):
2935 * svg/SVGPathSegLinetoHorizontal.h:
2936 (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2937 (WebCore::SVGPathSegLinetoHorizontalRel::create):
2938 * svg/SVGPathSegLinetoVertical.h:
2939 (WebCore::SVGPathSegLinetoVerticalAbs::create):
2940 (WebCore::SVGPathSegLinetoVerticalRel::create):
2941 * svg/SVGPathSegList.h:
2942 (WebCore::SVGPathSegList::create):
2943 * svg/SVGPathSegMoveto.h:
2944 (WebCore::SVGPathSegMovetoAbs::create):
2945 (WebCore::SVGPathSegMovetoRel::create):
2946 * svg/SVGPatternElement.cpp:
2947 (WebCore::SVGPatternElement::SVGPatternElement):
2948 (WebCore::SVGPatternElement::canvasResource):
2949 * svg/SVGPointList.h:
2950 (WebCore::SVGPointList::create):
2951 * svg/SVGPolyElement.cpp:
2952 (WebCore::SVGPolyElement::points):
2953 * svg/SVGPreserveAspectRatio.cpp:
2954 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2955 * svg/SVGPreserveAspectRatio.h:
2956 (WebCore::SVGPreserveAspectRatio::create):
2957 * svg/SVGRenderingIntent.h:
2958 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
2959 * svg/SVGStringList.h:
2960 (WebCore::SVGStringList::create):
2961 * svg/SVGStyledTransformableElement.cpp:
2962 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2964 (WebCore::SVGTests::requiredFeatures):
2965 (WebCore::SVGTests::requiredExtensions):
2966 (WebCore::SVGTests::systemLanguage):
2967 * svg/SVGTextElement.cpp:
2968 (WebCore::SVGTextElement::SVGTextElement):
2969 * svg/SVGTextPositioningElement.cpp:
2970 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2971 * svg/SVGTransformList.h:
2972 (WebCore::SVGTransformList::create):
2973 * svg/SVGUnitTypes.h:
2974 (WebCore::SVGUnitTypes::SVGUnitTypes):
2975 * svg/SVGViewElement.cpp:
2976 (WebCore::SVGViewElement::viewTarget):
2977 * svg/SVGViewSpec.cpp:
2978 (WebCore::SVGViewSpec::SVGViewSpec):
2979 * svg/graphics/SVGPaintServer.cpp:
2980 (WebCore::SVGPaintServer::sharedSolidPaintServer):
2981 * svg/graphics/SVGPaintServer.h:
2982 * svg/graphics/SVGPaintServerGradient.h:
2983 (WebCore::SVGPaintServerGradient::SharedStopCache::create):
2984 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
2985 * svg/graphics/SVGPaintServerLinearGradient.h:
2986 (WebCore::SVGPaintServerLinearGradient::create):
2987 * svg/graphics/SVGPaintServerPattern.h:
2988 (WebCore::SVGPaintServerPattern::create):
2989 * svg/graphics/SVGPaintServerRadialGradient.h:
2990 (WebCore::SVGPaintServerRadialGradient::create):
2991 * svg/graphics/SVGPaintServerSolid.h:
2992 (WebCore::SVGPaintServerSolid::create):
2993 * svg/graphics/SVGResource.cpp:
2994 (WebCore::SVGResource::SVGResource):
2995 * svg/graphics/SVGResource.h:
2996 * svg/graphics/SVGResourceClipper.h:
2997 (WebCore::SVGResourceClipper::create):
2998 * svg/graphics/SVGResourceMarker.h:
2999 (WebCore::SVGResourceMarker::create):
3000 * svg/graphics/SVGResourceMasker.h:
3001 (WebCore::SVGResourceMasker::create):
3002 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3003 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3005 2008-02-20 Darin Adler <darin@apple.com>
3009 - make conversion from CSS ParseString to String and AtomicString
3010 automatic and remove all the explicit calls to do the conversion
3012 - fix CSS parsing to do fewer allocations, mostly by using the
3013 equalIgnoringCase function in CSSParser
3015 * css/CSSGrammar.y: Take out all the explicit atomicString and
3016 domString calls now that ParseString knows how to convert itself.
3018 * css/CSSParser.cpp:
3019 (WebCore::equal): Added.
3020 (WebCore::equalIgnoringCase): Allow non-lettters.
3021 (WebCore::ParseString::lower): Used charactersAreAllASCII.
3022 (WebCore::unitFromString): Use equal.
3023 (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
3024 (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
3025 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
3026 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
3027 (WebCore::CSSParser::parseDashboardRegions): More of the same.
3028 (WebCore::CSSParser::parseCounterContent): Ditto.
3029 (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
3030 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
3031 (WebCore::CSSParser::parseFontFaceSrc): More.
3032 (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
3033 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
3034 handles the case folding.
3035 (WebCore::CSSParser::parseColorFromValue): More.
3036 (WebCore::CSSParser::parseBorderImage): More.
3037 (WebCore::CSSParser::parseCounter): More.
3038 (WebCore::TransformOperationInfo::TransformOperationInfo): More.
3039 (WebCore::CSSParser::parseTransform): More.
3040 (WebCore::CSSParser::createCharsetRule): More.
3041 (WebCore::CSSParser::createImportRule): More.
3043 * css/CSSParser.h: Removed domString and atomicString functions.
3044 (WebCore::ParseString::operator String): Added. Allows conversion to String
3045 without an explicit function call.
3046 (WebCore::ParseString::operator AtomicString): Ditto.
3048 * css/MediaQueryExp.cpp:
3049 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
3050 * css/SVGCSSParser.cpp:
3051 (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
3053 * platform/graphics/Color.cpp:
3054 (WebCore::findNamedColor): Call toASCIILower on each character as we copy
3055 it into the 8-bit character buffer to make the operation fold case.
3057 2008-02-20 Justin Garcia <justin.garcia@apple.com>
3059 Reviewed by Darin Adler.
3061 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
3063 * editing/DeleteSelectionCommand.cpp:
3064 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
3065 is where there are no special elements. Avoid creating VisiblePositions in
3066 that case. Additionally, this change postpones the more expensive creation
3067 of an upstream VisiblePosition until the last possible moment.
3068 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
3069 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
3070 early return for a common case: deleting characters that are all inside the
3071 same text node. In that case the style at the start of the selection will
3072 not change during the delete, so there is no need to save/recompute it.
3073 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
3074 before VisiblePosition creation if the ends of the selection aren't enclosed
3076 * editing/TypingCommand.cpp:
3077 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
3078 checking isn't enabled.
3080 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
3082 Incorporates some improvements made by Dan Bernstein.
3086 http://bugs.webkit.org/show_bug.cgi?id=17106
3087 <rdar://problem/5750722> Debug build ASSERTs on page load
3089 Test: fast/encoding/GBK/close-gbk-converter.html
3091 * platform/text/TextCodecICU.cpp:
3092 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
3093 are only four values.
3094 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
3095 getting an escape character if it's not UCNV_UNASSIGNED.
3096 (WebCore::gbkCallbackSubstitute): Ditto.
3098 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
3102 * xml/XMLHttpRequest.cpp:
3103 (WebCore::isSafeRequestHeader):
3104 (WebCore::XMLHttpRequest::setRequestHeader):
3106 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
3110 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
3112 Cannot be tested in DRT.
3114 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
3115 local files can also set any headers.
3117 2008-02-19 Darin Adler <darin@apple.com>
3121 - removed use of DeprecatedString for font family names
3123 * css/CSSFontSelector.cpp:
3124 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
3125 * css/CSSParser.cpp:
3126 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
3127 function and String rather than DeprecatedString.
3128 * css/CSSStyleSelector.cpp:
3129 (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
3130 * css/FontFamilyValue.cpp:
3131 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
3132 expression with code that does the same thing more efficiently.
3133 (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
3134 (WebCore::FontFamilyValue::cssText): Updated for name change.
3135 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
3136 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
3137 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
3138 be private instead of public.
3140 2008-02-19 Darin Adler <darin@apple.com>
3142 - fix build when SVG is not enabled
3144 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
3146 2008-02-19 Anders Carlsson <andersca@apple.com>
3150 Change all classes in xml/ to start out with a ref count of 1.
3152 * bindings/js/JSCustomXPathNSResolver.h:
3153 * bindings/js/JSXMLHttpRequest.cpp:
3154 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
3155 * bindings/js/JSXSLTProcessor.cpp:
3156 (WebCore::JSXSLTProcessor::JSXSLTProcessor):
3157 * bindings/objc/DOMCustomXPathNSResolver.h:
3158 (WebCore::DOMCustomXPathNSResolver::create):
3159 * bindings/scripts/CodeGeneratorJS.pm:
3160 * bindings/scripts/CodeGeneratorObjC.pm:
3162 (WebCore::Document::applyXSLTransform):
3163 (WebCore::Document::createExpression):
3164 (WebCore::Document::createNSResolver):
3165 (WebCore::Document::evaluate):
3167 (WebCore::DOMParser::create):
3168 (WebCore::DOMParser::DOMParser):
3169 * xml/NativeXPathNSResolver.h:
3170 (WebCore::NativeXPathNSResolver::create):
3171 * xml/XMLHttpRequest.cpp:
3172 (WebCore::XMLHttpRequest::XMLHttpRequest):
3173 * xml/XMLHttpRequest.h:
3174 (WebCore::XMLHttpRequest::create):
3175 * xml/XMLSerializer.h:
3176 (WebCore::XMLSerializer::create):
3177 (WebCore::XMLSerializer::XMLSerializer):
3178 * xml/XPathEvaluator.cpp:
3179 (WebCore::XPathEvaluator::createNSResolver):
3180 * xml/XPathEvaluator.h:
3181 (WebCore::XPathEvaluator::create):
3182 (WebCore::XPathEvaluator::XPathEvaluator):
3183 * xml/XPathExpression.cpp:
3184 (WebCore::XPathExpression::createExpression):
3185 (WebCore::XPathExpression::evaluate):
3186 * xml/XPathExpression.h:
3187 (WebCore::XPathExpression::create):
3188 (WebCore::XPathExpression::XPathExpression):
3189 * xml/XPathNSResolver.h:
3190 * xml/XPathResult.cpp:
3191 (WebCore::XPathResult::XPathResult):
3192 * xml/XPathResult.h:
3193 (WebCore::XPathResult::create):
3194 * xml/XPathValue.cpp:
3195 (WebCore::XPath::Value::modifiableNodeSet):
3197 (WebCore::XPath::ValueData::create):
3198 (WebCore::XPath::ValueData::ValueData):
3199 (WebCore::XPath::Value::Value):
3200 * xml/XSLTProcessor.h:
3201 (WebCore::XSLTProcessor::create):
3202 (WebCore::XSLTProcessor::XSLTProcessor):
3204 2008-02-19 Darin Adler <darin@apple.com>
3208 - Trimmed down TextStream and weaned it from DeprecatedString.
3210 * page/mac/WebCoreFrameBridge.mm:
3211 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
3212 Removed now-unneeded call to getNSString.
3214 * platform/text/TextStream.cpp: Removed unused functions.
3215 Use snprintf instead of sprintf, for better security.
3216 (WebCore::TextStream::release): Added.
3217 * platform/text/TextStream.h: Removed lots of unneeded stuff.
3219 * rendering/RenderTreeAsText.cpp:
3220 (WebCore::externalRepresentation): Changed to use String instead
3221 of DeprecatedString.
3222 * rendering/RenderTreeAsText.h: Ditto.
3224 * rendering/SVGRenderTreeAsText.cpp:
3225 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
3226 (WebCore::write): Ditto.
3227 (WebCore::writeRenderResources): Ditto.
3229 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3231 Reviewed by Darin Adler.
3233 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
3235 This brings performance on the phone back to old levels. Andre and I are doing
3236 some formal testing to see exactly where we stand.
3239 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
3240 without the expensive editability checks. upstream and downstream can avoid
3241 those because they do their own editability checking.
3242 (WebCore::Position::upstream):
3243 (WebCore::Position::downstream):
3245 2008-02-19 Chris Fleizach <cfleizach@apple.com>
3249 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
3251 * bridge/mac/WebCoreAXObject.mm:
3252 (-[WebCoreAXObject linkedUIElement]):
3253 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
3255 (-[WebCoreAXObject accessibilityAttributeNames]):
3256 (-[WebCoreAXObject accessibilityAttributeValue:]):
3257 Support NSAccessibilityLinkedUIElementsAttribute.
3259 2008-02-19 Darin Adler <darin@apple.com>
3263 - Removed old debugging aids, Node::dump, RenderObject::dump, and
3264 RenderObject::information, that used DeprecatedString.
3266 * dom/CharacterData.cpp: Removed override of Node::dump.
3267 * dom/CharacterData.h: Ditto.
3268 * dom/Element.cpp: Ditto.
3269 * dom/Element.h: Ditto.
3270 * dom/EventTargetNode.cpp: Ditto.
3271 * dom/EventTargetNode.h: Ditto.
3272 * dom/Node.cpp: Removed Node::dump.
3273 * dom/Node.h: Ditto.
3275 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
3276 * rendering/RenderBlock.h: Ditto.
3277 * rendering/RenderFrameSet.cpp: Ditto.
3278 * rendering/RenderFrameSet.h: Ditto.
3279 * rendering/RenderObject.cpp: Removed RenderObject::dump and
3280 RenderObject::information.
3281 * rendering/RenderObject.h: Ditto.
3282 * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
3283 * rendering/RenderTable.h: Ditto.
3284 * rendering/RenderTableCell.cpp: Ditto.
3285 * rendering/RenderTableCell.h: Ditto.
3286 * rendering/RenderTableCol.cpp: Ditto.
3287 * rendering/RenderTableCol.h: Ditto.
3288 * rendering/RenderTableSection.cpp: Ditto.
3289 * rendering/RenderTableSection.h: Ditto.
3291 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
3292 and added forward declarations as appropriate.
3294 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
3295 * svg/graphics/SVGResourceClipper.cpp: And here.
3296 * svg/graphics/SVGResourceFilter.cpp: Ditto.
3297 * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
3298 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
3299 * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
3300 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
3301 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
3302 * svg/graphics/filters/SVGFEImage.cpp: Ditto.
3303 * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
3304 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
3305 * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
3306 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
3307 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
3308 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
3310 2008-02-19 Beth Dakin <bdakin@apple.com>
3314 Fix for <rdar://problem/5729674> Seed: Crash in
3315 RenderButton::setStyle at http://www.dinorpg.com
3317 Inputs should not honor first-letter.
3319 * rendering/RenderBlock.cpp:
3320 (WebCore::RenderBlock::updateFirstLetter):
3322 2008-02-19 Dan Bernstein <mitz@apple.com>
3324 Reviewed by Darin Adler.
3326 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
3328 Test: fast/text/wbr-styled.html
3330 Changed RenderWordBreak to inherit from RenderText instead of
3333 * rendering/RenderBlock.cpp:
3334 (WebCore::RenderBlock::calcInlinePrefWidths):
3335 * rendering/RenderFlow.h:
3336 * rendering/RenderText.cpp:
3337 (WebCore::RenderText::renderName):
3338 (WebCore::RenderText::isTextFragment):
3339 (WebCore::RenderText::isWordBreak):
3340 * rendering/RenderText.h:
3341 * rendering/RenderWordBreak.cpp:
3342 (WebCore::RenderWordBreak::RenderWordBreak):
3343 * rendering/RenderWordBreak.h:
3344 * rendering/bidi.cpp:
3345 (WebCore::RenderBlock::findNextLineBreak):
3347 2008-02-19 Anders Carlsson <andersca@apple.com>
3352 * loader/mac/LoaderNSURLExtras.h:
3353 * loader/mac/LoaderNSURLExtras.m:
3354 Move unused functions to WebKit (where they are used)
3356 (vectorContainsString):
3357 Use const references.
3359 * platform/mac/WebCoreSystemInterface.h:
3360 * platform/mac/WebCoreSystemInterface.mm:
3361 Remove wkNSURLProtocolClassForReqest.
3363 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3365 Reviewed by Darin Adler.
3367 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
3369 These changes bring deleting performance back to old levels on the phone
3370 except for deleting the first space to the right of a word, which we are
3374 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
3375 if we have left the original enclosing block or entered a new one, and avoid
3376 rootEditableElement for determining if we have changed editability. These
3377 operations are expensive.
3378 (WebCore::Position::downstream): Ditto.
3380 2008-02-19 Darin Adler <darin@apple.com>
3382 Rubber stamped by Anders.
3384 - removed explicit initialization to 1 for RefCounted; that's now the default
3386 * loader/ResourceLoader.cpp:
3387 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
3388 * platform/network/ResourceHandle.cpp:
3389 (WebCore::ResourceHandle::ResourceHandle): Ditto.
3390 * platform/text/StringImpl.cpp:
3391 (WebCore::StringImpl::StringImpl): Ditto.
3393 2008-02-18 Anders Carlsson <andersca@apple.com>
3397 Make ResourceLoader and ResourceHandle start out with a refcount of 1.
3399 * loader/MainResourceLoader.cpp:
3400 (WebCore::MainResourceLoader::create):
3401 * loader/NetscapePlugInStreamLoader.cpp:
3402 (WebCore::NetscapePlugInStreamLoader::create):
3403 * loader/ResourceLoader.cpp:
3404 (WebCore::ResourceLoader::ResourceLoader):
3405 * loader/SubresourceLoader.cpp:
3406 (WebCore::SubresourceLoader::create):
3407 * platform/network/ResourceHandle.cpp:
3408 (WebCore::ResourceHandle::ResourceHandle):
3409 (WebCore::ResourceHandle::create):
3411 2008-02-19 Alp Toker <alp@atoker.com>
3413 Reviewed by Mark Rowe.
3415 http://bugs.webkit.org/show_bug.cgi?id=16863
3416 [GTK] tab focusing doesn't work
3418 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3421 Use GDK_META_MASK where available, otherwise do not support the meta
3422 key. This matches the behaviour of other applications.
3424 Also add a comment noting that the platform event constructors need to
3425 be kept in sync (it's not obvious that there are multiple places that
3426 check the key state).
3428 * platform/gtk/KeyEventGtk.cpp:
3429 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3430 * platform/gtk/MouseEventGtk.cpp:
3431 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3432 * platform/gtk/WheelEventGtk.cpp:
3433 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3435 2008-02-18 Brady Eidson <beidson@apple.com>
3437 Reviewed by Sam Weinig's white rhino tusk stamp
3439 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
3441 * platform/sql/SQLiteTransaction.cpp:
3442 (WebCore::SQLiteTransaction::stop):
3444 2008-02-18 Brady Eidson <beidson@apple.com>
3448 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
3450 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
3452 * bindings/objc/WebScriptObject.mm:
3453 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
3454 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
3455 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
3456 JSLock in two individual scopes - Right before the exception and right after.
3458 2008-02-18 Darin Adler <darin@apple.com>
3462 - reduce use of DeprecatedString and memory allocations in processing of CSS
3463 - remove unnecessary double -> float -> double trip in the CSS parser
3464 - cleaned up names and structure in CSS grammar
3466 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
3467 instead, and they now work on ParseString and String objects and don't require the caller
3468 to put the string into a char*. Gave members of the %union more sensible names, removed
3469 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
3471 * css/CSSParser.cpp:
3472 (WebCore::equalIgnoringCase): Added.
3473 (WebCore::hasPrefix): Added.
3474 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
3475 which obviates the need to call lower() and utf8() or to allocate memory at all. Also
3476 used equalIgnoringCase rather than putting the value into a String just to compare it.
3477 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
3478 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
3479 affects the result of one layout test.
3480 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
3481 without allocating any memory.
3482 (WebCore::cssValueKeywordID): Ditto.
3483 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
3484 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
3486 * css/CSSStyleDeclaration.cpp:
3487 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
3488 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
3489 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
3490 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
3491 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
3492 (WebCore::CSSStyleDeclaration::setProperty): Ditto.
3493 (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
3494 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
3495 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
3496 and the getPropertyID function declaration along with its associated apology comment.
3498 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
3499 enumeration, like properties, since you rarely have any reason to handle all values, but
3500 often have a reason to handle all properties). Renamed the constant for the number of CSS
3501 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
3503 * platform/text/String.cpp:
3504 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
3505 rather than a CString.
3507 2008-02-18 Dan Bernstein <mitz@apple.com>
3509 Reviewed by Dave Hyatt.
3511 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
3513 Test: fast/css/font-face-multiple-remote-sources.html
3515 * css/CSSFontFace.cpp:
3516 (WebCore::CSSFontFace::fontLoaded):
3517 * css/CSSSegmentedFontFace.cpp:
3518 (WebCore::CSSSegmentedFontFace::fontLoaded):
3520 2008-02-18 Darin Adler <darin@apple.com>
3524 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3525 (WebCore::hasCSSPropertyNamePrefix): Added.
3526 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
3527 by using a Vector<UChar> and eliminating all the string operations.
3529 2008-02-18 Stephanie Lewis <slewis@apple.com>
3533 Remove workaround for <rdar://problem/5695848>.
3535 * platform/network/cf/ResourceResponseCFNet.cpp:
3536 (WebCore::ResourceResponse::doUpdateResourceResponse):
3538 2008-02-18 Samuel Weinig <sam@webkit.org>
3540 Reviewed by Geoff Garen.
3542 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
3543 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
3545 * bindings/js/kjs_proxy.cpp:
3546 (WebCore::KJSProxy::initScript):
3548 2008-02-18 Alp Toker <alp@atoker.com>
3550 Reviewed by Mark Rowe.
3552 http://bugs.webkit.org/show_bug.cgi?id=17381
3553 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
3555 This patch resolves the regression for the GTK+ port.
3557 * platform/network/curl/ResourceHandleManager.cpp:
3558 (WebCore::parseDataUrl):
3560 2008-02-18 Darin Adler <darin@apple.com>
3564 * platform/network/win/ResourceHandleWin.cpp:
3565 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
3566 (WebCore::ResourceHandle::start): Ditto.
3568 2008-02-18 Darin Adler <darin@apple.com>
3572 * platform/network/win/CookieJarWin.cpp:
3573 (WebCore::setCookies): Use String instead of DeprecatedString.
3574 (WebCore::cookies): Ditto.
3576 2008-02-18 Darin Adler <darin@apple.com>
3580 - removed use of DeprecatedString in the Color class