1 2008-01-15 Adele Peterson <adele@apple.com>
5 * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
7 2008-01-14 Samuel Weinig <sam@webkit.org>
11 Fix for <rdar://problem/5671040>
12 REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
14 On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
15 which does not completely make up reported regression, but I was not able to
16 reproduce those findings either.
18 * css/CSSStyleSelector.cpp:
19 (WebCore::CSSStyleSelector::matchRules):
20 (WebCore::CSSStyleSelector::checkOneSelector):
22 (WebCore::ClassNames::parseClassAttribute):
24 (WebCore::ClassNames::contains):
25 (WebCore::ClassNames::operator[]):
27 2008-01-15 Adele Peterson <adele@apple.com>
29 Build fix. This time for real.
31 * rendering/RenderThemeSafari.cpp:
33 2008-01-15 Adele Peterson <adele@apple.com>
37 * rendering/RenderThemeSafari.cpp:
39 2008-01-15 Dan Bernstein <mitz@apple.com>
41 Reviewed by Darin Adler.
43 - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
45 * svg/SVGPreserveAspectRatio.cpp:
46 (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
47 from float to double in order to make the values passed to scale() and
48 translate() on Mac OS X and on Windows the same.
49 * svg/SVGPreserveAspectRatio.h:
51 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
55 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
57 Test: fast/encoding/mailto-always-utf-8.html
59 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
61 2008-01-15 Adele Peterson <adele@apple.com>
63 Reviewed by Adam and Antti.
65 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
67 * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack.
68 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
69 * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider.
70 * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
72 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
73 Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
74 * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack.
75 * platform/mac/WebCoreSystemInterface.mm: ditto.
77 * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
78 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
79 * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
80 * rendering/RenderThemeMac.mm:
81 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
82 (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
83 * rendering/RenderThemeSafari.cpp: ditto.
84 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
85 (WebCore::RenderThemeSafari::paintMediaSliderTrack):
86 * rendering/RenderThemeSafari.h:
88 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
90 Reviewed by Mark Rowe.
92 Some logging channels weren't initialized from user defaults.
94 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
95 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
97 2008-01-14 Steve Falkenburg <sfalken@apple.com>
99 Use shared vsprops for most vcproj properties.
103 * WebCore.vcproj/QTMovieWin.vcproj:
104 * WebCore.vcproj/WebCore.vcproj:
105 * platform/graphics/win/QTMovieWin.cpp:
106 (QTMovieWin::initializeQuickTime): Fix compiler warning.
108 2008-01-14 Eric Seidel <eric@webkit.org>
112 Remove a couple more uses of DeprecatedString
114 No functional changes, thus no test case.
117 (WebCore::Document::write):
118 (WebCore::Document::writeln):
119 (WebCore::Document::recalcStyleSelector):
122 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
124 Reviewed by Alp Toker.
126 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
127 http://bugs.webkit.org/show_bug.cgi?id=16874
130 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
131 (WebCore::SVGResourceFilter::createPlatformData):
132 (WebCore::SVGResourceFilter::prepareFilter):
133 (WebCore::SVGResourceFilter::applyFilter):
135 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
137 Reviewed by hyatt & eseidel.
139 - fix http://bugs.webkit.org/show_bug.cgi?id=16844
140 RenderText::addLineBoxRects erroneously includes last char for boundingBox
142 This patch fixes an issue with addLineBoxRects not correctly calculating the
143 rects due to an off-by-one error in using box->end(). We were assuming that
144 end() gives the index past the last character, when in fact it gives the
145 index _of_ the last character.
147 Eric Seidel and I could not find a way to test this via DRT. This method is
148 only used by WebKit or Safari for displaying selection rects AFAICT.
150 * rendering/RenderText.cpp:
151 (WebCore::RenderText::addLineBoxRects):
153 2008-01-14 Darin Adler <darin@apple.com>
157 - fix crash seen in layout tests
159 * html/HTMLFrameSetElement.cpp:
160 (WebCore::HTMLFrameSetElement::attach):
161 Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
162 HTMLElement or a Document, not necessarily an HTMLElement.
164 2008-01-14 Darin Adler <darin@apple.com>
168 - fix mistakes Sam noticed in my re-speed-up patch
171 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
173 * dom/Element.h: Moved virtualHasTagName out of header file.
176 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
178 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
181 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
183 * platform/text/StringImpl.h: Removed StringBuffer class.
185 * loader/DocumentLoader.cpp: Added StringBuffer.h include.
186 * platform/text/String.cpp: Ditto.
187 * platform/text/StringImpl.cpp: Ditto.
188 * platform/text/TextCodecLatin1.cpp: Ditto.
189 * platform/text/TextCodecUTF16.cpp: Ditto.
190 * platform/text/TextCodecUserDefined.cpp: Ditto.
192 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
193 * WebCore.xcodeproj/project.pbxproj: Ditto.
195 2008-01-14 Dave Hyatt <hyatt@apple.com>
197 Clean up all the misplaced graphics files after the recent file moves. Clean up the project to
198 accurately reflect the location of all the graphics files.
202 * WebCore.vcproj/WebCore.vcproj:
203 * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
204 * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
205 * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
206 * platform/win/GraphicsContextWin.cpp: Removed.
207 * platform/win/UniscribeController.cpp: Removed.
208 * platform/win/UniscribeController.h: Removed.
210 2008-01-14 Geoffrey Garen <ggaren@apple.com>
212 Reviewed by Sam Weinig.
214 Some cleanup to my last patch.
216 Removed one unused setter declaration and one unused setter definition.
218 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
219 because "get" is all over the IDL files, and "read" is not.
221 * bindings/scripts/CodeGeneratorJS.pm:
223 (WebCore::DOMWindow::defaultstatus):
224 * page/DOMWindow.idl:
226 2008-01-14 Dan Bernstein <mitz@apple.com>
228 Rubber-stamped by Alice Liu.
230 - remove reference to nonexistent file
232 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
234 2008-01-14 Darin Adler <darin@apple.com>
238 - re-speed-up the page load test (my StringImpl change slowed it down)
239 <rdar://problem/5677241> 1.5% PLT regression from r29098
241 To reverse the slowdown I caused by changing StringImpl, I tightened it up,
242 and also did a little optimization in the HTML tokenizer and in other clients
245 * WebCore.base.exp: Removed export of a now-inline function.
248 (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
249 to get property ID. This could be sped up even more by writing a fast path
250 to use a local Vector<char> rather than allocating a string.
251 (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
252 allocating a string object to hold the number.
253 (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
254 DeprecatedString::toFloat.
257 (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
258 an Element*. It's still virtual if you have a Node*.
259 (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
263 (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
264 can override it with an inline. This is the same technique we use for
265 firstChild and lastChild.
266 (WebCore::Node::virtualHasTagName): This is the private virtual that Element
270 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
273 * html/HTMLTokenizer.cpp:
274 (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
275 which is more efficient in cases where we know the character is not a newline
276 and hence we don't have to update the line number.
277 (WebCore::HTMLTokenizer::parseComment): Ditto.
278 (WebCore::HTMLTokenizer::parseServer): Ditto.
279 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
280 (WebCore::HTMLTokenizer::parseText): Ditto.
281 (WebCore::HTMLTokenizer::parseEntity): Ditto.
282 (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
283 so there's one less branch taken for non-punctuation characters since this
284 code path is *so* hot.
285 (WebCore::HTMLTokenizer::write): More of the same.
288 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
290 * loader/DocumentLoader.cpp:
291 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
293 * loader/TextResourceDecoder.cpp:
294 (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
295 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
296 (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
297 (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
300 (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
302 * platform/SharedBuffer.cpp:
303 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
305 * platform/graphics/BitmapImage.cpp:
306 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
308 * platform/network/FormData.cpp:
309 (WebCore::FormData::appendData): Use Vector::grow instead of resize.
310 (WebCore::FormData::flatten): Ditto.
312 * platform/text/AtomicString.cpp:
313 (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
314 for use by AtomicString. Avoids setting fields twice, and also preserves reference
315 count behavior (which I changed for the other constructors, since they're entirely
316 private and used only inside the class).
317 (WebCore::UCharBufferTranslator::translate): Ditto.
319 * platform/text/Base64.cpp:
320 (WebCore::base64Encode): Use Vector::grow instead of resize.
321 (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
323 * platform/text/PlatformString.h:
324 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
325 made both versions inline.
327 * platform/text/SegmentedString.h:
328 (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
329 where the character is known to be a newline.
330 (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
331 the character is known not to be a newline.
333 * platform/text/String.cpp:
334 (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
335 (WebCore::String::insert): Ditto.
336 (WebCore::String::truncate): Ditto.
337 (WebCore::String::remove): Ditto.
338 (WebCore::String::format): Use Vector::grow instead of resize.
340 * platform/text/StringImpl.cpp:
341 (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
342 of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
343 since they all behave this way now. The only exceptions are the constructors for
344 AtomicString, which retain the old behavior.
345 (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
346 special WithOneRef constructor.
347 (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
348 (WebCore::StringImpl::lower): Ditto.
349 (WebCore::StringImpl::upper): Ditto.
350 (WebCore::StringImpl::secure): Ditto.
351 (WebCore::StringImpl::foldCase): Ditto.
352 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
353 instead of resize (since half of the function uses Vector<UChar>).
354 (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
355 (WebCore::StringImpl::replace): Ditto.
356 (WebCore::StringImpl::ascii): Streamlined a bit.
357 (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
358 Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
359 Coded the check for null characters in a slightly more efficient way. Since this
360 is so hot, didn't call adopt at all, putting the code right in here, including
361 the call to the StringImpl constructor and adoptRef (for the fast case).
362 (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
363 Removed the attempt to resize the buffer at the time we adopt based on measuring
364 actual use and realizing that it's just a character here or there and not worth
365 a call to fastRealloc. Changed to use adoptRef since the constructor now starts
366 with a refCount of 1.
367 (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
368 starts with a refCount of 1.
369 (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
370 (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
371 itself is now inline.
373 * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
374 putting characters into a buffer before creating an immutable string. Not good
375 at resizing the way Vector<UChar> is, so only useful for things that rarely need
376 to be resized. Added a new AdoptBuffer constructor and empty constructor, but
377 made all constructors private so they can be inlined and only used inside the
378 StringImpl class. Added two new constructors for AtomicString. Made copy()
379 no longer inline. Changed the type of the [] operator to unsigned instead of
380 int and added an assertion. Made the hash functions inline.
382 * platform/text/TextCodecICU.cpp:
383 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
385 * platform/text/TextCodecLatin1.cpp:
386 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
387 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
389 * platform/text/TextCodecUTF16.cpp:
390 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
392 * platform/text/TextCodecUserDefined.cpp:
393 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
394 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
396 * platform/text/TextEncoding.cpp:
397 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
399 * platform/text/TextStream.cpp:
400 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
402 * platform/text/mac/TextCodecMac.cpp:
403 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
405 * rendering/AutoTableLayout.cpp:
406 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
408 * rendering/RenderFrameSet.h:
409 (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
410 size instead of calling resize on them after allocating empty.
412 * rendering/RenderListMarker.cpp:
413 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
415 * rendering/RenderStyle.cpp: Removed CursorList::operator==.
416 * rendering/RenderStyle.h:
417 (WebCore::CursorList::operator==): Implemented using the Vector ==.
418 (WebCore::CursorList::operator!=): Ditto.
420 * rendering/RenderTable.cpp:
421 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
422 (WebCore::RenderTable::appendColumn): Ditto.
424 * rendering/RenderTableSection.cpp:
425 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
427 * rendering/bidi.cpp:
428 (WebCore::addMidpoint): Use Vector::grow instead of resize.
430 * xml/XPathNodeSet.h:
431 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
433 2008-01-13 Steve Falkenburg <sfalken@apple.com>
435 Share common files across projects.
438 Debug: common.vsprops, debug.vsprops
439 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
440 Release: common.vsprops, release.vsprops
442 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
443 debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
445 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
447 Reviewed by Adam Roben.
449 * WebCore.vcproj/PRODUCTVERSION: Removed.
450 * WebCore.vcproj/QTMovieWin.vcproj:
451 * WebCore.vcproj/VERSION: Removed.
452 * WebCore.vcproj/WebCore.vcproj:
453 * WebCore.vcproj/auto-version.sh: Removed.
454 * WebCore.vcproj/debug.vsprops: Removed.
455 * WebCore.vcproj/debug_internal.vsprops: Removed.
456 * WebCore.vcproj/release.vsprops: Removed.
458 2008-01-13 Dan Bernstein <mitz@apple.com>
460 Reviewed by Darin Adler.
462 - fix http://bugs.webkit.org/show_bug.cgi?id=16865
463 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
465 * rendering/RenderBox.cpp:
466 (WebCore::RenderBox::destroy): Removed the call to
467 RenderLayer::destroy() from here, because ~RenderLayer() calls
468 RenderObject() methods.
469 * rendering/RenderObject.cpp:
470 (WebCore::RenderObject::destroy): Added the call to
471 RenderLayer::destroy() here.
473 2008-01-13 Eric Seidel <eric@webkit.org>
477 Range.insertNode does not update endContainer endIndex correctly
478 in the case where it had to split a text node.
479 http://bugs.webkit.org/show_bug.cgi?id=16765
481 Darin pointed out during review that we still don't handle the dynamic
482 range case (where the dom tree changes not using range methods)
483 Thus this code will get ripped out when we add that. The test cases
484 are still valid and useful however, so I'm landing this as-is.
486 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
487 fast/dom/Range/range-insertNode-splittext.html
490 (WebCore::Range::insertNode): handle the splitText case correctly.
492 2008-01-13 Darin Adler <darin@apple.com>
496 - http://bugs.webkit.org/show_bug.cgi?id=16861
497 get rid of unnecessary string copying
500 (WebCore::Document::setDomain): Removed unneeded call to copy.
501 (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
502 unneeded length argument to substring, which stops at the end of the string
503 if you don't specify a length.
504 (WebCore::Document::createAttributeNS): Replaced code that was calling copy
505 with more-efficient code using the substring function.
506 * dom/StyledElement.cpp:
507 (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
508 * editing/InsertIntoTextNodeCommand.cpp:
509 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
510 unneeded copy and also initialized text instead of assigning to it.
511 (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
512 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
514 * editing/htmlediting.cpp:
515 (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
516 This one was particularly bad since we just turned around and copied it again!
518 * editing/markup.cpp:
519 (WebCore::stringValueForRange): Removed unneeded call to copy.
521 * loader/icon/IconDatabase.cpp:
522 (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
523 get the path from the database object. This was the only reason the database
524 had to keep its path around.
526 * platform/sql/SQLiteDatabase.cpp:
527 (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
528 convert the string to a null-terminated one.
529 (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
530 * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
531 functio member. Also tweaked formatting and comments a bit. Removed the unused
532 escapeSQLString function.
534 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
536 2008-01-13 Oliver Hunt <oliver@apple.com>
538 Attempt to fix QT build
540 * html/CanvasRenderingContext2D.cpp:
541 (WebCore::CanvasRenderingContext2D::willDraw):
543 2008-01-13 Oliver Hunt <oliver@apple.com>
545 Reviewed by Mark Rowe.
547 Avoid repainting the entire canvas element when possible.
549 http://bugs.webkit.org/show_bug.cgi?id=16859
551 We now only register the dirty regions of a canvas for repainting, rather
552 than the entire element (though repaint coalescing may choose to combine
553 these regions). This doesn't cause a measurable regression in the worst
554 case (clearing the canvas repeatedly), but is a moderate-large win if only
555 a minor update has occurred. If there is any CSS scaling applied to the
556 canvas almost any update short of clearing the entire element is substantially
559 * html/CanvasRenderingContext2D.cpp:
560 (WebCore::CanvasRenderingContext2D::willDraw):
561 * html/HTMLCanvasElement.cpp:
562 (WebCore::HTMLCanvasElement::willDraw):
564 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
566 Reviewed by Anders Carlsson.
568 Move RuntimeObjectImp creations into Instance.
569 Make the ctor protected, and Instance a friend class, so
570 that all creation of RuntimeObjectImps goes through
573 * bindings/js/kjs_dom.cpp:
574 (WebCore::getRuntimeObject):
576 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
578 Gtk debug build fix. Reviewed by Mark Rowe.
580 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
582 * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
583 * platform/Logging.cpp:
584 * platform/Logging.h:
585 * plugins/PluginDebug.h:
587 2008-01-12 Adam Barth <hk9565@gmail.com>
589 Reviewed by Maciej (and also tweaked a little bit).
591 - more thorough fix for some crashing tests
592 http://bugs.webkit.org/show_bug.cgi?id=16782
594 * loader/FrameLoader.cpp:
595 (WebCore::FrameLoader::urlSelected):
596 (WebCore::FrameLoader::submitForm):
597 (WebCore::FrameLoader::executeIfJavaScriptURL):
598 * loader/FrameLoader.h:
600 2008-01-12 Maciej Stachowiak <mjs@apple.com>
604 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
606 * platform/SecurityOrigin.cpp:
607 (WebCore::isDefaultPortForProtocol):
608 (WebCore::SecurityOrigin::SecurityOrigin):
610 2008-01-11 Geoffrey Garen <ggaren@apple.com>
612 Reviewed by Oliver Hunt.
614 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
615 variable access (16644)
617 Removed the ReadOnly bit from some properties, to match Firefox. Also
618 removed status-related setters, to allow using their names as variable
621 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
622 are one-way across domain boundaries, to match Firefox.
624 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
626 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
627 we don't know that JSObject is our base class.
629 * page/DOMWindow.idl: Replaced lots of readonly declarations with
630 [Replaceable] declarations.
632 * page/DOMWindow.h: Removed interfaces for setting status text via the
633 DOM. (They were getting in the way of, e.g., "var status"
634 declarations.) By default, IE 7 and FF disable these interfaces in order
635 to defend against phishing attacks that try to spoof domain names in the
637 * page/DOMWindow.cpp:
639 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
641 Reviewed by Darin Adler.
643 http://bugs.webkit.org/show_bug.cgi?id=15960
644 The view source mode should skip an empty attribute value only if
645 the attribute name is not followed by an equal sign (=).
647 Test: fast/frames/viewsource-empty-attribute-value.html
649 * html/HTMLViewSourceDocument.cpp:
650 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
652 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
654 Reviewed by Alp Toker.
656 [Gtk] Uneven glyph spacing with subpixel antialiasing
657 http://bugs.webkit.org/show_bug.cgi?id=16715
659 Use cairo font options from the default GDK screen when creating a
662 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
663 (WebCore::FontPlatformData::FontPlatformData):
665 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
669 Added a new forwarding header, because Activation.h has been separated
672 * ForwardingHeaders/kjs/Activation.h: Added.
674 2008-01-11 Luca Bruno <lethalman88@gmail.com>
676 Reviewed by Alp Toker.
678 http://bugs.webkit.org/show_bug.cgi?id=16729
679 [cURL] Allow multiple files for upload
681 * platform/network/ResourceHandleInternal.h:
682 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
683 * platform/network/curl/ResourceHandleCurl.cpp:
684 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
685 * platform/network/curl/ResourceHandleManager.cpp:
686 (WebCore::readCallback): added
687 (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
688 (WebCore::ResourceHandleManager::startJob):
689 (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
690 * platform/network/curl/ResourceHandleManager.h:
692 2008-01-11 Christian Dywan <christian@imendio.com>
694 Reviewed by Alp Toker.
696 [Gtk] Menu items need underscores
697 http://bugs.webkit.org/show_bug.cgi?id=16817
699 Add underscores to appropriate menu labels.
700 Also adjust strings slightly.
702 * platform/gtk/ContextMenuItemGtk.cpp:
703 (WebCore::ContextMenuItem::createNativeMenuItem):
704 * platform/gtk/LocalizedStringsGtk.cpp:
705 (WebCore::searchableIndexIntroduction):
706 (WebCore::fileButtonChooseFileLabel):
707 (WebCore::fileButtonNoFileSelectedLabel):
708 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
709 (WebCore::contextMenuItemTagDownloadLinkToDisk):
710 (WebCore::contextMenuItemTagCopyLinkToClipboard):
711 (WebCore::contextMenuItemTagOpenImageInNewWindow):
712 (WebCore::contextMenuItemTagDownloadImageToDisk):
713 (WebCore::contextMenuItemTagCopyImageToClipboard):
714 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
715 (WebCore::contextMenuItemTagCopy):
716 (WebCore::contextMenuItemTagGoBack):
717 (WebCore::contextMenuItemTagGoForward):
718 (WebCore::contextMenuItemTagStop):
719 (WebCore::contextMenuItemTagReload):
720 (WebCore::contextMenuItemTagCut):
721 (WebCore::contextMenuItemTagPaste):
722 (WebCore::contextMenuItemTagIgnoreSpelling):
723 (WebCore::contextMenuItemTagLearnSpelling):
724 (WebCore::contextMenuItemTagSearchWeb):
725 (WebCore::contextMenuItemTagLookUpInDictionary):
726 (WebCore::contextMenuItemTagOpenLink):
727 (WebCore::contextMenuItemTagIgnoreGrammar):
728 (WebCore::contextMenuItemTagSpellingMenu):
729 (WebCore::contextMenuItemTagShowSpellingPanel):
730 (WebCore::contextMenuItemTagCheckSpelling):
731 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
732 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
733 (WebCore::contextMenuItemTagFontMenu):
734 (WebCore::contextMenuItemTagBold):
735 (WebCore::contextMenuItemTagItalic):
736 (WebCore::contextMenuItemTagUnderline):
737 (WebCore::contextMenuItemTagOutline):
738 (WebCore::contextMenuItemTagWritingDirectionMenu):
739 (WebCore::contextMenuItemTagDefaultDirection):
740 (WebCore::contextMenuItemTagLeftToRight):
741 (WebCore::contextMenuItemTagRightToLeft):
742 (WebCore::contextMenuItemTagInspectElement):
743 (WebCore::searchMenuClearRecentSearchesText):
745 2008-01-11 Ada Chan <adachan@apple.com>
747 <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
748 Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
749 provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
750 when a link to download a file has been clicked.
752 Reviewed by John and Anders.
754 * loader/FrameLoader.cpp:
755 (WebCore::FrameLoader::provisionalLoadStarted):
756 (WebCore::FrameLoader::commitProvisionalLoad):
758 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
762 <rdar://problem/5683529> plugins/embed-inside-object.html is timing
765 Revert to using FrameTree::find() so that frame aliases like "_self" and
766 "_current" are interpreted properly
768 * plugins/win/PluginViewWin.cpp:
769 (WebCore::PluginViewWin::performRequest):
770 (WebCore::PluginViewWin::load):
772 2008-01-11 Alp Toker <alp@atoker.com>
774 Reviewed by Dave Hyatt and Mark Rowe.
776 http://bugs.webkit.org/show_bug.cgi?id=16089
777 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
779 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
784 * loader/CachedFont.cpp:
785 (WebCore::CachedFont::~CachedFont):
786 (WebCore::CachedFont::ensureCustomFontData):
787 (WebCore::CachedFont::platformDataFromCustomData):
788 (WebCore::CachedFont::allReferencesRemoved):
789 * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
790 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
791 (WebCore::FontCustomPlatformData::fontPlatformData):
792 (WebCore::releaseData):
793 (WebCore::createFontCustomPlatformData):
794 * platform/graphics/gtk/FontCustomPlatformData.h: Added.
795 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
796 * platform/graphics/gtk/FontPlatformData.h:
797 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
798 (WebCore::FontPlatformData::FontPlatformData):
799 (WebCore::FontPlatformData::init):
800 (WebCore::FontPlatformData::isFixedPitch):
801 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
802 (WebCore::SimpleFontData::platformDestroy):
804 2008-01-11 Adam Roben <aroben@apple.com>
806 Remove FrameLoader::committedFirstRealDocumentLoad
808 This method no longer has any callers.
812 * loader/FrameLoader.h:
814 2008-01-11 Antti Koivisto <antti@apple.com>
816 Add a standalone version of the blog post video player as a manual test.
818 * manual-tests/resources/touch-poster.png: Added.
819 * manual-tests/video-player.html: Added.
821 2008-01-10 Antti Koivisto <antti@apple.com>
825 Fix <rdar://problem/5682767>
826 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
828 Take care that GWorld is created and deletes when needed as size or visibility changes.
830 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
831 (WebCore::MediaPlayerPrivate::load):
832 * platform/graphics/win/QTMovieWin.cpp:
833 (QTMovieWinPrivate::QTMovieWinPrivate):
834 (QTMovieWinPrivate::updateGWorld):
835 (QTMovieWinPrivate::setSize):
836 (QTMovieWin::setVisible):
837 (QTMovieWin::initializeQuickTime):
839 2008-01-11 David Hyatt <hyatt@apple.com>
841 Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
842 mapped attributes so that it does not get overridden by hspace all the time.
846 Added fast/table/table-hspace-align-center.html
849 * html/HTMLTableElement.cpp:
850 (WebCore::HTMLTableElement::parseMappedAttribute):
852 2008-01-11 Mark Rowe <mrowe@apple.com>
856 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
858 2008-01-11 Mark Rowe <mrowe@apple.com>
860 Qt build fix. Add link stubs for the new FileSystem.h functions introduced
863 * platform/qt/TemporaryLinkStubs.cpp:
864 (WebCore::openTemporaryFile):
866 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
868 Reviewed by Anders Carlsson.
870 Bug 16779: Make the PluginStream implementation be shared across platforms
871 http://bugs.webkit.org/show_bug.cgi?id=16779
873 Add the new shared PluginStream files to the GTK+ and Win32 builds.
874 Add PluginStreamClient class for the streamDidFinishLoading method.
875 Add open/close/write methods to FileSystem for temporary file handling.
876 Add PluginDebug.h and npfunctions.h for shared PluginStream.
877 Add shared PluginStream.
878 Remove PluginStreamWin.
879 Update PluginViewWin to use shared PluginStream and PluginStreamClass.
883 * WebCore.vcproj/WebCore.vcproj:
884 * platform/FileSystem.h:
885 * platform/gtk/FileSystemGtk.cpp:
886 * platform/win/FileSystemWin.cpp:
887 * plugins/PluginDebug.h:
888 * plugins/PluginStream.cpp:
889 * plugins/PluginStream.h:
890 * plugins/npfunctions.h:
891 * plugins/win/PluginDebug: Moved to PluginDebug.h.
892 * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
893 * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
894 * plugins/win/PluginViewWin.cpp:
895 * plugins/win/PluginViewWin.h:
896 * plugins/win/npfunctions.h: Moved to npfunctions.h
898 2008-01-11 Geoffrey Garen <ggaren@apple.com>
900 Try to fix Mac build: Edit the right .exp file.
904 2008-01-11 Geoffrey Garen <ggaren@apple.com>
906 Try to fix Qt build: don't use pthreads if they're not available.
908 * bindings/js/GCController.cpp:
910 2008-01-10 Geoffrey Garen <ggaren@apple.com>
912 Reviewed by John Sullivan.
914 Fixed some world leak reports:
915 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
916 Interpreter after running cvs-base suite
918 * <rdar://problem/5669423> PLT complains about world leak if browser
919 window is open when PLT starts
921 These were both bugs in the reporting mechanism, so I took the
922 opportunity to do some house cleaning there.
924 Stupid class, I kill you:
925 * bridge/JavaScriptStatistics.cpp: Removed.
926 * bridge/JavaScriptStatistics.h: Removed.
928 * bindings/js/GCController.h: Adopted the only useful features of
929 JavaScriptStatistics, since they were GC-related.
930 * bindings/js/GCController.cpp:
932 2008-01-10 Eric Seidel <eric@webkit.org>
936 No functional changes, only code cleanup.
938 * css/MediaQueryEvaluator.cpp:
939 (WebCore::compareValue): renamed from cmpvalue
940 (WebCore::colorMediaFeatureEval):
941 (WebCore::device_aspect_ratioMediaFeatureEval):
942 (WebCore::device_pixel_ratioMediaFeatureEval):
943 (WebCore::gridMediaFeatureEval):
944 (WebCore::device_heightMediaFeatureEval):
945 (WebCore::device_widthMediaFeatureEval):
946 (WebCore::heightMediaFeatureEval):
947 (WebCore::widthMediaFeatureEval):
949 2008-01-10 Dan Bernstein <mitz@apple.com>
951 Reviewed by Anders Carlsson.
953 - fix a crash when calling alert() from a repeating timer
955 On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
956 alert() and other similar functions, which deletes the actual
957 DOMWindowTimer objects and replaces them with new objects when resuming.
959 * bindings/js/kjs_window.cpp:
960 (KJS::Window::timerFired): Re-fetch the timer object from the map in
961 case it has been deleted or replaced.
963 2008-01-10 Maciej Stachowiak <mjs@apple.com>
967 - remove SecurityOriginData and fold its functionality into SecurityOrigin
972 * WebCore.vcproj/WebCore.vcproj:
973 * WebCore.xcodeproj/project.pbxproj:
974 * WebCoreSources.bkl:
975 * bindings/js/JSDOMWindowCustom.cpp:
976 (WebCore::JSDOMWindow::postMessage):
978 (WebCore::Document::domain):
980 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
981 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
983 * page/ChromeClient.h:
984 * platform/SecurityOrigin.cpp:
985 (WebCore::SecurityOrigin::copy):
986 (WebCore::SecurityOrigin::createFromIdentifier):
987 (WebCore::SecurityOrigin::stringIdentifier):
988 * platform/SecurityOrigin.h:
989 (WebCore::SecurityOrigin::host):
990 (WebCore::SecurityOrigin::protocol):
991 (WebCore::SecurityOrigin::port):
992 (WebCore::SecurityOrigin::equal):
993 * platform/SecurityOriginData.cpp: Removed.
994 * platform/SecurityOriginData.h: Removed.
995 * storage/Database.cpp:
996 (WebCore::Database::openDatabase):
997 (WebCore::Database::Database):
998 (WebCore::Database::securityOriginCopy):
999 * storage/Database.h:
1000 * storage/DatabaseTracker.cpp:
1001 (WebCore::SecurityOriginHash::hash):
1002 (WebCore::SecurityOriginHash::equal):
1003 (WebCore::SecurityOriginTraits::deletedValue):
1004 (WebCore::SecurityOriginTraits::emptyValue):
1005 (WebCore::DatabaseTracker::canEstablishDatabase):
1006 (WebCore::DatabaseTracker::hasEntryForOrigin):
1007 (WebCore::DatabaseTracker::hasEntryForDatabase):
1008 (WebCore::DatabaseTracker::establishEntryForOrigin):
1009 (WebCore::DatabaseTracker::fullPathForDatabase):
1010 (WebCore::DatabaseTracker::populateOrigins):
1011 (WebCore::DatabaseTracker::origins):
1012 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1013 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1014 (WebCore::DatabaseTracker::setDatabaseDetails):
1015 (WebCore::DatabaseTracker::usageForDatabase):
1016 (WebCore::DatabaseTracker::usageForOrigin):
1017 (WebCore::DatabaseTracker::quotaForOrigin):
1018 (WebCore::DatabaseTracker::setQuota):
1019 (WebCore::DatabaseTracker::addDatabase):
1020 (WebCore::DatabaseTracker::deleteAllDatabases):
1021 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1022 (WebCore::DatabaseTracker::deleteDatabase):
1023 (WebCore::DatabaseTracker::deleteDatabaseFile):
1024 (WebCore::notificationQueue):
1025 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1026 (WebCore::DatabaseTracker::notifyDatabasesChanged):
1027 * storage/DatabaseTracker.h:
1028 * storage/DatabaseTrackerClient.h:
1029 * storage/SQLTransaction.cpp:
1030 (WebCore::SQLTransaction::openTransactionAndPreflight):
1031 (WebCore::SQLTransaction::runStatements):
1032 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1033 (WebCore::SQLTransaction::postflightAndCommit):
1034 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
1035 * svg/graphics/SVGImageEmptyClients.h:
1036 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
1037 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
1039 2008-01-10 Anders Carlsson <andersca@apple.com>
1043 Use the correct frame loader load method. Using the old method would not cause a
1044 new window to be open if the frame navigation was not allowed.
1046 * plugins/win/PluginViewWin.cpp:
1047 (WebCore::PluginViewWin::performRequest):
1049 2008-01-10 Alp Toker <alp@atoker.com>
1051 SVG font build fix for GTK+/autotools.
1055 2008-01-10 Adam Barth <hk9565@gmail.com>
1057 Reviewed by Sam Weinig and Anders Carlsson.
1059 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1060 <rdar://problem/5657355>
1062 This patch makes two changes:
1064 1) Java calls FrameLoader::load in a slightly different way than
1065 JavaScript, which previously let a malicious web site bypass the
1066 shouldAllowNavigation check. This patch adds that check to that
1069 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
1070 findFrameForNavigation, which calls shouldAllowNavigation. This
1071 treats disallowed frame navigations as if the named frame did not
1072 exist, resulting in a popup window when appropriate.
1074 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1075 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1078 * bindings/js/kjs_window.cpp:
1079 (KJS::WindowProtoFuncOpen::callAsFunction):
1080 * loader/FrameLoader.cpp:
1081 (WebCore::FrameLoader::createWindow):
1082 (WebCore::FrameLoader::load):
1083 (WebCore::FrameLoader::post):
1084 (WebCore::FrameLoader::findFrameForNavigation):
1085 * loader/FrameLoader.h:
1087 2008-01-10 John Sullivan <sullivan@apple.com>
1089 Written by Hyatt, reviewed by me
1091 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
1092 a <video> element that uses controls attribute
1094 * rendering/MediaControlElements.cpp:
1095 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1096 force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
1097 up this architecture, but this one-line fix will prevent the crash in the meantime
1099 2008-01-10 Ada Chan <adachan@apple.com>
1101 Fix fast/forms/input-radio-checked-tab.html
1102 Meta key is not the same as Alt key on windows.
1106 * platform/win/KeyEventWin.cpp:
1107 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1109 2008-01-10 Anders Carlsson <andersca@apple.com>
1113 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1115 * plugins/win/PluginViewWin.cpp:
1116 (WebCore::PluginViewWin::performRequest):
1117 Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
1119 (WebCore::PluginViewWin::requestTimerFired):
1120 Don't leak the plugin requests.
1122 (WebCore::PluginViewWin::load):
1124 2008-01-10 Anders Carlsson <andersca@apple.com>
1126 Reviewed by John Sullivan.
1128 <rdar://problem/5455889>
1129 REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1131 Make sure to call FrameLoader::receivedMainResourceError before calling
1132 FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
1133 clearing out the provisional document loader so that we won't call the didFail
1134 ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
1135 didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
1137 * loader/MainResourceLoader.cpp:
1138 (WebCore::MainResourceLoader::receivedError):
1140 2008-01-10 Antti Koivisto <antti@apple.com>
1144 Fix <rdar://problem/5658048>
1145 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1147 - Move to paused state if the playback had ended and the controller is used to seek to earlier time
1148 - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
1150 * html/HTMLMediaElement.cpp:
1151 (WebCore::HTMLMediaElement::HTMLMediaElement):
1152 (WebCore::HTMLMediaElement::updateMediaPlayer):
1153 (WebCore::HTMLMediaElement::setPausedInternal):
1154 * html/HTMLMediaElement.h:
1155 * rendering/MediaControlElements.cpp:
1156 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1158 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
1160 Reviewed by Adam Roben.
1162 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1164 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
1165 requests, as CFNetwork doesn't perform extension to MIME type mapping then.
1167 2008-01-10 Adam Roben <aroben@apple.com>
1169 Fixes to allow multiple FrameViews on Windows
1173 * page/FrameView.cpp:
1174 (WebCore::FrameView::FrameView): Added a new constructor that takes an
1175 IntSize to specify the FrameView's initial size.
1176 (WebCore::FrameView::scheduleRelayout): Added an assertion that our
1177 Document is not in the page cache.
1179 * platform/gtk/WidgetGtk.cpp:
1180 (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
1181 * platform/qt/WidgetQt.cpp:
1182 (WebCore::Widget::~Widget): Ditto.
1183 * rendering/RenderWidget.cpp:
1184 (WebCore::RenderWidget::setWidget): Make sure to remove any existing
1185 Widget from the Widget hierarchy before deleting it. One instance
1186 where this is needed is when setWidget is called during FrameView
1187 creation on Windows.
1189 2008-01-10 Alp Toker <alp@atoker.com>
1191 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1193 * svg/SVGFontFaceElement.cpp:
1195 2008-01-10 Justin Garcia <justin.garcia@apple.com>
1197 Reviewed by Alice Liu.
1199 <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
1200 <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
1202 Make sure we have an updated layout before we perform any editing work.
1204 * editing/EditCommand.cpp:
1205 (WebCore::EditCommand::apply):
1206 (WebCore::EditCommand::unapply):
1207 (WebCore::EditCommand::reapply):
1209 2008-01-10 Luca Bruno <lethalman88@gmail.com>
1211 Reviewed by Alp Toker.
1213 Back out r29206 which was causing regressions in curl http job
1216 * platform/network/curl/ResourceHandleManager.cpp
1217 (ResourceHandleManager::cancel):
1219 2008-01-10 Kevin McCullough <kmccullough@apple.com>
1221 Reviewed by Darin, Sam, and Adam.
1223 - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
1224 - link in gmail message displays JavaScript alert falsely complaining
1225 about pop-up blocking
1226 - When trying to open a new window, we now see if the user gesture
1227 occurred in the global dynamic object instead of the frame since that is
1228 the only place an event can occur.
1230 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
1233 (KJS::showModalDialog):
1234 (KJS::WindowProtoFuncOpen::callAsFunction):
1236 2008-01-10 David Hyatt <hyatt@apple.com>
1238 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
1242 Added fast/css/visibility-hit-test.html test case.
1244 * rendering/RenderBox.cpp:
1245 (WebCore::RenderBox::nodeAtPoint):
1247 2008-01-10 Lars Knoll <lars@trolltech.com>
1251 rename QWebPageHistory to QWebHistory.
1255 2008-01-10 Lars Knoll <lars@trolltech.com>
1259 fix the drawing errors that where introduced due to refactoring.
1261 Correctly clip to the rectangle we want to draw in ScrollView::paint().
1263 * platform/qt/ScrollViewQt.cpp:
1264 (WebCore::ScrollView::paint):
1266 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1270 Temporarily disable gzip decompression in qhttp due to a bug.
1272 * platform/network/qt/QNetworkReplyHandler.cpp:
1273 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1275 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1279 http://bugs.webkit.org/show_bug.cgi?id=16588
1281 Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
1282 This allows implementing the synchronous loading correctly for the Qt port where the networking
1283 backend is bound to the page.
1285 * loader/FrameLoader.cpp:
1286 (WebCore::FrameLoader::loadResourceSynchronously):
1287 * platform/network/ResourceHandle.h:
1288 * platform/network/cf/ResourceHandleCFNet.cpp:
1289 * platform/network/curl/ResourceHandleCurl.cpp:
1290 * platform/network/mac/ResourceHandleMac.mm:
1291 * platform/network/qt/ResourceHandleQt.cpp:
1292 (WebCore::ResourceHandle::loadResourceSynchronously):
1294 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
1296 wx build fix for changes in r29328
1298 * WebCoreSources.bkl:
1300 2008-01-09 Maciej Stachowiak <mjs@apple.com>
1304 - refactor SecurityOrigin in preparation for merging with SecurityOriginData
1306 * platform/SecurityOrigin.cpp:
1307 (WebCore::SecurityOrigin::SecurityOrigin):
1308 (WebCore::SecurityOrigin::create):
1309 (WebCore::SecurityOrigin::createForFrame):
1310 * platform/SecurityOrigin.h:
1312 2008-01-09 Ada Chan <adachan@apple.com>
1314 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
1318 Test: fast/forms/tabs-with-modifiers.html
1320 * page/EventHandler.cpp:
1321 (WebCore::EventHandler::defaultKeyboardEventHandler):
1322 (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.
1323 Clean up the code a bit.
1324 * page/EventHandler.h:
1325 * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was
1326 only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
1328 * page/FocusController.h:
1330 2008-01-09 Antti Koivisto <antti@apple.com>
1334 Fix http://bugs.webkit.org/show_bug.cgi?id=16376
1335 <rdar://problem/5665206>
1336 <video> element fails to play frames when navigating back to page (16376)
1338 Don't make MediaPlayer visible when it is actually in page cache.
1340 * rendering/RenderVideo.cpp:
1341 (WebCore::RenderVideo::updatePlayer):
1343 2008-01-09 Anders Carlsson <andersca@apple.com>
1347 <rdar://problem/5532361>
1348 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
1350 Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
1353 (WebCore::Frame::pageDestroyed):
1355 2008-01-09 John Sullivan <sullivan@apple.com>
1357 Reviewed by Adam Roben and Anders Carlsson
1359 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
1360 missing-but-expected Reload item
1362 * platform/ContextMenu.cpp:
1363 (WebCore::ContextMenu::populate):
1364 use isLoadingInAPISense when deciding whether to include Stop or Reload in context
1365 menu, to match the WebKit API
1367 2008-01-09 Mark Rowe <mrowe@apple.com>
1369 Fix Windows debug build for opensource developers.
1371 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
1373 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
1375 Reworked by Eric, Reviewed by Hyatt.
1377 - fix http://bugs.webkit.org/show_bug.cgi?id=9454
1378 Add support for :lang inheritance and xml:lang support.
1380 Tests: fast/selectors/lang-inheritance.html
1381 fast/selectors/lang-inheritance2.html
1382 fast/selectors/lang-vs-xml-lang.html
1383 fast/selectors/lang-vs-xml-lang-xhtml.xhtml
1385 * css/CSSStyleSelector.cpp:
1386 (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
1387 different LANG-attribute.
1388 (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
1389 for all the elements parents and the content-language of the document.
1391 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
1393 (WebCore::Document::contentLanguage):
1394 (WebCore::Document::setContentLanguage):
1396 2008-01-08 Timothy Hatcher <timothy@apple.com>
1400 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
1401 http://bugs.webkit.org/show_bug.cgi?id=16678
1403 Add a NULL check for controller before calling JSObjectSetPrivate.
1405 * page/InspectorController.cpp:
1406 (WebCore::InspectorController::~InspectorController):
1408 2008-01-08 Xan Lopez <xan@gnome.org>
1410 Reviewed by Alp Toker.
1412 http://bugs.webkit.org/show_bug.cgi?id=15610
1413 [GTK] Text rendering using Pango
1415 Use Pango to render Complex path text.
1417 * platform/graphics/gtk/FontGtk.cpp:
1418 (WebCore::utf16_to_utf8):
1419 (WebCore::convertUniCharToUTF8):
1420 (WebCore::setPangoAttributes):
1421 (WebCore::Font::drawGlyphs):
1422 (WebCore::Font::drawComplexText):
1423 (WebCore::Font::floatWidthForComplexText):
1424 (WebCore::Font::offsetForPositionForComplexText):
1426 2008-01-08 Timothy Hatcher <timothy@apple.com>
1428 Reviewed by Darin Adler.
1430 <rdar://problem/5665860> With the web inspector displayed, a crash occurs
1431 at WebCore::Frame::document() when navigating back to previous page
1433 This fixes the crash, but the inspector was totally broken with back/forward.
1434 So this also fixes back/forward navigation so the right main resource shows
1435 up in the inspector.
1437 * page/InspectorController.cpp:
1438 (WebCore::addSourceToFrame): Add some null checks for the frame when
1439 getting the textEncoding. This was the crash.
1440 (WebCore::InspectorController::addScriptResource): Create a script object
1441 only if needed, and always add it by calling addResource.
1442 (WebCore::InspectorController::didCommitLoad): Check if the loader is
1443 loading from the page cache, and clear m_mainResource. If the load is
1444 normal, then call addAndUpdateScriptResource with the main resource.
1445 (WebCore::InspectorController::identifierForInitialRequest): If the load
1446 is from the page cache and the resource is the main resource call
1447 addAndUpdateScriptResource since didCommitLoad did not do it.
1449 2008-01-08 Alp Toker <alp@atoker.com>
1451 Back out VIDEO by default in the GTK+ qmake build. The build bot
1452 doesn't have the necessary libraries installed.
1456 2008-01-08 Alp Toker <alp@atoker.com>
1458 Win build fix for breakage introduced in r29328.
1460 * WebCore.vcproj/WebCore.vcproj:
1462 2008-01-08 Alp Toker <alp@atoker.com>
1464 Rubber-stamped by Mark Rowe.
1466 Enable VIDEO by default in the GTK+ qmake build.
1470 2008-01-08 Alp Toker <alp@atoker.com>
1472 GTK+ VIDEO build fix for breakage introduced in r29328.
1474 Issue noticed by Ori_B.
1479 2008-01-08 Antti Koivisto <antti@apple.com>
1483 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
1486 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
1488 Test: media/constructors.html
1491 * WebCore.xcodeproj/project.pbxproj:
1492 * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
1493 (WebCore::JSAudioConstructor::JSAudioConstructor):
1494 (WebCore::JSAudioConstructor::implementsConstruct):
1495 (WebCore::JSAudioConstructor::construct):
1496 * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
1497 * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
1498 * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
1499 * bindings/js/kjs_window.cpp:
1500 (KJS::Window::getValueProperty):
1501 * html/HTMLAudioElement.idl:
1503 2008-01-08 Anders Carlsson <andersca@apple.com>
1507 Don't add the applet widget to the view, that's done later by RenderApplet.
1509 * loader/FrameLoader.cpp:
1510 (WebCore::FrameLoader::createJavaAppletWidget):
1512 2008-01-08 Antti Koivisto <antti@apple.com>
1516 Add security check for Audio constructor.
1518 * bindings/js/kjs_window.cpp:
1519 (KJS::Window::getValueProperty):
1521 2008-01-08 Timothy Hatcher <timothy@apple.com>
1523 Reviewed by Adam Roben.
1525 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
1527 InspectorController::didLoadResourceFromMemoryCache was not being called for
1528 resources that loaded from the memory cache that the FrameLoader's client
1529 has already been notified about. This fix always calls the InspectorController
1530 when loading a memory cached resource. No test possible for the Web Inspector.
1532 * loader/DocLoader.cpp:
1533 (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
1534 FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
1535 * loader/FrameLoader.cpp:
1536 (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
1537 (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
1538 (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
1539 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
1540 Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
1541 didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
1542 didTellClientAboutLoad.
1543 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
1544 in FrameLoader::loadedResourceFromMemoryCache.
1545 * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
1546 Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to
1547 m_urlsClientKnowsAbout.
1548 * loader/SubresourceLoader.cpp:
1549 (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
1551 2008-01-08 Dan Bernstein <mitz@apple.com>
1553 Rubber-stamped by Sam Weinig.
1555 - prefix all member variables in CSSStyleSelector with m_
1557 * css/CSSStyleSelector.cpp:
1558 (WebCore::CSSStyleSelector::CSSStyleSelector):
1559 (WebCore::CSSStyleSelector::init):
1560 (WebCore::CSSStyleSelector::setEncodedURL):
1561 (WebCore::CSSStyleSelector::loadDefaultStyle):
1562 (WebCore::CSSStyleSelector::matchRules):
1563 (WebCore::CSSStyleSelector::matchRulesForList):
1564 (WebCore::CSSStyleSelector::initElementAndPseudoState):
1565 (WebCore::CSSStyleSelector::initForStyleResolve):
1566 (WebCore::CSSStyleSelector::canShareStyleWithElement):
1567 (WebCore::CSSStyleSelector::locateSharedStyle):
1568 (WebCore::CSSStyleSelector::matchUARules):
1569 (WebCore::CSSStyleSelector::styleForElement):
1570 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1571 (WebCore::CSSStyleSelector::updateFont):
1572 (WebCore::CSSStyleSelector::cacheBorderAndBackground):
1573 (WebCore::CSSStyleSelector::checkSelector):
1574 (WebCore::CSSStyleSelector::checkOneSelector):
1575 (WebCore::CSSStyleSelector::applyProperty):
1576 (WebCore::CSSStyleSelector::mapBackgroundImage):
1577 (WebCore::CSSStyleSelector::mapBackgroundSize):
1578 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1579 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1580 (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
1581 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1582 * css/CSSStyleSelector.h:
1583 (WebCore::CSSStyleSelector::):
1584 (WebCore::CSSRuleData::CSSRuleData):
1585 (WebCore::CSSRuleDataList::CSSRuleDataList):
1586 (WebCore::CSSRuleDataList::append):
1587 * css/SVGCSSStyleSelector.cpp:
1588 (WebCore::CSSStyleSelector::applySVGProperty):
1589 * rendering/RenderStyle.cpp:
1590 (WebCore::RenderStyle::isStyleAvailable):
1592 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
1594 Removed unnecessary files from Copy Bundle Resources build phase.
1598 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
1599 DOMCoreException.idl
1604 SVGAnimateColorElement.idl
1605 SVGAnimateElement.idl
1606 SVGAnimateTransformElement.idl
1607 SVGAnimatedAngle.idl
1608 SVGAnimatedBoolean.idl
1609 SVGAnimatedEnumeration.idl
1610 SVGAnimatedInteger.idl
1611 SVGAnimatedLength.idl
1612 SVGAnimatedLengthList.idl
1613 SVGAnimatedNumber.idl
1614 SVGAnimatedNumberList.idl
1615 SVGAnimatedPathData.idl
1616 SVGAnimatedPoints.idl
1617 SVGAnimatedPreserveAspectRatio.idl
1619 SVGAnimatedString.idl
1620 SVGAnimatedTransformList.idl
1621 SVGAnimationElement.idl
1622 SVGCSSPropertyNames.in
1623 SVGCSSValueKeywords.in
1624 SVGCircleElement.idl
1625 SVGClipPathElement.idl
1627 SVGComponentTransferFunctionElement.idl
1628 SVGCursorElement.idl
1629 SVGDefinitionSrcElement.idl
1634 SVGElementInstance.idl
1635 SVGElementInstanceList.idl
1636 SVGEllipseElement.idl
1638 SVGExternalResourcesRequired.idl
1639 SVGFEBlendElement.idl
1640 SVGFEColorMatrixElement.idl
1641 SVGFEComponentTransferElement.idl
1642 SVGFECompositeElement.idl
1643 SVGFEDiffuseLightingElement.idl
1644 SVGFEDisplacementMapElement.idl
1645 SVGFEDistantLightElement.idl
1646 SVGFEFloodElement.idl
1647 SVGFEFuncAElement.idl
1648 SVGFEFuncBElement.idl
1649 SVGFEFuncGElement.idl
1650 SVGFEFuncRElement.idl
1651 SVGFEGaussianBlurElement.idl
1652 SVGFEImageElement.idl
1653 SVGFEMergeElement.idl
1654 SVGFEMergeNodeElement.idl
1655 SVGFEOffsetElement.idl
1656 SVGFEPointLightElement.idl
1657 SVGFESpecularLightingElement.idl
1658 SVGFESpotLightElement.idl
1659 SVGFETileElement.idl
1660 SVGFETurbulenceElement.idl
1661 SVGFilterElement.idl
1662 SVGFilterPrimitiveStandardAttributes.idl
1665 SVGFontFaceElement.idl
1666 SVGFontFaceFormatElement.idl
1667 SVGFontFaceNameElement.idl
1668 SVGFontFaceSrcElement.idl
1669 SVGFontFaceUriElement.idl
1670 SVGForeignObjectElement.idl
1673 SVGGradientElement.idl
1679 SVGLinearGradientElement.idl
1681 SVGMarkerElement.idl
1684 SVGMetadataElement.idl
1685 SVGMissingGlyphElement.idl
1691 SVGPathSegArcAbs.idl
1692 SVGPathSegArcRel.idl
1693 SVGPathSegClosePath.idl
1694 SVGPathSegCurvetoCubicAbs.idl
1695 SVGPathSegCurvetoCubicRel.idl
1696 SVGPathSegCurvetoCubicSmoothAbs.idl
1697 SVGPathSegCurvetoCubicSmoothRel.idl
1698 SVGPathSegCurvetoQuadraticAbs.idl
1699 SVGPathSegCurvetoQuadraticRel.idl
1700 SVGPathSegCurvetoQuadraticSmoothAbs.idl
1701 SVGPathSegCurvetoQuadraticSmoothRel.idl
1702 SVGPathSegLinetoAbs.idl
1703 SVGPathSegLinetoHorizontalAbs.idl
1704 SVGPathSegLinetoHorizontalRel.idl
1705 SVGPathSegLinetoRel.idl
1706 SVGPathSegLinetoVerticalAbs.idl
1707 SVGPathSegLinetoVerticalRel.idl
1709 SVGPathSegMovetoAbs.idl
1710 SVGPathSegMovetoRel.idl
1711 SVGPatternElement.idl
1714 SVGPolygonElement.idl
1715 SVGPolylineElement.idl
1716 SVGPreserveAspectRatio.idl
1717 SVGRadialGradientElement.idl
1720 SVGRenderingIntent.idl
1722 SVGScriptElement.idl
1728 SVGSwitchElement.idl
1729 SVGSymbolElement.idl
1733 SVGTextContentElement.idl
1735 SVGTextPathElement.idl
1736 SVGTextPositioningElement.idl
1739 SVGTransformList.idl
1740 SVGTransformable.idl
1748 XMLHttpRequestException.idl
1752 make-charset-table.pl
1757 2008-01-08 Luca Bruno <lethalman88@gmail.com>
1759 Reviewed by Alp Toker.
1761 Support copying the selected URL to the clipboard.
1763 * platform/gtk/PasteboardGtk.cpp:
1764 (WebCore::Pasteboard::writeURL): implemented
1766 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
1768 Renamed CharacterData::m_str to m_data
1770 Rubber-stamped by Adam again.
1772 No test cases added since there is no change in behavior.
1774 * dom/CDATASection.cpp:
1775 * dom/CharacterData.cpp:
1776 (WebCore::CharacterData::CharacterData):
1777 (WebCore::CharacterData::setData):
1778 (WebCore::CharacterData::substringData):
1779 (WebCore::CharacterData::appendData):
1780 (WebCore::CharacterData::insertData):
1781 (WebCore::CharacterData::deleteData):
1782 (WebCore::CharacterData::replaceData):
1783 (WebCore::CharacterData::nodeValue):
1784 (WebCore::CharacterData::containsOnlyWhitespace):
1785 (WebCore::CharacterData::dispatchModifiedEvent):
1786 (WebCore::CharacterData::checkCharDataOperation):
1787 (WebCore::CharacterData::dump):
1788 * dom/CharacterData.h:
1791 (WebCore::Text::splitText):
1792 (WebCore::Text::createRenderer):
1793 (WebCore::Text::recalcStyle):
1795 2008-01-08 Steve Falkenburg <sfalken@apple.com>
1797 Fix a couple of compiler warnings.
1801 * platform/win/ThreadingWin.cpp:
1802 * platform/win/UniscribeController.cpp: Remove unused function.
1803 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
1805 2008-01-08 Adele Peterson <adele@apple.com>
1809 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
1811 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1812 After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
1813 MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.
1814 This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
1815 I also added a missing call to setDefaultHandled for the mousemove event.
1817 2008-01-08 Adele Peterson <adele@apple.com>
1821 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
1822 paint the media controls in RenderThemeSafari.
1824 2008-01-08 Oliver Hunt <oliver@apple.com>
1826 Reviewed by Adele and John.
1828 Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
1829 dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
1831 We hit this crash if the page reloads between DragController::dragUpdated
1832 and DragController::performDrag, meaning that m_document starts pointing to
1833 a now viewless document. This is picked up by an assertion in performDrag
1834 which I have now replaced with an assignment given that the assertion is
1835 invalid -- it is possible for m_document to be changed between dragUpdated
1838 * page/DragController.cpp:
1839 (WebCore::DragController::performDrag):
1841 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
1845 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
1846 WebCore::Node::setChanged + 96
1848 Test: fast/dom/cssTarget-crash.html
1850 * dom/Node.cpp: (WebCore::Node::removedFromDocument):
1851 Check to see if the node being removed is currently set as the Document's cssTarget.
1852 If it is, clear the cssTarget to prevent a hanging reference to it.
1854 2008-01-08 Adam Roben <aroben@apple.com>
1856 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
1857 rebuild on Windows now that the media elements are enabled.
1859 2008-01-08 Adam Roben <aroben@apple.com>
1861 * svg/svgtags.in: Touch this again for the sake of the Windows bots.
1863 2008-01-08 Timothy Hatcher <timothy@apple.com>
1865 Reviewed by Adam Roben.
1867 Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
1868 Also added some #pragma marks to help find places in the file.
1870 * page/InspectorController.cpp:
1871 (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
1872 And return the result of JSObjectCallAsFunction.
1873 (WebCore::search): Use JSRetainPtr<JSStringRef>.
1874 (WebCore::databaseTableNames): Ditto.
1875 (WebCore::localizedStrings): Ditto.
1876 (WebCore::InspectorController::~InspectorController): Ditto.
1877 (WebCore::InspectorController::focusNode): Ditto.
1878 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
1879 (WebCore::InspectorController::scriptObjectReady): Ditto.
1880 (WebCore::addHeaders): Ditto.
1881 (WebCore::InspectorController::addScriptResource): Ditto.
1882 (WebCore::InspectorController::removeScriptResource): Ditto.
1883 (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
1884 (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
1885 (WebCore::InspectorController::updateScriptResource): Ditto.
1886 (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
1887 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
1888 (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
1890 2008-01-08 Dan Bernstein <mitz@apple.com>
1892 Rubber-stamped by Sam Weinig.
1894 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
1898 * WebCore.vcproj/WebCore.vcproj:
1899 * WebCore.xcodeproj/project.pbxproj:
1900 * WebCoreSources.bkl:
1901 * editing/Editor.cpp:
1902 * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
1903 * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
1904 * platform/graphics/FontDataBaseClass.cpp: Removed.
1905 * platform/graphics/FontDataBaseClass.h: Removed.
1906 * platform/graphics/SegmentedFontData.h:
1907 * platform/graphics/SimpleFontData.h:
1909 2008-01-08 Dan Bernstein <mitz@apple.com>
1911 Fix a Wx build error.
1913 * platform/graphics/wx/GlyphMapWx.cpp:
1914 (WebCore::GlyphPage::fill):
1916 2008-01-08 Dan Bernstein <mitz@apple.com>
1918 Fix a Qt build error.
1920 * platform/graphics/qt/SimpleFontDataQt.cpp:
1921 (WebCore::SimpleFontData::containsCharacters):
1922 (WebCore::SimpleFontData::fontDataForCharacter):
1923 (WebCore::SimpleFontData::isSegmented):
1925 2008-01-08 Adam Roben <aroben@apple.com>
1929 Touch config.h to force a rebuild (apparently changing preprocessor
1930 definitions in the .vcproj doesn't force a rebuild).
1934 2008-01-08 Dan Bernstein <mitz@apple.com>
1936 Fix a Wx build failure.
1940 2008-01-08 Dan Bernstein <mitz@apple.com>
1942 Fix a Qt build failure.
1946 2008-01-08 John Sullivan <sullivan@apple.com>
1948 Reviewed by Adam Roben
1950 - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field,
1951 Delete menu item is enabled but shouldn't be
1953 The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
1954 parameter to the enabled functions so that they can have parallel logic to the execute functions.
1956 * editing/EditorCommand.cpp:
1957 added EditorCommandSource parameter to isEnabled function prototype
1959 added unused EditorCommandSource parameter to these isEnabled functions:
1960 (WebCore::enabledAnySelection):
1961 (WebCore::enabledAnySelectionAndMark):
1962 (WebCore::enableCaretInEditableText):
1963 (WebCore::enabledCopy):
1964 (WebCore::enabledCut):
1966 (WebCore::enabledDelete):
1967 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
1970 added unused EditorCommandSource parameter to these isEnabled functions:
1971 (WebCore::enabledInEditableText):
1972 (WebCore::enabledInRichlyEditableText):
1973 (WebCore::enabledPaste):
1974 (WebCore::enabledRangeInEditableText):
1975 (WebCore::enabledRangeInRichlyEditableText):
1976 (WebCore::enabledRedo):
1977 (WebCore::enabledUndo):
1979 (WebCore::CommandEntry::):
1980 wire up new enabledDelete function as delete function for Delete command
1982 (WebCore::Editor::Command::isEnabled):
1983 pass EditorCommandSource parameter to isEnabled function
1985 2008-01-08 Adam Roben <aroben@apple.com>
1987 Visual C++ Express build fix
1989 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
1990 and advapi32.lib. VS implicitly links against these, VC++ Express
1993 2008-01-08 Dan Bernstein <mitz@apple.com>
1997 * platform/graphics/mac/FontCustomPlatformData.cpp:
1998 (WebCore::createFontCustomPlatformData):
2000 2008-01-08 Dan Bernstein <mitz@apple.com>
2002 Try to fix the Qt build.
2006 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
2008 Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
2010 * page/inspector/WebKit.qrc:
2012 2008-01-08 Maciej Stachowiak <mjs@apple.com>
2016 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
2018 * bindings/objc/PublicDOMInterfaces.h:
2019 * html/HTMLDocument.idl:
2021 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
2023 Renamed CharacterData::str to m_str to match coding style
2025 Rubber-stamped by Adam.
2027 No test cases added since there is no change in behavior.
2029 * dom/CDATASection.cpp:
2030 * dom/CharacterData.cpp:
2031 (WebCore::CharacterData::CharacterData):
2032 (WebCore::CharacterData::setData):
2033 (WebCore::CharacterData::substringData):
2034 (WebCore::CharacterData::appendData):
2035 (WebCore::CharacterData::insertData):
2036 (WebCore::CharacterData::deleteData):
2037 (WebCore::CharacterData::replaceData):
2038 (WebCore::CharacterData::nodeValue):
2039 (WebCore::CharacterData::containsOnlyWhitespace):
2040 (WebCore::CharacterData::dispatchModifiedEvent):
2041 (WebCore::CharacterData::checkCharDataOperation):
2042 (WebCore::CharacterData::dump):
2043 * dom/CharacterData.h:
2046 (WebCore::Text::splitText):
2047 (WebCore::Text::createRenderer):
2048 (WebCore::Text::recalcStyle):
2050 2008-01-08 Oliver Hunt <oliver@apple.com>
2052 Set the ENABLE_SVG_FONTS flag in Windows build, now builds,
2053 I'm not sure if it just caused the right files to regenerate,
2054 or if there's some configuration weirdness in the non-SVG-fonts
2057 * WebCore.vcproj/WebCore.vcproj:
2059 2008-01-07 Maciej Stachowiak <mjs@apple.com>
2063 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2065 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2068 (WebCore::Document::Document):
2070 (WebCore::Document::setHasOpenDatabases):
2071 (WebCore::Document::hasOpenDatabases):
2072 * loader/FrameLoader.cpp:
2073 (WebCore::FrameLoader::canCachePage):
2074 * storage/Database.cpp:
2075 (WebCore::Database::openDatabase):
2077 2008-01-07 Dan Bernstein <mitz@apple.com>
2079 Reviewed by Oliver Hunt.
2081 - fix leaks seen on the build bot
2083 * css/CSSFontSelector.cpp:
2084 (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
2085 CSSFontFaceSource for SVG font-face elements going into an
2086 SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
2087 face elements to a CSSFontFace because it will not work as expected.
2089 2008-01-07 Mark Rowe <mrowe@apple.com>
2093 * platform/graphics/mac/FontCustomPlatformData.cpp:
2094 (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
2095 It's not needed on Tiger, and breaks the build.
2097 2008-01-07 Antti Koivisto <antti@apple.com>
2101 Re-enable media support in Windows build.
2103 * WebCore.vcproj/QTMovieWin.vcproj:
2104 * WebCore.vcproj/WebCore.vcproj:
2105 * WebCore.vcproj/build-generated-files.sh:
2107 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2109 Add version resource to QTMovieWin.dll
2113 * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
2114 * WebCore.vcproj/QTMovieWin.rc: Added.
2115 * WebCore.vcproj/QTMovieWin.vcproj:
2116 * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
2117 * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
2119 2008-01-07 Dan Bernstein <mitz@apple.com>
2123 * platform/graphics/qt/FontCustomPlatformData.cpp:
2124 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
2125 Calls QFontDatabase::removeApplicationFont().
2126 * platform/graphics/qt/FontCustomPlatformData.h:
2127 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2128 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
2129 implementation because Qt does not use the WebCore glyph cache.
2131 2008-01-07 Dan Bernstein <mitz@apple.com>
2133 Reviewed by Oliver Hunt.
2135 - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
2136 Tiger and multiple SVG layout test failures on Leopard.
2138 * css/CSSSegmentedFontFace.cpp:
2139 (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
2140 empty SegmentedFontData.
2141 * platform/graphics/mac/FontCustomPlatformData.cpp:
2142 (WebCore::createFontCustomPlatformData): Avoid creating a font that
2143 contains no glyphs. On Leopard, ATS might create such a font given
2144 data in an unsupported format (such as SVG).
2146 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2150 * WebCore.vcproj/WebCore.sln:
2151 * WebCore.vcproj/WebCore.submit.sln:
2153 2008-01-07 Oliver Hunt <oliver@apple.com>
2157 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2159 Test: svg/custom/image-with-aspect-ratio-stretch.svg
2161 * rendering/RenderSVGImage.cpp:
2162 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2164 2008-01-07 Dan Bernstein <mitz@apple.com>
2168 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2169 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2171 2008-01-07 Adele Peterson <adele@apple.com>
2173 Add missing newline.
2175 * rendering/MediaControlElements.cpp:
2177 2008-01-07 Jon Honeycutt <jhoneycutt@apple.com>
2181 <rdar://problem/5673489> Safari does not render windowless plugins in an
2182 iframe when opacity < 1.0
2184 Plugins in transparency layers handle their own world transforms, so
2185 only apply the horizontal/vertical transform if we are not in a
2188 * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
2189 inTransparencyLayer() function
2190 * platform/win/GraphicsContextWin.cpp:
2191 (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
2192 (WebCore::GraphicsContext::inTransparencyLayer):
2193 (WebCore::GraphicsContext::releaseWindowsContext): Use
2194 inTransparencyLayer()
2195 * plugins/win/PluginViewWin.cpp:
2196 (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
2197 relative to the window. Pass m_isTransparent to
2198 get/releaseWindowsContext(). Only set the world transform if we are not
2199 in a transparency layer.
2201 2008-01-07 Adele Peterson <adele@apple.com>
2203 Build fix. Need to wrap these classes in #if ENABLE(VIDEO)
2205 * rendering/MediaControlElements.cpp:
2206 * rendering/MediaControlElements.h:
2208 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2212 Enable SVG_FONTS by default.
2214 * Configurations/WebCore.xcconfig:
2215 * WebCore.vcproj/build-generated-files.sh:
2217 2008-01-07 Dan Bernstein <mitz@apple.com>
2221 * platform/graphics/qt/SimpleFontDataQt.cpp:
2222 (WebCore::SimpleFontData::SimpleFontData):
2223 (WebCore::SimpleFontData::~SimpleFontData):
2225 2008-01-07 Adam Barth <hk9565@gmail.com>
2227 Reviewed by Sam Weinig
2229 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
2230 <rdar://problem/5657447>
2232 When a frame is created with the URL "about:blank" or "", it should
2233 inherit its SecurityOrigin from its opener. However, once it has
2234 decided on that SecurityOrigin, it should not change its mind.
2235 Prior to this patch, several events could induce the frame to change
2236 its SecurityOrigin, permitting an attacker to inject script into an
2237 arbitrary SecurityOrigin.
2239 This patch makes several changes:
2241 1) Documents refuse to change from one SecurityOrigin to another
2242 unless explicitly instructed to do so.
2244 2) Navigating to a JavaScript URL that produces a value
2245 preserves the current SecurityOrigin explicitly instead of
2246 relying on the URL to preserve the origin (which fails for
2247 about:blank URLs and SecurityOrigins with document.domain set).
2249 Ideally, we should not preserve the URL at all. Instead, the
2250 frame's URL should be the JavaScript URL, as in Firefox, but this
2251 would require changes that are too risky for this patch. I'll
2252 file this as a separate issue.
2254 3) Various methods of navigating to JavaScript URLs were not
2255 properly handling JavaScript that returned a value (and should
2256 therefore replace the current document). This patch unifies
2257 those code paths with the path that works.
2259 There are still a handful of bugs relating to the handling of
2260 JavaScript URLs, but I'll file those as separate issues.
2262 Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
2263 http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
2264 http/tests/security/aboutBlank/xss-DENIED-set-opener.html
2267 (WebCore::Document::initSecurityOrigin):
2269 (WebCore::Document::setSecurityOrigin):
2270 * loader/FrameLoader.cpp:
2271 (WebCore::FrameLoader::changeLocation):
2272 (WebCore::FrameLoader::urlSelected):
2273 (WebCore::FrameLoader::requestFrame):
2274 (WebCore::FrameLoader::submitForm):
2275 (WebCore::FrameLoader::executeIfJavaScriptURL):
2276 (WebCore::FrameLoader::begin):
2277 * loader/FrameLoader.h:
2278 * platform/SecurityOrigin.cpp:
2279 (WebCore::SecurityOrigin::setForURL):
2280 (WebCore::SecurityOrigin::createForFrame):
2281 * platform/SecurityOrigin.h:
2283 2008-01-07 Adele Peterson <adele@apple.com>
2285 Forgot to check in these changes in my last checkin.
2287 * rendering/RenderThemeSafari.cpp:
2289 2008-01-07 Dan Bernstein <mitz@apple.com>
2294 * platform/graphics/qt/FontCacheQt.cpp:
2295 (WebCore::FontCache::getCachedFontData):
2297 2008-01-07 Timothy Hatcher <timothy@apple.com>
2299 Reviewed by John Sullivan.
2301 <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
2303 * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
2304 normal height when not docked, and small when docked. Also added some cursor properties
2305 prevent showing the text cursor over areas that are not selectable.
2306 * page/inspector/Images: A few images added and old ones removed or renamed.
2308 2008-01-07 Alp Toker <alp@atoker.com>
2310 Prospective GTK+ autotools/qmake VIDEO build fix for breakage
2311 introduced in r29257.
2316 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2320 Build fix affecting all builds - again related to the unicode-range addition.
2322 * css/CSSFontSelector.cpp:
2323 (WebCore::CSSFontSelector::addFontFaceRule):
2324 * css/SVGCSSFontFace.cpp:
2325 (WebCore::SVGCSSFontFace::SVGCSSFontFace):
2326 * css/SVGCSSFontFace.h:
2327 * rendering/RenderSVGText.cpp:
2329 (WebCore::svgFontAndFontFaceElementForFontData):
2330 (WebCore::floatWidthMissingGlyphCallback):
2331 (WebCore::drawTextMissingGlyphCallback):
2332 * svg/SVGFontFaceElement.cpp:
2334 2008-01-07 Adele Peterson <adele@apple.com>
2336 Reviewed by Antti, Adam, and Mitz.
2338 WebCore part of fix for
2339 <rdar://problem/5619073> Updated look for <video> controls
2340 <rdar://problem/5619057> Add volume control to video controls
2342 * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
2343 * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
2344 * WebCore.vcproj/WebCore.vcproj: ditto.
2346 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
2347 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
2348 * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
2349 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
2350 * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
2351 * css/html4.css: Added new styles for new controls.
2353 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
2354 * html/HTMLMediaElement.h:
2356 * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
2358 * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
2359 * platform/mac/WebCoreSystemInterface.mm: ditto.
2361 * rendering/MediaControlElements.cpp: Added.
2362 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute.
2363 (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement,
2364 since its too early to do this here, and causes crashes for the slider.
2365 (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
2366 (WebCore::MediaControlInputElement::update): ditto.
2367 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
2368 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
2369 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
2370 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
2371 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
2372 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
2373 (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
2374 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
2375 (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
2376 (WebCore::MediaControlTimelineElement::update): ditto.
2377 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
2378 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
2379 * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
2380 (WebCore::MediaControlShadowRootElement::isShadowNode):
2381 (WebCore::MediaControlShadowRootElement::shadowParentNode):
2382 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2383 (WebCore::RenderMediaControlShadowRoot::setParent):
2385 * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
2386 (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
2387 (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
2388 (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
2389 (WebCore::RenderMedia::createMuteButton): Added.
2390 (WebCore::RenderMedia::createSeekBackButton): ditto.
2391 (WebCore::RenderMedia::createSeekForwardButton): ditto.
2392 (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
2393 (WebCore::RenderMedia::createFullscreenButton): Added.
2394 (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
2395 (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls.
2396 (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
2397 * rendering/RenderMedia.h: Added new methods for creating new controls.
2399 * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements,
2400 but also can contain children (the controls' container) that may need to look for the containing block.
2402 * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
2404 * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
2406 (WebCore::RenderStyle::):
2408 * rendering/RenderTheme.cpp:
2409 (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
2410 (WebCore::RenderTheme::paint): ditto.
2411 * rendering/RenderTheme.h: Added new methods for painting new appearances.
2412 (WebCore::RenderTheme::paintMediaBackground):
2413 (WebCore::RenderTheme::paintMediaFullscreenButton):
2414 (WebCore::RenderTheme::paintMediaPlayButton):
2415 (WebCore::RenderTheme::paintMediaMuteButton):
2416 (WebCore::RenderTheme::paintMediaSeekBackButton):
2417 (WebCore::RenderTheme::paintMediaSeekForwardButton):
2418 (WebCore::RenderTheme::paintMediaSliderThumb):
2419 * rendering/RenderThemeMac.h:
2420 * rendering/RenderThemeMac.mm:
2421 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
2422 (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
2423 (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
2424 (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
2425 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
2426 (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
2427 (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
2428 (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
2429 (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
2430 (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
2431 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
2432 (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
2433 * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
2434 (WebCore::RenderThemeSafari::paintSliderTrack):
2435 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2436 (WebCore::RenderThemeSafari::paintMediaBackground):
2437 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2438 (WebCore::RenderThemeSafari::paintMediaMuteButton):
2439 (WebCore::RenderThemeSafari::paintMediaPlayButton):
2440 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2441 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2442 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2443 * rendering/RenderThemeSafari.h:
2445 2008-01-07 Timothy Hatcher <timothy@apple.com>
2447 Reviewed by Darin Adler.
2449 Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
2450 when the replacment string is a different length.
2452 * platform/text/StringImpl.cpp:
2453 (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
2454 the Vector size calculation, correcting the order of math operations.
2456 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2458 Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
2460 * platform/graphics/mac/FontCacheMac.mm:
2462 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2464 Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
2466 * css/CSSFontSelector.cpp:
2467 (WebCore::CSSFontSelector::getFontData):
2469 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2471 Not reviewed. Next try to fix wx/mac leopard build.
2473 * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
2474 * svg/SVGFontFaceElement.cpp:
2475 (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
2476 * webcore-base.bkl: Undo svg/ include.
2478 2008-01-07 Dan Bernstein <mitz@apple.com>
2480 Reviewed by Dave Hyatt.
2482 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
2486 * WebCore.vcproj/WebCore.vcproj:
2487 * WebCore.xcodeproj/project.pbxproj:
2488 * WebCoreSources.bkl:
2489 * bindings/objc/DOM.mm:
2490 * bridge/mac/WebCoreAXObject.mm:
2491 * css/CSSComputedStyleDeclaration.cpp:
2492 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2493 * css/CSSFontFace.cpp:
2494 (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
2496 (WebCore::CSSFontFace::getFontData):
2497 * css/CSSFontFace.h:
2498 (WebCore::CSSFontFace::CSSFontFace):
2499 (WebCore::CSSFontFace::setSegmentedFontFace):
2500 * css/CSSFontFaceSource.cpp:
2501 (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
2502 GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
2503 font table are not exposed in the glyph page tree. Only the segmented
2504 font is, and that is taken care of by the segmented font face.
2505 (WebCore::CSSFontFaceSource::getFontData):
2506 * css/CSSFontFaceSource.h:
2507 * css/CSSFontSelector.cpp:
2508 (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
2509 @font-face rules with the same family and traits into a single
2510 segmented font face, instead of just retaining the most recent one.
2511 (WebCore::CSSFontSelector::fontLoaded):
2512 (WebCore::CSSFontSelector::getFontData):
2513 * css/CSSFontSelector.h:
2515 * css/CSSParser.cpp:
2516 (WebCore::CSSParser::parseValue):
2517 (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
2520 * css/CSSPrimitiveValue.h:
2521 (WebCore::CSSPrimitiveValue::):
2522 * css/CSSPropertyNames.in:
2523 * css/CSSSegmentedFontFace.cpp: Added.
2524 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
2525 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
2526 (WebCore::CSSSegmentedFontFace::pruneTable):
2527 (WebCore::CSSSegmentedFontFace::isLoaded):
2528 (WebCore::CSSSegmentedFontFace::isValid):
2529 (WebCore::CSSSegmentedFontFace::fontLoaded):
2530 (WebCore::CSSSegmentedFontFace::overlayRange):
2531 (WebCore::CSSSegmentedFontFace::getFontData):
2532 * css/CSSSegmentedFontFace.h: Added.
2533 (WebCore::FontFaceRange::FontFaceRange):
2534 (WebCore::FontFaceRange::from):
2535 (WebCore::FontFaceRange::to):
2536 (WebCore::FontFaceRange::fontFace):
2537 (WebCore::CSSSegmentedFontFace::fontSelector):
2538 * css/CSSStyleSelector.cpp:
2539 (WebCore::CSSStyleSelector::applyProperty):
2540 * css/CSSUnicodeRangeValue.cpp: Added.
2541 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
2542 (WebCore::CSSUnicodeRangeValue::cssText):
2543 * css/CSSUnicodeRangeValue.h: Added.
2544 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
2545 (WebCore::CSSUnicodeRangeValue::from):
2546 (WebCore::CSSUnicodeRangeValue::to):
2547 * css/SVGCSSFontFace.cpp:
2548 (WebCore::SVGCSSFontFace::getFontData):
2549 * css/SVGCSSFontFace.h:
2550 * editing/Editor.cpp:
2551 (WebCore::Editor::fontForSelection):
2553 * page/mac/FrameMac.mm:
2554 * page/mac/WebCoreFrameBridge.mm:
2555 (-[WebCoreFrameBridge fontForSelection:]):
2556 * platform/graphics/Font.cpp:
2557 (WebCore::WidthIterator::advance):
2558 (WebCore::Font::glyphDataForCharacter):
2559 (WebCore::Font::primaryFont): Changed to return the simple font data
2560 used for the space character.
2561 (WebCore::Font::fontDataAt):
2562 (WebCore::Font::fontDataForCharacters):
2563 (WebCore::Font::drawGlyphBuffer):
2564 * platform/graphics/Font.h:
2565 * platform/graphics/FontCache.cpp:
2566 (WebCore::FontCache::getCachedFontData):
2567 (WebCore::FontCache::getFontData):
2568 * platform/graphics/FontCache.h:
2569 * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
2570 * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
2571 * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
2573 (WebCore::FontData::~FontData):
2574 * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
2576 * platform/graphics/FontFallbackList.cpp:
2577 (WebCore::FontFallbackList::determinePitch):
2578 (WebCore::FontFallbackList::fontDataAt):
2579 (WebCore::FontFallbackList::fontDataForCharacters):
2580 * platform/graphics/FontFallbackList.h:
2581 (WebCore::FontFallbackList::primaryFont):
2582 * platform/graphics/FontSelector.h:
2583 * platform/graphics/GlyphBuffer.h:
2584 (WebCore::GlyphBuffer::fontDataAt):
2585 (WebCore::GlyphBuffer::swap):
2586 (WebCore::GlyphBuffer::add):
2587 * platform/graphics/GlyphPageTreeNode.cpp:
2588 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2589 (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
2590 pages for segmented font data.
2591 (WebCore::GlyphPageTreeNode::getChild):
2592 (WebCore::GlyphPageTreeNode::pruneCustomFontData):
2593 * platform/graphics/GlyphPageTreeNode.h:
2594 (WebCore::GlyphPage::setGlyphDataForCharacter):
2595 (WebCore::GlyphPage::setGlyphDataForIndex):
2596 (WebCore::GlyphPageTreeNode::getRootChild):
2597 * platform/graphics/SegmentedFontData.cpp: Added.
2598 (WebCore::SegmentedFontData::~SegmentedFontData):
2599 (WebCore::SegmentedFontData::fontDataForCharacter):
2600 (WebCore::SegmentedFontData::containsCharacters):
2601 (WebCore::SegmentedFontData::isCustomFont):
2602 (WebCore::SegmentedFontData::isLoading):
2603 (WebCore::SegmentedFontData::isSegmented):
2604 * platform/graphics/SegmentedFontData.h: Added.
2605 (WebCore::FontDataRange::FontDataRange):
2606 (WebCore::FontDataRange::from):
2607 (WebCore::FontDataRange::to):
2608 (WebCore::FontDataRange::fontData):
2609 (WebCore::SegmentedFontData::appendRange):
2610 (WebCore::SegmentedFontData::numRanges):
2611 (WebCore::SegmentedFontData::rangeAt):
2612 * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
2613 (WebCore::SimpleFontData::SimpleFontData):
2614 (WebCore::SimpleFontData::~SimpleFontData):
2615 (WebCore::SimpleFontData::ascent):
2616 (WebCore::SimpleFontData::descent):
2617 (WebCore::SimpleFontData::widthForGlyph):
2618 (WebCore::SimpleFontData::fontDataForCharacter):
2619 (WebCore::SimpleFontData::isSegmented):
2620 * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
2621 (WebCore::SimpleFontData::isCustomFont):
2622 (WebCore::SimpleFontData::isLoading):
2623 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2624 (WebCore::GraphicsContext::setPlatformFont):
2625 * platform/graphics/gtk/FontCacheGtk.cpp:
2626 (WebCore::FontCache::getFontDataForCharacters):
2627 * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
2628 SimpleFontDataGtk.cpp.
2629 * platform/graphics/gtk/FontGtk.cpp:
2630 (WebCore::Font::drawGlyphs):
2631 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2632 (WebCore::GlyphPage::fill):
2633 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
2634 (WebCore::SimpleFontData::platformInit):
2635 (WebCore::SimpleFontData::platformDestroy):
2636 (WebCore::SimpleFontData::smallCapsFontData):
2637 (WebCore::SimpleFontData::containsCharacters):
2638 (WebCore::SimpleFontData::determinePitch):
2639 (WebCore::SimpleFontData::platformWidthForGlyph):
2640 (WebCore::SimpleFontData::setFont):
2641 * platform/graphics/mac/FontCacheMac.mm:
2642 (WebCore::FontCache::getFontDataForCharacters):
2643 * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
2644 * platform/graphics/mac/FontMac.mm:
2645 (WebCore::initializeATSUStyle):
2646 (WebCore::overrideLayoutOperation):
2647 (WebCore::ATSULayoutParameters::initialize):
2648 (WebCore::Font::drawGlyphs):
2649 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2650 (WebCore::GlyphPage::fill):
2651 * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
2652 (WebCore::initFontData):
2653 (WebCore::SimpleFontData::platformInit):
2654 (WebCore::SimpleFontData::platformDestroy):
2655 (WebCore::SimpleFontData::smallCapsFontData):
2656 (WebCore::SimpleFontData::containsCharacters):
2657 (WebCore::SimpleFontData::determinePitch):
2658 (WebCore::SimpleFontData::platformWidthForGlyph):
2659 (WebCore::SimpleFontData::checkShapesArabic):
2660 * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
2661 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2662 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2663 * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
2664 * platform/graphics/win/FontCacheWin.cpp:
2665 (WebCore::FontCache::getFontDataForCharacters):
2666 * platform/graphics/win/FontDataWin.cpp: Renamed to
2667 SimpleFontDataWin.cpp.
2668 * platform/graphics/win/FontWin.cpp:
2669 (WebCore::Font::drawGlyphs):
2670 * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
2671 (WebCore::GlyphPage::fill):
2672 * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
2673 (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
2674 (WebCore::SimpleFontData::platformInit):
2675 (WebCore::SimpleFontData::platformDestroy):
2676 (WebCore::SimpleFontData::smallCapsFontData):
2677 (WebCore::SimpleFontData::containsCharacters):
2678 (WebCore::SimpleFontData::determinePitch):
2679 (WebCore::SimpleFontData::platformWidthForGlyph):
2680 (WebCore::SimpleFontData::scriptFontProperties):
2681 * platform/graphics/wx/FontCacheWx.cpp:
2682 (WebCore::FontCache::getFontDataForCharacters):
2683 * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
2684 * platform/graphics/wx/FontWx.cpp:
2685 (WebCore::Font::drawGlyphs):
2686 * platform/graphics/wx/GlyphMapWx.cpp:
2687 (WebCore::GlyphPage::fill):
2688 * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
2689 (WebCore::SimpleFontData::platformInit):
2690 (WebCore::SimpleFontData::platformDestroy):
2691 (WebCore::SimpleFontData::smallCapsFontData):
2692 (WebCore::SimpleFontData::containsCharacters):
2693 (WebCore::SimpleFontData::determinePitch):
2694 (WebCore::SimpleFontData::platformWidthForGlyph):
2695 * platform/mac/FileChooserMac.mm:
2696 * platform/mac/PopupMenuMac.mm:
2697 * platform/mac/WebCoreTextRenderer.mm:
2698 * platform/win/PopupMenuWin.cpp:
2699 * platform/win/UniscribeController.cpp:
2700 (WebCore::UniscribeController::advance):
2701 (WebCore::UniscribeController::itemizeShapeAndPlace):
2702 (WebCore::UniscribeController::shapeAndPlaceItem):
2703 (WebCore::UniscribeController::shape):
2704 * platform/win/UniscribeController.h:
2706 (WebCore::Font::drawGlyphsWithSVGFont):
2707 * svg/SVGFontElement.cpp:
2708 (WebCore::SVGFontElement::collectGlyphs):
2709 * svg/SVGFontFaceElement.cpp:
2710 (WebCore::SVGFontFaceElement::createFontData):
2711 * svg/SVGFontFaceElement.h:
2712 * svg/SVGGlyphElement.cpp:
2714 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2716 Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
2720 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2722 Not reviewed. Proposed build fix for wx.
2726 2008-01-07 Dan Bernstein <mitz@apple.com>
2730 * platform/graphics/mac/FontCustomPlatformData.cpp:
2731 (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
2732 cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
2734 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
2736 Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
2737 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
2739 Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
2740 measure & render glyphs contained in SVG Fonts, including ligature lookup support.
2742 Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
2744 Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
2745 Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
2747 Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
2748 This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
2749 required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
2751 Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
2753 <glyph> elements now register themselves in the SVGFontElement's glyph cache.
2754 (insertedIntoDocument / removedFromDocument take care of this)
2756 The cache is built once now, and is kept updated - it's not rebuild anymore
2757 on painting (!) - which was a crude hack for testing.
2759 W3C testcase which include SVG Fonts:
2760 svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
2761 svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
2762 svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
2763 svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
2764 svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
2765 svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
2766 svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
2767 svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
2768 svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
2769 svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
2770 svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
2771 svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
2772 svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
2773 svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
2774 svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
2775 svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
2776 svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
2777 svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
2778 svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
2779 svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
2780 svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
2781 svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
2782 svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
2784 Questionable testcases:
2785 svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
2786 I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
2788 Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
2790 * css/CSSFontSelector.cpp:
2791 (WebCore::CSSFontSelector::addFontFaceRule):
2792 (WebCore::CSSFontSelector::getFontData):
2793 * platform/graphics/Font.cpp:
2794 (WebCore::Font::lineSpacing):
2795 (WebCore::Font::xHeight):
2796 (WebCore::Font::canUseGlyphCache):
2797 (WebCore::Font::drawGlyphBuffer):
2798 (WebCore::Font::drawText):
2799 (WebCore::Font::floatWidth):
2800 (WebCore::Font::selectionRectForText):
2801 * platform/graphics/Font.h:
2802 (WebCore::TextRun::TextRun):
2803 (WebCore::TextRun::activePaintServer):
2804 (WebCore::TextRun::setActivePaintServer):
2805 * platform/graphics/FontData.cpp:
2806 (WebCore::FontData::lineSpacing):
2807 (WebCore::FontData::lineGap):
2808 (WebCore::FontData::xHeight):
2809 * platform/graphics/FontData.h:
2810 * platform/graphics/win/FontWin.cpp:
2811 (WebCore::Font::drawGlyphs):
2812 * rendering/RenderSVGText.cpp:
2813 (WebCore::RenderSVGText::relativeBBox):
2814 * rendering/SVGInlineTextBox.cpp:
2815 (WebCore::SVGInlineTextBox::paintCharacters):
2816 * rendering/SVGInlineTextBox.h:
2817 * rendering/SVGRootInlineBox.cpp:
2818 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2821 (WebCore::processArabicFormDetection):
2822 (WebCore::charactersWithArabicForm):
2823 (WebCore::isCompatibleArabicForm):
2824 (WebCore::isCompatibleGlyph):
2825 (WebCore::svgFontAndFontFaceElementForFontData):
2826 (WebCore::SVGTextRunWalker::SVGTextRunWalker):
2827 (WebCore::SVGTextRunWalker::walk):
2828 (WebCore::floatWidthUsingSVGFontCallback):
2829 (WebCore::floatWidthMissingGlyphCallback):
2830 (WebCore::floatWidthOfSubStringUsingSVGFont):
2831 (WebCore::Font::floatWidthUsingSVGFont):
2832 (WebCore::drawTextUsingSVGFontCallback):
2833 (WebCore::drawTextMissingGlyphCallback):
2834 (WebCore::Font::drawTextUsingSVGFont):
2835 (WebCore::Font::selectionRectForTextUsingSVGFont):
2836 * svg/SVGFontElement.cpp:
2837 (WebCore::SVGFontElement::SVGFontElement):
2838 (WebCore::SVGFontElement::addGlyphToCache):
2839 (WebCore::SVGFontElement::removeGlyphFromCache):
2840 (WebCore::SVGFontElement::firstMissingGlyphElement):
2841 (WebCore::SVGFontElement::glyphIdentifiersForString):
2842 * svg/SVGFontElement.h:
2843 (WebCore::SVGFontElement::maximumHashKeyLength):
2844 * svg/SVGFontFaceElement.cpp:
2845 (WebCore::SVGFontFaceElement::createFontData):
2846 (WebCore::SVGFontFaceElement::rebuildFontFace):
2847 (WebCore::SVGFontFaceElement::associatedFontElement):
2848 * svg/SVGFontFaceElement.h:
2849 * svg/SVGGlyphElement.cpp:
2850 (WebCore::SVGGlyphElement::insertedIntoDocument):
2851 (WebCore::SVGGlyphElement::removedFromDocument):
2852 (WebCore::parseArabicForm):
2853 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
2854 (WebCore::SVGGlyphElement::buildGlyphIdentifier):
2855 * svg/SVGGlyphElement.h:
2856 (WebCore::SVGGlyphIdentifier::):
2857 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
2858 (WebCore::SVGGlyphIdentifier::inheritedValue):
2859 (WebCore::SVGGlyphIdentifier::operator==):
2860 (WebCore::SVGGlyphElement::~SVGGlyphElement):
2862 2008-01-07 David Hyatt <hyatt@apple.com>
2864 Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
2868 * rendering/RenderBox.h:
2869 * rendering/RenderTableCell.cpp:
2870 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2872 2008-01-07 Holger Freyther <zecke@selfish.org>
2874 Reviewed by Alp Toker.
2878 * platform/gtk/ContextMenuGtk.cpp:
2879 (WebCore::ContextMenu::~ContextMenu):
2881 2008-01-07 Holger Freyther <zecke@selfish.org>
2883 Reviewed by Alp Toker.
2885 * The ContextMenuController is going to live longer than the ContextMenu. It is
2886 going to live as long as the WebCore::Page is around where the ContextMenu, specially
2887 in the case of a SubMenu, is gone before we popup the menu.
2889 * platform/gtk/ContextMenuGtk.cpp:
2890 (WebCore::menuItemActivated):
2891 (WebCore::ContextMenu::appendItem):
2893 2008-01-07 Holger Freyther <zecke@selfish.org>
2895 Reviewed by Alp Toker.
2897 * Fix SubMenu handling
2898 * Do not connect to the activated signal if we are a separator or submenu
2899 * Change our type from ActionType to SubMenuType when we have a submenu
2900 * Initialize the SubMenu
2902 * platform/gtk/ContextMenuGtk.cpp:
2903 (WebCore::ContextMenu::appendItem):
2904 * platform/gtk/ContextMenuItemGtk.cpp:
2905 (WebCore::ContextMenuItem::ContextMenuItem):
2906 (WebCore::ContextMenuItem::createNativeMenuItem):
2907 (WebCore::ContextMenuItem::setSubMenu):
2909 2008-01-07 Holger Freyther <zecke@selfish.org>
2911 Reviewed by Alp Toker.
2913 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
2915 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
2916 * Update the ContextMenuController to accept CheckableActionTypes as well.
2917 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
2918 was extracted from ContextMenu::checkOrEnableIfNeeded.
2919 * Update the Qt and Windows port.
2922 * page/ContextMenuController.cpp:
2923 * platform/ContextMenu.cpp:
2924 (WebCore::createAndAppendFontSubMenu):
2925 (WebCore::createAndAppendSpellingAndGrammarSubMenu):
2926 (WebCore::createAndAppendSpellingSubMenu):
2927 (WebCore::createAndAppendWritingDirectionSubMenu):
2928 * platform/ContextMenuItem.h:
2929 * platform/gtk/ContextMenuItemGtk.cpp:
2930 (WebCore::ContextMenuItem::ContextMenuItem):
2931 (WebCore::ContextMenuItem::createNativeMenuItem):
2933 2008-01-07 Luca Bruno <lethalman88@gmail.com>
2935 Reviewed by Alp Toker.
2937 http://bugs.webkit.org/show_bug.cgi?id=16745
2938 [GTK] Context menu doesn't feel or look native - no icons
2940 Use GTK+ stock icons for menu items where possible.
2942 * platform/gtk/ContextMenuItemGtk.cpp:
2943 (WebCore::gtkStockIDFromContextMenuAction):
2944 (WebCore::ContextMenuItem::createNativeMenuItem):
2945 (WebCore::ContextMenuItem::setAction):
2947 2008-01-07 Dan Bernstein <mitz@apple.com>
2949 Reviewed by John Sullivan.
2951 - make the ATSUI code path work with custom fonts rather than crash
2953 * platform/graphics/mac/FontCustomPlatformData.cpp:
2954 (WebCore::FontCustomPlatformData::fontPlatformData):
2955 * platform/graphics/mac/FontMac.mm:
2956 (WebCore::initializeATSUStyle):
2958 2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com>
2962 abort() now emits the signals, so disconnect them before you abort()
2964 * platform/network/qt/QNetworkReplyHandler.cpp:
2965 (WebCore::QNetworkReplyHandler::abort):
2967 2008-01-07 Simon Hausmann <hausmann@webkit.org>
2971 Use a faster and safer way of flattening the form data.
2973 * platform/network/qt/QNetworkReplyHandler.cpp:
2974 (WebCore::QNetworkReplyHandler::start):
2976 2008-01-07 Simon Hausmann <hausmann@webkit.org>
2980 Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
2983 * platform/network/ResourceHandleInternal.h:
2984 * platform/network/qt/QNetworkReplyHandler.cpp: Added.
2985 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2986 (WebCore::QNetworkReplyHandler::abort):
2987 (WebCore::QNetworkReplyHandler::finish):
2988 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2989 (WebCore::QNetworkReplyHandler::forwardData):
2990 (WebCore::QNetworkReplyHandler::start):
2991 * platform/network/qt/QNetworkReplyHandler.h: Added.
2992 (WebCore::QNetworkReplyHandler::reply):
2993 * platform/network/qt/ResourceHandleQt.cpp:
2994 (WebCore::ResourceHandle::start):
2995 (WebCore::ResourceHandle::cancel):
2996 (WebCore::ResourceHandle::loadResourceSynchronously):
2997 * platform/network/qt/ResourceRequest.h:
2998 (WebCore::ResourceRequest::ResourceRequest):
2999 * platform/network/qt/ResourceRequestQt.cpp: Added.
3000 (WebCore::ResourceRequest::toNetworkRequest):
3001 * platform/qt/MIMETypeRegistryQt.cpp:
3002 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3003 * platform/qt/PlugInInfoStoreQt.cpp:
3004 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
3005 (WebCore::PlugInInfoStore::pluginCount):
3006 (WebCore::PlugInInfoStore::pluginNameForMIMEType):
3008 2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3012 * Remove m_dirtyRegion as it is not used as we pass every dirty region
3013 directly to the ChromeClient
3015 * platform/qt/ScrollViewQt.cpp:
3016 (WebCore::ScrollView::paint):
3018 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3022 Small CG paint server cleanups - use more GraphicsContext method where possible.
3024 * svg/graphics/cg/CgSupport.cpp:
3025 (WebCore::applyStrokeStyleToContext):
3026 (WebCore::strokeBoundingBox):
3027 * svg/graphics/cg/CgSupport.h:
3028 * svg/graphics/cg/RenderPathCg.cpp:
3029 (WebCore::RenderPath::strokeContains):
3030 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3031 (WebCore::SVGPaintServerGradient::setup):
3032 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
3033 (WebCore::SVGPaintServerPattern::setup):
3034 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
3035 (WebCore::SVGPaintServerSolid::setup):
3037 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3041 Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
3043 * platform/graphics/mac/FontMac.mm:
3044 (WebCore::ATSULayoutParameters::initialize):
3046 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3050 DOMRange doesn't correctly re-size when inserting items (Acid3)
3051 http://bugs.webkit.org/show_bug.cgi?id=16764
3053 Update the offset for the range when inserting items into the range.
3055 Test: fast/dom/Range/range-modifycontents.html
3058 (WebCore::Range::insertNode):
3060 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3064 http://bugs.webkit.org/show_bug.cgi?id=16731
3065 Incorrect node type for whitespace when setting innerHTML in an XHTML document
3067 Test: fast/dom/xhtml-fragment-whitespace.xhtml
3069 * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3070 Use balancedCharactersHandler for ignorable whitespace.
3072 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3076 http://bugs.webkit.org/show_bug.cgi?id=16701
3077 <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
3078 causes page load error
3080 Test: http/tests/misc/location-with-space.php
3082 * platform/network/cf/ResourceRequestCFNet.cpp:
3083 (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
3085 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3089 DOMRange.cloneContents does not work (Acid3 bug)
3090 http://bugs.webkit.org/show_bug.cgi?id=16748
3092 When cloning an empty range, return an empty DocmentFragment instead of
3095 Test: fast/dom/Range/range-clone-empty.html
3098 (WebCore::Range::processContents):
3100 2008-01-06 Luca Bruno <lethalman88@gmail.com>
3102 Reviewed by Alp Toker.
3104 Remove curl handles immediately if the timer is not running.
3106 * platform/network/curl/ResourceHandleManager.cpp:
3107 (WebCore::ResourceHandleManager::cancel):
3109 2008-01-06 Alp Toker <alp@atoker.com>
3113 Cairo canvas refcounting fix. Reference the surface in the constructor
3114 to match its destruction in the destructor.
3116 Fixes a crash triggered by leaving this page:
3117 http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
3119 * html/CanvasPattern.cpp:
3120 (WebCore::CanvasPattern::CanvasPattern):
3122 2008-01-06 Eric Seidel <eric@webkit.org>
3126 Make attr selectors case-insensitive for certain HTML attributes
3127 http://bugs.webkit.org/show_bug.cgi?id=15470
3129 Test: fast/css/html-attr-case-sensitivity.html
3131 * css/CSSStyleSelector.cpp:
3132 (WebCore::addLocalNameToSet):
3133 (WebCore::createHtmlCaseInsensitiveAttributesSet):
3134 (WebCore::htmlAttributeHasCaseInsensitiveValue):
3135 (WebCore::CSSStyleSelector::checkOneSelector):
3137 2008-01-06 Eric Seidel <eric@webkit.org>
3141 Fix :checked matching type='text' and add test case
3142 http://bugs.webkit.org/show_bug.cgi?id=16750
3144 Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
3146 * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
3148 2008-01-05 Sam Weinig <sam@webkit.org>
3150 Reviewed by Eric Seidel.
3152 Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
3153 ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
3155 - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
3157 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3159 * dom/TreeWalker.cpp:
3160 (WebCore::TreeWalker::parentNode):
3161 (WebCore::TreeWalker::firstChild):
3162 (WebCore::TreeWalker::lastChild):
3163 (WebCore::TreeWalker::previousSibling):
3164 (WebCore::TreeWalker::nextSibling):
3165 (WebCore::TreeWalker::previousNode):
3166 (WebCore::TreeWalker::nextNode):
3168 2008-01-04 Oliver Hunt <oliver@apple.com>
3170 Reviewed by Beth Dakin.
3172 Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
3173 and other image repaint bugs.
3175 We now cache the full local bounds for the <image> element, as otherwise certain
3176 combinations of attribute changes could result in incorrect dirty rects.
3177 Additionally we no longer use any of the integer bounds fields on RenderObject for
3178 determining repaint bounds (this was the principle cause of bug #16015).
3180 I also removed the outline painting code as it was both wrong, and not correctly
3181 repainted. I feel safe doing this as no other browser or viewer supports outline
3182 properties on svg elements.
3184 I was unable to make a testcase for this unfortunately, despite seemingly deterministic
3187 * rendering/RenderSVGImage.cpp:
3188 (WebCore::RenderSVGImage::layout):
3189 (WebCore::RenderSVGImage::paint):
3190 (WebCore::RenderSVGImage::nodeAtPoint):
3191 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3192 * rendering/RenderSVGImage.h:
3194 2008-01-04 Beth Dakin <bdakin@apple.com>
3198 Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with
3199 type="hidden" matches :enabled/:disabled (Acid3 bug)
3201 Prevent :enabled and :disabled from applying to input type="hidden"
3203 * css/CSSStyleSelector.cpp:
3204 (WebCore::CSSStyleSelector::checkOneSelector): Rather than
3205 allowing :enabled and :disabled to apply to all controls, only
3206 allow it to apply to non-"hidden" controls
3208 (WebCore::Element::isInputTypeHidden):
3209 * html/HTMLInputElement.h:
3210 (WebCore::HTMLInputElement::isInputTypeHidden):
3212 2008-01-04 Sam Weinig <sam@webkit.org>
3214 Reviewed by Oliver Hunt.
3216 - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
3217 getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
3218 if the type of the CSSPrimitiveValue is not the same as the type requested.
3219 - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
3221 Test: fast/css/CSSPrimitiveValue-exceptions.html
3223 * css/CSSPrimitiveValue.cpp:
3224 (WebCore::CSSPrimitiveValue::getDoubleValue):
3225 (WebCore::CSSPrimitiveValue::getStringValue):
3226 (WebCore::CSSPrimitiveValue::getCounterValue):
3227 (WebCore::CSSPrimitiveValue::getRectValue):
3228 (WebCore::CSSPrimitiveValue::getRGBColorValue):
3229 (WebCore::CSSPrimitiveValue::getPairValue):
3230 * css/CSSPrimitiveValue.h:
3231 (WebCore::CSSPrimitiveValue::getFloatValue):
3232 (WebCore::CSSPrimitiveValue::getIntValue):
3233 (WebCore::CSSPrimitiveValue::getCounterValue):
3234 (WebCore::CSSPrimitiveValue::getRectValue):
3235 (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
3236 * css/CSSPrimitiveValue.idl:
3238 2008-01-04 Antti Koivisto <antti@apple.com>
3242 Windows part of <rdar://problem/5647034>
3243 Media tests crash if an old version of QuickTime is installed
3245 Check QuickTime version on Windows too.
3247 * platform/graphics/MediaPlayer.cpp:
3248 (WebCore::MediaPlayer::isAvailable):
3249 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3250 (WebCore::MediaPlayerPrivate::isAvailable):
3251 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3252 (WebCore::MediaPlayerPrivate::isAvailable):
3253 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3254 * platform/graphics/win/QTMovieWin.cpp:
3255 (QTMovieWin::initializeQuickTime):
3257 2008-01-04 Darin Adler <darin@apple.com>
3259 Reviewed by Maciej and Alice.
3261 - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
3263 Test: fast/images/border.html
3265 * html/HTMLImageElement.cpp:
3266 (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
3267 where the border value is not a number to use the value "0" for the border width instead
3268 of not setting the border width and style at all. This matches other browsers, and makes
3271 2008-01-04 Antti Koivisto <antti@apple.com>
3273 Try to fix 64-bit build
3275 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3276 (WebCore::MediaPlayerPrivate::isAvailable):
3278 2008-01-04 Stephanie <slewis@apple.com>
3282 WARNING: NO TEST CASES ADDED OR CHANGED
3284 Fix another stringImpl leak.
3286 * platform/text/StringImpl.cpp: remove an extra allocation
3287 (WebCore::StringImpl::StringImpl):
3289 2008-01-04 Alice Liu <alice.liu@apple.com>
3293 * platform/graphics/win/FontCacheWin.cpp:
3294 fix loop condition that was causing crash
3296 2008-01-04 Timothy Hatcher <timothy@apple.com>
3298 Reviewed by Adam Roben.
3300 <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
3302 * page/inspector/inspector.css: Remove styles related to the toggle button
3303 and make the area always visible.
3304 * page/inspector/inspector.html: Remove the toggle button.
3305 * page/inspector/inspector.js: Remove code to toggle the status area.
3307 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3309 Reviewed by Adam Roben.
3311 Temporarily restore BackwardDelete for Windows nightlies to work correctly.
3313 * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
3315 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3319 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
3321 Enable the fix on Windows.
3323 * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
3324 Always set a custom sort function, even if it doesn't implement proper collation on the platform.
3326 * xml/XSLTUnicodeSort.cpp:
3327 (WebCore::xsltUnicodeSortFunction):
3328 * xml/XSLTUnicodeSort.h:
3329 If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
3331 2008-01-04 Antti Koivisto <antti@apple.com>
3335 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3337 2008-01-04 Antti Koivisto <antti@apple.com>
3341 Partial fix for <rdar://problem/5647034>
3342 Media tests crash if an old version of QuickTime is installed
3344 Disable media support if QuickTime is not current enough (>=7.3).
3346 Windows patch coming soon.
3348 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3349 (WebCore::createJSHTMLWrapper):
3350 * bindings/js/kjs_window.cpp:
3351 (KJS::Window::getValueProperty):
3352 * html/HTMLElementFactory.cpp:
3353 (WebCore::audioConstructor):
3354 (WebCore::videoConstructor):
3355 (WebCore::sourceConstructor):
3356 * platform/graphics/MediaPlayer.cpp:
3357 (WebCore::MediaPlayer::isAvailable):
3358 * platform/graphics/MediaPlayer.h:
3359 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3360 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3361 (WebCore::MediaPlayerPrivate::isAvailable):
3363 2008-01-04 Timothy Hatcher <timothy@apple.com>
3365 Reviewed by Darin Adler.
3367 <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
3369 Check if the property is a getter before asking for the value.
3370 If the property is a getter, we no longer show the value.
3372 * page/inspector/PropertiesSidebarPane.js:
3373 * page/inspector/inspector.css:
3375 2008-01-04 Dan Bernstein <mitz@apple.com>
3377 Reviewed by Darin Adler.
3379 - fix synthetic bold and italic on Windows
3381 Covered by an existing test.
3383 * platform/graphics/win/FontPlatformDataWin.cpp:
3384 (WebCore::FontPlatformData::FontPlatformData):
3386 2008-01-04 Alp Toker <alp@atoker.com>
3388 GTK+ autotools build fix. Terminate empty rules.
3392 2008-01-04 Lars Knoll <lars@trolltech.com>
3396 Remove most dependencies of Widget/ScrollView onto native QWidgets.
3398 This also brings the code closer in line with the Windows code. Seems
3399 to work nicely on first try :)
3401 * page/qt/FrameQt.cpp:
3402 (WebCore::Frame::createScriptInstanceForWidget):
3403 * platform/Widget.h:
3404 * platform/qt/PlatformScreenQt.cpp:
3405 (WebCore::screenDepth):
3406 (WebCore::screenDepthPerComponent):
3407 (WebCore::screenIsMonochrome):
3408 (WebCore::screenRect):
3409 * platform/qt/PlatformScrollBarQt.cpp:
3410 (WebCore::PlatformScrollbar::thumbPosition):
3411 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3412 * platform/qt/ScrollViewQt.cpp:
3413 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3414 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3415 (WebCore::ScrollView::updateContents):
3416 (WebCore::ScrollView::update):
3417 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3418 (WebCore::ScrollView::updateScrollbars):
3419 (WebCore::ScrollView::addChild):
3420 (WebCore::ScrollView::removeChild):
3421 (WebCore::ScrollView::paint):
3422 * platform/qt/WidgetQt.cpp:
3423 (WebCore::WidgetPrivate::WidgetPrivate):
3424 (WebCore::WidgetPrivate::~WidgetPrivate):
3425 (WebCore::Widget::frameGeometry):
3426 (WebCore::Widget::setFrameGeometry):
3427 (WebCore::Widget::setCursor):
3428 (WebCore::Widget::show):
3429 (WebCore::Widget::hide):
3430 (WebCore::Widget::nativeWidget):
3431 (WebCore::Widget::setNativeWidget):
3432 (WebCore::Widget::suppressInvalidation):
3433 (WebCore::Widget::setSuppressInvalidation):
3434 (WebCore::Widget::invalidateRect):
3435 (WebCore::Widget::topLevel):
3436 (WebCore::Widget::containingWindow):
3438 2008-01-04 Lars Knoll <lars@trolltech.com>
3442 make QWebPage a QObject and get things to compile.
3444 Nothing works currently though.
3446 * platform/qt/ScrollViewQt.cpp:
3447 (WebCore::ScrollView::updateContents):
3448 (WebCore::ScrollView::update):
3449 * platform/qt/WidgetQt.cpp:
3450 (WebCore::Widget::qwidget):
3451 (WebCore::Widget::invalidateRect):
3453 2008-01-04 Alp Toker <alp@atoker.com>
3455 Reviewed by Mark Rowe.
3457 http://bugs.webkit.org/show_bug.cgi?id=16667
3458 make -j is failing with the autotools based system
3460 Support parallel code generation. Nearly every use of explicit
3461 multiple targets was a potential concurrency bug, though in practice
3462 the bison rules were the first to be noticed because they took longer
3463 to complete and broke the build immediately.
3467 2008-01-04 Alp Toker <alp@atoker.com>
3469 Reviewed by Mark Rowe.
3471 Re-use a single static dummy surface rather than creating and
3472 destroying a surface for each CairoPath.
3474 * platform/graphics/cairo/CairoPath.h:
3475 (WebCore::CairoPath::CairoPath):
3477 2008-01-04 Mark Rowe <mrowe@apple.com>
3481 * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
3483 2008-01-03 Mark Rowe <mrowe@apple.com>
3485 Reviewed by Maciej Stachowiak.
3487 Use platform-provided atomic operations in place of inline assembly to
3488 increase portability.
3490 * platform/Threading.h:
3491 (WebCore::atomicIncrement):
3492 (WebCore::atomicDecrement):
3494 2008-01-03 Oliver Hunt <oliver@apple.com>
3498 Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
3500 We need to cache the absolute bounds of the <image>,
3501 as there's no reliable way to recompute the old bounding
3502 box one we have started layout.
3504 * rendering/RenderSVGImage.cpp:
3505 (WebCore::RenderSVGImage::layout):
3506 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3507 * rendering/RenderSVGImage.h:
3509 2008-01-03 Alp Toker <alp@atoker.com>
3511 Reviewed by Mark Rowe.
3513 Support building in Scratchbox, which has a version of make that fails
3514 on wildcard syntax. Use a vpath to match IDL files instead.
3518 2008-01-03 Jon Honeycutt <jhoneycutt@apple.com>
3522 <rdar://problem/5504775> PDF page will not load first time after Adobe
3523 Reader install, unless browser is relaunched
3525 Refresh and re-search the plugin database if the MIME type is not
3528 * plugins/win/PluginDatabaseWin.cpp:
3529 (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
3530 * plugins/win/PluginDatabaseWin.h:
3532 2008-01-03 Dan Bernstein <mitz@apple.com>
3534 Reviewed by Darin Adler.
3536 - fix http://bugs.webkit.org/show_bug.cgi?id=16548
3537 <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
3539 * platform/graphics/win/FontCacheWin.cpp:
3540 (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
3541 a valid LOGFONT for a given family.
3542 (WebCore::getLinkedFonts): Added. Returns a vector of font families
3543 linked to the given font family by the Windows registry key
3544 HKLM\Software\...\FontLink\SystemLink. The registry values typically
3545 differ based on the installed language version of Windows.
3546 (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
3547 font mapping, which is Windows code page based, except for characters in
3548 the range U+2000..U+200F. Instead, this function gets the font Uniscribe
3549 would use for the character. However, that font might not actually
3550 contain the character, in which case GDI font linking would substitute a
3551 different font. Therefore, this function walks the linked font list
3552 until it finds a font that actually contains the character.
3554 2008-01-03 Darin Adler <darin@apple.com>
3558 - fix http://bugs.webkit.org/show_bug.cgi?id=16723
3559 tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
3561 Test: fast/table/border-changes.html
3563 * html/HTMLTableElement.h:
3564 * html/HTMLTableElement.cpp:
3565 (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
3566 parsing attributes, rather than doing this only for the rules attribute.
3567 (WebCore::HTMLTableElement::cellBorders): Added.
3568 (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
3569 rule about what type of borders to use.
3571 2008-01-02 Sam Weinig <sam@webkit.org>
3575 Pass the prototype of WebCore JS objects up the constructor chain
3576 rather than explicitly setting using setPrototype. This removes many
3577 redundant settings of the prototype on construction. To avoid a CG
3578 hazard, the prototype must be constructed before calling the
3579 constructor of the JS object.
3581 - JS objects that inherit from DOMObject, which all bindings objects
3582 (except Window) do, now can't implicitly have a jsNull prototype, but
3583 must explicitly pass it up the construction chain.
3585 * bindings/js/JSCSSRuleCustom.cpp:
3587 * bindings/js/JSCSSValueCustom.cpp:
3589 * bindings/js/JSDocumentCustom.cpp:
3591 * bindings/js/JSEventCustom.cpp:
3593 * bindings/js/JSEventTargetNode.cpp:
3594 (WebCore::JSEventTargetNode::JSEventTargetNode):
3595 * bindings/js/JSEventTargetNode.h:
3596 * bindings/js/JSHTMLAllCollection.h:
3597 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
3598 * bindings/js/JSHTMLAudioElementCo