Build fix.
[WebKit-https.git] / WebCore / ChangeLog
1 2008-01-15  Adele Peterson  <adele@apple.com>
2
3         Build fix.
4
5         * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
6
7 2008-01-14  Samuel Weinig  <sam@webkit.org>
8
9         Reviewed by Darin.
10
11         Fix for <rdar://problem/5671040>
12         REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
13
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.
17
18         * css/CSSStyleSelector.cpp:
19         (WebCore::CSSStyleSelector::matchRules):
20         (WebCore::CSSStyleSelector::checkOneSelector):
21         * dom/ClassNames.cpp:
22         (WebCore::ClassNames::parseClassAttribute):
23         * dom/ClassNames.h:
24         (WebCore::ClassNames::contains):
25         (WebCore::ClassNames::operator[]):
26
27 2008-01-15  Adele Peterson  <adele@apple.com>
28
29         Build fix.  This time for real.
30
31         * rendering/RenderThemeSafari.cpp:
32
33 2008-01-15  Adele Peterson  <adele@apple.com>
34
35         Build fix.
36
37         * rendering/RenderThemeSafari.cpp:
38
39 2008-01-15  Dan Bernstein  <mitz@apple.com>
40
41         Reviewed by Darin Adler.
42
43         - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
44
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:
50
51 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
52
53         Reviewed by Darin.
54
55         <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
56
57         Test: fast/encoding/mailto-always-utf-8.html
58
59         * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
60
61 2008-01-15  Adele Peterson  <adele@apple.com>
62
63         Reviewed by Adam and Antti.
64
65         WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
66
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.
71
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.
76
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:
87
88 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
89
90         Reviewed by Mark Rowe.
91
92         Some logging channels weren't initialized from user defaults.
93
94         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
95         Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
96
97 2008-01-14  Steve Falkenburg  <sfalken@apple.com>
98
99         Use shared vsprops for most vcproj properties.
100         
101         Reviewed by Darin.
102
103         * WebCore.vcproj/QTMovieWin.vcproj:
104         * WebCore.vcproj/WebCore.vcproj:
105         * platform/graphics/win/QTMovieWin.cpp:
106         (QTMovieWin::initializeQuickTime): Fix compiler warning.
107
108 2008-01-14  Eric Seidel  <eric@webkit.org>
109
110         Reviewed by mjs.
111
112         Remove a couple more uses of DeprecatedString
113
114         No functional changes, thus no test case.
115
116         * dom/Document.cpp:
117         (WebCore::Document::write):
118         (WebCore::Document::writeln):
119         (WebCore::Document::recalcStyleSelector):
120         * dom/Document.h:
121
122 2008-01-14  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
123
124         Reviewed by Alp Toker.
125
126         Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
127         http://bugs.webkit.org/show_bug.cgi?id=16874
128
129         * GNUmakefile.am:
130         * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
131         (WebCore::SVGResourceFilter::createPlatformData):
132         (WebCore::SVGResourceFilter::prepareFilter):
133         (WebCore::SVGResourceFilter::applyFilter):
134
135 2008-01-14  Finnur Thorarinsson  <finnur.webkit@gmail.com>
136
137         Reviewed by hyatt & eseidel.
138
139         - fix http://bugs.webkit.org/show_bug.cgi?id=16844
140         RenderText::addLineBoxRects erroneously includes last char for boundingBox
141
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. 
146
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.
149
150         * rendering/RenderText.cpp:
151         (WebCore::RenderText::addLineBoxRects):
152
153 2008-01-14  Darin Adler  <darin@apple.com>
154
155         Reviewed by Geoff.
156
157         - fix crash seen in layout tests
158
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.
163
164 2008-01-14  Darin Adler  <darin@apple.com>
165
166         Reviewed by Sam.
167
168         - fix mistakes Sam noticed in my re-speed-up patch
169
170         * dom/Element.cpp:
171         (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
172         this inline.
173         * dom/Element.h: Moved virtualHasTagName out of header file.
174
175         * dom/Node.cpp:
176         (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
177         this inline.
178         * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
179         out of header file.
180
181         * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
182
183         * platform/text/StringImpl.h: Removed StringBuffer class.
184
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.
191
192         * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
193         * WebCore.xcodeproj/project.pbxproj: Ditto.
194
195 2008-01-14  Dave Hyatt  <hyatt@apple.com>
196
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.
199         
200         Reviewed by Adam
201
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.
209
210 2008-01-14  Geoffrey Garen  <ggaren@apple.com>
211
212         Reviewed by Sam Weinig.
213         
214         Some cleanup to my last patch.
215
216         Removed one unused setter declaration and one unused setter definition.
217         
218         Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
219         because "get" is all over the IDL files, and "read" is not.
220
221         * bindings/scripts/CodeGeneratorJS.pm:
222         * page/DOMWindow.h:
223         (WebCore::DOMWindow::defaultstatus):
224         * page/DOMWindow.idl:
225
226 2008-01-14  Dan Bernstein  <mitz@apple.com>
227
228         Rubber-stamped by Alice Liu.
229
230         - remove reference to nonexistent file
231
232         * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
233
234 2008-01-14  Darin Adler  <darin@apple.com>
235
236         Reviewed by Adam.
237
238         - re-speed-up the page load test (my StringImpl change slowed it down)
239           <rdar://problem/5677241> 1.5% PLT regression from r29098
240
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
243         of Vector.
244
245         * WebCore.base.exp: Removed export of a now-inline function.
246
247         * css/CSSParser.cpp:
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.
255
256         * dom/Element.h:
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*
260         case work.
261
262         * dom/Node.h:
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
267         overrides.
268
269         * dom/Text.cpp:
270         (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
271         PassRefPtr.
272
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.
286
287         * loader/Cache.cpp:
288         (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
289
290         * loader/DocumentLoader.cpp:
291         (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
292
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.
298
299         * platform/KURL.cpp:
300         (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
301
302         * platform/SharedBuffer.cpp:
303         (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
304
305         * platform/graphics/BitmapImage.cpp:
306         (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
307
308         * platform/network/FormData.cpp:
309         (WebCore::FormData::appendData): Use Vector::grow instead of resize.
310         (WebCore::FormData::flatten): Ditto.
311
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.
318
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.
322
323         * platform/text/PlatformString.h:
324         (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
325         made both versions inline.
326
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.
332
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.
339
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.
372
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.
381
382         * platform/text/TextCodecICU.cpp:
383         (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
384
385         * platform/text/TextCodecLatin1.cpp:
386         (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
387         (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
388
389         * platform/text/TextCodecUTF16.cpp:
390         (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
391
392         * platform/text/TextCodecUserDefined.cpp:
393         (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
394         (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
395
396         * platform/text/TextEncoding.cpp:
397         (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
398
399         * platform/text/TextStream.cpp:
400         (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
401
402         * platform/text/mac/TextCodecMac.cpp:
403         (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
404
405         * rendering/AutoTableLayout.cpp:
406         (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
407
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.
411
412         * rendering/RenderListMarker.cpp:
413         (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
414
415         * rendering/RenderStyle.cpp: Removed CursorList::operator==.
416         * rendering/RenderStyle.h:
417         (WebCore::CursorList::operator==): Implemented using the Vector ==.
418         (WebCore::CursorList::operator!=): Ditto.
419
420         * rendering/RenderTable.cpp:
421         (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
422         (WebCore::RenderTable::appendColumn): Ditto.
423
424         * rendering/RenderTableSection.cpp:
425         (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
426
427         * rendering/bidi.cpp:
428         (WebCore::addMidpoint): Use Vector::grow instead of resize.
429
430         * xml/XPathNodeSet.h:
431         (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
432
433 2008-01-13  Steve Falkenburg  <sfalken@apple.com>
434
435         Share common files across projects.
436         
437         Unify vsprops files
438         Debug:          common.vsprops, debug.vsprops
439         Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
440         Release:        common.vsprops, release.vsprops
441         
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.
444
445         Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
446
447         Reviewed by Adam Roben.
448
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.
457
458 2008-01-13  Dan Bernstein  <mitz@apple.com>
459
460         Reviewed by Darin Adler.
461
462         - fix http://bugs.webkit.org/show_bug.cgi?id=16865
463           fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
464
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.
472
473 2008-01-13  Eric Seidel  <eric@webkit.org>
474
475         Reviewed by darin.
476
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
480         
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.
485
486         Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
487                fast/dom/Range/range-insertNode-splittext.html
488
489         * dom/Range.cpp:
490         (WebCore::Range::insertNode): handle the splitText case correctly.
491
492 2008-01-13  Darin Adler  <darin@apple.com>
493
494         Reviewed by Eric.
495
496         - http://bugs.webkit.org/show_bug.cgi?id=16861
497           get rid of unnecessary string copying
498
499         * dom/Document.cpp:
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.
513
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!
517
518         * editing/markup.cpp:
519         (WebCore::stringValueForRange): Removed unneeded call to copy.
520
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.
525
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.
533
534         * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
535
536 2008-01-13  Oliver Hunt  <oliver@apple.com>
537
538         Attempt to fix QT build
539
540         * html/CanvasRenderingContext2D.cpp:
541         (WebCore::CanvasRenderingContext2D::willDraw):
542
543 2008-01-13  Oliver Hunt  <oliver@apple.com>
544
545         Reviewed by Mark Rowe.
546
547         Avoid repainting the entire canvas element when possible.
548
549         http://bugs.webkit.org/show_bug.cgi?id=16859
550
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
557         faster.
558
559         * html/CanvasRenderingContext2D.cpp:
560         (WebCore::CanvasRenderingContext2D::willDraw):
561         * html/HTMLCanvasElement.cpp:
562         (WebCore::HTMLCanvasElement::willDraw):
563
564 2008-01-13  Michael Goddard  <michael.goddard@trolltech.com>
565
566         Reviewed by Anders Carlsson.
567
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
571         one place.
572
573         * bindings/js/kjs_dom.cpp:
574         (WebCore::getRuntimeObject):
575
576 2008-01-12  Rodney Dawes  <dobey@wayofthemonkey.com>
577
578         Gtk debug build fix.  Reviewed by Mark Rowe.
579
580         Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
581
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:
586
587 2008-01-12  Adam Barth  <hk9565@gmail.com>
588
589         Reviewed by Maciej (and also tweaked a little bit).
590
591         - more thorough fix for some crashing tests
592           http://bugs.webkit.org/show_bug.cgi?id=16782
593
594         * loader/FrameLoader.cpp:
595         (WebCore::FrameLoader::urlSelected):
596         (WebCore::FrameLoader::submitForm):
597         (WebCore::FrameLoader::executeIfJavaScriptURL):
598         * loader/FrameLoader.h:
599
600 2008-01-12  Maciej Stachowiak  <mjs@apple.com>
601
602         Reviewed by Sam.
603
604         - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
605         
606         * platform/SecurityOrigin.cpp:
607         (WebCore::isDefaultPortForProtocol):
608         (WebCore::SecurityOrigin::SecurityOrigin):
609
610 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
611
612         Reviewed by Oliver Hunt.
613         
614         Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
615         variable access (16644)
616         
617         Removed the ReadOnly bit from some properties, to match Firefox. Also
618         removed status-related setters, to allow using their names as variable
619         names.
620         
621         * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
622         are one-way across domain boundaries, to match Firefox.
623
624         * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
625
626         * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
627         we don't know that JSObject is our base class.
628
629         * page/DOMWindow.idl: Replaced lots of readonly declarations with
630         [Replaceable] declarations.
631
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
636         statusbar.
637         * page/DOMWindow.cpp:
638
639 2008-01-11  Anyang Ren  <anyang.ren@gmail.com>
640
641         Reviewed by Darin Adler.
642
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 (=).
646
647         Test: fast/frames/viewsource-empty-attribute-value.html
648
649         * html/HTMLViewSourceDocument.cpp:
650         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
651
652 2008-01-11  Sylvain Pasche  <sylvain.pasche@gmail.com>
653
654         Reviewed by Alp Toker.
655
656         [Gtk] Uneven glyph spacing with subpixel antialiasing
657         http://bugs.webkit.org/show_bug.cgi?id=16715
658
659         Use cairo font options from the default GDK screen when creating a
660         scaled font.
661
662         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
663         (WebCore::FontPlatformData::FontPlatformData):
664
665 2008-01-11  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
666
667         Reviewed by Maciej.
668
669         Added a new forwarding header, because Activation.h has been separated
670         from function.h
671
672         * ForwardingHeaders/kjs/Activation.h: Added.
673
674 2008-01-11  Luca Bruno  <lethalman88@gmail.com>
675
676         Reviewed by Alp Toker.
677
678         http://bugs.webkit.org/show_bug.cgi?id=16729
679         [cURL] Allow multiple files for upload
680
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:
691
692 2008-01-11  Christian Dywan  <christian@imendio.com>
693
694         Reviewed by Alp Toker.
695
696         [Gtk] Menu items need underscores
697         http://bugs.webkit.org/show_bug.cgi?id=16817
698
699         Add underscores to appropriate menu labels.
700         Also adjust strings slightly.
701
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):
744
745 2008-01-11  Ada Chan  <adachan@apple.com>
746
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.
751
752         Reviewed by John and Anders.
753
754         * loader/FrameLoader.cpp:
755         (WebCore::FrameLoader::provisionalLoadStarted):
756         (WebCore::FrameLoader::commitProvisionalLoad):
757
758 2008-01-11  Jon Honeycutt  <jhoneycutt@apple.com>
759
760         Reviewed by Anders.
761
762         <rdar://problem/5683529> plugins/embed-inside-object.html is timing
763         out/failing
764
765         Revert to using FrameTree::find() so that frame aliases like "_self" and
766         "_current" are interpreted properly
767
768         * plugins/win/PluginViewWin.cpp:
769         (WebCore::PluginViewWin::performRequest):
770         (WebCore::PluginViewWin::load):
771
772 2008-01-11  Alp Toker  <alp@atoker.com>
773
774         Reviewed by Dave Hyatt and Mark Rowe.
775
776         http://bugs.webkit.org/show_bug.cgi?id=16089
777         [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
778
779         Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
780         port.
781
782         * GNUmakefile.am:
783         * WebCore.pro:
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):
803
804 2008-01-11  Adam Roben  <aroben@apple.com>
805
806         Remove FrameLoader::committedFirstRealDocumentLoad
807         
808         This method no longer has any callers.
809
810         Reviewed by Hyatt.
811
812         * loader/FrameLoader.h:
813
814 2008-01-11  Antti Koivisto  <antti@apple.com>
815
816         Add a standalone version of the blog post video player as a manual test.
817
818         * manual-tests/resources/touch-poster.png: Added.
819         * manual-tests/video-player.html: Added.
820
821 2008-01-10  Antti Koivisto  <antti@apple.com>
822
823         Reviewed by Adam.
824
825         Fix <rdar://problem/5682767>
826         Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
827         
828         Take care that GWorld is created and deletes when needed as size or visibility changes.
829
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):
838
839 2008-01-11  David Hyatt  <hyatt@apple.com>
840
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.
843
844         Reviewed by mitz
845
846         Added fast/table/table-hspace-align-center.html
847
848         * css/html4.css:
849         * html/HTMLTableElement.cpp:
850         (WebCore::HTMLTableElement::parseMappedAttribute):
851
852 2008-01-11  Mark Rowe  <mrowe@apple.com>
853
854         Qt build fix.
855
856         * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
857
858 2008-01-11  Mark Rowe  <mrowe@apple.com>
859
860         Qt build fix.  Add link stubs for the new FileSystem.h functions introduced
861         in r29399.
862
863         * platform/qt/TemporaryLinkStubs.cpp:
864         (WebCore::openTemporaryFile):
865
866 2008-01-11  Rodney Dawes  <dobey@wayofthemonkey.com>
867
868         Reviewed by Anders Carlsson.
869
870         Bug 16779: Make the PluginStream implementation be shared across platforms
871         http://bugs.webkit.org/show_bug.cgi?id=16779
872
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.
880
881         * GNUmakefile.am:
882         * WebCore.pro:
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
897
898 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
899
900         Try to fix Mac build: Edit the right .exp file.
901
902         * WebCore.base.exp:
903
904 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
905
906         Try to fix Qt build: don't use pthreads if they're not available.
907
908         * bindings/js/GCController.cpp:
909
910 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
911
912         Reviewed by John Sullivan.
913
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
917
918         * <rdar://problem/5669423> PLT complains about world leak if browser
919         window is open when PLT starts
920         
921         These were both bugs in the reporting mechanism, so I took the
922         opportunity to do some house cleaning there.
923
924         Stupid class, I kill you:
925         * bridge/JavaScriptStatistics.cpp: Removed.
926         * bridge/JavaScriptStatistics.h: Removed.
927
928         * bindings/js/GCController.h: Adopted the only useful features of
929         JavaScriptStatistics, since they were GC-related.
930         * bindings/js/GCController.cpp:
931
932 2008-01-10  Eric Seidel  <eric@webkit.org>
933
934         Reviewed by Adele.
935
936         No functional changes, only code cleanup.
937
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):
948
949 2008-01-10  Dan Bernstein  <mitz@apple.com>
950
951         Reviewed by Anders Carlsson.
952
953         - fix a crash when calling alert() from a repeating timer
954
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.
958
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.
962
963 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
964
965         Reviewed by Sam.
966
967         - remove SecurityOriginData and fold its functionality into SecurityOrigin
968
969         * GNUmakefile.am:
970         * WebCore.base.exp:
971         * WebCore.pro:
972         * WebCore.vcproj/WebCore.vcproj:
973         * WebCore.xcodeproj/project.pbxproj:
974         * WebCoreSources.bkl:
975         * bindings/js/JSDOMWindowCustom.cpp:
976         (WebCore::JSDOMWindow::postMessage):
977         * dom/Document.cpp:
978         (WebCore::Document::domain):
979         * page/Chrome.cpp:
980         (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
981         (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
982         * page/Chrome.h:
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):
1038
1039 2008-01-10  Anders Carlsson  <andersca@apple.com>
1040
1041         Reviewed by Sam.
1042
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.
1045         
1046         * plugins/win/PluginViewWin.cpp:
1047         (WebCore::PluginViewWin::performRequest):
1048
1049 2008-01-10  Alp Toker  <alp@atoker.com>
1050
1051         SVG font build fix for GTK+/autotools.
1052
1053         * GNUmakefile.am:
1054
1055 2008-01-10  Adam Barth  <hk9565@gmail.com>
1056
1057         Reviewed by Sam Weinig and Anders Carlsson.
1058
1059         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1060         <rdar://problem/5657355>
1061
1062         This patch makes two changes:
1063
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
1067            code path.
1068
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.
1073
1074         Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1075                http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1076
1077         * WebCore.base.exp:
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:
1086
1087 2008-01-10  John Sullivan  <sullivan@apple.com>
1088
1089         Written by Hyatt, reviewed by me
1090         
1091         - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 
1092           a <video> element that uses controls attribute
1093
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
1098
1099 2008-01-10  Ada Chan  <adachan@apple.com>
1100
1101         Fix fast/forms/input-radio-checked-tab.html
1102         Meta key is not the same as Alt key on windows.
1103
1104         Reviewed by Darin.
1105
1106         * platform/win/KeyEventWin.cpp:
1107         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1108
1109 2008-01-10  Anders Carlsson  <andersca@apple.com>
1110
1111         Reviewed by Jon.
1112
1113         Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1114         
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.
1118         
1119         (WebCore::PluginViewWin::requestTimerFired):
1120         Don't leak the plugin requests.
1121         
1122         (WebCore::PluginViewWin::load):
1123
1124 2008-01-10  Anders Carlsson  <andersca@apple.com>
1125
1126         Reviewed by John Sullivan.
1127
1128         <rdar://problem/5455889>
1129         REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1130         
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.
1136         
1137         * loader/MainResourceLoader.cpp:
1138         (WebCore::MainResourceLoader::receivedError):
1139
1140 2008-01-10  Antti Koivisto  <antti@apple.com>
1141
1142         Reviewed by Adele.
1143
1144         Fix <rdar://problem/5658048>
1145         After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1146         
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
1149
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):
1157
1158 2008-01-10  Alexey Proskuryakov  <ap@webkit.org>
1159
1160         Reviewed by Adam Roben.
1161
1162         <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1163
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.
1166
1167 2008-01-10  Adam Roben  <aroben@apple.com>
1168
1169         Fixes to allow multiple FrameViews on Windows
1170
1171         Reviewed by Hyatt.
1172
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.
1178         * page/FrameView.h:
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.
1188
1189 2008-01-10  Alp Toker  <alp@atoker.com>
1190
1191         Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1192
1193         * svg/SVGFontFaceElement.cpp:
1194
1195 2008-01-10  Justin Garcia  <justin.garcia@apple.com>
1196
1197         Reviewed by Alice Liu.
1198
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
1201         
1202         Make sure we have an updated layout before we perform any editing work.
1203
1204         * editing/EditCommand.cpp:
1205         (WebCore::EditCommand::apply):
1206         (WebCore::EditCommand::unapply):
1207         (WebCore::EditCommand::reapply):
1208
1209 2008-01-10  Luca Bruno  <lethalman88@gmail.com>
1210
1211         Reviewed by Alp Toker.
1212
1213         Back out r29206 which was causing regressions in curl http job
1214         cancellation.
1215
1216         * platform/network/curl/ResourceHandleManager.cpp
1217         (ResourceHandleManager::cancel): 
1218
1219 2008-01-10  Kevin McCullough  <kmccullough@apple.com>
1220
1221         Reviewed by Darin, Sam, and Adam.
1222
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. 
1229
1230         * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
1231         of the frame.
1232         (KJS::allowPopUp):
1233         (KJS::showModalDialog):
1234         (KJS::WindowProtoFuncOpen::callAsFunction):
1235
1236 2008-01-10  David Hyatt  <hyatt@apple.com>
1237
1238         Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
1239
1240         Reviewed by adele
1241
1242         Added fast/css/visibility-hit-test.html test case.
1243
1244         * rendering/RenderBox.cpp:
1245         (WebCore::RenderBox::nodeAtPoint):
1246
1247 2008-01-10  Lars Knoll  <lars@trolltech.com>
1248
1249         Reviewed by Simon.
1250
1251         rename QWebPageHistory to QWebHistory.
1252
1253         * WebCore.pro:
1254
1255 2008-01-10  Lars Knoll  <lars@trolltech.com>
1256
1257         Reviewed by Simon.
1258
1259         fix the drawing errors that where introduced due to refactoring.
1260
1261         Correctly clip to the rectangle we want to draw in ScrollView::paint().
1262
1263         * platform/qt/ScrollViewQt.cpp:
1264         (WebCore::ScrollView::paint):
1265
1266 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1267
1268         Reviewed by Lars.
1269
1270         Temporarily disable gzip decompression in qhttp due to a bug.
1271
1272         * platform/network/qt/QNetworkReplyHandler.cpp:
1273         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1274
1275 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1276
1277         Reviewed by Lars.
1278
1279         http://bugs.webkit.org/show_bug.cgi?id=16588
1280
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.
1284
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):
1293
1294 2008-01-10  Kevin Ollivier  <kevino@theolliviers.com>
1295
1296         wx build fix for changes in r29328
1297
1298         * WebCoreSources.bkl:
1299
1300 2008-01-09  Maciej Stachowiak  <mjs@apple.com>
1301
1302         Reviewed by Sam.
1303
1304         - refactor SecurityOrigin in preparation for merging with SecurityOriginData
1305
1306         * platform/SecurityOrigin.cpp:
1307         (WebCore::SecurityOrigin::SecurityOrigin):
1308         (WebCore::SecurityOrigin::create):
1309         (WebCore::SecurityOrigin::createForFrame):
1310         * platform/SecurityOrigin.h:
1311
1312 2008-01-09  Ada Chan  <adachan@apple.com>
1313
1314         Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
1315
1316         Reviewed by Darin.
1317
1318         Test: fast/forms/tabs-with-modifiers.html
1319
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
1327         no longer needs it.
1328         * page/FocusController.h:
1329
1330 2008-01-09  Antti Koivisto  <antti@apple.com>
1331
1332         Reviewed by Mitz.
1333
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)
1337         
1338         Don't make MediaPlayer visible when it is actually in page cache.
1339
1340         * rendering/RenderVideo.cpp:
1341         (WebCore::RenderVideo::updatePlayer):
1342
1343 2008-01-09  Anders Carlsson  <andersca@apple.com>
1344
1345         Reviewed by Darin.
1346
1347         <rdar://problem/5532361> 
1348         CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
1349         
1350         Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
1351         
1352         * page/Frame.cpp:
1353         (WebCore::Frame::pageDestroyed):
1354
1355 2008-01-09  John Sullivan  <sullivan@apple.com>
1356
1357         Reviewed by Adam Roben and Anders Carlsson
1358         
1359         - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 
1360           missing-but-expected Reload item
1361
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
1366
1367 2008-01-09  Mark Rowe  <mrowe@apple.com>
1368
1369         Fix Windows debug build for opensource developers.
1370
1371         * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
1372
1373 2007-10-01  Allan Sandfeld Jensen  <sandfeld@kde.org>
1374
1375         Reworked by Eric, Reviewed by Hyatt.
1376
1377         - fix http://bugs.webkit.org/show_bug.cgi?id=9454
1378         Add support for :lang inheritance and xml:lang support.
1379
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
1384
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.
1390         * dom/Document.cpp:
1391         (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
1392         * dom/Document.h:
1393         (WebCore::Document::contentLanguage):
1394         (WebCore::Document::setContentLanguage):
1395
1396 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1397
1398         Reviewed by Brady.
1399
1400         Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
1401         http://bugs.webkit.org/show_bug.cgi?id=16678
1402
1403         Add a NULL check for controller before calling JSObjectSetPrivate.
1404
1405         * page/InspectorController.cpp:
1406         (WebCore::InspectorController::~InspectorController):
1407
1408 2008-01-08  Xan Lopez  <xan@gnome.org>
1409
1410         Reviewed by Alp Toker.
1411
1412         http://bugs.webkit.org/show_bug.cgi?id=15610
1413         [GTK] Text rendering using Pango
1414
1415         Use Pango to render Complex path text.
1416
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):
1425
1426 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1427
1428         Reviewed by Darin Adler.
1429
1430         <rdar://problem/5665860> With the web inspector displayed, a crash occurs
1431         at WebCore::Frame::document() when navigating back to previous page
1432
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.
1436
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.
1448
1449 2008-01-08  Alp Toker  <alp@atoker.com>
1450
1451         Back out VIDEO by default in the GTK+ qmake build. The build bot
1452         doesn't have the necessary libraries installed.
1453
1454         * WebCore.pro:
1455
1456 2008-01-08  Alp Toker  <alp@atoker.com>
1457
1458         Win build fix for breakage introduced in r29328.
1459
1460         * WebCore.vcproj/WebCore.vcproj:
1461
1462 2008-01-08  Alp Toker  <alp@atoker.com>
1463
1464         Rubber-stamped by Mark Rowe.
1465
1466         Enable VIDEO by default in the GTK+ qmake build.
1467
1468         * WebCore.pro:
1469
1470 2008-01-08  Alp Toker  <alp@atoker.com>
1471
1472         GTK+ VIDEO build fix for breakage introduced in r29328.
1473
1474         Issue noticed by Ori_B.
1475
1476         * GNUmakefile.am:
1477         * WebCore.pro:
1478
1479 2008-01-08  Antti Koivisto  <antti@apple.com>
1480
1481         Reviewed by Darin.
1482         
1483         HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 
1484         bit strange.
1485         
1486         Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
1487
1488         Test: media/constructors.html
1489
1490         * ChangeLog:
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:
1502
1503 2008-01-08  Anders Carlsson  <andersca@apple.com>
1504
1505         Reviewed by Mitz.
1506
1507         Don't add the applet widget to the view, that's done later by RenderApplet.
1508             
1509         * loader/FrameLoader.cpp:
1510         (WebCore::FrameLoader::createJavaAppletWidget):
1511
1512 2008-01-08  Antti Koivisto  <antti@apple.com>
1513
1514         Reviewed by Weinig.
1515         
1516         Add security check for Audio constructor.
1517
1518         * bindings/js/kjs_window.cpp:
1519         (KJS::Window::getValueProperty):
1520
1521 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1522
1523         Reviewed by Adam Roben.
1524
1525         <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
1526
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.
1531
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.
1550
1551 2008-01-08  Dan Bernstein  <mitz@apple.com>
1552
1553         Rubber-stamped by Sam Weinig.
1554
1555         - prefix all member variables in CSSStyleSelector with m_
1556
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):
1591
1592 2008-01-08  David D. Kilzer  <ddkilzer@apple.com>
1593
1594         Removed unnecessary files from Copy Bundle Resources build phase.
1595
1596         Reviewed by Sam.
1597
1598         * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
1599         DOMCoreException.idl
1600         EventException.idl
1601         MessageEvent.idl
1602         SVGAElement.idl
1603         SVGAngle.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
1618         SVGAnimatedRect.idl
1619         SVGAnimatedString.idl
1620         SVGAnimatedTransformList.idl
1621         SVGAnimationElement.idl
1622         SVGCSSPropertyNames.in
1623         SVGCSSValueKeywords.in
1624         SVGCircleElement.idl
1625         SVGClipPathElement.idl
1626         SVGColor.idl
1627         SVGComponentTransferFunctionElement.idl
1628         SVGCursorElement.idl
1629         SVGDefinitionSrcElement.idl
1630         SVGDefsElement.idl
1631         SVGDescElement.idl
1632         SVGDocument.idl
1633         SVGElement.idl
1634         SVGElementInstance.idl
1635         SVGElementInstanceList.idl
1636         SVGEllipseElement.idl
1637         SVGException.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
1663         SVGFitToViewBox.idl
1664         SVGFontElement.idl
1665         SVGFontFaceElement.idl
1666         SVGFontFaceFormatElement.idl
1667         SVGFontFaceNameElement.idl
1668         SVGFontFaceSrcElement.idl
1669         SVGFontFaceUriElement.idl
1670         SVGForeignObjectElement.idl
1671         SVGGElement.idl
1672         SVGGlyphElement.idl
1673         SVGGradientElement.idl
1674         SVGImageElement.idl
1675         SVGLangSpace.idl
1676         SVGLength.idl
1677         SVGLengthList.idl
1678         SVGLineElement.idl
1679         SVGLinearGradientElement.idl
1680         SVGLocatable.idl
1681         SVGMarkerElement.idl
1682         SVGMaskElement.idl
1683         SVGMatrix.idl
1684         SVGMetadataElement.idl
1685         SVGMissingGlyphElement.idl
1686         SVGNumber.idl
1687         SVGNumberList.idl
1688         SVGPaint.idl
1689         SVGPathElement.idl
1690         SVGPathSeg.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
1708         SVGPathSegList.idl
1709         SVGPathSegMovetoAbs.idl
1710         SVGPathSegMovetoRel.idl
1711         SVGPatternElement.idl
1712         SVGPoint.idl
1713         SVGPointList.idl
1714         SVGPolygonElement.idl
1715         SVGPolylineElement.idl
1716         SVGPreserveAspectRatio.idl
1717         SVGRadialGradientElement.idl
1718         SVGRect.idl
1719         SVGRectElement.idl
1720         SVGRenderingIntent.idl
1721         SVGSVGElement.idl
1722         SVGScriptElement.idl
1723         SVGSetElement.idl
1724         SVGStopElement.idl
1725         SVGStringList.idl
1726         SVGStylable.idl
1727         SVGStyleElement.idl
1728         SVGSwitchElement.idl
1729         SVGSymbolElement.idl
1730         SVGTRefElement.idl
1731         SVGTSpanElement.idl
1732         SVGTests.idl
1733         SVGTextContentElement.idl
1734         SVGTextElement.idl
1735         SVGTextPathElement.idl
1736         SVGTextPositioningElement.idl
1737         SVGTitleElement.idl
1738         SVGTransform.idl
1739         SVGTransformList.idl
1740         SVGTransformable.idl
1741         SVGURIReference.idl
1742         SVGUnitTypes.idl
1743         SVGUseElement.idl
1744         SVGViewElement.idl
1745         SVGViewSpec.idl
1746         SVGZoomAndPan.idl
1747         SVGZoomEvent.idl
1748         XMLHttpRequestException.idl
1749         XPathException.idl
1750         character-sets.txt
1751         mac-encodings.txt
1752         make-charset-table.pl
1753         svgattrs.in
1754         svgtags.in
1755         xlinkattrs.in
1756
1757 2008-01-08  Luca Bruno  <lethalman88@gmail.com>
1758
1759         Reviewed by Alp Toker.
1760
1761         Support copying the selected URL to the clipboard.
1762
1763         * platform/gtk/PasteboardGtk.cpp:
1764         (WebCore::Pasteboard::writeURL): implemented
1765
1766 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
1767
1768         Renamed CharacterData::m_str to m_data
1769
1770         Rubber-stamped by Adam again.
1771
1772         No test cases added since there is no change in behavior.
1773
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:
1789         * dom/Comment.cpp:
1790         * dom/Text.cpp:
1791         (WebCore::Text::splitText):
1792         (WebCore::Text::createRenderer):
1793         (WebCore::Text::recalcStyle):
1794
1795 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
1796
1797         Fix a couple of compiler warnings.
1798         
1799         Reviewed by Mitz.
1800
1801         * platform/win/ThreadingWin.cpp:
1802         * platform/win/UniscribeController.cpp: Remove unused function.
1803         (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
1804
1805 2008-01-08  Adele Peterson  <adele@apple.com>
1806
1807         Reviewed by Darin.
1808
1809         Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
1810
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.
1816
1817 2008-01-08  Adele Peterson  <adele@apple.com>
1818
1819         Reviewed by Adam. 
1820
1821         * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
1822         paint the media controls in RenderThemeSafari.
1823
1824 2008-01-08  Oliver Hunt  <oliver@apple.com>
1825
1826         Reviewed by Adele and John.
1827
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 )
1830
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
1836         performDrag
1837
1838         * page/DragController.cpp:
1839         (WebCore::DragController::performDrag):
1840
1841 2008-01-08  Alexey Proskuryakov  <ap@webkit.org>
1842
1843         Reviewed by Darin.
1844
1845         <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
1846         WebCore::Node::setChanged + 96
1847
1848         Test: fast/dom/cssTarget-crash.html
1849
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.
1853
1854 2008-01-08  Adam Roben  <aroben@apple.com>
1855
1856         * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
1857         rebuild on Windows now that the media elements are enabled.
1858
1859 2008-01-08  Adam Roben  <aroben@apple.com>
1860
1861         * svg/svgtags.in: Touch this again for the sake of the Windows bots.
1862
1863 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1864
1865         Reviewed by Adam Roben.
1866
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.
1869
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.
1889
1890 2008-01-08  Dan Bernstein  <mitz@apple.com>
1891
1892         Rubber-stamped by Sam Weinig.
1893
1894         - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
1895
1896         * GNUmakefile.am:
1897         * WebCore.pro:
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:
1908
1909 2008-01-08  Dan Bernstein  <mitz@apple.com>
1910
1911         Fix a Wx build error.
1912
1913         * platform/graphics/wx/GlyphMapWx.cpp:
1914         (WebCore::GlyphPage::fill):
1915
1916 2008-01-08  Dan Bernstein  <mitz@apple.com>
1917
1918         Fix a Qt build error.
1919
1920         * platform/graphics/qt/SimpleFontDataQt.cpp:
1921         (WebCore::SimpleFontData::containsCharacters):
1922         (WebCore::SimpleFontData::fontDataForCharacter):
1923         (WebCore::SimpleFontData::isSegmented):
1924
1925 2008-01-08  Adam Roben  <aroben@apple.com>
1926
1927         Windows build fix.
1928
1929         Touch config.h to force a rebuild (apparently changing preprocessor
1930         definitions in the .vcproj doesn't force a rebuild).
1931
1932         * config.h:
1933
1934 2008-01-08  Dan Bernstein  <mitz@apple.com>
1935
1936         Fix a Wx build failure.
1937
1938         * webcore-wx.bkl:
1939
1940 2008-01-08  Dan Bernstein  <mitz@apple.com>
1941
1942         Fix a Qt build failure.
1943
1944         * WebCore.pro:
1945
1946 2008-01-08  John Sullivan  <sullivan@apple.com>
1947
1948         Reviewed by Adam Roben
1949         
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
1952
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.
1955
1956         * editing/EditorCommand.cpp:
1957         added EditorCommandSource parameter to isEnabled function prototype
1958         (WebCore::enabled):
1959         added unused EditorCommandSource parameter to these isEnabled functions:
1960         (WebCore::enabledAnySelection):
1961         (WebCore::enabledAnySelectionAndMark):
1962         (WebCore::enableCaretInEditableText):
1963         (WebCore::enabledCopy):
1964         (WebCore::enabledCut):
1965
1966         (WebCore::enabledDelete):
1967         new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
1968         for menu source
1969
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):
1978         
1979         (WebCore::CommandEntry::):
1980         wire up new enabledDelete function as delete function for Delete command
1981         
1982         (WebCore::Editor::Command::isEnabled):
1983         pass EditorCommandSource parameter to isEnabled function
1984
1985 2008-01-08  Adam Roben  <aroben@apple.com>
1986
1987         Visual C++ Express build fix
1988
1989         * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
1990         and advapi32.lib. VS implicitly links against these, VC++ Express
1991         doesn't.
1992
1993 2008-01-08  Dan Bernstein  <mitz@apple.com>
1994
1995         - add bug number
1996
1997         * platform/graphics/mac/FontCustomPlatformData.cpp:
1998         (WebCore::createFontCustomPlatformData):
1999
2000 2008-01-08  Dan Bernstein  <mitz@apple.com>
2001
2002         Try to fix the Qt build.
2003
2004         * WebCore.pro:
2005
2006 2008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
2007
2008         Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
2009
2010         * page/inspector/WebKit.qrc:
2011
2012 2008-01-08  Maciej Stachowiak  <mjs@apple.com>
2013
2014         Reviewed by Mark.
2015
2016         - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
2017
2018         * bindings/objc/PublicDOMInterfaces.h:
2019         * html/HTMLDocument.idl:
2020
2021 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
2022
2023         Renamed CharacterData::str to m_str to match coding style
2024
2025         Rubber-stamped by Adam.
2026
2027         No test cases added since there is no change in behavior.
2028
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:
2044         * dom/Comment.cpp:
2045         * dom/Text.cpp:
2046         (WebCore::Text::splitText):
2047         (WebCore::Text::createRenderer):
2048         (WebCore::Text::recalcStyle):
2049
2050 2008-01-08  Oliver Hunt  <oliver@apple.com>
2051
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
2055         build. 
2056
2057         * WebCore.vcproj/WebCore.vcproj:
2058
2059 2008-01-07  Maciej Stachowiak  <mjs@apple.com>
2060
2061         Reviewed by Brady.
2062
2063         - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2064         
2065         Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2066         
2067         * dom/Document.cpp:
2068         (WebCore::Document::Document):
2069         * dom/Document.h:
2070         (WebCore::Document::setHasOpenDatabases):
2071         (WebCore::Document::hasOpenDatabases):
2072         * loader/FrameLoader.cpp:
2073         (WebCore::FrameLoader::canCachePage):
2074         * storage/Database.cpp:
2075         (WebCore::Database::openDatabase):
2076
2077 2008-01-07  Dan Bernstein  <mitz@apple.com>
2078
2079         Reviewed by Oliver Hunt.
2080
2081         - fix leaks seen on the build bot
2082
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.
2088
2089 2008-01-07  Mark Rowe  <mrowe@apple.com>
2090
2091         Tiger build fix.
2092
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.
2096
2097 2008-01-07  Antti Koivisto  <antti@apple.com>
2098
2099         Reviewed by Steve.
2100
2101         Re-enable media support in Windows build.
2102
2103         * WebCore.vcproj/QTMovieWin.vcproj:
2104         * WebCore.vcproj/WebCore.vcproj:
2105         * WebCore.vcproj/build-generated-files.sh:
2106
2107 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
2108
2109         Add version resource to QTMovieWin.dll
2110         
2111         Reviewed by Adam.
2112
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.
2118
2119 2008-01-07  Dan Bernstein  <mitz@apple.com>
2120
2121         Build fix.
2122
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.
2130
2131 2008-01-07  Dan Bernstein  <mitz@apple.com>
2132
2133         Reviewed by Oliver Hunt.
2134
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.
2137
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).
2145
2146 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
2147
2148         Build fix.
2149
2150         * WebCore.vcproj/WebCore.sln:
2151         * WebCore.vcproj/WebCore.submit.sln:
2152
2153 2008-01-07  Oliver Hunt  <oliver@apple.com>
2154
2155         Reviewed by Niko.
2156
2157         Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2158
2159         Test: svg/custom/image-with-aspect-ratio-stretch.svg
2160
2161         * rendering/RenderSVGImage.cpp:
2162         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2163
2164 2008-01-07  Dan Bernstein  <mitz@apple.com>
2165
2166         Build fix.
2167
2168         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2169         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2170
2171 2008-01-07  Adele Peterson  <adele@apple.com>
2172
2173         Add missing newline.
2174
2175         * rendering/MediaControlElements.cpp:
2176
2177 2008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
2178
2179         Reviewed by Hyatt.
2180
2181         <rdar://problem/5673489> Safari does not render windowless plugins in an
2182         iframe when opacity < 1.0
2183
2184         Plugins in transparency layers handle their own world transforms, so
2185         only apply the horizontal/vertical transform if we are not in a
2186         transparency layer.
2187
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.
2200
2201 2008-01-07  Adele Peterson  <adele@apple.com>
2202
2203         Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
2204
2205         * rendering/MediaControlElements.cpp:
2206         * rendering/MediaControlElements.h:
2207
2208 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2209
2210         Reviewed by Mark.
2211
2212         Enable SVG_FONTS by default.
2213
2214         * Configurations/WebCore.xcconfig:
2215         * WebCore.vcproj/build-generated-files.sh:
2216
2217 2008-01-07  Dan Bernstein  <mitz@apple.com>
2218
2219         Build fix.
2220
2221         * platform/graphics/qt/SimpleFontDataQt.cpp:
2222         (WebCore::SimpleFontData::SimpleFontData):
2223         (WebCore::SimpleFontData::~SimpleFontData):
2224
2225 2008-01-07  Adam Barth  <hk9565@gmail.com>
2226
2227         Reviewed by Sam Weinig
2228
2229         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
2230         <rdar://problem/5657447>
2231
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.
2238
2239         This patch makes several changes:
2240
2241         1) Documents refuse to change from one SecurityOrigin to another
2242            unless explicitly instructed to do so.
2243
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).
2248
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.
2253
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.
2258
2259            There are still a handful of bugs relating to the handling of
2260            JavaScript URLs, but I'll file those as separate issues.
2261
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
2265
2266         * dom/Document.cpp:
2267         (WebCore::Document::initSecurityOrigin):
2268         * dom/Document.h:
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:
2282
2283 2008-01-07  Adele Peterson  <adele@apple.com>
2284
2285         Forgot to check in these changes in my last checkin.
2286
2287         * rendering/RenderThemeSafari.cpp:
2288
2289 2008-01-07  Dan Bernstein  <mitz@apple.com>
2290
2291         Build fixes.
2292
2293         * WebCore.pro:
2294         * platform/graphics/qt/FontCacheQt.cpp:
2295         (WebCore::FontCache::getCachedFontData):
2296
2297 2008-01-07  Timothy Hatcher  <timothy@apple.com>
2298
2299         Reviewed by John Sullivan.
2300
2301         <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
2302
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.
2307
2308 2008-01-07  Alp Toker  <alp@atoker.com>
2309
2310         Prospective GTK+ autotools/qmake VIDEO build fix for breakage
2311         introduced in r29257.
2312
2313         * GNUmakefile.am:
2314         * WebCore.pro:
2315
2316 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2317
2318         Reviewed by Oliver.
2319
2320         Build fix affecting all builds - again related to the unicode-range addition.
2321
2322         * css/CSSFontSelector.cpp:
2323         (WebCore::CSSFontSelector::addFontFaceRule):
2324         * css/SVGCSSFontFace.cpp:
2325         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
2326         * css/SVGCSSFontFace.h:
2327         * rendering/RenderSVGText.cpp:
2328         * svg/SVGFont.cpp:
2329         (WebCore::svgFontAndFontFaceElementForFontData):
2330         (WebCore::floatWidthMissingGlyphCallback):
2331         (WebCore::drawTextMissingGlyphCallback):
2332         * svg/SVGFontFaceElement.cpp:
2333
2334 2008-01-07  Adele Peterson  <adele@apple.com>
2335
2336         Reviewed by Antti, Adam, and Mitz.
2337
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
2341
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.
2345
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.
2352
2353         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
2354         * html/HTMLMediaElement.h:
2355
2356         * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
2357
2358         * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
2359         * platform/mac/WebCoreSystemInterface.mm: ditto.
2360
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):
2384
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.
2398
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.
2401
2402         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
2403
2404         * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
2405         (WebCore::):
2406         (WebCore::RenderStyle::):
2407
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:
2444
2445 2008-01-07  Timothy Hatcher  <timothy@apple.com>
2446
2447         Reviewed by Darin Adler.
2448
2449         Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
2450         when the replacment string is a different length.
2451
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.
2455
2456 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2457
2458         Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
2459
2460         * platform/graphics/mac/FontCacheMac.mm:
2461
2462 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2463
2464         Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
2465
2466         * css/CSSFontSelector.cpp:
2467         (WebCore::CSSFontSelector::getFontData):
2468
2469 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2470
2471         Not reviewed. Next try to fix wx/mac leopard build.
2472
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.
2477
2478 2008-01-07  Dan Bernstein  <mitz@apple.com>
2479
2480         Reviewed by Dave Hyatt.
2481
2482         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
2483
2484         * GNUmakefile.am:
2485         * WebCore.pro:
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
2495         font face.
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:
2514         * css/CSSGrammar.y:
2515         * css/CSSParser.cpp:
2516         (WebCore::CSSParser::parseValue):
2517         (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
2518         range value.
2519         * css/CSSParser.h:
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):
2552         * editing/Editor.h:
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
2572         FontData.cpp.
2573         (WebCore::FontData::~FontData):
2574         * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
2575         FontData.h.
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:
2705         * svg/SVGFont.cpp:
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:
2713
2714 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2715
2716         Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
2717
2718         * svg/svgtags.in:
2719
2720 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2721
2722         Not reviewed. Proposed build fix for wx.
2723
2724         * webcore-base.bkl:
2725
2726 2008-01-07  Dan Bernstein  <mitz@apple.com>
2727
2728         64-bit build fix
2729
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.
2733
2734 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
2735
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)
2738
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.
2741
2742         Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
2743
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).
2746
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..)
2750
2751         Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
2752
2753         <glyph> elements now register themselves in the SVGFontElement's glyph cache.
2754         (insertedIntoDocument / removedFromDocument take care of this)
2755
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.
2758
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)
2783
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.
2787
2788         Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
2789
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):
2819         * svg/SVGFont.cpp:
2820         (WebCore::):
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):
2861
2862 2008-01-07  David Hyatt  <hyatt@apple.com>
2863
2864         Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
2865
2866         Reviewed by Dan
2867
2868         * rendering/RenderBox.h:
2869         * rendering/RenderTableCell.cpp:
2870         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2871
2872 2008-01-07  Holger Freyther  <zecke@selfish.org>
2873
2874         Reviewed by Alp Toker.
2875
2876         * Fix indention
2877
2878         * platform/gtk/ContextMenuGtk.cpp:
2879         (WebCore::ContextMenu::~ContextMenu):
2880
2881 2008-01-07  Holger Freyther  <zecke@selfish.org>
2882
2883         Reviewed by Alp Toker.
2884
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.
2888
2889         * platform/gtk/ContextMenuGtk.cpp:
2890         (WebCore::menuItemActivated):
2891         (WebCore::ContextMenu::appendItem):
2892
2893 2008-01-07  Holger Freyther  <zecke@selfish.org>
2894
2895         Reviewed by Alp Toker.
2896
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
2901
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):
2908
2909 2008-01-07  Holger Freyther  <zecke@selfish.org>
2910
2911         Reviewed by Alp Toker.
2912
2913         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
2914         actions.
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.
2920
2921
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):
2932
2933 2008-01-07  Luca Bruno  <lethalman88@gmail.com>
2934
2935         Reviewed by Alp Toker.
2936
2937         http://bugs.webkit.org/show_bug.cgi?id=16745
2938         [GTK] Context menu doesn't feel or look native - no icons
2939
2940         Use GTK+ stock icons for menu items where possible.
2941
2942         * platform/gtk/ContextMenuItemGtk.cpp:
2943         (WebCore::gtkStockIDFromContextMenuAction):
2944         (WebCore::ContextMenuItem::createNativeMenuItem):
2945         (WebCore::ContextMenuItem::setAction):
2946
2947 2008-01-07  Dan Bernstein  <mitz@apple.com>
2948
2949         Reviewed by John Sullivan.
2950
2951         - make the ATSUI code path work with custom fonts rather than crash
2952
2953         * platform/graphics/mac/FontCustomPlatformData.cpp:
2954         (WebCore::FontCustomPlatformData::fontPlatformData):
2955         * platform/graphics/mac/FontMac.mm:
2956         (WebCore::initializeATSUStyle):
2957
2958 2008-01-07  Thiago Macieira  <thiago.macieira@trolltech.com>
2959
2960         Reviewed by Simon.
2961
2962         abort() now emits the signals, so disconnect them before you abort()
2963
2964         * platform/network/qt/QNetworkReplyHandler.cpp:
2965         (WebCore::QNetworkReplyHandler::abort):
2966
2967 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2968
2969         Reviewed by Lars.
2970
2971         Use a faster and safer way of flattening the form data.
2972
2973         * platform/network/qt/QNetworkReplyHandler.cpp:
2974         (WebCore::QNetworkReplyHandler::start):
2975
2976 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2977
2978         Reviewed by Lars.
2979
2980         Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
2981
2982         * WebCore.pro:
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):
3007
3008 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3009
3010         Reviewed by Lars.
3011
3012         * Remove m_dirtyRegion as it is not used as we pass every dirty region
3013         directly to the ChromeClient
3014
3015         * platform/qt/ScrollViewQt.cpp:
3016         (WebCore::ScrollView::paint):
3017
3018 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
3019
3020         Reviewed by Oliver.
3021
3022         Small CG paint server cleanups - use more GraphicsContext method where possible.
3023
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):
3036
3037 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
3038
3039         Reviewed by Dan.
3040
3041         Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
3042
3043         * platform/graphics/mac/FontMac.mm:
3044         (WebCore::ATSULayoutParameters::initialize):
3045
3046 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
3047
3048         Reviewed by Darin.
3049         
3050         DOMRange doesn't correctly re-size when inserting items (Acid3)
3051         http://bugs.webkit.org/show_bug.cgi?id=16764
3052         
3053         Update the offset for the range when inserting items into the range.
3054
3055         Test: fast/dom/Range/range-modifycontents.html
3056
3057         * dom/Range.cpp:
3058         (WebCore::Range::insertNode):
3059
3060 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
3061
3062         Reviewed by Darin.
3063
3064         http://bugs.webkit.org/show_bug.cgi?id=16731
3065         Incorrect node type for whitespace when setting innerHTML in an XHTML document
3066
3067         Test: fast/dom/xhtml-fragment-whitespace.xhtml
3068
3069         * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3070         Use balancedCharactersHandler for ignorable whitespace.
3071
3072 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
3073
3074         Reviewed by Darin.
3075
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
3079
3080         Test: http/tests/misc/location-with-space.php
3081
3082         * platform/network/cf/ResourceRequestCFNet.cpp:
3083         (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
3084
3085 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
3086
3087         Reviewed by Darin.
3088         
3089         DOMRange.cloneContents does not work (Acid3 bug)
3090         http://bugs.webkit.org/show_bug.cgi?id=16748
3091         
3092         When cloning an empty range, return an empty DocmentFragment instead of
3093         null or undefined.
3094
3095         Test: fast/dom/Range/range-clone-empty.html
3096
3097         * dom/Range.cpp:
3098         (WebCore::Range::processContents):
3099
3100 2008-01-06  Luca Bruno  <lethalman88@gmail.com>
3101
3102         Reviewed by Alp Toker.
3103
3104         Remove curl handles immediately if the timer is not running.
3105
3106         * platform/network/curl/ResourceHandleManager.cpp:
3107         (WebCore::ResourceHandleManager::cancel):
3108
3109 2008-01-06  Alp Toker  <alp@atoker.com>
3110
3111         Reviewed by Eric.
3112
3113         Cairo canvas refcounting fix. Reference the surface in the constructor
3114         to match its destruction in the destructor.
3115
3116         Fixes a crash triggered by leaving this page:
3117           http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
3118
3119         * html/CanvasPattern.cpp:
3120         (WebCore::CanvasPattern::CanvasPattern):
3121
3122 2008-01-06  Eric Seidel  <eric@webkit.org>
3123
3124         Reviewed by darin.
3125
3126         Make attr selectors case-insensitive for certain HTML attributes
3127         http://bugs.webkit.org/show_bug.cgi?id=15470
3128
3129         Test: fast/css/html-attr-case-sensitivity.html
3130
3131         * css/CSSStyleSelector.cpp:
3132         (WebCore::addLocalNameToSet):
3133         (WebCore::createHtmlCaseInsensitiveAttributesSet):
3134         (WebCore::htmlAttributeHasCaseInsensitiveValue):
3135         (WebCore::CSSStyleSelector::checkOneSelector):
3136
3137 2008-01-06  Eric Seidel  <eric@webkit.org>
3138
3139         Reviewed by Sam.
3140
3141         Fix :checked matching type='text' and add test case
3142         http://bugs.webkit.org/show_bug.cgi?id=16750
3143
3144         Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
3145
3146         * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
3147
3148 2008-01-05  Sam Weinig  <sam@webkit.org>
3149
3150         Reviewed by Eric Seidel.
3151
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)
3154
3155         - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
3156
3157         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3158
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):
3167
3168 2008-01-04  Oliver Hunt  <oliver@apple.com>
3169
3170         Reviewed by Beth Dakin.
3171
3172         Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
3173         and other image repaint bugs.
3174
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).
3179
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.
3183
3184         I was unable to make a testcase for this unfortunately, despite seemingly deterministic 
3185         behaviour :(
3186
3187         * rendering/RenderSVGImage.cpp:
3188         (WebCore::RenderSVGImage::layout):
3189         (WebCore::RenderSVGImage::paint):
3190         (WebCore::RenderSVGImage::nodeAtPoint):
3191         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3192         * rendering/RenderSVGImage.h:
3193
3194 2008-01-04  Beth Dakin  <bdakin@apple.com>
3195
3196         Reviewed by Oliver.
3197
3198         Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with 
3199         type="hidden" matches :enabled/:disabled (Acid3 bug)
3200
3201         Prevent :enabled and :disabled from applying to input type="hidden" 
3202
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
3207         * dom/Element.h:
3208         (WebCore::Element::isInputTypeHidden): 
3209         * html/HTMLInputElement.h:
3210         (WebCore::HTMLInputElement::isInputTypeHidden):
3211
3212 2008-01-04  Sam Weinig  <sam@webkit.org>
3213
3214         Reviewed by Oliver Hunt.
3215
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
3220
3221         Test: fast/css/CSSPrimitiveValue-exceptions.html
3222
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:
3237
3238 2008-01-04  Antti Koivisto  <antti@apple.com>
3239
3240         Reviewed by Darin.
3241         
3242         Windows part of <rdar://problem/5647034>
3243         Media tests crash if an old version of QuickTime is installed
3244
3245         Check QuickTime version on Windows too.
3246
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):
3256
3257 2008-01-04  Darin Adler  <darin@apple.com>
3258
3259         Reviewed by Maciej and Alice.
3260
3261         - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
3262
3263         Test: fast/images/border.html
3264
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
3269         more sense.
3270
3271 2008-01-04  Antti Koivisto  <antti@apple.com>
3272
3273         Try to fix 64-bit build
3274
3275         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3276         (WebCore::MediaPlayerPrivate::isAvailable):
3277
3278 2008-01-04  Stephanie  <slewis@apple.com>
3279
3280         Reviewed by Oliver.
3281
3282         WARNING: NO TEST CASES ADDED OR CHANGED
3283
3284         Fix another stringImpl leak.
3285
3286         * platform/text/StringImpl.cpp: remove an extra allocation
3287         (WebCore::StringImpl::StringImpl):
3288
3289 2008-01-04  Alice Liu  <alice.liu@apple.com>
3290
3291         Reviewed by Mitz.
3292
3293         * platform/graphics/win/FontCacheWin.cpp:
3294         fix loop condition that was causing crash
3295
3296 2008-01-04  Timothy Hatcher  <timothy@apple.com>
3297
3298         Reviewed by Adam Roben.
3299
3300         <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
3301
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.
3306
3307 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
3308
3309         Reviewed by Adam Roben.
3310
3311         Temporarily restore BackwardDelete for Windows nightlies to work correctly.
3312
3313         * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
3314
3315 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
3316
3317         Reviewed by Darin.
3318
3319         <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
3320
3321         Enable the fix on Windows.
3322
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.
3325
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.
3330
3331 2008-01-04  Antti Koivisto  <antti@apple.com>
3332
3333         Fix build.
3334
3335         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3336
3337 2008-01-04  Antti Koivisto  <antti@apple.com>
3338
3339         Reviewed by Darin.
3340         
3341         Partial fix for <rdar://problem/5647034>
3342         Media tests crash if an old version of QuickTime is installed
3343
3344         Disable media support if QuickTime is not current enough (>=7.3).
3345         
3346         Windows patch coming soon.
3347
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):
3362
3363 2008-01-04  Timothy Hatcher  <timothy@apple.com>
3364
3365         Reviewed by Darin Adler.
3366
3367         <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
3368
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.
3371
3372         * page/inspector/PropertiesSidebarPane.js:
3373         * page/inspector/inspector.css:
3374
3375 2008-01-04  Dan Bernstein  <mitz@apple.com>
3376
3377         Reviewed by Darin Adler.
3378
3379         - fix synthetic bold and italic on Windows
3380
3381         Covered by an existing test.
3382
3383         * platform/graphics/win/FontPlatformDataWin.cpp:
3384         (WebCore::FontPlatformData::FontPlatformData):
3385
3386 2008-01-04  Alp Toker  <alp@atoker.com>
3387
3388         GTK+ autotools build fix. Terminate empty rules.
3389
3390         * GNUmakefile.am:
3391
3392 2008-01-04  Lars Knoll  <lars@trolltech.com>
3393
3394         Reviewed by Simon.
3395
3396         Remove most dependencies of Widget/ScrollView onto native QWidgets.
3397
3398         This also brings the code closer in line with the Windows code. Seems
3399         to work nicely on first try :)
3400
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):
3437
3438 2008-01-04  Lars Knoll  <lars@trolltech.com>
3439
3440         Reviewed by Simon.
3441
3442         make QWebPage a QObject and get things to compile.
3443
3444         Nothing works currently though.
3445
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):
3452
3453 2008-01-04  Alp Toker  <alp@atoker.com>
3454
3455         Reviewed by Mark Rowe.
3456
3457         http://bugs.webkit.org/show_bug.cgi?id=16667
3458         make -j is failing with the autotools based system
3459
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.
3464
3465         * GNUmakefile.am:
3466
3467 2008-01-04  Alp Toker  <alp@atoker.com>
3468
3469         Reviewed by Mark Rowe.
3470
3471         Re-use a single static dummy surface rather than creating and
3472         destroying a surface for each CairoPath.
3473
3474         * platform/graphics/cairo/CairoPath.h:
3475         (WebCore::CairoPath::CairoPath):
3476
3477 2008-01-04  Mark Rowe  <mrowe@apple.com>
3478
3479         Tiger build fix.
3480
3481         * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
3482
3483 2008-01-03  Mark Rowe  <mrowe@apple.com>
3484
3485         Reviewed by Maciej Stachowiak.
3486
3487         Use platform-provided atomic operations in place of inline assembly to
3488         increase portability.
3489
3490         * platform/Threading.h:
3491         (WebCore::atomicIncrement):
3492         (WebCore::atomicDecrement):
3493
3494 2008-01-03  Oliver Hunt  <oliver@apple.com>
3495
3496         Reviewed by Maciej.
3497
3498         Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
3499
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.
3503
3504         * rendering/RenderSVGImage.cpp:
3505         (WebCore::RenderSVGImage::layout):
3506         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3507         * rendering/RenderSVGImage.h:
3508
3509 2008-01-03  Alp Toker  <alp@atoker.com>
3510
3511         Reviewed by Mark Rowe.
3512
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.
3515
3516         * GNUmakefile.am:
3517
3518 2008-01-03  Jon Honeycutt  <jhoneycutt@apple.com>
3519
3520         Reviewed by Darin.
3521
3522         <rdar://problem/5504775> PDF page will not load first time after Adobe
3523         Reader install, unless browser is relaunched
3524
3525         Refresh and re-search the plugin database if the MIME type is not
3526         registered.
3527
3528         * plugins/win/PluginDatabaseWin.cpp:
3529         (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
3530         * plugins/win/PluginDatabaseWin.h:
3531
3532 2008-01-03  Dan Bernstein  <mitz@apple.com>
3533
3534         Reviewed by Darin Adler.
3535
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
3538
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.
3553
3554 2008-01-03  Darin Adler  <darin@apple.com>
3555
3556         Reviewed by Mitz.
3557
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
3560
3561         Test: fast/table/border-changes.html
3562
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.
3570
3571 2008-01-02  Sam Weinig  <sam@webkit.org>
3572
3573         Reviewed by Darin.
3574
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.
3580
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.
3584
3585         * bindings/js/JSCSSRuleCustom.cpp:
3586         (WebCore::toJS):
3587         * bindings/js/JSCSSValueCustom.cpp:
3588         (WebCore::toJS):
3589         * bindings/js/JSDocumentCustom.cpp:
3590         (WebCore::toJS):
3591         * bindings/js/JSEventCustom.cpp:
3592         (WebCore::toJS):
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