ba3c2b6091363088b92a80be51f060b4585a6cd3
[WebKit-https.git] / WebCore / ChangeLog
1 2008-01-20  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Darin Adler.
4
5         - fix http://bugs.webkit.org/show_bug.cgi?id=16951
6           Assertion failure in FrameView::scheduleRelayout (!m_frame->document() || !m_frame->document()->inPageCache()) when going back from a page with a focused popup
7
8         * dom/Document.cpp:
9         (WebCore::Document::setFocusedNode): Bail out if the document is in the
10         page cache. Documents in the back/forward cache are "frozen" and should
11         not change state.
12
13 2008-01-20  Collin Jackson  <webkit@collinjackson.com>
14
15         Reviewed by Sam Weinig.
16
17         Fix for http://bugs.webkit.org/show_bug.cgi?id=16775
18
19         We now use frame()->loader()->url() for postMessage, preventing a
20         malicious sender from overwriting the uri property (using a <base> tag,
21         for example). Also, use frame->loader()->url().host() instead of 
22         instead of document()->SecurityOrigin()->domain() to reflect a recent
23         clarification in the HTML5 spec. 
24
25         Tests: http/tests/security/postMessage/domain-affected-by-document-domain.html
26                http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html
27                http/tests/security/postMessage/javascript-page-still-sends-domain.html
28
29         * bindings/js/JSDOMWindowCustom.cpp:
30         (WebCore::JSDOMWindow::postMessage):
31
32 2008-01-20  Antti Koivisto  <antti@apple.com>
33
34         Reviewed by Adele.
35
36         Fix <rdar://problem/5695451>
37         Middle part of the media timeline missing on Windows if load failed
38
39         Add some null checking to avoid getting garbage results from the functions.
40
41         * platform/graphics/MediaPlayer.cpp:
42         * platform/graphics/win/QTMovieWin.cpp:
43         (QTMovieWin::duration):
44         (QTMovieWin::currentTime):
45         (QTMovieWin::setCurrentTime):
46         (QTMovieWin::maxTimeLoaded):
47
48 2008-01-19  Alp Toker  <alp@atoker.com>
49
50         Reviewed by Mark Rowe.
51
52         http://bugs.webkit.org/show_bug.cgi?id=16944
53         Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor
54
55         http://bugzilla.gnome.org/show_bug.cgi?id=510547
56         Epiphany/Webkit fails to start due to initializing threads twice
57
58         Don't call GST_PLUGIN_DEFINE_STATIC() as it performs g_thread_init()
59         in the global initializer, breaking subsequent calls to
60         g_thread_init() in applications.
61
62         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
63
64 2008-01-19  Alp Toker  <alp@atoker.com>
65
66         Reviewed by Mark Rowe.
67
68         Remove any fragment part from the URL to be requested just before
69         passing it to curl, otherwise curl sends it as part of the HTTP/local
70         file request, causing page loads to fail.
71
72         * platform/network/curl/ResourceHandleManager.cpp:
73         (WebCore::ResourceHandleManager::startJob):
74
75 2008-01-19  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
76
77         Reviewed by Alp Toker.
78
79         Add svg foreign object and svg experimental to the GTK+/autotools
80         build system.
81
82         * GNUmakefile.am:
83
84 2008-01-19  Dan Bernstein  <mitz@apple.com>
85
86         Reviewed by Maciej Stachowiak.
87
88         - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116
89
90         Test: editing/selection/inconsistent-in-removeChildNode.html
91
92         * editing/SelectionController.cpp:
93         (WebCore::SelectionController::nodeWillBeRemoved): If the selection
94         base or extent are not visible any more, adjust the selection.
95
96 2008-01-19  Oliver Hunt  <oliver@apple.com>
97
98         Reviewed by Eric Seidel.
99
100         Build fix for --svg-foreign-object path
101
102         * svg/SVGForeignObjectElement.idl:
103
104 2008-01-18  Stephanie  <slewis@apple.com>
105
106         Reviewed by Oliver.
107
108         Workaround for <rdar://problem/5695848>.  Set mime_type for local files based on file extension. 
109
110         * platform/network/cf/ResourceResponseCFNet.cpp:
111         (WebCore::ResourceResponse::doUpdateResourceResponse):
112
113 2008-01-18  Ada Chan  <adachan@apple.com>
114
115         <rdar://problem/5682340> REGRESSION (r28188): Context menu appears at wrong place when clicking in iframe whose parent is scrolled (16827)
116         Calling absolutePosition() in EventHandler::hitTestResultAtPoint() is extremely inefficient and passing in
117         true as fixed before was wrong.  Use HitTestResult::localPoint() instead, and take into account border and padding widths.
118
119         Reviewed by Hyatt and Darin.
120
121         * page/EventHandler.cpp:
122         (WebCore::EventHandler::hitTestResultAtPoint):
123         * rendering/HitTestResult.cpp:
124         (WebCore::HitTestResult::operator=):
125
126 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
127
128         Reviewed by Darin, landed by Beth.
129
130         - fixed http://bugs.webkit.org/show_bug.cgi?id=15765
131
132         The call to HTMLTokenizer::write might result in a call to ::end which will invoke
133         HTMLParser::finished() or Document::finishedParsing(). HTMLParser::finished() will eventually
134         call Document::finishedParsing. The Document will delete the calling HTMLTokenizer and from the deleted
135         tokenizer we will call into FrameLoader::tokenizerProcessedData.
136         -) FrameLoader::tokenizerProcessedData calls FrameLoader::checkCompleted which gets called from the Document::finishedParsing
137            (FrameLoader::finishedParsing).
138
139         * html/HTMLTokenizer.cpp:
140         (WebCore::HTMLTokenizer::timerFired):
141
142 2008-01-18  David Hyatt  <hyatt@apple.com>
143
144         Don't apply the border/margin/padding check to root line boxes, since their renderers
145         are blocks.
146
147         * rendering/InlineFlowBox.cpp:
148         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
149         (WebCore::InlineFlowBox::placeBoxesVertically):
150
151 2008-01-18  Geoffrey Garen  <ggaren@apple.com>
152
153         Not reviewed: rolling out a previous patch.
154         
155         Fixed <rdar://problem/5695439> Crash during GCController destructor on
156         quitting browser
157
158         Used svn merge to roll out r29603 because it introduced some crashes
159         on quit.
160         
161         GC relies on static hash tables, so it's not safe to GC from a static
162         destructor, which might run after the static hash tables' destructors.
163
164         * bindings/js/GCController.cpp:
165         (WebCore::GCController::garbageCollectNow):
166         * bindings/js/GCController.h:
167
168 2008-01-18  David Hyatt  <hyatt@apple.com>
169
170         Fix for http://bugs.webkit.org/show_bug.cgi?id=15665
171
172         Building on Beth's earlier work to start building line boxes for empty inlines, this patch makes more
173         empty inline cases work.  Empty inlines on lines by themselves now set isLineEmpty to false so that
174         bidiReorderLine will get properly called.  In addition, the "shrink boxes with no text children" quirk
175         needs to be disabled for inlines with padding, margins or borders.
176
177         Reviewed by Beth
178
179         Added fast/inline/inline-padding-disables-text-quirk.html
180
181         * rendering/InlineFlowBox.cpp:
182         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
183         (WebCore::InlineFlowBox::placeBoxesVertically):
184         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
185         * rendering/RenderObject.h:
186         (WebCore::RenderObject::hasBordersPaddingOrMargin):
187         * rendering/bidi.cpp:
188         (WebCore::inlineFlowRequiresLineBox):
189         (WebCore::RenderBlock::findNextLineBreak):
190
191 2008-01-18  David Hyatt  <hyatt@apple.com>
192
193         Fix for http://bugs.webkit.org/show_bug.cgi?id=14975
194
195         Computed size of padding is incorrect because we default padding to auto.  This is a made-up value that
196         was only used to implement cellpadding on tables.  We needed this made-up value in order to tell that
197         padding wasn't set so that we could then apply cellpadding.
198        
199         This patch rewrites cellpadding to be like other browsers.  Instead of being a setting on the table
200         renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the
201         style of <td>s.  With this change it effectively becomes a content model feature and not a rendering
202         feature.
203
204         For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is
205         not a table.  Anonymous cells and CSS-display-type cells will now never pick up cellpadding.  This behavior
206         is all consistent with other browsers.
207
208         Reviewed by Antti
209
210         Added fast/css/padding-no-renderer.html
211
212         * css/CSSStyleSelector.cpp:
213         (WebCore::CSSStyleSelector::canShareStyleWithElement):
214         (WebCore::CSSStyleSelector::styleForElement):
215         * css/CSSStyleSelector.h:
216         * dom/StyledElement.cpp:
217         * dom/StyledElement.h:
218         (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls):
219         (WebCore::StyledElement::additionalAttributeStyleDecls):
220         * html/HTMLTableCellElement.cpp:
221         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
222         * html/HTMLTableCellElement.h:
223         (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls):
224         * html/HTMLTableColElement.cpp:
225         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
226         * html/HTMLTableColElement.h:
227         (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls):
228         * html/HTMLTableElement.cpp:
229         (WebCore::HTMLTableElement::parseMappedAttribute):
230         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
231         (WebCore::HTMLTableElement::addSharedCellDecls):
232         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
233         (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
234         (WebCore::HTMLTableElement::addSharedGroupDecls):
235         (WebCore::HTMLTableElement::attach):
236         * html/HTMLTableElement.h:
237         (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls):
238         * html/HTMLTableSectionElement.cpp:
239         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
240         * html/HTMLTableSectionElement.h:
241         (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls):
242         * rendering/AutoTableLayout.cpp:
243         (WebCore::AutoTableLayout::recalcColumn):
244         * rendering/RenderObject.cpp:
245         (WebCore::RenderObject::paddingTop):
246         (WebCore::RenderObject::paddingBottom):
247         (WebCore::RenderObject::paddingLeft):
248         (WebCore::RenderObject::paddingRight):
249         * rendering/RenderStyle.cpp:
250         (WebCore::StyleSurroundData::StyleSurroundData):
251         * rendering/RenderStyle.h:
252         (WebCore::RenderStyle::initialPadding):
253         * rendering/RenderTable.cpp:
254         (WebCore::RenderTable::RenderTable):
255         * rendering/RenderTable.h:
256
257 2008-01-18  Dan Bernstein  <mitz@apple.com>
258
259         Reviewed by Dave Hyatt.
260
261         - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren
262
263         Test: fast/table/insert-row-before-form.html
264
265         * rendering/RenderTableRow.cpp:
266         (WebCore::RenderTableRow::addChild): Changed to ensure that the
267         object a new cell is inserted before is a child of the row, and
268         added an assertion that that object is either a cell or a form.
269         * rendering/RenderTableSection.cpp:
270         (WebCore::RenderTableSection::addChild): Changed to ensure that the
271         object a new row is inserted before is a child of the table section, and
272         added an assertion that that object is either a table row or a form.
273
274 2008-01-18  Geoffrey Garen  <ggaren@apple.com>
275
276         Reviewed by Brady Eidson.
277
278         Fixed <rdar://problem/5622424> World Leak dialog when closing a page
279         that has a Database
280         
281         The problem was that each transaction and SQL statement would hold on
282         to its callback indefinitely. By design, callbacks often establish
283         reference cycles to temporarily protect their execution environments.
284         To break the cycle, we need to explicitly release each callback as soon
285         as it is no longer needed.
286
287         * storage/SQLStatement.cpp:
288         (WebCore::SQLStatement::performCallback): Release our callback objects
289         after performing our callback.
290
291         * storage/SQLTransaction.cpp:
292         (WebCore::SQLTransaction::postflightAndCommit): Release our callback
293         objects after the transaction has terminated.
294         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto.
295
296 2008-01-18  Adele Peterson  <adele@apple.com>
297
298         Reviewed by Antti.
299
300         Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly
301
302         * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation.
303
304 2008-01-18  Beth Dakin  <bdakin@apple.com>
305
306         Reviewed by Oliver.
307
308         Disables SVG foreign object for <rdar://problem/5686989> turn off 
309         SVG foreignobject because it does not repaint/dirty correctly
310
311         * DerivedSources.make:
312         * WebCore.SVG.ForeignObject.exp: Added.
313         * WebCore.SVG.exp:
314         * bindings/js/JSSVGElementWrapperFactory.cpp:
315         (WebCore::createJSSVGWrapper):
316         * rendering/RenderForeignObject.cpp:
317         * rendering/RenderForeignObject.h:
318         * svg/SVGForeignObjectElement.cpp:
319         * svg/SVGForeignObjectElement.h:
320         * svg/SVGForeignObjectElement.idl:
321         * svg/SVGLocatable.cpp:
322         (WebCore::SVGLocatable::nearestViewportElement):
323         (WebCore::SVGLocatable::farthestViewportElement):
324         * svg/SVGUseElement.cpp:
325         (WebCore::isDisallowedElement):
326         * svg/svgtags.in:
327
328 2008-01-18  Mark Rowe  <mrowe@apple.com>
329
330         Rubber-stamped by Adam Roben.
331
332         Fix mixed line endings in FileSystemWin.cpp and set svn:eol-style to native
333         to try and keep them consistent in the future.
334
335         * platform/win/FileSystemWin.cpp:
336         (WebCore::fileSize):
337         (WebCore::fileExists):
338         (WebCore::deleteFile):
339         (WebCore::pathByAppendingComponent):
340         (WebCore::fileSystemRepresentation):
341         (WebCore::makeAllDirectories):
342         (WebCore::homeDirectoryPath):
343         (WebCore::bundleName):
344         (WebCore::storageDirectory):
345         (WebCore::cachedStorageDirectory):
346
347 2008-01-18  Antti Koivisto  <antti@apple.com>
348
349         Reviewed by Adam.
350
351         Fix unreachable code warning in RenderVideo on Windows.
352         
353         Make switch cases explicit.
354
355         * rendering/RenderImage.cpp:
356         (WebCore::RenderImage::isWidthSpecified):
357         (WebCore::RenderImage::isHeightSpecified):
358         * rendering/RenderVideo.cpp:
359         (WebCore::RenderVideo::isWidthSpecified):
360         (WebCore::RenderVideo::isHeightSpecified):
361
362 2008-01-18  Timothy Hatcher  <timothy@apple.com>
363
364         Reviewed by Adam Roben.
365
366         <rdar://problem/5693558> REGRESSION (r29581): no form field focus
367         rings and inactive text selection after loading a page
368         Bug 16910: [GTK] REGRESSION: keyboard cursor doesn't blink
369         Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
370
371         * page/FocusController.cpp:
372         (WebCore::FocusController::setActive): Use focusedOrMainFrame() instead of focusedFrame()
373         to call selectionController()->pageActivationChanged() for cases when the focusedFrame()
374         has not been set yet. 
375
376 2008-01-18  Alexey Proskuryakov  <ap@webkit.org>
377
378         Reviewed by Brady.
379
380         Database origin tracking is broken.
381
382         * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins):
383         Move reading from statement back into the loop (broken in r29386).
384
385 2008-01-18  Marius Storm-Olsen  <marius@trolltech.com>
386
387         Reviewed by Simon Hausmann <hausmann@webkit.org>.
388
389         Add use of precompiled header, when building inside Qt.
390         
391         Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me.
392         
393
394         * WebCore.pro:
395
396 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
397
398         Reviewed by Holger.
399
400         Fix fast/forms/button-state-restore.html
401         
402         Similar to the fix for fast/forms/form-post-urlencoded.html transform POST
403         requests to data urls into GET.
404         
405
406         * platform/network/qt/QNetworkReplyHandler.cpp:
407         (WebCore::QNetworkReplyHandler::start):
408
409 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
410
411         Reviewed by Holger.
412
413         Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html
414         
415         In WebCore::cookies() don't return the full raw form but only the name=value
416         part. This fixes the getter part of the above test. The above test also
417         requires a parsing fix in Qt 4.4's QNetworkCookie to fully pass.
418         
419
420         * platform/qt/CookieJarQt.cpp:
421         (WebCore::cookies):
422
423 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
424
425         Reviewed by Holger.
426
427         Fix svg/custom/path-getTotalLength.svg
428         
429         Path::apply creates a PathElement and its points array on the stack,
430         to fill it in from the QPainterPath data and then use the platform
431         independent path applier functions to calculate properties such as
432         the length. For converting a QPainterPath::CurveToElement we need
433         three points in the path element. However we allocated only two
434         on the stack and as a result we got memory corruption and the
435         failing test.
436         
437
438         * platform/graphics/qt/PathQt.cpp:
439         (WebCore::Path::apply):
440
441 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
442
443         Reviewed by Holger.
444
445         Fix LayoutTests/fast/dom/document-attribute-js-null.html
446         
447         Don't crash when trying to get/set cookies without a frameloader.
448         
449
450         * platform/qt/CookieJarQt.cpp:
451         (WebCore::setCookies):
452         (WebCore::cookies):
453
454 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
455
456         Reviewed by Holger.
457
458         Fix fast/dom/xmlhttprequest-get.xhtml
459         
460         For local file requests remove the content length and the last-modified
461         headers in the response.
462         
463
464         * platform/network/qt/QNetworkReplyHandler.cpp:
465         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
466
467 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
468
469         Reviewed by Holger.
470
471         Fix fast/forms/form-post-urlencoded.html.
472         
473         Post requests on files don't really make sense, but for
474         fast/forms/form-post-urlencoded.html we still need to retrieve the file,
475         which means we map it to a Get instead.
476         
477
478         * platform/network/qt/QNetworkReplyHandler.cpp:
479         (WebCore::QNetworkReplyHandler::start):
480
481 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
482
483         Reviewed by Holger.
484
485         Make QNetworkReplyHandler::abort() more robust against multiple invocations.
486
487         During DRT runs I see cancel() being called on the same handle multiple times. Guard
488         against this a bit better by setting m_reply to 0 after we called abort() on it.
489
490         * platform/network/qt/QNetworkReplyHandler.cpp:
491         (WebCore::QNetworkReplyHandler::abort):
492
493 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
494
495         Reviewed by Simon.
496
497         * httpBody() can return 0 and other ports (cf/mac) check for this condition
498         * Looking at the cf/mac implementation we might need to call setHTTPBody somewhere
499         as well.
500         
501
502         WARNING: NO TEST CASES ADDED OR CHANGED
503
504         * platform/network/qt/QNetworkReplyHandler.cpp:
505         (WebCore::QNetworkReplyHandler::start):
506
507 2008-01-18  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
508
509         Reviewed by Simon Hausmann <hausmann@webkit.org>.
510
511         Fix compilation in Win64(3): Due to the size of size_t cast the return value explicitly to double() to make sure the right Value() constructor is called.
512
513         * xml/XPathFunctions.cpp:
514         (WebCore::XPath::FunCount::evaluate):
515
516 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
517
518         Reviewed by Simon.
519
520         * Remove our windowClipRect reimplementation and instead have our own
521         Widget::invalidate implementation that is invalidating
522         IntRect(0, 0, width(), height()) without trying to clip it (in contrast
523         to Widget::invalidateRect)
524
525         * platform/qt/PlatformScrollBar.h:
526         * platform/qt/PlatformScrollBarQt.cpp:
527         (WebCore::PlatformScrollbar::invalidate):
528
529 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
530
531         Reviewed by Simon.
532
533         * Change the coordinate transformation in the PlatformMouseEvent handlers
534         * We want to convert from coordinates of the containing window to our local
535         position on the scrollbar.
536
537         * platform/qt/PlatformScrollBarQt.cpp:
538         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
539         (WebCore::PlatformScrollbar::handleMousePressEvent):
540
541 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
542
543         Reviewed by Simon.
544
545         * Make the qDebug more usable. Do not have an additional newline and print
546         the untranslated coordinates as well.
547
548         * platform/qt/PlatformScrollBarQt.cpp:
549         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
550         (WebCore::PlatformScrollbar::handleMousePressEvent):
551
552 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
553
554         Reviewed by Simon.
555
556         * Dead code, remove it
557
558         * platform/qt/PlatformScrollBarQt.cpp:
559
560 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
561
562         Reviewed by Simon.
563
564         * Coding-Style fixes.
565
566         * platform/qt/PlatformScrollBarQt.cpp:
567         (WebCore::PlatformScrollbar::PlatformScrollbar):
568
569 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
570
571         Reviewed by Simon.
572
573         * Coding-Style fix
574
575         * platform/graphics/qt/ImageDecoderQt.cpp:
576         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
577
578 2008-01-17  Geoffrey Garen  <ggaren@apple.com>
579
580         Reviewed by Darin Adler.
581
582         Fixed: lots of WebCore leaks reported when quitting Safari
583         
584         If we're quitting with a GC still scheduled, do the GC before quitting.
585         That way, WebCore's leak counters won't count objects that were
586         scheduled for GC.
587
588         * bindings/js/GCController.cpp:
589         (WebCore::GCController::~GCController):
590         (WebCore::GCController::garbageCollectNow):
591         * bindings/js/GCController.h:
592
593 2008-01-17  Alp Toker  <alp@atoker.com>
594
595         Reviewed by Oliver Hunt.
596
597         gdk_screen_get_font_options() returns NULL if no default options are
598         set so we always have to NULL check to avoid crashes later on since
599         Cairo doesn't accept NULL font options.
600
601         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
602         (WebCore::FontPlatformData::FontPlatformData):
603
604 2008-01-17  Antti Koivisto  <antti@apple.com>
605
606         Reviewed by Adele.
607
608         Windows fix for <rdar://problem/5605682>
609         Disallow streaming protocols for media elements
610         and <rdar://problem/5668711>
611         Limit the container and codec types that the <video> tag supports
612         
613         - Disable unsupported QuickTime tracks types. 
614         - Disallow streaming protocols (for now).
615
616         * WebCore.vcproj/WebCore.vcproj:
617         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
618         (WebCore::MediaPlayerPrivate::updateStates):
619         * platform/graphics/win/QTMovieWin.cpp:
620         (QTMovieWin::load):
621         (QTMovieWin::disableUnsupportedTracks):
622         * platform/graphics/win/QTMovieWin.h:
623
624 2008-01-17  Oliver Hunt  <oliver@apple.com>
625
626         Support smart copy and paste during drag and drop
627         
628         Reviewed by Alice
629         
630         In order for the drag and drop tests in Windows DRT to pass
631         we need to support smart cut and paste operations during
632         drag and drop on windows.
633         
634         There is no layout test as drag and drop is still unsupported
635         on windows.  Once supported smart drag/drop is tested by existing
636         tests
637
638         * platform/win/ClipboardUtilitiesWin.cpp:
639         (WebCore::smartPasteFormat):
640         * platform/win/ClipboardUtilitiesWin.h:
641         * platform/win/ClipboardWin.cpp:
642         (WebCore::ClipboardWin::writeRange):
643         * platform/win/DragDataWin.cpp:
644
645 2008-01-17  Oliver Hunt  <oliver@apple.com>
646
647         Reviewed by Anders.
648
649         <rdar://problem/5692940> Crash when attempting to get text properties in
650         SVG with no renderer
651
652         We use the element renderer to calculate the text element bounds,
653         however there was no check against the possibility of the text dimension
654         properties being requested on a element with no renderer (eg. unattached, 
655         display: none).
656
657         Test: svg/text/text-property-with-display-none.html
658
659         * svg/SVGTextContentElement.cpp:
660         (WebCore::rootInlineBoxForTextContentElement):
661
662 2008-01-17  Anders Carlsson  <andersca@apple.com>
663
664         Reviewed by Oliver.
665
666         <rdar://problem/5636742>
667         CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78
668         
669         When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us
670         to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins.
671         
672         * WebCore.base.exp:
673         * loader/DocumentLoader.h:
674         (WebCore::DocumentLoader::mainResourceLoader):
675         New accessor method.
676         
677         * loader/PluginDocument.cpp:
678         (WebCore::PluginTokenizer::writeRawData):
679         Disable buffering for the main resource loader.
680         
681         * loader/ResourceLoader.cpp:
682         (WebCore::ResourceLoader::setShouldBufferData):
683         * loader/ResourceLoader.h:
684         Have this free the buffer when disabling buffering.
685
686 2008-01-17  Adam Roben  <aroben@apple.com>
687
688         More Qt/GTK+ build fixing.
689
690         * platform/gtk/ScrollViewGtk.cpp:
691         * platform/qt/ScrollViewQt.cpp:
692
693 2008-01-17  Alexey Proskuryakov  <ap@webkit.org>
694
695         Reviewed by Darin.
696
697         http://bugs.webkit.org/show_bug.cgi?id=16902
698         <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
699         fast/dom/Window/window-property-shadowing.html
700
701         Test: fast/dom/Window/window-property-shadowing_.html
702
703         * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
704
705 2008-01-17  Adam Roben  <aroben@apple.com>
706
707         Qt/GTK+ build fix.
708
709         * platform/gtk/ScrollViewGtk.cpp:
710         (WebCore::ScrollView::ScrollViewPrivate::isActive):
711         * platform/qt/ScrollViewQt.cpp:
712         (WebCore::ScrollView::ScrollViewPrivate::isActive):
713
714 2008-01-16  Adam Roben  <aroben@apple.com>
715
716         Update scroll bars/form controls when FocusController::isActive changes
717
718         Part of <rdar://5006915> Inactive look for Aqua controls
719
720         Reviewed by Darin.
721
722         All tests pass.
723
724         * page/FocusController.cpp:
725         (WebCore::FocusController::setActive): Update control tints when the
726         active state changes.
727         * page/FrameView.cpp:
728         (WebCore::FrameView::updateControlTints): On Windows, we have to ask
729         ScrollView to paint so that the outermost scroll bars will paint. On
730         Mac, the outermost scroll bars are taken care of by NSScroller.
731         * platform/PopupMenu.h: Updated for ScrollBarClient changes.
732         * platform/ScrollBar.h: Added a new ScrollBarClient method.
733         * platform/win/PlatformScrollBarSafari.cpp:
734         (WebCore::PlatformScrollbar::paint): Invalidate when updating control
735         tints so that we can paint with the new tint later.
736         (WebCore::PlatformScrollbar::paintButton): Pass the active state down
737         to SafariTheme.
738         (WebCore::PlatformScrollbar::paintTrack): Ditto.
739         (WebCore::PlatformScrollbar::paintThumb): Ditto.
740         * platform/win/ScrollViewWin.cpp:
741         (WebCore::ScrollView::ScrollViewPrivate::isActive): Added.
742         (WebCore::ScrollView::paint): Pass paint calls on down if we're
743         updating control tints so the scroll bars can invalidate.
744         * rendering/RenderLayer.cpp:
745         (WebCore::RenderLayer::isActive): Added.
746         * rendering/RenderLayer.h:
747         * rendering/RenderListBox.cpp:
748         (WebCore::RenderListBox::isActive): Added.
749         * rendering/RenderListBox.h:
750         * rendering/RenderTheme.cpp:
751         (WebCore::RenderTheme::isActive): Added.
752         * rendering/RenderTheme.h:
753         * rendering/RenderThemeSafari.cpp:
754         (WebCore::RenderThemeSafari::determineState): Pass the active state
755         down to SafariTheme.
756
757 2008-01-16  Adam Roben  <aroben@apple.com>
758
759         Move focused/active state from Frame to SelectionController/FocusController
760
761         This is the first part of <rdar://5006915> Inactive look for Aqua
762         controls.
763
764         The following methods were moved/renamed:
765             - Frame::setIsActive -> FocusController::setActive
766             - Frame::isActive -> SelectionController::isActiveAndFocused
767             - Frame::setWindowHasFocus -> SelectionController::setFocused
768
769         Active state is now correctly a Page-level concept.
770
771         The Mac parts of this patch were written by Darin.
772
773         Reviewed by Darin.
774
775         All tests pass.
776
777         * WebCore.base.exp: Updated for method renames.
778         * css/CSSStyleSelector.cpp:
779         (WebCore::CSSStyleSelector::checkOneSelector): Ditto.
780         * editing/SelectionController.cpp:
781         (WebCore::SelectionController::SelectionController): Initialize new
782         member.
783         (WebCore::SelectionController::focusedOrActiveStateChanged): New
784         private method. Most of this code came from Frame::setIsActive.
785         (WebCore::SelectionController::pageActivationChanged): Added.
786         (WebCore::SelectionController::setFocused): Added. Replaces
787         Frame::setWindowHasFocus.
788         (WebCore::SelectionController::isFocusedAndActive): Added. Replaces
789         Frame::isActive.
790         * editing/SelectionController.h:
791         * page/FocusController.cpp:
792         (WebCore::FocusController::FocusController): Initialize new member.
793         (WebCore::FocusController::setFocusedFrame): Changed to just call
794         SelectionController::setFocused, since active state has doesn't change
795         when the focused frame changes.
796         (WebCore::FocusController::setActive): Added. Replaces
797         Frame::setIsActive.
798         * page/FocusController.h:
799         (WebCore::FocusController::isActive): Added.
800         * page/Frame.cpp:
801         (WebCore::Frame::setDocument): Updated for method renames.
802         (WebCore::Frame::setFocusedNodeIfNeeded): Ditto.
803         (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto.
804         (WebCore::FramePrivate::FramePrivate): Removed initialization of
805         removed members.
806         * page/Frame.h:
807         * page/FramePrivate.h:
808         * page/mac/WebCoreFrameBridge.h: Removed -selectionColor.
809         * page/mac/WebCoreFrameBridge.mm: Ditto.
810         * rendering/RenderListBox.cpp:
811         (WebCore::RenderListBox::paintItemForeground): Updated for method
812         renames.
813         (WebCore::RenderListBox::paintItemBackground): Ditto.
814         * rendering/RenderObject.cpp:
815         (WebCore::RenderObject::selectionBackgroundColor): Ditto.
816         (WebCore::RenderObject::selectionForegroundColor): Ditto.
817         * rendering/RenderTextControl.cpp:
818         (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto.
819         * rendering/RenderTheme.cpp:
820         (WebCore::RenderTheme::isFocused): Ditto.
821
822 2008-01-17  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
823
824         Reviewed by Simon.
825
826         * Make the nice 'safari' feature work on our port. When viewing a single image, clicking
827         on the image will zoom it.
828         * It seems like our platform can only determine the size of the image once it is completely
829         loaded. Call m_doc->imageChanged on the last chunk of data as well.
830
831         * loader/ImageDocument.cpp:
832         (WebCore::ImageTokenizer::finish):
833
834 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
835
836         Reviewed by Lars.
837
838         Set the library version of QtWebKit to the Qt version.
839
840         * WebCore.pro:
841
842 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
843
844         Reviewed by Holger.
845
846         Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module.
847
848         * platform/network/qt/QNetworkReplyHandler.cpp:
849         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
850
851 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
852
853         Another Windows build fix, setCookies accidentially had a const
854         Document pointer.
855
856         * platform/network/win/CookieJarWin.cpp:
857
858 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
859
860         MSVC Windows build fix. Forward declaring Document in CookieJar.h
861         seems not enough for MSVC.
862
863         * platform/network/win/CookieJarWin.cpp:
864
865 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
866
867         Reviewed by Maciej, Lars, Holger.
868
869         http://bugs.webkit.org/show_bug.cgi?id=16589
870
871         Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
872
873         * WebCore.pro:
874         * bindings/js/kjs_navigator.cpp:
875         (KJS::Navigator::getValueProperty):
876         * dom/Document.cpp:
877         (WebCore::Document::cookie):
878         * platform/CookieJar.h:
879         * platform/gtk/CookieJarGtk.cpp:
880         (WebCore::setCookies):
881         (WebCore::cookies):
882         * platform/mac/CookieJar.mm:
883         * platform/network/win/CookieJarWin.cpp:
884         * platform/qt/CookieJarQt.cpp:
885         (WebCore::setCookies):
886         (WebCore::cookies):
887         (WebCore::cookiesEnabled):
888         * platform/wx/TemporaryLinkStubs.cpp:
889
890 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
891
892         Reviewed by Holger.
893
894         Windows build fix. (use localtime_r again instead of _s)
895
896         * loader/FTPDirectoryDocument.cpp:
897         (WebCore::processFileDateString):
898
899 2008-01-17  Frans Englich  <fenglich@trolltech.com>
900
901         Reviewed by Simon Hausmann <hausmann@webkit.org>.
902
903         Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
904
905         * loader/FTPDirectoryDocument.cpp:
906
907 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
908
909         Reviewed by Holger.
910
911         Don't link QtWebKit against libQtXml when building against Qt 4.4.
912
913         This is not necessary anymore since QXmlStream has been moved into QtCore.
914
915         * WebCore.pro:
916
917 2008-01-17  HÃ¥vard Wall  <hwall@trolltech.com>
918
919         Reviewed by Simon Hausmann <hausmann@webkit.org>.
920
921         Fix compilation on arm
922
923         * platform/graphics/qt/GraphicsContextQt.cpp:
924         (WebCore::GraphicsContext::endTransparencyLayer):
925
926 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
927
928         Reviewed by Holger.
929
930         Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
931
932         * WebCore.pro:
933         * platform/network/qt/ResourceHandleQt.cpp:
934         * platform/qt/MIMETypeRegistryQt.cpp:
935         * platform/qt/PlugInInfoStoreQt.cpp:
936
937 2008-01-17  Frans Englich  <fenglich@trolltech.com>
938
939         Reviewed by Simon Hausmann <hausmann@webkit.org>.
940
941         Fixes compilation with MinGW.
942         Neither localtime_r nor localtime_s are available on MingW, so instead of
943         calling back to the thread-unsafe localtime use QDateTime instead.
944
945         * loader/FTPDirectoryDocument.cpp:
946         (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
947         (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
948         (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
949         * loader/FTPDirectoryParser.cpp:
950         (WebCore::parseOneFTPLine):
951
952 2008-01-17  Dan Bernstein  <mitz@apple.com>
953
954         Reviewed by Dave Hyatt.
955
956         - fix determinePitch for segmented fonts
957
958         Covered by fast/css/font-face-implicit-local-font.html
959
960         * platform/graphics/FontFallbackList.cpp:
961         (WebCore::FontFallbackList::determinePitch): If the primary font is
962         segmented, treat as fixed pitch only if it has only one segment
963         and that segment is fixed-pitch.
964
965 2008-01-16  David Hyatt  <hyatt@apple.com>
966
967         Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
968
969         Make sure vertical-align length values are offset from their parents rather than being absolute to the
970         line.
971
972         Reviewed by olliej
973
974         Added fast/css/vertical-align-lengths.html
975
976         * rendering/RenderObject.cpp:
977         (WebCore::RenderObject::getVerticalPosition):
978
979 2008-01-16  Dan Bernstein  <mitz@apple.com>
980
981         Reviewed by Dave Hyatt.
982
983         - fix for @font-face rules with unicode-range: always use a local font where not
984           explicitly overlaid.
985
986         Test: fast/css/font-face-implicit-local-font.html
987
988         * css/CSSFontSelector.cpp:
989         (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
990         @font-face rule with the local font the matches the family and description before
991         any explicit @font-face rules that overlay specific ranges of the same font.
992         * css/CSSSegmentedFontFace.h:
993         (WebCore::CSSSegmentedFontFace::numRanges): Addded.
994
995 2008-01-16  Antti Koivisto  <antti@apple.com>
996
997         Fix Tiger build.
998
999         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1000         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1001
1002 2008-01-16  Antti Koivisto  <antti@apple.com>
1003
1004         Reviewed by Adele.
1005         
1006         OS X fix for <rdar://problem/5605682>
1007         Disallow streaming protocols for media elements
1008         and <rdar://problem/5668711>
1009         Limit the container and codec types that the <video> tag supports
1010         
1011         - Disable unsupported QuickTime tracks types. 
1012         - Disallow streaming protocols (for now).
1013         - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute 
1014           to limit QuickTime's access to external resources.
1015         
1016         Windows patch coming up.
1017
1018         Tests: media/broken-video.html
1019                media/unsupported-rtsp.html
1020                media/unsupported-tracks.html
1021
1022         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1023         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1024         (WebCore::MediaPlayerPrivate::createQTMovie):
1025         (WebCore::MediaPlayerPrivate::updateStates):
1026         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1027
1028 2008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
1029
1030         Reviewed by Alp Toker.
1031
1032         http://bugs.webkit.org/show_bug.cgi?id=16897
1033         Add shared plugins directory to INCLUDE path
1034
1035         Add the plugins directory to INCLUDEPATH
1036
1037         * GNUmakefile.am:
1038         * WebCore.pro:
1039
1040 2008-01-16  Geoffrey Garen  <ggaren@apple.com>
1041
1042         Reviewed by Sam Weinig.
1043         
1044         Added a debug counter for SQL transactions. This helped me debug an SQL
1045         leak.
1046
1047         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1048         (WebCore::):
1049         (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
1050         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1051         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
1052         * bindings/js/JSCustomSQLTransactionCallback.h:
1053
1054         * bindings/js/kjs_window.cpp: Removed a silly comment.
1055
1056 2008-01-16  David Hyatt  <hyatt@apple.com>
1057
1058         Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
1059
1060         Reviewed by Eric Seidel
1061
1062         Added fast/table/dynamic-cellpadding.html
1063
1064         * html/HTMLTableElement.cpp:
1065         (WebCore::HTMLTableElement::parseMappedAttribute):
1066         * rendering/RenderTable.cpp:
1067         (WebCore::RenderTable::setCellPadding):
1068         * rendering/RenderTable.h:
1069
1070 2008-01-16  David Hyatt  <hyatt@apple.com>
1071
1072         Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
1073
1074         This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
1075         The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
1076         to apply.  In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
1077         to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
1078         laying out).
1079
1080         This new patch rewrites the quirk to be complete.  The original test case attached to the bug that tested a variety
1081         of image/text combinations now fully matches WinIE.
1082
1083         Reviewed by Beth
1084
1085         Added fast/table/unbreakable-images-quirk.html
1086
1087         * rendering/RenderBlock.cpp:
1088         (WebCore::RenderBlock::calcInlinePrefWidths):
1089         * rendering/bidi.cpp:
1090         (WebCore::RenderBlock::findNextLineBreak):
1091
1092 2008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
1093
1094         Reviewed by Jon Honeycutt
1095
1096         Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
1097         a circular dependency on PluginDatabaseWin
1098         Remove the getFileVersion method, and just check the versions directly
1099         in isPluginBlacklisted, as it was the only caller
1100
1101         http://bugs.webkit.org/show_bug.cgi?id=16884
1102
1103         * plugins/win/PluginDatabaseWin.cpp:
1104         * plugins/win/PluginDatabaseWin.h:
1105         * plugins/win/PluginPackageWin.cpp:
1106         * plugins/win/PluginPackageWin.h:
1107
1108 2008-01-16  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1109
1110         Reviewed by Lars.
1111
1112         * Set the cursor on the containingWindow() instead of the
1113         nativeWidget()
1114         * This should be safe even with plugins as the cursor is set
1115         on the mouse events.
1116
1117         * platform/qt/WidgetQt.cpp:
1118         (WebCore::Widget::setCursor):
1119
1120 2008-01-16  Brad Hughes  <bhughes@trolltech.com>
1121
1122         Reviewed by Lars.
1123
1124         Improve the sqlite3 dependency when building WebKit inside Qt.
1125
1126         Build sqlite3 into QtWebKit if a system sqlite3 development package
1127         can't be found.
1128
1129         * WebCore.pro:
1130
1131 2008-01-16  Lars Knoll  <lars@trolltech.com>
1132
1133         Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
1134
1135         Implement GraphicsContext::clipOut and fix transparency layers.
1136
1137         Transparency layers where broken in two ways: It always used the
1138         complete device rect as the size of the layer pixmap and the pixmaps
1139         where not correctly initialized to transparent.
1140
1141         This fixes the worst drawing errors in the Inspector and makes drawing it
1142         10 times faster.
1143
1144         * platform/graphics/qt/GraphicsContextQt.cpp:
1145         (WebCore::toQtLineJoin):
1146         (WebCore::TransparencyLayer::TransparencyLayer):
1147         (WebCore::GraphicsContextPlatformPrivate::p):
1148         (WebCore::GraphicsContext::platformContext):
1149         (WebCore::GraphicsContext::savePlatformState):
1150         (WebCore::GraphicsContext::restorePlatformState):
1151         (WebCore::GraphicsContext::drawRect):
1152         (WebCore::GraphicsContext::drawLine):
1153         (WebCore::GraphicsContext::drawEllipse):
1154         (WebCore::GraphicsContext::strokeArc):
1155         (WebCore::GraphicsContext::drawConvexPolygon):
1156         (WebCore::GraphicsContext::fillRect):
1157         (WebCore::GraphicsContext::fillRoundedRect):
1158         (WebCore::GraphicsContext::clip):
1159         (WebCore::GraphicsContext::drawFocusRing):
1160         (WebCore::GraphicsContext::beginTransparencyLayer):
1161         (WebCore::GraphicsContext::endTransparencyLayer):
1162         (WebCore::GraphicsContext::clearRect):
1163         (WebCore::GraphicsContext::strokeRect):
1164         (WebCore::GraphicsContext::setLineCap):
1165         (WebCore::GraphicsContext::setLineJoin):
1166         (WebCore::GraphicsContext::setMiterLimit):
1167         (WebCore::GraphicsContext::setAlpha):
1168         (WebCore::GraphicsContext::setCompositeOperation):
1169         (WebCore::GraphicsContext::clipOut):
1170         (WebCore::GraphicsContext::translate):
1171         (WebCore::GraphicsContext::origin):
1172         (WebCore::GraphicsContext::rotate):
1173         (WebCore::GraphicsContext::scale):
1174         (WebCore::GraphicsContext::clipOutEllipseInRect):
1175         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1176         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1177         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1178         (WebCore::GraphicsContext::setPlatformFillColor):
1179         (WebCore::GraphicsContext::setUseAntialiasing):
1180
1181 2008-01-16  Lars Knoll  <lars@trolltech.com>
1182
1183         Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
1184
1185         Trivially implement the themed search field by mapping it to a text field
1186
1187         Also add a bunch of notImplemented warnings for other places where we don't
1188         have an implementatin in RenderTheme.
1189
1190         * platform/qt/RenderThemeQt.cpp:
1191         (WebCore::RenderThemeQt::paintTextField):
1192         (WebCore::RenderThemeQt::paintMenuListButton):
1193         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1194         (WebCore::RenderThemeQt::paintSliderTrack):
1195         (WebCore::RenderThemeQt::paintSliderThumb):
1196         (WebCore::RenderThemeQt::paintSearchField):
1197         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
1198         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
1199         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
1200         (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
1201         (WebCore::RenderThemeQt::paintSearchFieldDecoration):
1202         (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
1203         (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
1204
1205 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
1206
1207         Reviewed by Simon.
1208
1209         * Follow the EventHandlerWin.cpp and always return true in the handlers.
1210         * Match the windows implementation more closely as well.
1211         * This is fixing "selection" bugs with the Web Inspector
1212
1213         * page/qt/EventHandlerQt.cpp:
1214         (WebCore::EventHandler::focusDocumentView):
1215         (WebCore::EventHandler::passMousePressEventToSubframe):
1216         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1217         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1218         (WebCore::EventHandler::passMousePressEventToScrollbar):
1219
1220 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
1221
1222         Reviewed by Lars Knoll <lars@trolltech.com>.
1223
1224         Fix crashes in the new networking code.
1225
1226         When the ResourceLoader cancels the handle we have to make sure not to access
1227         the resource handle afterwards again.
1228
1229         * platform/network/qt/QNetworkReplyHandler.cpp:
1230         (WebCore::QNetworkReplyHandler::finish):
1231         (WebCore::QNetworkReplyHandler::forwardData):
1232
1233 2008-01-16  Lars Knoll  <lars@trolltech.com>
1234
1235         Reviewed by Simon.
1236
1237         add conversion methods from and to QUrl to KURL.
1238
1239         Use them in the places I found at the moment. Fixes a bug
1240         where form data was encoded twice.
1241         Also fix QWebSettings to take a QUrl for the user style sheet
1242         location.
1243
1244         * WebCore.pro:
1245         * platform/KURL.h:
1246         * platform/network/qt/QNetworkReplyHandler.cpp:
1247         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1248         * platform/network/qt/ResourceRequestQt.cpp:
1249         (WebCore::ResourceRequest::toNetworkRequest):
1250         * platform/qt/KURLQt.cpp: Added.
1251         (WebCore::KURL::KURL):
1252         (WebCore::KURL::operator QUrl):
1253
1254 2008-01-15  Darin Adler  <darin@apple.com>
1255
1256         Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
1257
1258         - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
1259
1260         Put navigation policy delegate calls back for redirects.
1261         Just rolled out the change where I took them out.
1262
1263         * loader/MainResourceLoader.cpp:
1264         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
1265         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1266         (WebCore::MainResourceLoader::willSendRequest):
1267         * loader/MainResourceLoader.h:
1268
1269 2008-01-15  Adele Peterson  <adele@apple.com>
1270
1271         Reviewed by Sam.
1272
1273         Remove unused variable for old media control background drawing code.
1274
1275         * rendering/RenderThemeMac.h:
1276         * rendering/RenderThemeMac.mm:
1277         (WebCore::RenderThemeMac::RenderThemeMac):
1278         (WebCore::RenderThemeMac::~RenderThemeMac):
1279
1280 2008-01-15  Sam Weinig  <sam@webkit.org>
1281
1282         Reviewed by Geoffrey Garen.
1283
1284         Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
1285
1286         - Update JS Function implementations to use a static function based method. This decreases
1287           the binary size of an Intel only build by 1013.5K.
1288
1289         * WebCore.xcodeproj/project.pbxproj:
1290         * bindings/js/JSDOMWindowCustom.cpp:
1291         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1292         * bindings/js/JSEventTargetBase.cpp:
1293         (WebCore::jsEventTargetAddEventListener):
1294         (WebCore::jsEventTargetRemoveEventListener):
1295         (WebCore::jsEventTargetDispatchEvent):
1296         (WebCore::retrieveEventTargetAndCorrespondingNode):
1297         * bindings/js/JSEventTargetBase.h:
1298         * bindings/js/JSHTMLInputElementBase.cpp:
1299         (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
1300         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
1301         * bindings/js/JSHTMLInputElementBase.h:
1302         * bindings/js/JSLocation.cpp:
1303         (WebCore::JSLocation::getOwnPropertySlot):
1304         (WebCore::jsLocationProtoFuncReplace):
1305         (WebCore::jsLocationProtoFuncReload):
1306         (WebCore::jsLocationProtoFuncAssign):
1307         (WebCore::jsLocationProtoFuncToString):
1308         * bindings/js/JSLocation.h:
1309         * bindings/js/JSXMLHttpRequest.cpp:
1310         (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
1311         (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
1312         (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
1313         (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
1314         (KJS::jsXMLHttpRequestPrototypeFunctionSend):
1315         (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
1316         (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
1317         (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
1318         (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
1319         (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
1320         * bindings/js/JSXMLHttpRequest.h:
1321         * bindings/js/JSXSLTProcessor.cpp:
1322         (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
1323         (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
1324         (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
1325         (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
1326         (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
1327         (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
1328         (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
1329         (KJS::jsXSLTProcessorPrototypeFunctionReset):
1330         * bindings/js/JSXSLTProcessor.h:
1331         * bindings/js/kjs_events.cpp:
1332         (WebCore::jsClipboardPrototypeFunctionClearData):
1333         (WebCore::jsClipboardPrototypeFunctionGetData):
1334         (WebCore::jsClipboardPrototypeFunctionSetData):
1335         (WebCore::jsClipboardPrototypeFunctionSetDragImage):
1336         * bindings/js/kjs_events.h:
1337         * bindings/js/kjs_navigator.cpp:
1338         (KJS::pluginsFunctionRefresh):
1339         (KJS::navigatorProtoFuncJavaEnabled):
1340         * bindings/js/kjs_navigator.h:
1341         * bindings/js/kjs_window.cpp:
1342         (KJS::Window::getOwnPropertySlot):
1343         (KJS::windowProtoFuncAToB):
1344         (KJS::windowProtoFuncBToA):
1345         (KJS::windowProtoFuncOpen):
1346         (KJS::windowProtoFuncSetTimeout):
1347         (KJS::windowProtoFuncClearTimeout):
1348         (KJS::windowProtoFuncSetInterval):
1349         (KJS::windowProtoFuncAddEventListener):
1350         (KJS::windowProtoFuncRemoveEventListener):
1351         (KJS::windowProtoFuncShowModalDialog):
1352         (KJS::windowProtoFuncNotImplemented):
1353         * bindings/js/kjs_window.h:
1354         * bindings/scripts/CodeGenerator.pm:
1355         * bindings/scripts/CodeGeneratorJS.pm:
1356
1357 2008-01-15  Adele Peterson  <adele@apple.com>
1358
1359         Reviewed by Dan.
1360
1361         Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
1362
1363         * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
1364           Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. 
1365
1366 2008-01-15  Alp Toker  <alp@atoker.com>
1367
1368         Rubber-stamped by Anders.
1369
1370         Make the HTTP backend configurable in the GTK+ port. curl is currently
1371         the only option.
1372
1373         * GNUmakefile.am:
1374
1375 2008-01-15  Adele Peterson  <adele@apple.com>
1376
1377         Build fix.
1378
1379         * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
1380
1381 2008-01-14  Samuel Weinig  <sam@webkit.org>
1382
1383         Reviewed by Darin.
1384
1385         Fix for <rdar://problem/5671040>
1386         REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
1387
1388         On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
1389         which does not completely make up reported regression, but I was not able to
1390         reproduce those findings either.
1391
1392         * css/CSSStyleSelector.cpp:
1393         (WebCore::CSSStyleSelector::matchRules):
1394         (WebCore::CSSStyleSelector::checkOneSelector):
1395         * dom/ClassNames.cpp:
1396         (WebCore::ClassNames::parseClassAttribute):
1397         * dom/ClassNames.h:
1398         (WebCore::ClassNames::contains):
1399         (WebCore::ClassNames::operator[]):
1400
1401 2008-01-15  Adele Peterson  <adele@apple.com>
1402
1403         Build fix.  This time for real.
1404
1405         * rendering/RenderThemeSafari.cpp:
1406
1407 2008-01-15  Adele Peterson  <adele@apple.com>
1408
1409         Build fix.
1410
1411         * rendering/RenderThemeSafari.cpp:
1412
1413 2008-01-15  Dan Bernstein  <mitz@apple.com>
1414
1415         Reviewed by Darin Adler.
1416
1417         - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
1418
1419         * svg/SVGPreserveAspectRatio.cpp:
1420         (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
1421         from float to double in order to make the values passed to scale() and
1422         translate() on Mac OS X and on Windows the same.
1423         * svg/SVGPreserveAspectRatio.h:
1424
1425 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
1426
1427         Reviewed by Darin.
1428
1429         <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
1430
1431         Test: fast/encoding/mailto-always-utf-8.html
1432
1433         * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
1434
1435 2008-01-15  Adele Peterson  <adele@apple.com>
1436
1437         Reviewed by Adam and Antti.
1438
1439         WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
1440
1441         * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData.  Added symbol for wkDrawMediaSliderTrack.
1442         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
1443         * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element.  Removed unnecessary margin for slider.
1444         * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
1445
1446         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
1447           Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
1448         * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData.  Added wkDrawMediaSliderTrack.
1449         * platform/mac/WebCoreSystemInterface.mm: ditto.
1450
1451         * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
1452         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
1453         * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
1454         * rendering/RenderThemeMac.mm:
1455         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
1456         (WebCore::RenderThemeMac::paintMediaSliderTrack): Added.  Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
1457         * rendering/RenderThemeSafari.cpp: ditto.
1458         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
1459         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
1460         * rendering/RenderThemeSafari.h:
1461
1462 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
1463
1464         Reviewed by Mark Rowe.
1465
1466         Some logging channels weren't initialized from user defaults.
1467
1468         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
1469         Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
1470
1471 2008-01-14  Steve Falkenburg  <sfalken@apple.com>
1472
1473         Use shared vsprops for most vcproj properties.
1474         
1475         Reviewed by Darin.
1476
1477         * WebCore.vcproj/QTMovieWin.vcproj:
1478         * WebCore.vcproj/WebCore.vcproj:
1479         * platform/graphics/win/QTMovieWin.cpp:
1480         (QTMovieWin::initializeQuickTime): Fix compiler warning.
1481
1482 2008-01-14  Eric Seidel  <eric@webkit.org>
1483
1484         Reviewed by mjs.
1485
1486         Remove a couple more uses of DeprecatedString
1487
1488         No functional changes, thus no test case.
1489
1490         * dom/Document.cpp:
1491         (WebCore::Document::write):
1492         (WebCore::Document::writeln):
1493         (WebCore::Document::recalcStyleSelector):
1494         * dom/Document.h:
1495
1496 2008-01-14  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
1497
1498         Reviewed by Alp Toker.
1499
1500         Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
1501         http://bugs.webkit.org/show_bug.cgi?id=16874
1502
1503         * GNUmakefile.am:
1504         * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
1505         (WebCore::SVGResourceFilter::createPlatformData):
1506         (WebCore::SVGResourceFilter::prepareFilter):
1507         (WebCore::SVGResourceFilter::applyFilter):
1508
1509 2008-01-14  Finnur Thorarinsson  <finnur.webkit@gmail.com>
1510
1511         Reviewed by hyatt & eseidel.
1512
1513         - fix http://bugs.webkit.org/show_bug.cgi?id=16844
1514         RenderText::addLineBoxRects erroneously includes last char for boundingBox
1515
1516         This patch fixes an issue with addLineBoxRects not correctly calculating the 
1517         rects due to an off-by-one error in using box->end(). We were assuming that 
1518         end() gives the index past the last character, when in fact it gives the 
1519         index _of_ the last character. 
1520
1521         Eric Seidel and I could not find a way to test this via DRT. This method is 
1522         only used by WebKit or Safari for displaying selection rects AFAICT.
1523
1524         * rendering/RenderText.cpp:
1525         (WebCore::RenderText::addLineBoxRects):
1526
1527 2008-01-14  Darin Adler  <darin@apple.com>
1528
1529         Reviewed by Geoff.
1530
1531         - fix crash seen in layout tests
1532
1533         * html/HTMLFrameSetElement.cpp:
1534         (WebCore::HTMLFrameSetElement::attach):
1535         Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
1536         HTMLElement or a Document, not necessarily an HTMLElement.
1537
1538 2008-01-14  Darin Adler  <darin@apple.com>
1539
1540         Reviewed by Sam.
1541
1542         - fix mistakes Sam noticed in my re-speed-up patch
1543
1544         * dom/Element.cpp:
1545         (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
1546         this inline.
1547         * dom/Element.h: Moved virtualHasTagName out of header file.
1548
1549         * dom/Node.cpp:
1550         (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
1551         this inline.
1552         * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
1553         out of header file.
1554
1555         * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
1556
1557         * platform/text/StringImpl.h: Removed StringBuffer class.
1558
1559         * loader/DocumentLoader.cpp: Added StringBuffer.h include.
1560         * platform/text/String.cpp: Ditto.
1561         * platform/text/StringImpl.cpp: Ditto.
1562         * platform/text/TextCodecLatin1.cpp: Ditto.
1563         * platform/text/TextCodecUTF16.cpp: Ditto.
1564         * platform/text/TextCodecUserDefined.cpp: Ditto.
1565
1566         * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
1567         * WebCore.xcodeproj/project.pbxproj: Ditto.
1568
1569 2008-01-14  Dave Hyatt  <hyatt@apple.com>
1570
1571         Clean up all the misplaced graphics files after the recent file moves.  Clean up the project to
1572         accurately reflect the location of all the graphics files.
1573         
1574         Reviewed by Adam
1575
1576         * WebCore.vcproj/WebCore.vcproj:
1577         * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
1578         * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
1579         * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
1580         * platform/win/GraphicsContextWin.cpp: Removed.
1581         * platform/win/UniscribeController.cpp: Removed.
1582         * platform/win/UniscribeController.h: Removed.
1583
1584 2008-01-14  Geoffrey Garen  <ggaren@apple.com>
1585
1586         Reviewed by Sam Weinig.
1587         
1588         Some cleanup to my last patch.
1589
1590         Removed one unused setter declaration and one unused setter definition.
1591         
1592         Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
1593         because "get" is all over the IDL files, and "read" is not.
1594
1595         * bindings/scripts/CodeGeneratorJS.pm:
1596         * page/DOMWindow.h:
1597         (WebCore::DOMWindow::defaultstatus):
1598         * page/DOMWindow.idl:
1599
1600 2008-01-14  Dan Bernstein  <mitz@apple.com>
1601
1602         Rubber-stamped by Alice Liu.
1603
1604         - remove reference to nonexistent file
1605
1606         * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
1607
1608 2008-01-14  Darin Adler  <darin@apple.com>
1609
1610         Reviewed by Adam.
1611
1612         - re-speed-up the page load test (my StringImpl change slowed it down)
1613           <rdar://problem/5677241> 1.5% PLT regression from r29098
1614
1615         To reverse the slowdown I caused by changing StringImpl, I tightened it up,
1616         and also did a little optimization in the HTML tokenizer and in other clients
1617         of Vector.
1618
1619         * WebCore.base.exp: Removed export of a now-inline function.
1620
1621         * css/CSSParser.cpp:
1622         (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
1623         to get property ID. This could be sped up even more by writing a fast path
1624         to use a local Vector<char> rather than allocating a string.
1625         (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
1626         allocating a string object to hold the number.
1627         (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
1628         DeprecatedString::toFloat.
1629
1630         * dom/Element.h:
1631         (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
1632         an Element*. It's still virtual if you have a Node*.
1633         (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
1634         case work.
1635
1636         * dom/Node.h:
1637         (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
1638         can override it with an inline. This is the same technique we use for
1639         firstChild and lastChild.
1640         (WebCore::Node::virtualHasTagName): This is the private virtual that Element
1641         overrides.
1642
1643         * dom/Text.cpp:
1644         (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
1645         PassRefPtr.
1646
1647         * html/HTMLTokenizer.cpp:
1648         (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
1649         which is more efficient in cases where we know the character is not a newline
1650         and hence we don't have to update the line number.
1651         (WebCore::HTMLTokenizer::parseComment): Ditto.
1652         (WebCore::HTMLTokenizer::parseServer): Ditto.
1653         (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1654         (WebCore::HTMLTokenizer::parseText): Ditto.
1655         (WebCore::HTMLTokenizer::parseEntity): Ditto.
1656         (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
1657         so there's one less branch taken for non-punctuation characters since this
1658         code path is *so* hot.
1659         (WebCore::HTMLTokenizer::write): More of the same.
1660
1661         * loader/Cache.cpp:
1662         (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
1663
1664         * loader/DocumentLoader.cpp:
1665         (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
1666
1667         * loader/TextResourceDecoder.cpp:
1668         (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
1669         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1670         (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
1671         (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
1672
1673         * platform/KURL.cpp:
1674         (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
1675
1676         * platform/SharedBuffer.cpp:
1677         (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
1678
1679         * platform/graphics/BitmapImage.cpp:
1680         (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
1681
1682         * platform/network/FormData.cpp:
1683         (WebCore::FormData::appendData): Use Vector::grow instead of resize.
1684         (WebCore::FormData::flatten): Ditto.
1685
1686         * platform/text/AtomicString.cpp:
1687         (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
1688         for use by AtomicString. Avoids setting fields twice, and also preserves reference
1689         count behavior (which I changed for the other constructors, since they're entirely
1690         private and used only inside the class).
1691         (WebCore::UCharBufferTranslator::translate): Ditto.
1692
1693         * platform/text/Base64.cpp:
1694         (WebCore::base64Encode): Use Vector::grow instead of resize.
1695         (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
1696
1697         * platform/text/PlatformString.h:
1698         (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
1699         made both versions inline.
1700
1701         * platform/text/SegmentedString.h:
1702         (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
1703         where the character is known to be a newline.
1704         (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
1705         the character is known not to be a newline.
1706
1707         * platform/text/String.cpp:
1708         (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
1709         (WebCore::String::insert): Ditto.
1710         (WebCore::String::truncate): Ditto.
1711         (WebCore::String::remove): Ditto.
1712         (WebCore::String::format): Use Vector::grow instead of resize.
1713
1714         * platform/text/StringImpl.cpp:
1715         (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
1716         of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
1717         since they all behave this way now. The only exceptions are the constructors for
1718         AtomicString, which retain the old behavior.
1719         (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
1720         special WithOneRef constructor.
1721         (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
1722         (WebCore::StringImpl::lower): Ditto.
1723         (WebCore::StringImpl::upper): Ditto.
1724         (WebCore::StringImpl::secure): Ditto.
1725         (WebCore::StringImpl::foldCase): Ditto.
1726         (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
1727         instead of resize (since half of the function uses Vector<UChar>).
1728         (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
1729         (WebCore::StringImpl::replace): Ditto.
1730         (WebCore::StringImpl::ascii): Streamlined a bit.
1731         (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
1732         Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
1733         Coded the check for null characters in a slightly more efficient way. Since this
1734         is so hot, didn't call adopt at all, putting the code right in here, including
1735         the call to the StringImpl constructor and adoptRef (for the fast case).
1736         (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
1737         Removed the attempt to resize the buffer at the time we adopt based on measuring
1738         actual use and realizing that it's just a character here or there and not worth
1739         a call to fastRealloc. Changed to use adoptRef since the constructor now starts
1740         with a refCount of 1.
1741         (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
1742         starts with a refCount of 1.
1743         (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
1744         (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
1745         itself is now inline.
1746
1747         * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
1748         putting characters into a buffer before creating an immutable string. Not good
1749         at resizing the way Vector<UChar> is, so only useful for things that rarely need
1750         to be resized. Added a new AdoptBuffer constructor and empty constructor, but
1751         made all constructors private so they can be inlined and only used inside the
1752         StringImpl class. Added two new constructors for AtomicString. Made copy()
1753         no longer inline. Changed the type of the [] operator to unsigned instead of
1754         int and added an assertion. Made the hash functions inline.
1755
1756         * platform/text/TextCodecICU.cpp:
1757         (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
1758
1759         * platform/text/TextCodecLatin1.cpp:
1760         (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
1761         (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
1762
1763         * platform/text/TextCodecUTF16.cpp:
1764         (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
1765
1766         * platform/text/TextCodecUserDefined.cpp:
1767         (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
1768         (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
1769
1770         * platform/text/TextEncoding.cpp:
1771         (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
1772
1773         * platform/text/TextStream.cpp:
1774         (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
1775
1776         * platform/text/mac/TextCodecMac.cpp:
1777         (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
1778
1779         * rendering/AutoTableLayout.cpp:
1780         (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
1781
1782         * rendering/RenderFrameSet.h:
1783         (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
1784         size instead of calling resize on them after allocating empty.
1785
1786         * rendering/RenderListMarker.cpp:
1787         (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
1788
1789         * rendering/RenderStyle.cpp: Removed CursorList::operator==.
1790         * rendering/RenderStyle.h:
1791         (WebCore::CursorList::operator==): Implemented using the Vector ==.
1792         (WebCore::CursorList::operator!=): Ditto.
1793
1794         * rendering/RenderTable.cpp:
1795         (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
1796         (WebCore::RenderTable::appendColumn): Ditto.
1797
1798         * rendering/RenderTableSection.cpp:
1799         (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
1800
1801         * rendering/bidi.cpp:
1802         (WebCore::addMidpoint): Use Vector::grow instead of resize.
1803
1804         * xml/XPathNodeSet.h:
1805         (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
1806
1807 2008-01-13  Steve Falkenburg  <sfalken@apple.com>
1808
1809         Share common files across projects.
1810         
1811         Unify vsprops files
1812         Debug:          common.vsprops, debug.vsprops
1813         Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
1814         Release:        common.vsprops, release.vsprops
1815         
1816         Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
1817         debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
1818
1819         Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
1820
1821         Reviewed by Adam Roben.
1822
1823         * WebCore.vcproj/PRODUCTVERSION: Removed.
1824         * WebCore.vcproj/QTMovieWin.vcproj:
1825         * WebCore.vcproj/VERSION: Removed.
1826         * WebCore.vcproj/WebCore.vcproj:
1827         * WebCore.vcproj/auto-version.sh: Removed.
1828         * WebCore.vcproj/debug.vsprops: Removed.
1829         * WebCore.vcproj/debug_internal.vsprops: Removed.
1830         * WebCore.vcproj/release.vsprops: Removed.
1831
1832 2008-01-13  Dan Bernstein  <mitz@apple.com>
1833
1834         Reviewed by Darin Adler.
1835
1836         - fix http://bugs.webkit.org/show_bug.cgi?id=16865
1837           fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
1838
1839         * rendering/RenderBox.cpp:
1840         (WebCore::RenderBox::destroy): Removed the call to
1841         RenderLayer::destroy() from here, because ~RenderLayer() calls
1842         RenderObject() methods.
1843         * rendering/RenderObject.cpp:
1844         (WebCore::RenderObject::destroy): Added the call to
1845         RenderLayer::destroy() here.
1846
1847 2008-01-13  Eric Seidel  <eric@webkit.org>
1848
1849         Reviewed by darin.
1850
1851         Range.insertNode does not update endContainer endIndex correctly
1852         in the case where it had to split a text node.
1853         http://bugs.webkit.org/show_bug.cgi?id=16765
1854         
1855         Darin pointed out during review that we still don't handle the dynamic
1856         range case (where the dom tree changes not using range methods)
1857         Thus this code will get ripped out when we add that.  The test cases
1858         are still valid and useful however, so I'm landing this as-is.
1859
1860         Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
1861                fast/dom/Range/range-insertNode-splittext.html
1862
1863         * dom/Range.cpp:
1864         (WebCore::Range::insertNode): handle the splitText case correctly.
1865
1866 2008-01-13  Darin Adler  <darin@apple.com>
1867
1868         Reviewed by Eric.
1869
1870         - http://bugs.webkit.org/show_bug.cgi?id=16861
1871           get rid of unnecessary string copying
1872
1873         * dom/Document.cpp:
1874         (WebCore::Document::setDomain): Removed unneeded call to copy.
1875         (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
1876         unneeded length argument to substring, which stops at the end of the string
1877         if you don't specify a length.
1878         (WebCore::Document::createAttributeNS): Replaced code that was calling copy
1879         with more-efficient code using the substring function.
1880         * dom/StyledElement.cpp:
1881         (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
1882         * editing/InsertIntoTextNodeCommand.cpp:
1883         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
1884         unneeded copy and also initialized text instead of assigning to it.
1885         (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
1886         (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
1887
1888         * editing/htmlediting.cpp:
1889         (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
1890         This one was particularly bad since we just turned around and copied it again!
1891
1892         * editing/markup.cpp:
1893         (WebCore::stringValueForRange): Removed unneeded call to copy.
1894
1895         * loader/icon/IconDatabase.cpp:
1896         (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
1897         get the path from the database object. This was the only reason the database
1898         had to keep its path around.
1899
1900         * platform/sql/SQLiteDatabase.cpp:
1901         (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
1902         convert the string to a null-terminated one.
1903         (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
1904         * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
1905         functio member. Also tweaked formatting and comments a bit. Removed the unused
1906         escapeSQLString function.
1907
1908         * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
1909
1910 2008-01-13  Oliver Hunt  <oliver@apple.com>
1911
1912         Attempt to fix QT build
1913
1914         * html/CanvasRenderingContext2D.cpp:
1915         (WebCore::CanvasRenderingContext2D::willDraw):
1916
1917 2008-01-13  Oliver Hunt  <oliver@apple.com>
1918
1919         Reviewed by Mark Rowe.
1920
1921         Avoid repainting the entire canvas element when possible.
1922
1923         http://bugs.webkit.org/show_bug.cgi?id=16859
1924
1925         We now only register the dirty regions of a canvas for repainting, rather
1926         than the entire element (though repaint coalescing may choose to combine
1927         these regions).  This doesn't cause a measurable regression in the worst
1928         case (clearing the canvas repeatedly), but is a moderate-large win if only
1929         a minor update has occurred.  If there is any CSS scaling applied to the
1930         canvas almost any update short of clearing the entire element is substantially
1931         faster.
1932
1933         * html/CanvasRenderingContext2D.cpp:
1934         (WebCore::CanvasRenderingContext2D::willDraw):
1935         * html/HTMLCanvasElement.cpp:
1936         (WebCore::HTMLCanvasElement::willDraw):
1937
1938 2008-01-13  Michael Goddard  <michael.goddard@trolltech.com>
1939
1940         Reviewed by Anders Carlsson.
1941
1942         Move RuntimeObjectImp creations into Instance.
1943         Make the ctor protected, and Instance a friend class, so
1944         that all creation of RuntimeObjectImps goes through
1945         one place.
1946
1947         * bindings/js/kjs_dom.cpp:
1948         (WebCore::getRuntimeObject):
1949
1950 2008-01-12  Rodney Dawes  <dobey@wayofthemonkey.com>
1951
1952         Gtk debug build fix.  Reviewed by Mark Rowe.
1953
1954         Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
1955
1956         * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
1957         * platform/Logging.cpp:
1958         * platform/Logging.h:
1959         * plugins/PluginDebug.h:
1960
1961 2008-01-12  Adam Barth  <hk9565@gmail.com>
1962
1963         Reviewed by Maciej (and also tweaked a little bit).
1964
1965         - more thorough fix for some crashing tests
1966           http://bugs.webkit.org/show_bug.cgi?id=16782
1967
1968         * loader/FrameLoader.cpp:
1969         (WebCore::FrameLoader::urlSelected):
1970         (WebCore::FrameLoader::submitForm):
1971         (WebCore::FrameLoader::executeIfJavaScriptURL):
1972         * loader/FrameLoader.h:
1973
1974 2008-01-12  Maciej Stachowiak  <mjs@apple.com>
1975
1976         Reviewed by Sam.
1977
1978         - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
1979         
1980         * platform/SecurityOrigin.cpp:
1981         (WebCore::isDefaultPortForProtocol):
1982         (WebCore::SecurityOrigin::SecurityOrigin):
1983
1984 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
1985
1986         Reviewed by Oliver Hunt.
1987         
1988         Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
1989         variable access (16644)
1990         
1991         Removed the ReadOnly bit from some properties, to match Firefox. Also
1992         removed status-related setters, to allow using their names as variable
1993         names.
1994         
1995         * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
1996         are one-way across domain boundaries, to match Firefox.
1997
1998         * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
1999
2000         * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
2001         we don't know that JSObject is our base class.
2002
2003         * page/DOMWindow.idl: Replaced lots of readonly declarations with
2004         [Replaceable] declarations.
2005
2006         * page/DOMWindow.h: Removed interfaces for setting status text via the
2007         DOM. (They were getting in the way of, e.g., "var status"
2008         declarations.) By default, IE 7 and FF disable these interfaces in order
2009         to defend against phishing attacks that try to spoof domain names in the
2010         statusbar.
2011         * page/DOMWindow.cpp:
2012
2013 2008-01-11  Anyang Ren  <anyang.ren@gmail.com>
2014
2015         Reviewed by Darin Adler.
2016
2017         http://bugs.webkit.org/show_bug.cgi?id=15960
2018         The view source mode should skip an empty attribute value only if
2019         the attribute name is not followed by an equal sign (=).
2020
2021         Test: fast/frames/viewsource-empty-attribute-value.html
2022
2023         * html/HTMLViewSourceDocument.cpp:
2024         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2025
2026 2008-01-11  Sylvain Pasche  <sylvain.pasche@gmail.com>
2027
2028         Reviewed by Alp Toker.
2029
2030         [Gtk] Uneven glyph spacing with subpixel antialiasing
2031         http://bugs.webkit.org/show_bug.cgi?id=16715
2032
2033         Use cairo font options from the default GDK screen when creating a
2034         scaled font.
2035
2036         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2037         (WebCore::FontPlatformData::FontPlatformData):
2038
2039 2008-01-11  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2040
2041         Reviewed by Maciej.
2042
2043         Added a new forwarding header, because Activation.h has been separated
2044         from function.h
2045
2046         * ForwardingHeaders/kjs/Activation.h: Added.
2047
2048 2008-01-11  Luca Bruno  <lethalman88@gmail.com>
2049
2050         Reviewed by Alp Toker.
2051
2052         http://bugs.webkit.org/show_bug.cgi?id=16729
2053         [cURL] Allow multiple files for upload
2054
2055         * platform/network/ResourceHandleInternal.h:
2056         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2057         * platform/network/curl/ResourceHandleCurl.cpp:
2058         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2059         * platform/network/curl/ResourceHandleManager.cpp:
2060         (WebCore::readCallback): added
2061         (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
2062         (WebCore::ResourceHandleManager::startJob):
2063         (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
2064         * platform/network/curl/ResourceHandleManager.h:
2065
2066 2008-01-11  Christian Dywan  <christian@imendio.com>
2067
2068         Reviewed by Alp Toker.
2069
2070         [Gtk] Menu items need underscores
2071         http://bugs.webkit.org/show_bug.cgi?id=16817
2072
2073         Add underscores to appropriate menu labels.
2074         Also adjust strings slightly.
2075
2076         * platform/gtk/ContextMenuItemGtk.cpp:
2077         (WebCore::ContextMenuItem::createNativeMenuItem):
2078         * platform/gtk/LocalizedStringsGtk.cpp:
2079         (WebCore::searchableIndexIntroduction):
2080         (WebCore::fileButtonChooseFileLabel):
2081         (WebCore::fileButtonNoFileSelectedLabel):
2082         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2083         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2084         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2085         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2086         (WebCore::contextMenuItemTagDownloadImageToDisk):
2087         (WebCore::contextMenuItemTagCopyImageToClipboard):
2088         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2089         (WebCore::contextMenuItemTagCopy):
2090         (WebCore::contextMenuItemTagGoBack):
2091         (WebCore::contextMenuItemTagGoForward):
2092         (WebCore::contextMenuItemTagStop):
2093         (WebCore::contextMenuItemTagReload):
2094         (WebCore::contextMenuItemTagCut):
2095         (WebCore::contextMenuItemTagPaste):
2096         (WebCore::contextMenuItemTagIgnoreSpelling):
2097         (WebCore::contextMenuItemTagLearnSpelling):
2098         (WebCore::contextMenuItemTagSearchWeb):
2099         (WebCore::contextMenuItemTagLookUpInDictionary):
2100         (WebCore::contextMenuItemTagOpenLink):
2101         (WebCore::contextMenuItemTagIgnoreGrammar):
2102         (WebCore::contextMenuItemTagSpellingMenu):
2103         (WebCore::contextMenuItemTagShowSpellingPanel):
2104         (WebCore::contextMenuItemTagCheckSpelling):
2105         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2106         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2107         (WebCore::contextMenuItemTagFontMenu):
2108         (WebCore::contextMenuItemTagBold):
2109         (WebCore::contextMenuItemTagItalic):
2110         (WebCore::contextMenuItemTagUnderline):
2111         (WebCore::contextMenuItemTagOutline):
2112         (WebCore::contextMenuItemTagWritingDirectionMenu):
2113         (WebCore::contextMenuItemTagDefaultDirection):
2114         (WebCore::contextMenuItemTagLeftToRight):
2115         (WebCore::contextMenuItemTagRightToLeft):
2116         (WebCore::contextMenuItemTagInspectElement):
2117         (WebCore::searchMenuClearRecentSearchesText):
2118
2119 2008-01-11  Ada Chan  <adachan@apple.com>
2120
2121         <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
2122         Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since 
2123         provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
2124         when a link to download a file has been clicked.
2125
2126         Reviewed by John and Anders.
2127
2128         * loader/FrameLoader.cpp:
2129         (WebCore::FrameLoader::provisionalLoadStarted):
2130         (WebCore::FrameLoader::commitProvisionalLoad):
2131
2132 2008-01-11  Jon Honeycutt  <jhoneycutt@apple.com>
2133
2134         Reviewed by Anders.
2135
2136         <rdar://problem/5683529> plugins/embed-inside-object.html is timing
2137         out/failing
2138
2139         Revert to using FrameTree::find() so that frame aliases like "_self" and
2140         "_current" are interpreted properly
2141
2142         * plugins/win/PluginViewWin.cpp:
2143         (WebCore::PluginViewWin::performRequest):
2144         (WebCore::PluginViewWin::load):
2145
2146 2008-01-11  Alp Toker  <alp@atoker.com>
2147
2148         Reviewed by Dave Hyatt and Mark Rowe.
2149
2150         http://bugs.webkit.org/show_bug.cgi?id=16089
2151         [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
2152
2153         Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
2154         port.
2155
2156         * GNUmakefile.am:
2157         * WebCore.pro:
2158         * loader/CachedFont.cpp:
2159         (WebCore::CachedFont::~CachedFont):
2160         (WebCore::CachedFont::ensureCustomFontData):
2161         (WebCore::CachedFont::platformDataFromCustomData):
2162         (WebCore::CachedFont::allReferencesRemoved):
2163         * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
2164         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2165         (WebCore::FontCustomPlatformData::fontPlatformData):
2166         (WebCore::releaseData):
2167         (WebCore::createFontCustomPlatformData):
2168         * platform/graphics/gtk/FontCustomPlatformData.h: Added.
2169         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2170         * platform/graphics/gtk/FontPlatformData.h:
2171         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2172         (WebCore::FontPlatformData::FontPlatformData):
2173         (WebCore::FontPlatformData::init):
2174         (WebCore::FontPlatformData::isFixedPitch):
2175         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2176         (WebCore::SimpleFontData::platformDestroy):
2177
2178 2008-01-11  Adam Roben  <aroben@apple.com>
2179
2180         Remove FrameLoader::committedFirstRealDocumentLoad
2181         
2182         This method no longer has any callers.
2183
2184         Reviewed by Hyatt.
2185
2186         * loader/FrameLoader.h:
2187
2188 2008-01-11  Antti Koivisto  <antti@apple.com>
2189
2190         Add a standalone version of the blog post video player as a manual test.
2191
2192         * manual-tests/resources/touch-poster.png: Added.
2193         * manual-tests/video-player.html: Added.
2194
2195 2008-01-10  Antti Koivisto  <antti@apple.com>
2196
2197         Reviewed by Adam.
2198
2199         Fix <rdar://problem/5682767>
2200         Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
2201         
2202         Take care that GWorld is created and deletes when needed as size or visibility changes.
2203
2204         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2205         (WebCore::MediaPlayerPrivate::load):
2206         * platform/graphics/win/QTMovieWin.cpp:
2207         (QTMovieWinPrivate::QTMovieWinPrivate):
2208         (QTMovieWinPrivate::updateGWorld):
2209         (QTMovieWinPrivate::setSize):
2210         (QTMovieWin::setVisible):
2211         (QTMovieWin::initializeQuickTime):
2212
2213 2008-01-11  David Hyatt  <hyatt@apple.com>
2214
2215         Fix for bug 11188, setting hspace on a table overrides align=center.  Fix align=center to be done using
2216         mapped attributes so that it does not get overridden by hspace all the time.
2217
2218         Reviewed by mitz
2219
2220         Added fast/table/table-hspace-align-center.html
2221
2222         * css/html4.css:
2223         * html/HTMLTableElement.cpp:
2224         (WebCore::HTMLTableElement::parseMappedAttribute):
2225
2226 2008-01-11  Mark Rowe  <mrowe@apple.com>
2227
2228         Qt build fix.
2229
2230         * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
2231
2232 2008-01-11  Mark Rowe  <mrowe@apple.com>
2233
2234         Qt build fix.  Add link stubs for the new FileSystem.h functions introduced
2235         in r29399.
2236
2237         * platform/qt/TemporaryLinkStubs.cpp:
2238         (WebCore::openTemporaryFile):
2239
2240 2008-01-11  Rodney Dawes  <dobey@wayofthemonkey.com>
2241
2242         Reviewed by Anders Carlsson.
2243
2244         Bug 16779: Make the PluginStream implementation be shared across platforms
2245         http://bugs.webkit.org/show_bug.cgi?id=16779
2246
2247         Add the new shared PluginStream files to the GTK+ and Win32 builds.
2248         Add PluginStreamClient class for the streamDidFinishLoading method.
2249         Add open/close/write methods to FileSystem for temporary file handling.
2250         Add PluginDebug.h and npfunctions.h for shared PluginStream.
2251         Add shared PluginStream.
2252         Remove PluginStreamWin.
2253         Update PluginViewWin to use shared PluginStream and PluginStreamClass.
2254
2255         * GNUmakefile.am:
2256         * WebCore.pro:
2257         * WebCore.vcproj/WebCore.vcproj:
2258         * platform/FileSystem.h:
2259         * platform/gtk/FileSystemGtk.cpp:
2260         * platform/win/FileSystemWin.cpp:
2261         * plugins/PluginDebug.h:
2262         * plugins/PluginStream.cpp:
2263         * plugins/PluginStream.h:
2264         * plugins/npfunctions.h:
2265         * plugins/win/PluginDebug: Moved to PluginDebug.h.
2266         * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
2267         * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
2268         * plugins/win/PluginViewWin.cpp:
2269         * plugins/win/PluginViewWin.h:
2270         * plugins/win/npfunctions.h: Moved to npfunctions.h
2271
2272 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
2273
2274         Try to fix Mac build: Edit the right .exp file.
2275
2276         * WebCore.base.exp:
2277
2278 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
2279
2280         Try to fix Qt build: don't use pthreads if they're not available.
2281
2282         * bindings/js/GCController.cpp:
2283
2284 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
2285
2286         Reviewed by John Sullivan.
2287
2288         Fixed some world leak reports:
2289         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
2290         Interpreter after running cvs-base suite
2291
2292         * <rdar://problem/5669423> PLT complains about world leak if browser
2293         window is open when PLT starts
2294         
2295         These were both bugs in the reporting mechanism, so I took the
2296         opportunity to do some house cleaning there.
2297
2298         Stupid class, I kill you:
2299         * bridge/JavaScriptStatistics.cpp: Removed.
2300         * bridge/JavaScriptStatistics.h: Removed.
2301
2302         * bindings/js/GCController.h: Adopted the only useful features of
2303         JavaScriptStatistics, since they were GC-related.
2304         * bindings/js/GCController.cpp:
2305
2306 2008-01-10  Eric Seidel  <eric@webkit.org>
2307
2308         Reviewed by Adele.
2309
2310         No functional changes, only code cleanup.
2311
2312         * css/MediaQueryEvaluator.cpp:
2313         (WebCore::compareValue): renamed from cmpvalue
2314         (WebCore::colorMediaFeatureEval):
2315         (WebCore::device_aspect_ratioMediaFeatureEval):
2316         (WebCore::device_pixel_ratioMediaFeatureEval):
2317         (WebCore::gridMediaFeatureEval):
2318         (WebCore::device_heightMediaFeatureEval):
2319         (WebCore::device_widthMediaFeatureEval):
2320         (WebCore::heightMediaFeatureEval):
2321         (WebCore::widthMediaFeatureEval):
2322
2323 2008-01-10  Dan Bernstein  <mitz@apple.com>
2324
2325         Reviewed by Anders Carlsson.
2326
2327         - fix a crash when calling alert() from a repeating timer
2328
2329         On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
2330         alert() and other similar functions, which deletes the actual
2331         DOMWindowTimer objects and replaces them with new objects when resuming.
2332
2333         * bindings/js/kjs_window.cpp:
2334         (KJS::Window::timerFired): Re-fetch the timer object from the map in
2335         case it has been deleted or replaced.
2336
2337 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
2338
2339         Reviewed by Sam.
2340
2341         - remove SecurityOriginData and fold its functionality into SecurityOrigin
2342
2343         * GNUmakefile.am:
2344         * WebCore.base.exp:
2345         * WebCore.pro:
2346         * WebCore.vcproj/WebCore.vcproj:
2347         * WebCore.xcodeproj/project.pbxproj:
2348         * WebCoreSources.bkl:
2349         * bindings/js/JSDOMWindowCustom.cpp:
2350         (WebCore::JSDOMWindow::postMessage):
2351         * dom/Document.cpp:
2352         (WebCore::Document::domain):
2353         * page/Chrome.cpp:
2354         (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
2355         (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
2356         * page/Chrome.h:
2357         * page/ChromeClient.h:
2358         * platform/SecurityOrigin.cpp:
2359         (WebCore::SecurityOrigin::copy):
2360         (WebCore::SecurityOrigin::createFromIdentifier):
2361         (WebCore::SecurityOrigin::stringIdentifier):
2362         * platform/SecurityOrigin.h:
2363         (WebCore::SecurityOrigin::host):
2364         (WebCore::SecurityOrigin::protocol):
2365         (WebCore::SecurityOrigin::port):
2366         (WebCore::SecurityOrigin::equal):
2367         * platform/SecurityOriginData.cpp: Removed.
2368         * platform/SecurityOriginData.h: Removed.
2369         * storage/Database.cpp:
2370         (WebCore::Database::openDatabase):
2371         (WebCore::Database::Database):
2372         (WebCore::Database::securityOriginCopy):
2373         * storage/Database.h:
2374         * storage/DatabaseTracker.cpp:
2375         (WebCore::SecurityOriginHash::hash):
2376         (WebCore::SecurityOriginHash::equal):
2377         (WebCore::SecurityOriginTraits::deletedValue):
2378         (WebCore::SecurityOriginTraits::emptyValue):
2379         (WebCore::DatabaseTracker::canEstablishDatabase):
2380         (WebCore::DatabaseTracker::hasEntryForOrigin):
2381         (WebCore::DatabaseTracker::hasEntryForDatabase):
2382         (WebCore::DatabaseTracker::establishEntryForOrigin):
2383         (WebCore::DatabaseTracker::fullPathForDatabase):
2384         (WebCore::DatabaseTracker::populateOrigins):
2385         (WebCore::DatabaseTracker::origins):
2386         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2387         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2388         (WebCore::DatabaseTracker::setDatabaseDetails):
2389         (WebCore::DatabaseTracker::usageForDatabase):
2390         (WebCore::DatabaseTracker::usageForOrigin):
2391         (WebCore::DatabaseTracker::quotaForOrigin):
2392         (WebCore::DatabaseTracker::setQuota):
2393         (WebCore::DatabaseTracker::addDatabase):
2394         (WebCore::DatabaseTracker::deleteAllDatabases):
2395         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
2396         (WebCore::DatabaseTracker::deleteDatabase):
2397         (WebCore::DatabaseTracker::deleteDatabaseFile):
2398         (WebCore::notificationQueue):
2399         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
2400         (WebCore::DatabaseTracker::notifyDatabasesChanged):
2401         * storage/DatabaseTracker.h:
2402         * storage/DatabaseTrackerClient.h:
2403         * storage/SQLTransaction.cpp:
2404         (WebCore::SQLTransaction::openTransactionAndPreflight):
2405         (WebCore::SQLTransaction::runStatements):
2406         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
2407         (WebCore::SQLTransaction::postflightAndCommit):
2408         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
2409         * svg/graphics/SVGImageEmptyClients.h:
2410         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
2411         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
2412
2413 2008-01-10  Anders Carlsson  <andersca@apple.com>
2414
2415         Reviewed by Sam.
2416
2417         Use the correct frame loader load method. Using the old method would not cause a 
2418         new window to be open if the frame navigation was not allowed.
2419         
2420         * plugins/win/PluginViewWin.cpp:
2421         (WebCore::PluginViewWin::performRequest):
2422
2423 2008-01-10  Alp Toker  <alp@atoker.com>
2424
2425         SVG font build fix for GTK+/autotools.
2426
2427         * GNUmakefile.am:
2428
2429 2008-01-10  Adam Barth  <hk9565@gmail.com>
2430
2431         Reviewed by Sam Weinig and Anders Carlsson.
2432
2433         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
2434         <rdar://problem/5657355>
2435
2436         This patch makes two changes:
2437
2438         1) Java calls FrameLoader::load in a slightly different way than
2439            JavaScript, which previously let a malicious web site bypass the
2440            shouldAllowNavigation check.  This patch adds that check to that
2441            code path.
2442
2443         2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
2444            findFrameForNavigation, which calls shouldAllowNavigation.  This
2445            treats disallowed frame navigations as if the named frame did not
2446            exist, resulting in a popup window when appropriate.
2447
2448         Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
2449                http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
2450
2451         * WebCore.base.exp:
2452         * bindings/js/kjs_window.cpp:
2453         (KJS::WindowProtoFuncOpen::callAsFunction):
2454         * loader/FrameLoader.cpp:
2455         (WebCore::FrameLoader::createWindow):
2456         (WebCore::FrameLoader::load):
2457         (WebCore::FrameLoader::post):
2458         (WebCore::FrameLoader::findFrameForNavigation):
2459         * loader/FrameLoader.h:
2460
2461 2008-01-10  John Sullivan  <sullivan@apple.com>
2462
2463         Written by Hyatt, reviewed by me
2464         
2465         - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 
2466           a <video> element that uses controls attribute
2467
2468         * rendering/MediaControlElements.cpp:
2469         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
2470         force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
2471         up this architecture, but this one-line fix will prevent the crash in the meantime
2472
2473 2008-01-10  Ada Chan  <adachan@apple.com>
2474
2475         Fix fast/forms/input-radio-checked-tab.html
2476         Meta key is not the same as Alt key on windows.
2477
2478         Reviewed by Darin.
2479
2480         * platform/win/KeyEventWin.cpp:
2481         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2482
2483 2008-01-10  Anders Carlsson  <andersca@apple.com>
2484
2485         Reviewed by Jon.
2486
2487         Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
2488         
2489         * plugins/win/PluginViewWin.cpp:
2490         (WebCore::PluginViewWin::performRequest):
2491         Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
2492         
2493         (WebCore::PluginViewWin::requestTimerFired):
2494         Don't leak the plugin requests.
2495         
2496         (WebCore::PluginViewWin::load):
2497
2498 2008-01-10  Anders Carlsson  <andersca@apple.com>
2499
2500         Reviewed by John Sullivan.
2501
2502         <rdar://problem/5455889>
2503         REGRESSION: BumperCar crashes when attempting to load a long invalid URL
2504         
2505         Make sure to call FrameLoader::receivedMainResourceError before calling
2506         FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
2507         clearing out the provisional document loader so that we won't call the didFail
2508         ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
2509         didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
2510         
2511         * loader/MainResourceLoader.cpp:
2512         (WebCore::MainResourceLoader::receivedError):
2513
2514 2008-01-10  Antti Koivisto  <antti@apple.com>
2515
2516         Reviewed by Adele.
2517
2518         Fix <rdar://problem/5658048>
2519         After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
2520         
2521         - Move to paused state if the playback had ended and the controller is used to seek to earlier time
2522         - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
2523
2524         * html/HTMLMediaElement.cpp:
2525         (WebCore::HTMLMediaElement::HTMLMediaElement):
2526         (WebCore::HTMLMediaElement::updateMediaPlayer):
2527         (WebCore::HTMLMediaElement::setPausedInternal):
2528         * html/HTMLMediaElement.h:
2529         * rendering/MediaControlElements.cpp:
2530         (WebCore::MediaControlTimelineElement::defaultEventHandler):
2531
2532 2008-01-10  Alexey Proskuryakov  <ap@webkit.org>
2533
2534         Reviewed by Adam Roben.
2535
2536         <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
2537
2538         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
2539         requests, as CFNetwork doesn't perform extension to MIME type mapping then.
2540
2541 2008-01-10  Adam Roben  <aroben@apple.com>
2542
2543         Fixes to allow multiple FrameViews on Windows
2544
2545         Reviewed by Hyatt.
2546
2547         * page/FrameView.cpp:
2548         (WebCore::FrameView::FrameView): Added a new constructor that takes an
2549         IntSize to specify the FrameView's initial size.
2550         (WebCore::FrameView::scheduleRelayout): Added an assertion that our
2551         Document is not in the page cache.
2552         * page/FrameView.h:
2553         * platform/gtk/WidgetGtk.cpp:
2554         (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
2555         * platform/qt/WidgetQt.cpp:
2556         (WebCore::Widget::~Widget): Ditto.
2557         * rendering/RenderWidget.cpp:
2558         (WebCore::RenderWidget::setWidget): Make sure to remove any existing
2559         Widget from the Widget hierarchy before deleting it. One instance
2560         where this is needed is when setWidget is called during FrameView
2561         creation on Windows.
2562
2563 2008-01-10  Alp Toker  <alp@atoker.com>
2564
2565         Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
2566
2567         * svg/SVGFontFaceElement.cpp:
2568
2569 2008-01-10  Justin Garcia  <justin.garcia@apple.com>
2570
2571         Reviewed by Alice Liu.
2572
2573         <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
2574         <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
2575         
2576         Make sure we have an updated layout before we perform any editing work.
2577
2578         * editing/EditCommand.cpp:
2579         (WebCore::EditCommand::apply):
2580         (WebCore::EditCommand::unapply):
2581         (WebCore::EditCommand::reapply):
2582
2583 2008-01-10  Luca Bruno  <lethalman88@gmail.com>
2584
2585         Reviewed by Alp Toker.
2586
2587         Back out r29206 which was causing regressions in curl http job
2588         cancellation.
2589
2590         * platform/network/curl/ResourceHandleManager.cpp
2591         (ResourceHandleManager::cancel): 
2592
2593 2008-01-10  Kevin McCullough  <kmccullough@apple.com>
2594
2595         Reviewed by Darin, Sam, and Adam.
2596
2597         - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
2598         - link in gmail message displays JavaScript alert falsely complaining
2599         about pop-up blocking
2600         - When trying to open a new window, we now see if the user gesture 
2601         occurred in the global dynamic object instead of the frame since that is
2602         the only place an event can occur. 
2603
2604         * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
2605         of the frame.
2606         (KJS::allowPopUp):
2607         (KJS::showModalDialog):
2608         (KJS::WindowProtoFuncOpen::callAsFunction):
2609
2610 2008-01-10  David Hyatt  <hyatt@apple.com>
2611
2612         Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
2613
2614         Reviewed by adele
2615
2616         Added fast/css/visibility-hit-test.html test case.
2617
2618         * rendering/RenderBox.cpp:
2619         (WebCore::RenderBox::nodeAtPoint):
2620
2621 2008-01-10  Lars Knoll  <lars@trolltech.com>
2622
2623         Reviewed by Simon.
2624
2625         rename QWebPageHistory to QWebHistory.
2626
2627         * WebCore.pro:
2628
2629 2008-01-10  Lars Knoll  <lars@trolltech.com>
2630
2631         Reviewed by Simon.
2632
2633         fix the drawing errors that where introduced due to refactoring.
2634
2635         Correctly clip to the rectangle we want to draw in ScrollView::paint().
2636
2637         * platform/qt/ScrollViewQt.cpp:
2638         (WebCore::ScrollView::paint):
2639
2640 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
2641
2642         Reviewed by Lars.
2643
2644         Temporarily disable gzip decompression in qhttp due to a bug.
2645
2646         * platform/network/qt/QNetworkReplyHandler.cpp:
2647         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2648
2649 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
2650
2651         Reviewed by Lars.
2652
2653         http://bugs.webkit.org/show_bug.cgi?id=16588
2654
2655         Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
2656         This allows implementing the synchronous loading correctly for the Qt port where the networking
2657         backend is bound to the page.
2658
2659         * loader/FrameLoader.cpp:
2660         (WebCore::FrameLoader::loadResourceSynchronously):
2661         * platform/network/ResourceHandle.h:
2662         * platform/network/cf/ResourceHandleCFNet.cpp:
2663         * platform/network/curl/ResourceHandleCurl.cpp:
2664         * platform/network/mac/ResourceHandleMac.mm:
2665         * platform/network/qt/ResourceHandleQt.cpp:
2666         (WebCore::ResourceHandle::loadResourceSynchronously):
2667
2668 2008-01-10  Kevin Ollivier  <kevino@theolliviers.com>
2669
2670         wx build fix for changes in r29328
2671
2672         * WebCoreSources.bkl:
2673
2674 2008-01-09  Maciej Stachowiak  <mjs@apple.com>
2675
2676         Reviewed by Sam.
2677
2678         - refactor SecurityOrigin in preparation for merging with SecurityOriginData
2679
2680         * platform/SecurityOrigin.cpp:
2681         (WebCore::SecurityOrigin::SecurityOrigin):
2682         (WebCore::SecurityOrigin::create):
2683         (WebCore::SecurityOrigin::createForFrame):
2684         * platform/SecurityOrigin.h:
2685
2686 2008-01-09  Ada Chan  <adachan@apple.com>
2687
2688         Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
2689
2690         Reviewed by Darin.
2691
2692         Test: fast/forms/tabs-with-modifiers.html
2693
2694         * page/EventHandler.cpp:
2695         (WebCore::EventHandler::defaultKeyboardEventHandler):
2696         (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.  
2697         Clean up the code a bit.
2698         * page/EventHandler.h:
2699         * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent.  It was
2700         only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
2701         no longer needs it.
2702         * page/FocusController.h:
2703
2704 2008-01-09  Antti Koivisto  <antti@apple.com>
2705
2706         Reviewed by Mitz.
2707
2708         Fix http://bugs.webkit.org/show_bug.cgi?id=16376
2709         <rdar://problem/5665206>
2710         <video> element fails to play frames when navigating back to page (16376)
2711         
2712         Don't make MediaPlayer visible when it is actually in page cache.
2713
2714         * rendering/RenderVideo.cpp:
2715         (WebCore::RenderVideo::updatePlayer):
2716
2717 2008-01-09  Anders Carlsson  <andersca@apple.com>
2718
2719         Reviewed by Darin.
2720
2721         <rdar://problem/5532361> 
2722         CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
2723         
2724         Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
2725         
2726         * page/Frame.cpp:
2727         (WebCore::Frame::pageDestroyed):
2728
2729 2008-01-09  John Sullivan  <sullivan@apple.com>
2730
2731         Reviewed by Adam Roben and Anders Carlsson
2732         
2733         - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 
2734           missing-but-expected Reload item
2735
2736         * platform/ContextMenu.cpp:
2737         (WebCore::ContextMenu::populate):
2738         use isLoadingInAPISense when deciding whether to include Stop or Reload in context
2739         menu, to match the WebKit API
2740
2741 2008-01-09  Mark Rowe  <mrowe@apple.com>
2742
2743         Fix Windows debug build for opensource developers.
2744
2745         * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
2746
2747 2007-10-01  Allan Sandfeld Jensen  <sandfeld@kde.org>
2748
2749         Reworked by Eric, Reviewed by Hyatt.
2750
2751         - fix http://bugs.webkit.org/show_bug.cgi?id=9454
2752         Add support for :lang inheritance and xml:lang support.
2753
2754         Tests: fast/selectors/lang-inheritance.html
2755                fast/selectors/lang-inheritance2.html
2756                fast/selectors/lang-vs-xml-lang.html
2757                fast/selectors/lang-vs-xml-lang-xhtml.xhtml
2758
2759         * css/CSSStyleSelector.cpp:
2760         (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
2761         different LANG-attribute.
2762         (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
2763         for all the elements parents and the content-language of the document.
2764         * dom/Document.cpp:
2765         (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
2766         * dom/Document.h:
2767         (WebCore::Document::contentLanguage):
2768         (WebCore::Document::setContentLanguage):
2769
2770 2008-01-08  Timothy Hatcher  <timothy@apple.com>
2771
2772         Reviewed by Brady.
2773
2774         Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
2775         http://bugs.webkit.org/show_bug.cgi?id=16678
2776
2777         Add a NULL check for controller before calling JSObjectSetPrivate.
2778
2779         * page/InspectorController.cpp:
2780         (WebCore::InspectorController::~InspectorController):
2781
2782 2008-01-08  Xan Lopez  <xan@gnome.org>
2783
2784         Reviewed by Alp Toker.
2785
2786         http://bugs.webkit.org/show_bug.cgi?id=15610
2787         [GTK] Text rendering using Pango
2788
2789         Use Pango to render Complex path text.
2790
2791         * platform/graphics/gtk/FontGtk.cpp:
2792         (WebCore::utf16_to_utf8):
2793         (WebCore::convertUniCharToUTF8):
2794         (WebCore::setPangoAttributes):
2795         (WebCore::Font::drawGlyphs):
2796         (WebCore::Font::drawComplexText):
2797         (WebCore::Font::floatWidthForComplexText):
2798         (WebCore::Font::offsetForPositionForComplexText):
2799
2800 2008-01-08  Timothy Hatcher  <timothy@apple.com>
2801
2802         Reviewed by Darin Adler.
2803
2804         <rdar://problem/5665860> With the web inspector displayed, a crash occurs
2805         at WebCore::Frame::document() when navigating back to previous page
2806
2807         This fixes the crash, but the inspector was totally broken with back/forward.
2808         So this also fixes back/forward navigation so the right main resource shows
2809         up in the inspector.
2810
2811         * page/InspectorController.cpp:
2812         (WebCore::addSourceToFrame): Add some null checks for the frame when
2813         getting the textEncoding. This was the crash.
2814         (WebCore::InspectorController::addScriptResource): Create a script object
2815         only if needed, and always add it by calling addResource.
2816         (WebCore::InspectorController::didCommitLoad): Check if the loader is 
2817         loading from the page cache, and clear m_mainResource. If the load is
2818         normal, then call addAndUpdateScriptResource with the main resource. 
2819         (WebCore::InspectorController::identifierForInitialRequest): If the load
2820         is from the page cache and the resource is the main resource call
2821         addAndUpdateScriptResource since didCommitLoad did not do it.
2822
2823 2008-01-08  Alp Toker  <alp@atoker.com>
2824
2825         Back out VIDEO by default in the GTK+ qmake build. The build bot
2826         doesn't have the necessary libraries installed.
2827
2828         * WebCore.pro:
2829
2830 2008-01-08  Alp Toker  <alp@atoker.com>
2831
2832         Win build fix for breakage introduced in r29328.
2833
2834         * WebCore.vcproj/WebCore.vcproj:
2835
2836 2008-01-08  Alp Toker  <alp@atoker.com>
2837
2838         Rubber-stamped by Mark Rowe.
2839
2840         Enable VIDEO by default in the GTK+ qmake build.
2841
2842         * WebCore.pro:
2843
2844 2008-01-08  Alp Toker  <alp@atoker.com>
2845
2846         GTK+ VIDEO build fix for breakage introduced in r29328.
2847
2848         Issue noticed by Ori_B.
2849
2850         * GNUmakefile.am:
2851         * WebCore.pro:
2852
2853 2008-01-08  Antti Koivisto  <antti@apple.com>
2854
2855         Reviewed by Darin.
2856         
2857         HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 
2858         bit strange.
2859         
2860         Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
2861
2862         Test: media/constructors.html
2863
2864         * WebCore.xcodeproj/project.pbxproj:
2865         * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
2866         (WebCore::JSAudioConstructor::JSAudioConstructor):
2867         (WebCore::JSAudioConstructor::implementsConstruct):
2868         (WebCore::JSAudioConstructor::construct):
2869         * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
2870         * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
2871         * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
2872         * bindings/js/kjs_window.cpp:
2873         (KJS::Window::getValueProperty):
2874         * html/HTMLAudioElement.idl:
2875
2876 2008-01-08  Anders Carlsson  <andersca@apple.com>
2877
2878         Reviewed by Mitz.
2879
2880         Don't add the applet widget to the view, that's done later by RenderApplet.
2881             
2882         * loader/FrameLoader.cpp:
2883         (WebCore::FrameLoader::createJavaAppletWidget):
2884
2885 2008-01-08  Antti Koivisto  <antti@apple.com>
2886
2887         Reviewed by Weinig.
2888         
2889         Add security check for Audio constructor.
2890
2891         * bindings/js/kjs_window.cpp:
2892         (KJS::Window::getValueProperty):
2893
2894 2008-01-08  Timothy Hatcher  <timothy@apple.com>
2895
2896         Reviewed by Adam Roben.
2897
2898         <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
2899
2900         InspectorController::didLoadResourceFromMemoryCache was not being called for
2901         resources that loaded from the memory cache that the FrameLoader's client
2902         has already been notified about. This fix always calls the InspectorController
2903         when loading a memory cached resource. No test possible for the Web Inspector.
2904
2905         * loader/DocLoader.cpp:
2906         (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
2907         FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
2908         * loader/FrameLoader.cpp:
2909         (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
2910         (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
2911         (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
2912         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
2913         Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
2914         didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
2915         didTellClientAboutLoad.
2916         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
2917         in FrameLoader::loadedResourceFromMemoryCache.
2918         * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
2919         Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 
2920         m_urlsClientKnowsAbout.
2921         * loader/SubresourceLoader.cpp:
2922         (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
2923
2924 2008-01-08  Dan Bernstein  <mitz@apple.com>
2925
2926         Rubber-stamped by Sam Weinig.
2927
2928         - prefix all member variables in CSSStyleSelector with m_
2929
2930         * css/CSSStyleSelector.cpp:
2931         (WebCore::CSSStyleSelector::CSSStyleSelector):
2932         (WebCore::CSSStyleSelector::init):
2933         (WebCore::CSSStyleSelector::setEncodedURL):
2934         (WebCore::CSSStyleSelector::loadDefaultStyle):
2935         (WebCore::CSSStyleSelector::matchRules):
2936         (WebCore::CSSStyleSelector::matchRulesForList):
2937         (WebCore::CSSStyleSelector::initElementAndPseudoState):
2938         (WebCore::CSSStyleSelector::initForStyleResolve):
2939         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2940         (WebCore::CSSStyleSelector::locateSharedStyle):
2941         (WebCore::CSSStyleSelector::matchUARules):
2942         (WebCore::CSSStyleSelector::styleForElement):
2943         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2944         (WebCore::CSSStyleSelector::updateFont):
2945         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2946         (WebCore::CSSStyleSelector::checkSelector):
2947         (WebCore::CSSStyleSelector::checkOneSelector):
2948         (WebCore::CSSStyleSelector::applyProperty):
2949         (WebCore::CSSStyleSelector::mapBackgroundImage):
2950         (WebCore::CSSStyleSelector::mapBackgroundSize):
2951         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2952         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2953         (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
2954         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2955         * css/CSSStyleSelector.h:
2956         (WebCore::CSSStyleSelector::):
2957         (WebCore::CSSRuleData::CSSRuleData):
2958         (WebCore::CSSRuleDataList::CSSRuleDataList):
2959         (WebCore::CSSRuleDataList::append):
2960         * css/SVGCSSStyleSelector.cpp:
2961         (WebCore::CSSStyleSelector::applySVGProperty):
2962         * rendering/RenderStyle.cpp:
2963         (WebCore::RenderStyle::isStyleAvailable):
2964
2965 2008-01-08  David D. Kilzer  <ddkilzer@apple.com>
2966
2967         Removed unnecessary files from Copy Bundle Resources build phase.
2968
2969         Reviewed by Sam.
2970
2971         * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
2972         DOMCoreException.idl
2973         EventException.idl
2974         MessageEvent.idl
2975         SVGAElement.idl
2976         SVGAngle.idl
2977         SVGAnimateColorElement.idl
2978         SVGAnimateElement.idl
2979         SVGAnimateTransformElement.idl
2980         SVGAnimatedAngle.idl
2981         SVGAnimatedBoolean.idl
2982         SVGAnimatedEnumeration.idl
2983         SVGAnimatedInteger.idl
2984         SVGAnimatedLength.idl
2985         SVGAnimatedLengthList.idl
2986         SVGAnimatedNumber.idl
2987         SVGAnimatedNumberList.idl
2988         SVGAnimatedPathData.idl
2989         SVGAnimatedPoints.idl
2990         SVGAnimatedPreserveAspectRatio.idl
2991         SVGAnimatedRect.idl
2992         SVGAnimatedString.idl
2993         SVGAnimatedTransformList.idl
2994         SVGAnimationElement.idl
2995         SVGCSSPropertyNames.in
2996         SVGCSSValueKeywords.in
2997         SVGCircleElement.idl
2998         SVGClipPathElement.idl
2999         SVGColor.idl
3000         SVGComponentTransferFunctionElement.idl
3001         SVGCursorElement.idl
3002         SVGDefinitionSrcElement.idl
3003         SVGDefsElement.idl
3004         SVGDescElement.idl
3005         SVGDocument.idl
3006         SVGElement.idl
3007         SVGElementInstance.idl
3008         SVGElementInstanceList.idl
3009         SVGEllipseElement.idl
3010         SVGException.idl
3011         SVGExternalResourcesRequired.idl
3012         SVGFEBlendElement.idl
3013         SVGFEColorMatrixElement.idl
3014         SVGFEComponentTransferElement.idl
3015         SVGFECompositeElement.idl
3016         SVGFEDiffuseLightingElement.idl
3017         SVGFEDisplacementMapElement.idl
3018         SVGFEDistantLightElement.idl
3019         SVGFEFloodElement.idl
3020         SVGFEFuncAElement.idl
3021         SVGFEFuncBElement.idl
3022         SVGFEFuncGElement.idl
3023         SVGFEFuncRElement.idl
3024         SVGFEGaussianBlurElement.idl
3025         SVGFEImageElement.idl
3026         SVGFEMergeElement.idl
3027         SVGFEMergeNodeElement.idl
3028         SVGFEOffsetElement.idl
3029         SVGFEPointLightElement.idl
3030         SVGFESpecularLightingElement.idl
3031         SVGFESpotLightElement.idl
3032         SVGFETileElement.idl
3033         SVGFETurbulenceElement.idl
3034         SVGFilterElement.idl
3035         SVGFilterPrimitiveStandardAttributes.idl
3036         SVGFitToViewBox.idl
3037         SVGFontElement.idl
3038         SVGFontFaceElement.idl
3039         SVGFontFaceFormatElement.idl
3040         SVGFontFaceNameElement.idl
3041         SVGFontFaceSrcElement.idl
3042         SVGFontFaceUriElement.idl
3043         SVGForeignObjectElement.idl
3044         SVGGElement.idl
3045         SVGGlyphElement.idl
3046         SVGGradientElement.idl
3047         SVGImageElement.idl
3048         SVGLangSpace.idl
3049         SVGLength.idl
3050         SVGLengthList.idl
3051         SVGLineElement.idl
3052         SVGLinearGradientElement.idl
3053         SVGLocatable.idl
3054         SVGMarkerElement.idl
3055         SVGMaskElement.idl
3056         SVGMatrix.idl
3057         SVGMetadataElement.idl
3058         SVGMissingGlyphElement.idl
3059         SVGNumber.idl
3060         SVGNumberList.idl
3061         SVGPaint.idl
3062         SVGPathElement.idl
3063         SVGPathSeg.idl
3064         SVGPathSegArcAbs.idl
3065         SVGPathSegArcRel.idl
3066         SVGPathSegClosePath.idl
3067         SVGPathSegCurvetoCubicAbs.idl
3068         SVGPathSegCurvetoCubicRel.idl
3069         SVGPathSegCurvetoCubicSmoothAbs.idl
3070         SVGPathSegCurvetoCubicSmoothRel.idl
3071         SVGPathSegCurvetoQuadraticAbs.idl
3072         SVGPathSegCurvetoQuadraticRel.idl
3073         SVGPathSegCurvetoQuadraticSmoothAbs.idl
3074         SVGPathSegCurvetoQuadraticSmoothRel.idl
3075         SVGPathSegLinetoAbs.idl
3076         SVGPathSegLinetoHorizontalAbs.idl
3077         SVGPathSegLinetoHorizontalRel.idl
3078         SVGPathSegLinetoRel.idl
3079         SVGPathSegLinetoVerticalAbs.idl
3080         SVGPathSegLinetoVerticalRel.idl
3081         SVGPathSegList.idl
3082         SVGPathSegMovetoAbs.idl
3083         SVGPathSegMovetoRel.idl
3084         SVGPatternElement.idl
3085         SVGPoint.idl
3086         SVGPointList.idl
3087         SVGPolygonElement.idl
3088         SVGPolylineElement.idl
3089         SVGPreserveAspectRatio.idl
3090         SVGRadialGradientElement.idl
3091         SVGRect.idl
3092         SVGRectElement.idl
3093         SVGRenderingIntent.idl
3094         SVGSVGElement.idl
3095         SVGScriptElement.idl
3096         SVGSetElement.idl
3097         SVGStopElement.idl
3098         SVGStringList.idl
3099         SVGStylable.idl
3100         SVGStyleElement.idl
3101         SVGSwitchElement.idl
3102         SVGSymbolElement.idl
3103         SVGTRefElement.idl
3104         SVGTSpanElement.idl
3105         SVGTests.idl
3106         SVGTextContentElement.idl
3107         SVGTextElement.idl
3108         SVGTextPathElement.idl
3109         SVGTextPositioningElement.idl
3110         SVGTitleElement.idl
3111         SVGTransform.idl
3112         SVGTransformList.idl
3113         SVGTransformable.idl
3114         SVGURIReference.idl
3115         SVGUnitTypes.idl
3116         SVGUseElement.idl
3117         SVGViewElement.idl
3118         SVGViewSpec.idl
3119         SVGZoomAndPan.idl
3120         SVGZoomEvent.idl
3121         XMLHttpRequestException.idl
3122         XPathException.idl
3123         character-sets.txt
3124         mac-encodings.txt
3125         make-charset-table.pl
3126         svgattrs.in
3127         svgtags.in
3128         xlinkattrs.in
3129
3130 2008-01-08  Luca Bruno  <lethalman88@gmail.com>
3131
3132         Reviewed by Alp Toker.
3133
3134         Support copying the selected URL to the clipboard.
3135
3136         * platform/gtk/PasteboardGtk.cpp:
3137         (WebCore::Pasteboard::writeURL): implemented
3138
3139 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
3140
3141         Renamed CharacterData::m_str to m_data
3142
3143         Rubber-stamped by Adam again.
3144
3145         No test cases added since there is no change in behavior.
3146
3147         * dom/CDATASection.cpp:
3148         * dom/CharacterData.cpp:
3149         (WebCore::CharacterData::CharacterData):
3150         (WebCore::CharacterData::setData):
3151         (WebCore::CharacterData::substringData):
3152         (WebCore::CharacterData::appendData):
3153         (WebCore::CharacterData::insertData):
3154         (WebCore::CharacterData::deleteData):
3155         (WebCore::CharacterData::replaceData):
3156         (WebCore::CharacterData::nodeValue):
3157         (WebCore::CharacterData::containsOnlyWhitespace):
3158         (WebCore::CharacterData::dispatchModifiedEvent):
3159         (WebCore::CharacterData::checkCharDataOperation):
3160         (WebCore::CharacterData::dump):
3161         * dom/CharacterData.h:
3162         * dom/Comment.cpp:
3163         * dom/Text.cpp:
3164         (WebCore::Text::splitText):
3165         (WebCore::Text::createRenderer):
3166         (WebCore::Text::recalcStyle):
3167
3168 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
3169
3170         Fix a couple of compiler warnings.
3171         
3172         Reviewed by Mitz.
3173
3174         * platform/win/ThreadingWin.cpp:
3175         * platform/win/UniscribeController.cpp: Remove unused function.
3176         (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
3177
3178 2008-01-08  Adele Peterson  <adele@apple.com>
3179
3180         Reviewed by Darin.
3181
3182         Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
3183
3184         * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3185           After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
3186           MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.  
3187           This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
3188           I also added a missing call to setDefaultHandled for the mousemove event.
3189
3190 2008-01-08  Adele Peterson  <adele@apple.com>
3191
3192         Reviewed by Adam. 
3193
3194         * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
3195         paint the media controls in RenderThemeSafari.
3196
3197 2008-01-08  Oliver Hunt  <oliver@apple.com>
3198
3199         Reviewed by Adele and John.
3200
3201         Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
3202         dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
3203
3204         We hit this crash if the page reloads between DragController::dragUpdated
3205         and DragController::performDrag, meaning that m_document starts pointing to
3206         a now viewless document.  This is picked up by an assertion in performDrag
3207         which I have now replaced with an assignment given that the assertion is 
3208         invalid -- it is possible for m_document to be changed between dragUpdated
3209         performDrag
3210
3211         * page/DragController.cpp:
3212         (WebCore::DragController::performDrag):
3213
3214 2008-01-08  Alexey Proskuryakov  <ap@webkit.org>
3215
3216         Reviewed by Darin.
3217
3218         <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
3219         WebCore::Node::setChanged + 96
3220
3221         Test: fast/dom/cssTarget-crash.html
3222
3223         * dom/Node.cpp: (WebCore::Node::removedFromDocument):
3224         Check to see if the node being removed is currently set as the Document's cssTarget.
3225         If it is, clear the cssTarget to prevent a hanging reference to it.
3226
3227 2008-01-08  Adam Roben  <aroben@apple.com>
3228
3229         * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
3230         rebuild on Windows now that the media elements are enabled.
3231
3232 2008-01-08  Adam Roben  <aroben@apple.com>
3233
3234         * svg/svgtags.in: Touch this again for the sake of the Windows bots.
3235
3236 2008-01-08  Timothy Hatcher  <timothy@apple.com>
3237
3238         Reviewed by Adam Roben.
3239
3240         Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
3241         Also added some #pragma marks to help find places in the file.
3242
3243         * page/InspectorController.cpp:
3244         (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
3245         And return the result of JSObjectCallAsFunction.
3246         (WebCore::search): Use JSRetainPtr<JSStringRef>.
3247         (WebCore::databaseTableNames): Ditto.
3248         (WebCore::localizedStrings): Ditto.
3249         (WebCore::InspectorController::~InspectorController): Ditto.
3250         (WebCore::InspectorController::focusNode): Ditto.
3251         (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
3252         (WebCore::InspectorController::scriptObjectReady): Ditto.
3253         (WebCore::addHeaders): Ditto.
3254         (WebCore::InspectorController::addScriptResource): Ditto.
3255         (WebCore::InspectorController::removeScriptResource): Ditto.
3256         (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
3257         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
3258         (WebCore::InspectorController::updateScriptResource): Ditto.
3259         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
3260         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
3261         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
3262
3263 2008-01-08  Dan Bernstein  <mitz@apple.com>
3264
3265         Rubber-stamped by Sam Weinig.
3266
3267         - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
3268
3269         * GNUmakefile.am:
3270         * WebCore.pro:
3271         * WebCore.vcproj/WebCore.vcproj:
3272         * WebCore.xcodeproj/project.pbxproj:
3273         * WebCoreSources.bkl:
3274         * editing/Editor.cpp:
3275         * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
3276         * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
3277         * platform/graphics/FontDataBaseClass.cpp: Removed.
3278         * platform/graphics/FontDataBaseClass.h: Removed.
3279         * platform/graphics/SegmentedFontData.h:
3280         * platform/graphics/SimpleFontData.h:
3281
3282 2008-01-08  Dan Bernstein  <mitz@apple.com>
3283
3284         Fix a Wx build error.
3285
3286         * platform/graphics/wx/GlyphMapWx.cpp:
3287         (WebCore::GlyphPage::fill):
3288
3289 2008-01-08  Dan Bernstein  <mitz@apple.com>
3290
3291         Fix a Qt build error.
3292
3293         * platform/graphics/qt/SimpleFontDataQt.cpp:
3294         (WebCore::SimpleFontData::containsCharacters):
3295         (WebCore::SimpleFontData::fontDataForCharacter):
3296         (WebCore::SimpleFontData::isSegmented):
3297
3298 2008-01-08  Adam Roben  <aroben@apple.com>
3299
3300         Windows build fix.
3301
3302         Touch config.h to force a rebuild (apparently changing preprocessor
3303         definitions in the .vcproj doesn't force a rebuild).
3304
3305         * config.h:
3306
3307 2008-01-08  Dan Bernstein  <mitz@apple.com>
3308
3309         Fix a Wx build failure.
3310
3311         * webcore-wx.bkl:
3312
3313 2008-01-08  Dan Bernstein  <mitz@apple.com>
3314
3315         Fix a Qt build failure.
3316
3317         * WebCore.pro:
3318
3319 2008-01-08  John Sullivan  <sullivan@apple.com>
3320
3321         Reviewed by Adam Roben
3322         
3323         - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 
3324           Delete menu item is enabled but shouldn't be
3325
3326         The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
3327         parameter to the enabled functions so that they can have parallel logic to the execute functions.
3328
3329         * editing/EditorCommand.cpp:
3330         added EditorCommandSource parameter to isEnabled function prototype
3331         (WebCore::enabled):
3332         added unused EditorCommandSource parameter to these isEnabled functions:
3333         (WebCore::enabledAnySelection):
3334         (WebCore::enabledAnySelectionAndMark):
3335         (WebCore::enableCaretInEditableText):
3336         (WebCore::enabledCopy):
3337         (WebCore::enabledCut):
3338
3339         (WebCore::enabledDelete):
3340         new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
3341         for menu source
3342
3343         added unused EditorCommandSource parameter to these isEnabled functions:
3344         (WebCore::enabledInEditableText):
3345         (WebCore::enabledInRichlyEditableText):
3346         (WebCore::enabledPaste):
3347         (WebCore::enabledRangeInEditableText):
3348         (WebCore::enabledRangeInRichlyEditableText):
3349         (WebCore::enabledRedo):
3350         (WebCore::enabledUndo):
3351         
3352         (WebCore::CommandEntry::):
3353         wire up new enabledDelete function as delete function for Delete command
3354         
3355         (WebCore::Editor::Command::isEnabled):
3356         pass EditorCommandSource parameter to isEnabled function
3357
3358 2008-01-08  Adam Roben  <aroben@apple.com>
3359
3360         Visual C++ Express build fix
3361
3362         * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
3363         and advapi32.lib. VS implicitly links against these, VC++ Express
3364         doesn't.
3365
3366 2008-01-08  Dan Bernstein  <mitz@apple.com>
3367
3368         - add bug number
3369
3370         * platform/graphics/mac/FontCustomPlatformData.cpp:
3371         (WebCore::createFontCustomPlatformData):
3372
3373 2008-01-08  Dan Bernstein  <mitz@apple.com>
3374
3375         Try to fix the Qt build.
3376
3377         * WebCore.pro:
3378
3379 2008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
3380
3381         Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
3382
3383         * page/inspector/WebKit.qrc:
3384
3385 2008-01-08  Maciej Stachowiak  <mjs@apple.com>
3386
3387         Reviewed by Mark.
3388
3389         - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
3390
3391         * bindings/objc/PublicDOMInterfaces.h:
3392         * html/HTMLDocument.idl:
3393
3394 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
3395
3396         Renamed CharacterData::str to m_str to match coding style
3397
3398         Rubber-stamped by Adam.
3399
3400         No test cases added since there is no change in behavior.
3401
3402         * dom/CDATASection.cpp:
3403         * dom/CharacterData.cpp:
3404         (WebCore::CharacterData::CharacterData):
3405         (WebCore::CharacterData::setData):
3406         (WebCore::CharacterData::substringData):
3407         (WebCore::CharacterData::appendData):
3408         (WebCore::CharacterData::insertData):
3409         (WebCore::CharacterData::deleteData):
3410         (WebCore::CharacterData::replaceData):
3411         (WebCore::CharacterData::nodeValue):
3412         (WebCore::CharacterData::containsOnlyWhitespace):
3413         (WebCore::CharacterData::dispatchModifiedEvent):
3414         (WebCore::CharacterData::checkCharDataOperation):
3415         (WebCore::CharacterData::dump):
3416         * dom/CharacterData.h:
3417         * dom/Comment.cpp:
3418         * dom/Text.cpp:
3419         (WebCore::Text::splitText):
3420         (WebCore::Text::createRenderer):
3421         (WebCore::Text::recalcStyle):
3422
3423 2008-01-08  Oliver Hunt  <oliver@apple.com>
3424
3425         Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 
3426         I'm not sure if it just caused the right files to regenerate,
3427         or if there's some configuration weirdness in the non-SVG-fonts
3428         build. 
3429
3430         * WebCore.vcproj/WebCore.vcproj:
3431
3432 2008-01-07  Maciej Stachowiak  <mjs@apple.com>
3433
3434         Reviewed by Brady.
3435
3436         - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
3437         
3438         Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
3439         
3440         * dom/Document.cpp:
3441         (WebCore::Document::Document):
3442         * dom/Document.h:
3443         (WebCore::Document::setHasOpenDatabases):
3444         (WebCore::Document::hasOpenDatabases):
3445         * loader/FrameLoader.cpp:
3446         (WebCore::FrameLoader::canCachePage):
3447         * storage/Database.cpp:
3448         (WebCore::Database::openDatabase):
3449
3450 2008-01-07  Dan Bernstein  <mitz@apple.com>
3451
3452         Reviewed by Oliver Hunt.
3453
3454         - fix leaks seen on the build bot
3455
3456         * css/CSSFontSelector.cpp:
3457         (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
3458         CSSFontFaceSource for SVG font-face elements going into an
3459         SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
3460         face elements to a CSSFontFace because it will not work as expected.
3461
3462 2008-01-07  Mark Rowe  <mrowe@apple.com>
3463
3464         Tiger build fix.
3465
3466         * platform/graphics/mac/FontCustomPlatformData.cpp:
3467         (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
3468         It's not needed on Tiger, and breaks the build.
3469
3470 2008-01-07  Antti Koivisto  <antti@apple.com>
3471
3472         Reviewed by Steve.
3473
3474         Re-enable media support in Windows build.
3475
3476         * WebCore.vcproj/QTMovieWin.vcproj:
3477         * WebCore.vcproj/WebCore.vcproj:
3478         * WebCore.vcproj/build-generated-files.sh:
3479
3480 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
3481
3482         Add version resource to QTMovieWin.dll
3483         
3484         Reviewed by Adam.
3485
3486         * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
3487         * WebCore.vcproj/QTMovieWin.rc: Added.
3488         * WebCore.vcproj/QTMovieWin.vcproj:
3489         * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
3490         * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
3491
3492 2008-01-07  Dan Bernstein  <mitz@apple.com>
3493
3494         Build fix.
3495
3496         * platform/graphics/qt/FontCustomPlatformData.cpp:
3497         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
3498         Calls QFontDatabase::removeApplicationFont().
3499         * platform/graphics/qt/FontCustomPlatformData.h:
3500         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3501         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
3502         implementation because Qt does not use the WebCore glyph cache.
3503
3504 2008-01-07  Dan Bernstein  <mitz@apple.com>
3505
3506         Reviewed by Oliver Hunt.
3507
3508         - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
3509           Tiger and multiple SVG layout test failures on Leopard.
3510
3511         * css/CSSSegmentedFontFace.cpp:
3512         (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
3513         empty SegmentedFontData.
3514         * platform/graphics/mac/FontCustomPlatformData.cpp:
3515         (WebCore::createFontCustomPlatformData): Avoid creating a font that
3516         contains no glyphs. On Leopard, ATS might create such a font given
3517         data in an unsupported format (such as SVG).
3518
3519 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
3520
3521         Build fix.
3522
3523         * WebCore.vcproj/WebCore.sln:
3524         * WebCore.vcproj/WebCore.submit.sln:
3525
3526 2008-01-07  Oliver Hunt  <oliver@apple.com>
3527
3528         Reviewed by Niko.
3529
3530         Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
3531
3532         Test: svg/custom/image-with-aspect-ratio-stretch.svg
3533
3534         * rendering/RenderSVGImage.cpp:
3535         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
3536
3537 2008-01-07  Dan Bernstein  <mitz@apple.com>
3538
3539         Build fix.
3540
3541         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3542         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3543
3544 2008-01-07  Adele Peterson  <adele@apple.com>
3545
3546         Add missing newline.
3547
3548         * rendering/MediaControlElements.cpp:
3549
3550 2008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
3551
3552         Reviewed by Hyatt.
3553
3554         <rdar://problem/5673489> Safari does not render windowless plugins in an
3555         iframe when opacity < 1.0
3556
3557         Plugins in transparency layers handle their own world transforms, so
3558         only apply the horizontal/vertical transform if we are not in a
3559         transparency layer.
3560
3561         * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
3562         inTransparencyLayer() function
3563         * platform/win/GraphicsContextWin.cpp:
3564         (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
3565         (WebCore::GraphicsContext::inTransparencyLayer):
3566         (WebCore::GraphicsContext::releaseWindowsContext): Use
3567         inTransparencyLayer()
3568         * plugins/win/PluginViewWin.cpp:
3569         (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
3570         relative to the window. Pass m_isTransparent to
3571         get/releaseWindowsContext(). Only set the world transform if we are not
3572         in a transparency layer.
3573
3574 2008-01-07  Adele Peterson  <adele@apple.com>
3575
3576         Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
3577
3578         * rendering/MediaControlElements.cpp:
3579         * rendering/MediaControlElements.h:
3580
3581 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3582
3583         Reviewed by Mark.
3584
3585         Enable SVG_FONTS by default.
3586
3587         * Configurations/WebCore.xcconfig:
3588         * WebCore.vcproj/build-generated-files.sh:
3589
3590 2008-01-07  Dan Bernstein  <mitz@apple.com>
3591
3592         Build fix.
3593
3594         * platform/graphics/qt/SimpleFontDataQt.cpp:
3595         (WebCore::SimpleFontData::SimpleFontData):
3596         (WebCore::SimpleFontData::~SimpleFontData):
3597
3598 2008-01-07  Adam Barth  <hk9565@gmail.com>
3599
3600         Reviewed by Sam Weinig
3601
3602         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
3603         <rdar://problem/5657447>
3604
3605         When a frame is created with the URL "about:blank" or "", it should
3606         inherit its SecurityOrigin from its opener.  However, once it has
3607         decided on that SecurityOrigin, it should not change its mind.
3608         Prior to this patch, several events could induce the frame to change
3609         its SecurityOrigin, permitting an attacker to inject script into an
3610         arbitrary SecurityOrigin.
3611
3612         This patch makes several changes:
3613
3614         1) Documents refuse to change from one SecurityOrigin to another
3615            unless explicitly instructed to do so.
3616
3617         2) Navigating to a JavaScript URL that produces a value
3618            preserves the current SecurityOrigin explicitly instead of
3619            relying on the URL to preserve the origin (which fails for
3620            about:blank URLs and SecurityOrigins with document.domain set).
3621
3622            Ideally, we should not preserve the URL at all.  Instead, the
3623            frame's URL should be the JavaScript URL, as in Firefox, but this
3624            would require changes that are too risky for this patch.  I'll
3625            file this as a separate issue.
3626
3627         3) Various methods of navigating to JavaScript URLs were not
3628            properly handling JavaScript that returned a value (and should
3629            therefore replace the current document).  This patch unifies
3630            those code paths with the path that works.
3631
3632            There are still a handful of bugs relating to the handling of
3633            JavaScript URLs, but I'll file those as separate issues.
3634
3635         Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
3636                http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
3637                http/tests/security/aboutBlank/xss-DENIED-set-opener.html
3638
3639         * dom/Document.cpp:
3640         (WebCore::Document::initSecurityOrigin):
3641         * dom/Document.h:
3642         (WebCore::Document::setSecurityOrigin):
3643         * loader/FrameLoader.cpp:
3644         (WebCore::FrameLoader::changeLocation):
3645         (WebCore::FrameLoader::urlSelected):
3646         (WebCore::FrameLoader::requestFrame):
3647         (WebCore::FrameLoader::submitForm):
3648         (WebCore::FrameLoader::executeIfJavaScriptURL):
3649         (WebCore::FrameLoader::begin):
3650         * loader/FrameLoader.h:
3651         * platform/SecurityOrigin.cpp:
3652         (WebCore::SecurityOrigin::setForURL):
3653         (WebCore::SecurityOrigin::createForFrame):
3654         * platform/SecurityOrigin.h:
3655
3656 2008-01-07  Adele Peterson  <adele@apple.com>
3657
3658         Forgot to check in these changes in my last checkin.
3659
3660         * rendering/RenderThemeSafari.cpp:
3661
3662 2008-01-07  Dan Bernstein  <mitz@apple.com>
3663
3664         Build fixes.
3665
3666         * WebCore.pro:
3667         * platform/graphics/qt/FontCacheQt.cpp:
3668         (WebCore::FontCache::getCachedFontData):
3669
3670 2008-01-07  Timothy Hatcher  <timothy@apple.com>
3671
3672         Reviewed by John Sullivan.
3673
3674         <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
3675
3676         * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
3677           normal height when not docked, and small when docked. Also added some cursor properties
3678           prevent showing the text cursor over areas that are not selectable.
3679         * page/inspector/Images: A few images added and old ones removed or renamed.
3680
3681 2008-01-07  Alp Toker  <alp@atoker.com>
3682
3683         Prospective GTK+ autotools/qmake VIDEO build fix for breakage
3684         introduced in r29257.
3685
3686         * GNUmakefile.am:
3687         * WebCore.pro:
3688
3689 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3690
3691         Reviewed by Oliver.
3692
3693         Build fix affecting all builds - again related to the unicode-range addition.
3694
3695         * css/CSSFontSelector.cpp:
3696         (WebCore::CSSFontSelector::addFontFaceRule):
3697         * css/SVGCSSFontFace.cpp:
3698         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
3699         * css/SVGCSSFontFace.h:
3700         * rendering/RenderSVGText.cpp:
3701         * svg/SVGFont.cpp:
3702         (WebCore::svgFontAndFontFaceElementForFontData):
3703         (WebCore::floatWidthMissingGlyphCallback):
3704         (WebCore::drawTextMissingGlyphCallback):
3705         * svg/SVGFontFaceElement.cpp:
3706
3707 2008-01-07  Adele Peterson  <adele@apple.com>
3708
3709         Reviewed by Antti, Adam, and Mitz.
3710
3711         WebCore part of fix for 
3712         <rdar://problem/5619073> Updated look for <video> controls
3713         <rdar://problem/5619057> Add volume control to video controls
3714
3715         * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
3716         * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
3717         * WebCore.vcproj/WebCore.vcproj: ditto.
3718
3719         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
3720         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
3721         * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
3722         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
3723         * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
3724         * css/html4.css: Added new styles for new controls.
3725
3726         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
3727         * html/HTMLMediaElement.h:
3728
3729         * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
3730
3731         * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
3732         * platform/mac/WebCoreSystemInterface.mm: ditto.
3733
3734         * rendering/MediaControlElements.cpp: Added.
3735         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
3736         (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
3737          since its too early to do this here, and causes crashes for the slider.
3738         (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
3739         (WebCore::MediaControlInputElement::update): ditto.
3740         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
3741         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
3742         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
3743         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
3744         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
3745         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
3746         (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
3747         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
3748         (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
3749         (WebCore::MediaControlTimelineElement::update): ditto. 
3750         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
3751         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
3752         * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
3753         (WebCore::MediaControlShadowRootElement::isShadowNode):
3754         (WebCore::MediaControlShadowRootElement::shadowParentNode):
3755         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
3756         (WebCore::RenderMediaControlShadowRoot::setParent):
3757
3758         * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
3759         (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
3760         (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
3761         (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
3762         (WebCore::RenderMedia::createMuteButton): Added.
3763         (WebCore::RenderMedia::createSeekBackButton): ditto.
3764         (WebCore::RenderMedia::createSeekForwardButton): ditto.
3765         (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
3766         (WebCore::RenderMedia::createFullscreenButton): Added.
3767         (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
3768         (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
3769         (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
3770         * rendering/RenderMedia.h: Added new methods for creating new controls.
3771
3772         * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
3773           but also can contain children (the controls' container) that may need to look for the containing block.
3774
3775         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
3776
3777         * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
3778         (WebCore::):
3779         (WebCore::RenderStyle::):
3780
3781         * rendering/RenderTheme.cpp:
3782         (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
3783         (WebCore::RenderTheme::paint): ditto.
3784         * rendering/RenderTheme.h: Added new methods for painting new appearances.
3785         (WebCore::RenderTheme::paintMediaBackground):
3786         (WebCore::RenderTheme::paintMediaFullscreenButton):
3787         (WebCore::RenderTheme::paintMediaPlayButton):
3788         (WebCore::RenderTheme::paintMediaMuteButton):
3789         (WebCore::RenderTheme::paintMediaSeekBackButton):
3790         (WebCore::RenderTheme::paintMediaSeekForwardButton):
3791         (WebCore::RenderTheme::paintMediaSliderThumb):
3792         * rendering/RenderThemeMac.h:
3793         * rendering/RenderThemeMac.mm:
3794         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
3795         (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
3796         (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
3797         (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
3798         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
3799         (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
3800         (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
3801         (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
3802         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
3803         (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
3804         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
3805         (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
3806         * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
3807         (WebCore::RenderThemeSafari::paintSliderTrack):
3808         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
3809         (WebCore::RenderThemeSafari::paintMediaBackground):
3810         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
3811         (WebCore::RenderThemeSafari::paintMediaMuteButton):
3812         (WebCore::RenderThemeSafari::paintMediaPlayButton):
3813         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
3814         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
3815         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
3816         * rendering/RenderThemeSafari.h:
3817
3818 2008-01-07  Timothy Hatcher  <timothy@apple.com>
3819
3820         Reviewed by Darin Adler.
3821
3822         Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
3823         when the replacment string is a different length.
3824
3825         * platform/text/StringImpl.cpp:
3826         (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
3827         the Vector size calculation, correcting the order of math operations.
3828
3829 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3830
3831         Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
3832
3833         * platform/graphics/mac/FontCacheMac.mm:
3834
3835 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3836
3837         Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
3838
3839         * css/CSSFontSelector.cpp:
3840         (WebCore::CSSFontSelector::getFontData):
3841
3842 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3843
3844         Not reviewed. Next try to fix wx/mac leopard build.
3845
3846         * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
3847         * svg/SVGFontFaceElement.cpp:
3848         (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
3849         * webcore-base.bkl: Undo svg/ include.
3850
3851 2008-01-07  Dan Bernstein  <mitz@apple.com>
3852
3853         Reviewed by Dave Hyatt.
3854
3855         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
3856
3857         * GNUmakefile.am:
3858         * WebCore.pro:
3859         * WebCore.vcproj/WebCore.vcproj:
3860         * WebCore.xcodeproj/project.pbxproj:
3861         * WebCoreSources.bkl:
3862         * bindings/objc/DOM.mm:
3863         * bridge/mac/WebCoreAXObject.mm:
3864         * css/CSSComputedStyleDeclaration.cpp:
3865         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3866         * css/CSSFontFace.cpp:
3867         (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
3868         font face.
3869         (WebCore::CSSFontFace::getFontData):
3870         * css/CSSFontFace.h:
3871         (WebCore::CSSFontFace::CSSFontFace):
3872         (WebCore::CSSFontFace::setSegmentedFontFace):
3873         * css/CSSFontFaceSource.cpp:
3874         (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
3875         GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
3876         font table are not exposed in the glyph page tree. Only the segmented
3877         font is, and that is taken care of by the segmented font face.
3878         (WebCore::CSSFontFaceSource::getFontData):
3879         * css/CSSFontFaceSource.h:
3880         * css/CSSFontSelector.cpp:
3881         (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
3882         @font-face rules with the same family and traits into a single
3883         segmented font face, instead of just retaining the most recent one.
3884         (WebCore::CSSFontSelector::fontLoaded):
3885         (WebCore::CSSFontSelector::getFontData):
3886         * css/CSSFontSelector.h:
3887         * css/CSSGrammar.y:
3888         * css/CSSParser.cpp:
3889         (WebCore::CSSParser::parseValue):
3890         (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
3891         range value.
3892         * css/CSSParser.h:
3893         * css/CSSPrimitiveValue.h:
3894         (WebCore::CSSPrimitiveValue::):
3895         * css/CSSPropertyNames.in:
3896         * css/CSSSegmentedFontFace.cpp: Added.
3897         (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
3898         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
3899         (WebCore::CSSSegmentedFontFace::pruneTable):
3900         (WebCore::CSSSegmentedFontFace::isLoaded):
3901         (WebCore::CSSSegmentedFontFace::isValid):
3902         (WebCore::CSSSegmentedFontFace::fontLoaded):
3903         (WebCore::CSSSegmentedFontFace::overlayRange):
3904         (WebCore::CSSSegmentedFontFace::getFontData):
3905         * css/CSSSegmentedFontFace.h: Added.
3906         (WebCore::FontFaceRange::FontFaceRange):
3907         (WebCore::FontFaceRange::from):
3908         (WebCore::FontFaceRange::to):
3909         (WebCore::FontFaceRange::fontFace):
3910         (WebCore::CSSSegmentedFontFace::fontSelector):
3911         * css/CSSStyleSelector.cpp:
3912         (WebCore::CSSStyleSelector::applyProperty):
3913         * css/CSSUnicodeRangeValue.cpp: Added.
3914         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
3915         (WebCore::CSSUnicodeRangeValue::cssText):
3916         * css/CSSUnicodeRangeValue.h: Added.
3917         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3918         (WebCore::CSSUnicodeRangeValue::from):
3919         (WebCore::CSSUnicodeRangeValue::to):
3920         * css/SVGCSSFontFace.cpp:
3921         (WebCore::SVGCSSFontFace::getFontData):
3922         * css/SVGCSSFontFace.h:
3923         * editing/Editor.cpp:
3924         (WebCore::Editor::fontForSelection):
3925         * editing/Editor.h:
3926         * page/mac/FrameMac.mm:
3927         * page/mac/WebCoreFrameBridge.mm:
3928         (-[WebCoreFrameBridge fontForSelection:]):
3929         * platform/graphics/Font.cpp:
3930         (WebCore::WidthIterator::advance):
3931         (WebCore::Font::glyphDataForCharacter):
3932         (WebCore::Font::primaryFont): Changed to return the simple font data
3933         used for the space character.
3934         (WebCore::Font::fontDataAt):
3935         (WebCore::Font::fontDataForCharacters):
3936         (WebCore::Font::drawGlyphBuffer):
3937         * platform/graphics/Font.h:
3938         * platform/graphics/FontCache.cpp:
3939         (WebCore::FontCache::getCachedFontData):
3940         (WebCore::FontCache::getFontData):
3941         * platform/graphics/FontCache.h:
3942         * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
3943         * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
3944         * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
3945         FontData.cpp.
3946         (WebCore::FontData::~FontData):
3947         * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
3948         FontData.h.
3949         * platform/graphics/FontFallbackList.cpp:
3950         (WebCore::FontFallbackList::determinePitch):
3951         (WebCore::FontFallbackList::fontDataAt):
3952         (WebCore::FontFallbackList::fontDataForCharacters):
3953         * platform/graphics/FontFallbackList.h:
3954         (WebCore::FontFallbackList::primaryFont):
3955         * platform/graphics/FontSelector.h:
3956         * platform/graphics/GlyphBuffer.h:
3957         (WebCore::GlyphBuffer::fontDataAt):
3958         (WebCore::GlyphBuffer::swap):
3959         (WebCore::GlyphBuffer::add):
3960         * platform/graphics/GlyphPageTreeNode.cpp:
3961         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3962         (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
3963         pages for segmented font data.
3964         (WebCore::GlyphPageTreeNode::getChild):
3965         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
3966         * platform/graphics/GlyphPageTreeNode.h:
3967         (WebCore::GlyphPage::setGlyphDataForCharacter):
3968         (WebCore::GlyphPage::setGlyphDataForIndex):
3969         (WebCore::GlyphPageTreeNode::getRootChild):
3970         * platform/graphics/SegmentedFontData.cpp: Added.
3971         (WebCore::SegmentedFontData::~SegmentedFontData):
3972         (WebCore::SegmentedFontData::fontDataForCharacter):
3973         (WebCore::SegmentedFontData::containsCharacters):
3974         (WebCore::SegmentedFontData::isCustomFont):
3975         (WebCore::SegmentedFontData::isLoading):
3976         (WebCore::SegmentedFontData::isSegmented):
3977         * platform/graphics/SegmentedFontData.h: Added.
3978         (WebCore::FontDataRange::FontDataRange):
3979         (WebCore::FontDataRange::from):
3980         (WebCore::FontDataRange::to):
3981         (WebCore::FontDataRange::fontData):
3982         (WebCore::SegmentedFontData::appendRange):
3983         (WebCore::SegmentedFontData::numRanges):
3984         (WebCore::SegmentedFontData::rangeAt):
3985         * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
3986         (WebCore::SimpleFontData::SimpleFontData):
3987         (WebCore::SimpleFontData::~SimpleFontData):
3988         (WebCore::SimpleFontData::ascent):
3989         (WebCore::SimpleFontData::descent):
3990         (WebCore::SimpleFontData::widthForGlyph):
3991         (WebCore::SimpleFontData::fontDataForCharacter):
3992         (WebCore::SimpleFontData::isSegmented):
3993         * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
3994         (WebCore::SimpleFontData::isCustomFont):
3995         (WebCore::SimpleFontData::isLoading):
3996         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3997         (WebCore::GraphicsContext::setPlatformFont):
3998         * platform/graphics/gtk/FontCacheGtk.cpp:
3999         (WebCore::FontCache::getFontDataForCharacters):
4000         * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
4001         SimpleFontDataGtk.cpp.
4002         * platform/graphics/gtk/FontGtk.cpp:
4003         (WebCore::Font::drawGlyphs):
4004         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
4005         (WebCore::GlyphPage::fill):
4006         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
4007         (WebCore::SimpleFontData::platformInit):
4008         (WebCore::SimpleFontData::platformDestroy):
4009         (WebCore::SimpleFontData::smallCapsFontData):
4010         (WebCore::SimpleFontData::containsCharacters):
4011         (WebCore::SimpleFontData::determinePitch):
4012         (WebCore::SimpleFontData::platformWidthForGlyph):
4013         (WebCore::SimpleFontData::setFont):
4014         * platform/graphics/mac/FontCacheMac.mm:
4015         (WebCore::FontCache::getFontDataForCharacters):
4016         * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
4017         * platform/graphics/mac/FontMac.mm:
4018         (WebCore::initializeATSUStyle):
4019         (WebCore::overrideLayoutOperation):
4020         (WebCore::ATSULayoutParameters::initialize):
4021         (WebCore::Font::drawGlyphs):
4022         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
4023         (WebCore::GlyphPage::fill):
4024         * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
4025         (WebCore::initFontData):
4026         (WebCore::SimpleFontData::platformInit):
4027         (WebCore::SimpleFontData::platformDestroy):
4028         (WebCore::SimpleFontData::smallCapsFontData):
4029         (WebCore::SimpleFontData::containsCharacters):
4030         (WebCore::SimpleFontData::determinePitch):
4031         (WebCore::SimpleFontData::platformWidthForGlyph):
4032         (WebCore::SimpleFontData::checkShapesArabic):
4033         * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
4034         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4035         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
4036         * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
4037         * platform/graphics/win/FontCacheWin.cpp:
4038         (WebCore::FontCache::getFontDataForCharacters):
4039         * platform/graphics/win/FontDataWin.cpp: Renamed to
4040         SimpleFontDataWin.cpp.
4041         * platform/graphics/win/FontWin.cpp:
4042         (WebCore::Font::drawGlyphs):
4043         * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
4044         (WebCore::GlyphPage::fill):
4045         * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
4046         (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
4047         (WebCore::SimpleFontData::platformInit):
4048         (WebCore::SimpleFontData::platformDestroy):
4049         (WebCore::SimpleFontData::smallCapsFontData):
4050         (WebCore::SimpleFontData::containsCharacters):
4051         (WebCore::SimpleFontData::determinePitch):
4052         (WebCore::SimpleFontData::platformWidthForGlyph):
4053         (WebCore::SimpleFontData::scriptFontProperties):
4054         * platform/graphics/wx/FontCacheWx.cpp:
4055         (WebCore::FontCache::getFontDataForCharacters):
4056         * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
4057         * platform/graphics/wx/FontWx.cpp:
4058         (WebCore::Font::drawGlyphs):
4059         * platform/graphics/wx/GlyphMapWx.cpp:
4060         (WebCore::GlyphPage::fill):
4061         * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
4062         (WebCore::SimpleFontData::platformInit):
4063         (WebCore::SimpleFontData::platformDestroy):
4064         (WebCore::SimpleFontData::smallCapsFontData):
4065         (WebCore::SimpleFontData::containsCharacters):
4066         (WebCore::SimpleFontData::determinePitch):
4067         (WebCore::SimpleFontData::platformWidthForGlyph):
4068         * platform/mac/FileChooserMac.mm:
4069         * platform/mac/PopupMenuMac.mm:
4070         * platform/mac/WebCoreTextRenderer.mm:
4071         * platform/win/PopupMenuWin.cpp:
4072         * platform/win/UniscribeController.cpp:
4073         (WebCore::UniscribeController::advance):
4074         (WebCore::UniscribeController::itemizeShapeAndPlace):
4075         (WebCore::UniscribeController::shapeAndPlaceItem):
4076         (WebCore::UniscribeController::shape):
4077         * platform/win/UniscribeController.h:
4078         * svg/SVGFont.cpp:
4079         (WebCore::Font::drawGlyphsWithSVGFont):
4080         * svg/SVGFontElement.cpp:
4081         (WebCore::SVGFontElement::collectGlyphs):
4082         * svg/SVGFontFaceElement.cpp:
4083         (WebCore::SVGFontFaceElement::createFontData):
4084         * svg/SVGFontFaceElement.h:
4085         * svg/SVGGlyphElement.cpp:
4086
4087 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
4088
4089         Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
4090
4091         * svg/svgtags.in:
4092
4093 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
4094
4095         Not reviewed. Proposed build fix for wx.
4096
4097         * webcore-base.bkl:
4098
4099 2008-01-07  Dan Bernstein  <mitz@apple.com>
4100
4101         64-bit build fix
4102
4103         * platform/graphics/mac/FontCustomPlatformData.cpp:
4104         (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
4105         cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
4106
4107 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
4108
4109         Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
4110         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)
4111
4112         Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
4113         measure & render glyphs contained in SVG Fonts, including ligature lookup support.
4114
4115         Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
4116
4117         Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
4118         Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
4119
4120         Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
4121         This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
4122         required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
4123
4124         Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
4125
4126         <glyph> elements now register themselves in the SVGFontElement's glyph cache.
4127         (insertedIntoDocument / removedFromDocument take care of this)
4128
4129         The cache is built once now, and is kept updated - it's not rebuild anymore
4130         on painting (!) - which was a crude hack for testing.
4131
4132         W3C testcase which include SVG Fonts:
4133         svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
4134         svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
4135         svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
4136         svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
4137         svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
4138         svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
4139         svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
4140         svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
4141         svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
4142         svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
4143         svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
4144         svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
4145         svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
4146         svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
4147         svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
4148         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)
4149         svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
4150         svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
4151         svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
4152         svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
4153         svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
4154         svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
4155         svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
4156
4157         Questionable testcases:
4158         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.)
4159         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.
4160
4161         Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
4162
4163         * css/CSSFontSelector.cpp:
4164         (WebCore::CSSFontSelector::addFontFaceRule):
4165         (WebCore::CSSFontSelector::getFontData):
4166         * platform/graphics/Font.cpp:
4167         (WebCore::Font::lineSpacing):
4168         (WebCore::Font::xHeight):
4169         (WebCore::Font::canUseGlyphCache):
4170         (WebCore::Font::drawGlyphBuffer):
4171         (WebCore::Font::drawText):
4172         (WebCore::Font::floatWidth):
4173         (WebCore::Font::selectionRectForText):
4174         * platform/graphics/Font.h:
4175         (WebCore::TextRun::TextRun):
4176         (WebCore::TextRun::activePaintServer):
4177         (WebCore::TextRun::setActivePaintServer):
4178         * platform/graphics/FontData.cpp:
4179         (WebCore::FontData::lineSpacing):
4180         (WebCore::FontData::lineGap):
4181         (WebCore::FontData::xHeight):
4182         * platform/graphics/FontData.h:
4183         * platform/graphics/win/FontWin.cpp:
4184         (WebCore::Font::drawGlyphs):
4185         * rendering/RenderSVGText.cpp:
4186         (WebCore::RenderSVGText::relativeBBox):
4187         * rendering/SVGInlineTextBox.cpp:
4188         (WebCore::SVGInlineTextBox::paintCharacters):
4189         * rendering/SVGInlineTextBox.h:
4190         * rendering/SVGRootInlineBox.cpp:
4191         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
4192         * svg/SVGFont.cpp:
4193         (WebCore::):
4194         (WebCore::processArabicFormDetection):
4195         (WebCore::charactersWithArabicForm):
4196         (WebCore::isCompatibleArabicForm):
4197         (WebCore::isCompatibleGlyph):
4198         (WebCore::svgFontAndFontFaceElementForFontData):
4199         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
4200         (WebCore::SVGTextRunWalker::walk):
4201         (WebCore::floatWidthUsingSVGFontCallback):
4202         (WebCore::floatWidthMissingGlyphCallback):
4203         (WebCore::floatWidthOfSubStringUsingSVGFont):
4204         (WebCore::Font::floatWidthUsingSVGFont):
4205         (WebCore::drawTextUsingSVGFontCallback):
4206         (WebCore::drawTextMissingGlyphCallback):
4207         (WebCore::Font::drawTextUsingSVGFont):
4208         (WebCore::Font::selectionRectForTextUsingSVGFont):
4209         * svg/SVGFontElement.cpp:
4210         (WebCore::SVGFontElement::SVGFontElement):
4211         (WebCore::SVGFontElement::addGlyphToCache):
4212         (WebCore::SVGFontElement::removeGlyphFromCache):
4213         (WebCore::SVGFontElement::firstMissingGlyphElement):
4214         (WebCore::SVGFontElement::glyphIdentifiersForString):
4215         * svg/SVGFontElement.h:
4216         (WebCore::SVGFontElement::maximumHashKeyLength):
4217         * svg/SVGFontFaceElement.cpp:
4218         (WebCore::SVGFontFaceElement::createFontData):
4219         (WebCore::SVGFontFaceElement::rebuildFontFace):
4220         (WebCore::SVGFontFaceElement::associatedFontElement):
4221         * svg/SVGFontFaceElement.h:
4222         * svg/SVGGlyphElement.cpp:
4223         (WebCore::SVGGlyphElement::insertedIntoDocument):
4224         (WebCore::SVGGlyphElement::removedFromDocument):
4225         (WebCore::parseArabicForm):
4226         (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
4227         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
4228         * svg/SVGGlyphElement.h:
4229         (WebCore::SVGGlyphIdentifier::):
4230         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
4231         (WebCore::SVGGlyphIdentifier::inheritedValue):
4232         (WebCore::SVGGlyphIdentifier::operator==):
4233         (WebCore::SVGGlyphElement::~SVGGlyphElement):
4234
4235 2008-01-07  David Hyatt  <hyatt@apple.com>
4236
4237         Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
4238
4239         Reviewed by Dan
4240
4241         * rendering/RenderBox.h:
4242         * rendering/RenderTa