JavaScriptCore:
[WebKit.git] / WebCore / ChangeLog
1 2008-01-11  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2
3         Reviewed by Maciej.
4
5         Added a new forwarding header, because Activation.h has been separated
6         from function.h
7
8         * ForwardingHeaders/kjs/Activation.h: Added.
9
10 2008-01-11  Luca Bruno  <lethalman88@gmail.com>
11
12         Reviewed by Alp Toker.
13
14         http://bugs.webkit.org/show_bug.cgi?id=16729
15         [cURL] Allow multiple files for upload
16
17         * platform/network/ResourceHandleInternal.h:
18         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
19         * platform/network/curl/ResourceHandleCurl.cpp:
20         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
21         * platform/network/curl/ResourceHandleManager.cpp:
22         (WebCore::readCallback): added
23         (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
24         (WebCore::ResourceHandleManager::startJob):
25         (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
26         * platform/network/curl/ResourceHandleManager.h:
27
28 2008-01-11  Christian Dywan  <christian@imendio.com>
29
30         Reviewed by Alp Toker.
31
32         [Gtk] Menu items need underscores
33         http://bugs.webkit.org/show_bug.cgi?id=16817
34
35         Add underscores to appropriate menu labels.
36         Also adjust strings slightly.
37
38         * platform/gtk/ContextMenuItemGtk.cpp:
39         (WebCore::ContextMenuItem::createNativeMenuItem):
40         * platform/gtk/LocalizedStringsGtk.cpp:
41         (WebCore::searchableIndexIntroduction):
42         (WebCore::fileButtonChooseFileLabel):
43         (WebCore::fileButtonNoFileSelectedLabel):
44         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
45         (WebCore::contextMenuItemTagDownloadLinkToDisk):
46         (WebCore::contextMenuItemTagCopyLinkToClipboard):
47         (WebCore::contextMenuItemTagOpenImageInNewWindow):
48         (WebCore::contextMenuItemTagDownloadImageToDisk):
49         (WebCore::contextMenuItemTagCopyImageToClipboard):
50         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
51         (WebCore::contextMenuItemTagCopy):
52         (WebCore::contextMenuItemTagGoBack):
53         (WebCore::contextMenuItemTagGoForward):
54         (WebCore::contextMenuItemTagStop):
55         (WebCore::contextMenuItemTagReload):
56         (WebCore::contextMenuItemTagCut):
57         (WebCore::contextMenuItemTagPaste):
58         (WebCore::contextMenuItemTagIgnoreSpelling):
59         (WebCore::contextMenuItemTagLearnSpelling):
60         (WebCore::contextMenuItemTagSearchWeb):
61         (WebCore::contextMenuItemTagLookUpInDictionary):
62         (WebCore::contextMenuItemTagOpenLink):
63         (WebCore::contextMenuItemTagIgnoreGrammar):
64         (WebCore::contextMenuItemTagSpellingMenu):
65         (WebCore::contextMenuItemTagShowSpellingPanel):
66         (WebCore::contextMenuItemTagCheckSpelling):
67         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
68         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
69         (WebCore::contextMenuItemTagFontMenu):
70         (WebCore::contextMenuItemTagBold):
71         (WebCore::contextMenuItemTagItalic):
72         (WebCore::contextMenuItemTagUnderline):
73         (WebCore::contextMenuItemTagOutline):
74         (WebCore::contextMenuItemTagWritingDirectionMenu):
75         (WebCore::contextMenuItemTagDefaultDirection):
76         (WebCore::contextMenuItemTagLeftToRight):
77         (WebCore::contextMenuItemTagRightToLeft):
78         (WebCore::contextMenuItemTagInspectElement):
79         (WebCore::searchMenuClearRecentSearchesText):
80
81 2008-01-11  Ada Chan  <adachan@apple.com>
82
83         <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
84         Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since 
85         provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
86         when a link to download a file has been clicked.
87
88         Reviewed by John and Anders.
89
90         * loader/FrameLoader.cpp:
91         (WebCore::FrameLoader::provisionalLoadStarted):
92         (WebCore::FrameLoader::commitProvisionalLoad):
93
94 2008-01-11  Jon Honeycutt  <jhoneycutt@apple.com>
95
96         Reviewed by Anders.
97
98         <rdar://problem/5683529> plugins/embed-inside-object.html is timing
99         out/failing
100
101         Revert to using FrameTree::find() so that frame aliases like "_self" and
102         "_current" are interpreted properly
103
104         * plugins/win/PluginViewWin.cpp:
105         (WebCore::PluginViewWin::performRequest):
106         (WebCore::PluginViewWin::load):
107
108 2008-01-11  Alp Toker  <alp@atoker.com>
109
110         Reviewed by Dave Hyatt and Mark Rowe.
111
112         http://bugs.webkit.org/show_bug.cgi?id=16089
113         [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
114
115         Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
116         port.
117
118         * GNUmakefile.am:
119         * WebCore.pro:
120         * loader/CachedFont.cpp:
121         (WebCore::CachedFont::~CachedFont):
122         (WebCore::CachedFont::ensureCustomFontData):
123         (WebCore::CachedFont::platformDataFromCustomData):
124         (WebCore::CachedFont::allReferencesRemoved):
125         * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
126         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
127         (WebCore::FontCustomPlatformData::fontPlatformData):
128         (WebCore::releaseData):
129         (WebCore::createFontCustomPlatformData):
130         * platform/graphics/gtk/FontCustomPlatformData.h: Added.
131         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
132         * platform/graphics/gtk/FontPlatformData.h:
133         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
134         (WebCore::FontPlatformData::FontPlatformData):
135         (WebCore::FontPlatformData::init):
136         (WebCore::FontPlatformData::isFixedPitch):
137         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
138         (WebCore::SimpleFontData::platformDestroy):
139
140 2008-01-11  Adam Roben  <aroben@apple.com>
141
142         Remove FrameLoader::committedFirstRealDocumentLoad
143         
144         This method no longer has any callers.
145
146         Reviewed by Hyatt.
147
148         * loader/FrameLoader.h:
149
150 2008-01-11  Antti Koivisto  <antti@apple.com>
151
152         Add a standalone version of the blog post video player as a manual test.
153
154         * manual-tests/resources/touch-poster.png: Added.
155         * manual-tests/video-player.html: Added.
156
157 2008-01-10  Antti Koivisto  <antti@apple.com>
158
159         Reviewed by Adam.
160
161         Fix <rdar://problem/5682767>
162         Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
163         
164         Take care that GWorld is created and deletes when needed as size or visibility changes.
165
166         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
167         (WebCore::MediaPlayerPrivate::load):
168         * platform/graphics/win/QTMovieWin.cpp:
169         (QTMovieWinPrivate::QTMovieWinPrivate):
170         (QTMovieWinPrivate::updateGWorld):
171         (QTMovieWinPrivate::setSize):
172         (QTMovieWin::setVisible):
173         (QTMovieWin::initializeQuickTime):
174
175 2008-01-11  David Hyatt  <hyatt@apple.com>
176
177         Fix for bug 11188, setting hspace on a table overrides align=center.  Fix align=center to be done using
178         mapped attributes so that it does not get overridden by hspace all the time.
179
180         Reviewed by mitz
181
182         Added fast/table/table-hspace-align-center.html
183
184         * css/html4.css:
185         * html/HTMLTableElement.cpp:
186         (WebCore::HTMLTableElement::parseMappedAttribute):
187
188 2008-01-11  Mark Rowe  <mrowe@apple.com>
189
190         Qt build fix.
191
192         * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
193
194 2008-01-11  Mark Rowe  <mrowe@apple.com>
195
196         Qt build fix.  Add link stubs for the new FileSystem.h functions introduced
197         in r29399.
198
199         * platform/qt/TemporaryLinkStubs.cpp:
200         (WebCore::openTemporaryFile):
201
202 2008-01-11  Rodney Dawes  <dobey@wayofthemonkey.com>
203
204         Reviewed by Anders Carlsson.
205
206         Bug 16779: Make the PluginStream implementation be shared across platforms
207         http://bugs.webkit.org/show_bug.cgi?id=16779
208
209         Add the new shared PluginStream files to the GTK+ and Win32 builds.
210         Add PluginStreamClient class for the streamDidFinishLoading method.
211         Add open/close/write methods to FileSystem for temporary file handling.
212         Add PluginDebug.h and npfunctions.h for shared PluginStream.
213         Add shared PluginStream.
214         Remove PluginStreamWin.
215         Update PluginViewWin to use shared PluginStream and PluginStreamClass.
216
217         * GNUmakefile.am:
218         * WebCore.pro:
219         * WebCore.vcproj/WebCore.vcproj:
220         * platform/FileSystem.h:
221         * platform/gtk/FileSystemGtk.cpp:
222         * platform/win/FileSystemWin.cpp:
223         * plugins/PluginDebug.h:
224         * plugins/PluginStream.cpp:
225         * plugins/PluginStream.h:
226         * plugins/npfunctions.h:
227         * plugins/win/PluginDebug: Moved to PluginDebug.h.
228         * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
229         * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
230         * plugins/win/PluginViewWin.cpp:
231         * plugins/win/PluginViewWin.h:
232         * plugins/win/npfunctions.h: Moved to npfunctions.h
233
234 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
235
236         Try to fix Mac build: Edit the right .exp file.
237
238         * WebCore.base.exp:
239
240 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
241
242         Try to fix Qt build: don't use pthreads if they're not available.
243
244         * bindings/js/GCController.cpp:
245
246 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
247
248         Reviewed by John Sullivan.
249
250         Fixed some world leak reports:
251         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
252         Interpreter after running cvs-base suite
253
254         * <rdar://problem/5669423> PLT complains about world leak if browser
255         window is open when PLT starts
256         
257         These were both bugs in the reporting mechanism, so I took the
258         opportunity to do some house cleaning there.
259
260         Stupid class, I kill you:
261         * bridge/JavaScriptStatistics.cpp: Removed.
262         * bridge/JavaScriptStatistics.h: Removed.
263
264         * bindings/js/GCController.h: Adopted the only useful features of
265         JavaScriptStatistics, since they were GC-related.
266         * bindings/js/GCController.cpp:
267
268 2008-01-10  Eric Seidel  <eric@webkit.org>
269
270         Reviewed by Adele.
271
272         No functional changes, only code cleanup.
273
274         * css/MediaQueryEvaluator.cpp:
275         (WebCore::compareValue): renamed from cmpvalue
276         (WebCore::colorMediaFeatureEval):
277         (WebCore::device_aspect_ratioMediaFeatureEval):
278         (WebCore::device_pixel_ratioMediaFeatureEval):
279         (WebCore::gridMediaFeatureEval):
280         (WebCore::device_heightMediaFeatureEval):
281         (WebCore::device_widthMediaFeatureEval):
282         (WebCore::heightMediaFeatureEval):
283         (WebCore::widthMediaFeatureEval):
284
285 2008-01-10  Dan Bernstein  <mitz@apple.com>
286
287         Reviewed by Anders Carlsson.
288
289         - fix a crash when calling alert() from a repeating timer
290
291         On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
292         alert() and other similar functions, which deletes the actual
293         DOMWindowTimer objects and replaces them with new objects when resuming.
294
295         * bindings/js/kjs_window.cpp:
296         (KJS::Window::timerFired): Re-fetch the timer object from the map in
297         case it has been deleted or replaced.
298
299 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
300
301         Reviewed by Sam.
302
303         - remove SecurityOriginData and fold its functionality into SecurityOrigin
304
305         * GNUmakefile.am:
306         * WebCore.base.exp:
307         * WebCore.pro:
308         * WebCore.vcproj/WebCore.vcproj:
309         * WebCore.xcodeproj/project.pbxproj:
310         * WebCoreSources.bkl:
311         * bindings/js/JSDOMWindowCustom.cpp:
312         (WebCore::JSDOMWindow::postMessage):
313         * dom/Document.cpp:
314         (WebCore::Document::domain):
315         * page/Chrome.cpp:
316         (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
317         (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
318         * page/Chrome.h:
319         * page/ChromeClient.h:
320         * platform/SecurityOrigin.cpp:
321         (WebCore::SecurityOrigin::copy):
322         (WebCore::SecurityOrigin::createFromIdentifier):
323         (WebCore::SecurityOrigin::stringIdentifier):
324         * platform/SecurityOrigin.h:
325         (WebCore::SecurityOrigin::host):
326         (WebCore::SecurityOrigin::protocol):
327         (WebCore::SecurityOrigin::port):
328         (WebCore::SecurityOrigin::equal):
329         * platform/SecurityOriginData.cpp: Removed.
330         * platform/SecurityOriginData.h: Removed.
331         * storage/Database.cpp:
332         (WebCore::Database::openDatabase):
333         (WebCore::Database::Database):
334         (WebCore::Database::securityOriginCopy):
335         * storage/Database.h:
336         * storage/DatabaseTracker.cpp:
337         (WebCore::SecurityOriginHash::hash):
338         (WebCore::SecurityOriginHash::equal):
339         (WebCore::SecurityOriginTraits::deletedValue):
340         (WebCore::SecurityOriginTraits::emptyValue):
341         (WebCore::DatabaseTracker::canEstablishDatabase):
342         (WebCore::DatabaseTracker::hasEntryForOrigin):
343         (WebCore::DatabaseTracker::hasEntryForDatabase):
344         (WebCore::DatabaseTracker::establishEntryForOrigin):
345         (WebCore::DatabaseTracker::fullPathForDatabase):
346         (WebCore::DatabaseTracker::populateOrigins):
347         (WebCore::DatabaseTracker::origins):
348         (WebCore::DatabaseTracker::databaseNamesForOrigin):
349         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
350         (WebCore::DatabaseTracker::setDatabaseDetails):
351         (WebCore::DatabaseTracker::usageForDatabase):
352         (WebCore::DatabaseTracker::usageForOrigin):
353         (WebCore::DatabaseTracker::quotaForOrigin):
354         (WebCore::DatabaseTracker::setQuota):
355         (WebCore::DatabaseTracker::addDatabase):
356         (WebCore::DatabaseTracker::deleteAllDatabases):
357         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
358         (WebCore::DatabaseTracker::deleteDatabase):
359         (WebCore::DatabaseTracker::deleteDatabaseFile):
360         (WebCore::notificationQueue):
361         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
362         (WebCore::DatabaseTracker::notifyDatabasesChanged):
363         * storage/DatabaseTracker.h:
364         * storage/DatabaseTrackerClient.h:
365         * storage/SQLTransaction.cpp:
366         (WebCore::SQLTransaction::openTransactionAndPreflight):
367         (WebCore::SQLTransaction::runStatements):
368         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
369         (WebCore::SQLTransaction::postflightAndCommit):
370         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
371         * svg/graphics/SVGImageEmptyClients.h:
372         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
373         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
374
375 2008-01-10  Anders Carlsson  <andersca@apple.com>
376
377         Reviewed by Sam.
378
379         Use the correct frame loader load method. Using the old method would not cause a 
380         new window to be open if the frame navigation was not allowed.
381         
382         * plugins/win/PluginViewWin.cpp:
383         (WebCore::PluginViewWin::performRequest):
384
385 2008-01-10  Alp Toker  <alp@atoker.com>
386
387         SVG font build fix for GTK+/autotools.
388
389         * GNUmakefile.am:
390
391 2008-01-10  Adam Barth  <hk9565@gmail.com>
392
393         Reviewed by Sam Weinig and Anders Carlsson.
394
395         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
396         <rdar://problem/5657355>
397
398         This patch makes two changes:
399
400         1) Java calls FrameLoader::load in a slightly different way than
401            JavaScript, which previously let a malicious web site bypass the
402            shouldAllowNavigation check.  This patch adds that check to that
403            code path.
404
405         2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
406            findFrameForNavigation, which calls shouldAllowNavigation.  This
407            treats disallowed frame navigations as if the named frame did not
408            exist, resulting in a popup window when appropriate.
409
410         Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
411                http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
412
413         * WebCore.base.exp:
414         * bindings/js/kjs_window.cpp:
415         (KJS::WindowProtoFuncOpen::callAsFunction):
416         * loader/FrameLoader.cpp:
417         (WebCore::FrameLoader::createWindow):
418         (WebCore::FrameLoader::load):
419         (WebCore::FrameLoader::post):
420         (WebCore::FrameLoader::findFrameForNavigation):
421         * loader/FrameLoader.h:
422
423 2008-01-10  John Sullivan  <sullivan@apple.com>
424
425         Written by Hyatt, reviewed by me
426         
427         - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 
428           a <video> element that uses controls attribute
429
430         * rendering/MediaControlElements.cpp:
431         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
432         force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
433         up this architecture, but this one-line fix will prevent the crash in the meantime
434
435 2008-01-10  Ada Chan  <adachan@apple.com>
436
437         Fix fast/forms/input-radio-checked-tab.html
438         Meta key is not the same as Alt key on windows.
439
440         Reviewed by Darin.
441
442         * platform/win/KeyEventWin.cpp:
443         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
444
445 2008-01-10  Anders Carlsson  <andersca@apple.com>
446
447         Reviewed by Jon.
448
449         Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
450         
451         * plugins/win/PluginViewWin.cpp:
452         (WebCore::PluginViewWin::performRequest):
453         Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
454         
455         (WebCore::PluginViewWin::requestTimerFired):
456         Don't leak the plugin requests.
457         
458         (WebCore::PluginViewWin::load):
459
460 2008-01-10  Anders Carlsson  <andersca@apple.com>
461
462         Reviewed by John Sullivan.
463
464         <rdar://problem/5455889>
465         REGRESSION: BumperCar crashes when attempting to load a long invalid URL
466         
467         Make sure to call FrameLoader::receivedMainResourceError before calling
468         FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
469         clearing out the provisional document loader so that we won't call the didFail
470         ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
471         didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
472         
473         * loader/MainResourceLoader.cpp:
474         (WebCore::MainResourceLoader::receivedError):
475
476 2008-01-10  Antti Koivisto  <antti@apple.com>
477
478         Reviewed by Adele.
479
480         Fix <rdar://problem/5658048>
481         After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
482         
483         - Move to paused state if the playback had ended and the controller is used to seek to earlier time
484         - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
485
486         * html/HTMLMediaElement.cpp:
487         (WebCore::HTMLMediaElement::HTMLMediaElement):
488         (WebCore::HTMLMediaElement::updateMediaPlayer):
489         (WebCore::HTMLMediaElement::setPausedInternal):
490         * html/HTMLMediaElement.h:
491         * rendering/MediaControlElements.cpp:
492         (WebCore::MediaControlTimelineElement::defaultEventHandler):
493
494 2008-01-10  Alexey Proskuryakov  <ap@webkit.org>
495
496         Reviewed by Adam Roben.
497
498         <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
499
500         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
501         requests, as CFNetwork doesn't perform extension to MIME type mapping then.
502
503 2008-01-10  Adam Roben  <aroben@apple.com>
504
505         Fixes to allow multiple FrameViews on Windows
506
507         Reviewed by Hyatt.
508
509         * page/FrameView.cpp:
510         (WebCore::FrameView::FrameView): Added a new constructor that takes an
511         IntSize to specify the FrameView's initial size.
512         (WebCore::FrameView::scheduleRelayout): Added an assertion that our
513         Document is not in the page cache.
514         * page/FrameView.h:
515         * platform/gtk/WidgetGtk.cpp:
516         (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
517         * platform/qt/WidgetQt.cpp:
518         (WebCore::Widget::~Widget): Ditto.
519         * rendering/RenderWidget.cpp:
520         (WebCore::RenderWidget::setWidget): Make sure to remove any existing
521         Widget from the Widget hierarchy before deleting it. One instance
522         where this is needed is when setWidget is called during FrameView
523         creation on Windows.
524
525 2008-01-10  Alp Toker  <alp@atoker.com>
526
527         Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
528
529         * svg/SVGFontFaceElement.cpp:
530
531 2008-01-10  Justin Garcia  <justin.garcia@apple.com>
532
533         Reviewed by Alice Liu.
534
535         <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
536         <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
537         
538         Make sure we have an updated layout before we perform any editing work.
539
540         * editing/EditCommand.cpp:
541         (WebCore::EditCommand::apply):
542         (WebCore::EditCommand::unapply):
543         (WebCore::EditCommand::reapply):
544
545 2008-01-10  Luca Bruno  <lethalman88@gmail.com>
546
547         Reviewed by Alp Toker.
548
549         Back out r29206 which was causing regressions in curl http job
550         cancellation.
551
552         * platform/network/curl/ResourceHandleManager.cpp
553         (ResourceHandleManager::cancel): 
554
555 2008-01-10  Kevin McCullough  <kmccullough@apple.com>
556
557         Reviewed by Darin, Sam, and Adam.
558
559         - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
560         - link in gmail message displays JavaScript alert falsely complaining
561         about pop-up blocking
562         - When trying to open a new window, we now see if the user gesture 
563         occurred in the global dynamic object instead of the frame since that is
564         the only place an event can occur. 
565
566         * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
567         of the frame.
568         (KJS::allowPopUp):
569         (KJS::showModalDialog):
570         (KJS::WindowProtoFuncOpen::callAsFunction):
571
572 2008-01-10  David Hyatt  <hyatt@apple.com>
573
574         Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
575
576         Reviewed by adele
577
578         Added fast/css/visibility-hit-test.html test case.
579
580         * rendering/RenderBox.cpp:
581         (WebCore::RenderBox::nodeAtPoint):
582
583 2008-01-10  Lars Knoll  <lars@trolltech.com>
584
585         Reviewed by Simon.
586
587         rename QWebPageHistory to QWebHistory.
588
589         * WebCore.pro:
590
591 2008-01-10  Lars Knoll  <lars@trolltech.com>
592
593         Reviewed by Simon.
594
595         fix the drawing errors that where introduced due to refactoring.
596
597         Correctly clip to the rectangle we want to draw in ScrollView::paint().
598
599         * platform/qt/ScrollViewQt.cpp:
600         (WebCore::ScrollView::paint):
601
602 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
603
604         Reviewed by Lars.
605
606         Temporarily disable gzip decompression in qhttp due to a bug.
607
608         * platform/network/qt/QNetworkReplyHandler.cpp:
609         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
610
611 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
612
613         Reviewed by Lars.
614
615         http://bugs.webkit.org/show_bug.cgi?id=16588
616
617         Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
618         This allows implementing the synchronous loading correctly for the Qt port where the networking
619         backend is bound to the page.
620
621         * loader/FrameLoader.cpp:
622         (WebCore::FrameLoader::loadResourceSynchronously):
623         * platform/network/ResourceHandle.h:
624         * platform/network/cf/ResourceHandleCFNet.cpp:
625         * platform/network/curl/ResourceHandleCurl.cpp:
626         * platform/network/mac/ResourceHandleMac.mm:
627         * platform/network/qt/ResourceHandleQt.cpp:
628         (WebCore::ResourceHandle::loadResourceSynchronously):
629
630 2008-01-10  Kevin Ollivier  <kevino@theolliviers.com>
631
632         wx build fix for changes in r29328
633
634         * WebCoreSources.bkl:
635
636 2008-01-09  Maciej Stachowiak  <mjs@apple.com>
637
638         Reviewed by Sam.
639
640         - refactor SecurityOrigin in preparation for merging with SecurityOriginData
641
642         * platform/SecurityOrigin.cpp:
643         (WebCore::SecurityOrigin::SecurityOrigin):
644         (WebCore::SecurityOrigin::create):
645         (WebCore::SecurityOrigin::createForFrame):
646         * platform/SecurityOrigin.h:
647
648 2008-01-09  Ada Chan  <adachan@apple.com>
649
650         Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
651
652         Reviewed by Darin.
653
654         Test: fast/forms/tabs-with-modifiers.html
655
656         * page/EventHandler.cpp:
657         (WebCore::EventHandler::defaultKeyboardEventHandler):
658         (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.  
659         Clean up the code a bit.
660         * page/EventHandler.h:
661         * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent.  It was
662         only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
663         no longer needs it.
664         * page/FocusController.h:
665
666 2008-01-09  Antti Koivisto  <antti@apple.com>
667
668         Reviewed by Mitz.
669
670         Fix http://bugs.webkit.org/show_bug.cgi?id=16376
671         <rdar://problem/5665206>
672         <video> element fails to play frames when navigating back to page (16376)
673         
674         Don't make MediaPlayer visible when it is actually in page cache.
675
676         * rendering/RenderVideo.cpp:
677         (WebCore::RenderVideo::updatePlayer):
678
679 2008-01-09  Anders Carlsson  <andersca@apple.com>
680
681         Reviewed by Darin.
682
683         <rdar://problem/5532361> 
684         CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
685         
686         Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
687         
688         * page/Frame.cpp:
689         (WebCore::Frame::pageDestroyed):
690
691 2008-01-09  John Sullivan  <sullivan@apple.com>
692
693         Reviewed by Adam Roben and Anders Carlsson
694         
695         - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 
696           missing-but-expected Reload item
697
698         * platform/ContextMenu.cpp:
699         (WebCore::ContextMenu::populate):
700         use isLoadingInAPISense when deciding whether to include Stop or Reload in context
701         menu, to match the WebKit API
702
703 2008-01-09  Mark Rowe  <mrowe@apple.com>
704
705         Fix Windows debug build for opensource developers.
706
707         * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
708
709 2007-10-01  Allan Sandfeld Jensen  <sandfeld@kde.org>
710
711         Reworked by Eric, Reviewed by Hyatt.
712
713         - fix http://bugs.webkit.org/show_bug.cgi?id=9454
714         Add support for :lang inheritance and xml:lang support.
715
716         Tests: fast/selectors/lang-inheritance.html
717                fast/selectors/lang-inheritance2.html
718                fast/selectors/lang-vs-xml-lang.html
719                fast/selectors/lang-vs-xml-lang-xhtml.xhtml
720
721         * css/CSSStyleSelector.cpp:
722         (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
723         different LANG-attribute.
724         (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
725         for all the elements parents and the content-language of the document.
726         * dom/Document.cpp:
727         (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
728         * dom/Document.h:
729         (WebCore::Document::contentLanguage):
730         (WebCore::Document::setContentLanguage):
731
732 2008-01-08  Timothy Hatcher  <timothy@apple.com>
733
734         Reviewed by Brady.
735
736         Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
737         http://bugs.webkit.org/show_bug.cgi?id=16678
738
739         Add a NULL check for controller before calling JSObjectSetPrivate.
740
741         * page/InspectorController.cpp:
742         (WebCore::InspectorController::~InspectorController):
743
744 2008-01-08  Xan Lopez  <xan@gnome.org>
745
746         Reviewed by Alp Toker.
747
748         http://bugs.webkit.org/show_bug.cgi?id=15610
749         [GTK] Text rendering using Pango
750
751         Use Pango to render Complex path text.
752
753         * platform/graphics/gtk/FontGtk.cpp:
754         (WebCore::utf16_to_utf8):
755         (WebCore::convertUniCharToUTF8):
756         (WebCore::setPangoAttributes):
757         (WebCore::Font::drawGlyphs):
758         (WebCore::Font::drawComplexText):
759         (WebCore::Font::floatWidthForComplexText):
760         (WebCore::Font::offsetForPositionForComplexText):
761
762 2008-01-08  Timothy Hatcher  <timothy@apple.com>
763
764         Reviewed by Darin Adler.
765
766         <rdar://problem/5665860> With the web inspector displayed, a crash occurs
767         at WebCore::Frame::document() when navigating back to previous page
768
769         This fixes the crash, but the inspector was totally broken with back/forward.
770         So this also fixes back/forward navigation so the right main resource shows
771         up in the inspector.
772
773         * page/InspectorController.cpp:
774         (WebCore::addSourceToFrame): Add some null checks for the frame when
775         getting the textEncoding. This was the crash.
776         (WebCore::InspectorController::addScriptResource): Create a script object
777         only if needed, and always add it by calling addResource.
778         (WebCore::InspectorController::didCommitLoad): Check if the loader is 
779         loading from the page cache, and clear m_mainResource. If the load is
780         normal, then call addAndUpdateScriptResource with the main resource. 
781         (WebCore::InspectorController::identifierForInitialRequest): If the load
782         is from the page cache and the resource is the main resource call
783         addAndUpdateScriptResource since didCommitLoad did not do it.
784
785 2008-01-08  Alp Toker  <alp@atoker.com>
786
787         Back out VIDEO by default in the GTK+ qmake build. The build bot
788         doesn't have the necessary libraries installed.
789
790         * WebCore.pro:
791
792 2008-01-08  Alp Toker  <alp@atoker.com>
793
794         Win build fix for breakage introduced in r29328.
795
796         * WebCore.vcproj/WebCore.vcproj:
797
798 2008-01-08  Alp Toker  <alp@atoker.com>
799
800         Rubber-stamped by Mark Rowe.
801
802         Enable VIDEO by default in the GTK+ qmake build.
803
804         * WebCore.pro:
805
806 2008-01-08  Alp Toker  <alp@atoker.com>
807
808         GTK+ VIDEO build fix for breakage introduced in r29328.
809
810         Issue noticed by Ori_B.
811
812         * GNUmakefile.am:
813         * WebCore.pro:
814
815 2008-01-08  Antti Koivisto  <antti@apple.com>
816
817         Reviewed by Darin.
818         
819         HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 
820         bit strange.
821         
822         Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
823
824         Test: media/constructors.html
825
826         * ChangeLog:
827         * WebCore.xcodeproj/project.pbxproj:
828         * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
829         (WebCore::JSAudioConstructor::JSAudioConstructor):
830         (WebCore::JSAudioConstructor::implementsConstruct):
831         (WebCore::JSAudioConstructor::construct):
832         * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
833         * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
834         * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
835         * bindings/js/kjs_window.cpp:
836         (KJS::Window::getValueProperty):
837         * html/HTMLAudioElement.idl:
838
839 2008-01-08  Anders Carlsson  <andersca@apple.com>
840
841         Reviewed by Mitz.
842
843         Don't add the applet widget to the view, that's done later by RenderApplet.
844             
845         * loader/FrameLoader.cpp:
846         (WebCore::FrameLoader::createJavaAppletWidget):
847
848 2008-01-08  Antti Koivisto  <antti@apple.com>
849
850         Reviewed by Weinig.
851         
852         Add security check for Audio constructor.
853
854         * bindings/js/kjs_window.cpp:
855         (KJS::Window::getValueProperty):
856
857 2008-01-08  Timothy Hatcher  <timothy@apple.com>
858
859         Reviewed by Adam Roben.
860
861         <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
862
863         InspectorController::didLoadResourceFromMemoryCache was not being called for
864         resources that loaded from the memory cache that the FrameLoader's client
865         has already been notified about. This fix always calls the InspectorController
866         when loading a memory cached resource. No test possible for the Web Inspector.
867
868         * loader/DocLoader.cpp:
869         (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
870         FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
871         * loader/FrameLoader.cpp:
872         (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
873         (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
874         (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
875         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
876         Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
877         didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
878         didTellClientAboutLoad.
879         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
880         in FrameLoader::loadedResourceFromMemoryCache.
881         * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
882         Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 
883         m_urlsClientKnowsAbout.
884         * loader/SubresourceLoader.cpp:
885         (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
886
887 2008-01-08  Dan Bernstein  <mitz@apple.com>
888
889         Rubber-stamped by Sam Weinig.
890
891         - prefix all member variables in CSSStyleSelector with m_
892
893         * css/CSSStyleSelector.cpp:
894         (WebCore::CSSStyleSelector::CSSStyleSelector):
895         (WebCore::CSSStyleSelector::init):
896         (WebCore::CSSStyleSelector::setEncodedURL):
897         (WebCore::CSSStyleSelector::loadDefaultStyle):
898         (WebCore::CSSStyleSelector::matchRules):
899         (WebCore::CSSStyleSelector::matchRulesForList):
900         (WebCore::CSSStyleSelector::initElementAndPseudoState):
901         (WebCore::CSSStyleSelector::initForStyleResolve):
902         (WebCore::CSSStyleSelector::canShareStyleWithElement):
903         (WebCore::CSSStyleSelector::locateSharedStyle):
904         (WebCore::CSSStyleSelector::matchUARules):
905         (WebCore::CSSStyleSelector::styleForElement):
906         (WebCore::CSSStyleSelector::pseudoStyleForElement):
907         (WebCore::CSSStyleSelector::updateFont):
908         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
909         (WebCore::CSSStyleSelector::checkSelector):
910         (WebCore::CSSStyleSelector::checkOneSelector):
911         (WebCore::CSSStyleSelector::applyProperty):
912         (WebCore::CSSStyleSelector::mapBackgroundImage):
913         (WebCore::CSSStyleSelector::mapBackgroundSize):
914         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
915         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
916         (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
917         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
918         * css/CSSStyleSelector.h:
919         (WebCore::CSSStyleSelector::):
920         (WebCore::CSSRuleData::CSSRuleData):
921         (WebCore::CSSRuleDataList::CSSRuleDataList):
922         (WebCore::CSSRuleDataList::append):
923         * css/SVGCSSStyleSelector.cpp:
924         (WebCore::CSSStyleSelector::applySVGProperty):
925         * rendering/RenderStyle.cpp:
926         (WebCore::RenderStyle::isStyleAvailable):
927
928 2008-01-08  David D. Kilzer  <ddkilzer@apple.com>
929
930         Removed unnecessary files from Copy Bundle Resources build phase.
931
932         Reviewed by Sam.
933
934         * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
935         DOMCoreException.idl
936         EventException.idl
937         MessageEvent.idl
938         SVGAElement.idl
939         SVGAngle.idl
940         SVGAnimateColorElement.idl
941         SVGAnimateElement.idl
942         SVGAnimateTransformElement.idl
943         SVGAnimatedAngle.idl
944         SVGAnimatedBoolean.idl
945         SVGAnimatedEnumeration.idl
946         SVGAnimatedInteger.idl
947         SVGAnimatedLength.idl
948         SVGAnimatedLengthList.idl
949         SVGAnimatedNumber.idl
950         SVGAnimatedNumberList.idl
951         SVGAnimatedPathData.idl
952         SVGAnimatedPoints.idl
953         SVGAnimatedPreserveAspectRatio.idl
954         SVGAnimatedRect.idl
955         SVGAnimatedString.idl
956         SVGAnimatedTransformList.idl
957         SVGAnimationElement.idl
958         SVGCSSPropertyNames.in
959         SVGCSSValueKeywords.in
960         SVGCircleElement.idl
961         SVGClipPathElement.idl
962         SVGColor.idl
963         SVGComponentTransferFunctionElement.idl
964         SVGCursorElement.idl
965         SVGDefinitionSrcElement.idl
966         SVGDefsElement.idl
967         SVGDescElement.idl
968         SVGDocument.idl
969         SVGElement.idl
970         SVGElementInstance.idl
971         SVGElementInstanceList.idl
972         SVGEllipseElement.idl
973         SVGException.idl
974         SVGExternalResourcesRequired.idl
975         SVGFEBlendElement.idl
976         SVGFEColorMatrixElement.idl
977         SVGFEComponentTransferElement.idl
978         SVGFECompositeElement.idl
979         SVGFEDiffuseLightingElement.idl
980         SVGFEDisplacementMapElement.idl
981         SVGFEDistantLightElement.idl
982         SVGFEFloodElement.idl
983         SVGFEFuncAElement.idl
984         SVGFEFuncBElement.idl
985         SVGFEFuncGElement.idl
986         SVGFEFuncRElement.idl
987         SVGFEGaussianBlurElement.idl
988         SVGFEImageElement.idl
989         SVGFEMergeElement.idl
990         SVGFEMergeNodeElement.idl
991         SVGFEOffsetElement.idl
992         SVGFEPointLightElement.idl
993         SVGFESpecularLightingElement.idl
994         SVGFESpotLightElement.idl
995         SVGFETileElement.idl
996         SVGFETurbulenceElement.idl
997         SVGFilterElement.idl
998         SVGFilterPrimitiveStandardAttributes.idl
999         SVGFitToViewBox.idl
1000         SVGFontElement.idl
1001         SVGFontFaceElement.idl
1002         SVGFontFaceFormatElement.idl
1003         SVGFontFaceNameElement.idl
1004         SVGFontFaceSrcElement.idl
1005         SVGFontFaceUriElement.idl
1006         SVGForeignObjectElement.idl
1007         SVGGElement.idl
1008         SVGGlyphElement.idl
1009         SVGGradientElement.idl
1010         SVGImageElement.idl
1011         SVGLangSpace.idl
1012         SVGLength.idl
1013         SVGLengthList.idl
1014         SVGLineElement.idl
1015         SVGLinearGradientElement.idl
1016         SVGLocatable.idl
1017         SVGMarkerElement.idl
1018         SVGMaskElement.idl
1019         SVGMatrix.idl
1020         SVGMetadataElement.idl
1021         SVGMissingGlyphElement.idl
1022         SVGNumber.idl
1023         SVGNumberList.idl
1024         SVGPaint.idl
1025         SVGPathElement.idl
1026         SVGPathSeg.idl
1027         SVGPathSegArcAbs.idl
1028         SVGPathSegArcRel.idl
1029         SVGPathSegClosePath.idl
1030         SVGPathSegCurvetoCubicAbs.idl
1031         SVGPathSegCurvetoCubicRel.idl
1032         SVGPathSegCurvetoCubicSmoothAbs.idl
1033         SVGPathSegCurvetoCubicSmoothRel.idl
1034         SVGPathSegCurvetoQuadraticAbs.idl
1035         SVGPathSegCurvetoQuadraticRel.idl
1036         SVGPathSegCurvetoQuadraticSmoothAbs.idl
1037         SVGPathSegCurvetoQuadraticSmoothRel.idl
1038         SVGPathSegLinetoAbs.idl
1039         SVGPathSegLinetoHorizontalAbs.idl
1040         SVGPathSegLinetoHorizontalRel.idl
1041         SVGPathSegLinetoRel.idl
1042         SVGPathSegLinetoVerticalAbs.idl
1043         SVGPathSegLinetoVerticalRel.idl
1044         SVGPathSegList.idl
1045         SVGPathSegMovetoAbs.idl
1046         SVGPathSegMovetoRel.idl
1047         SVGPatternElement.idl
1048         SVGPoint.idl
1049         SVGPointList.idl
1050         SVGPolygonElement.idl
1051         SVGPolylineElement.idl
1052         SVGPreserveAspectRatio.idl
1053         SVGRadialGradientElement.idl
1054         SVGRect.idl
1055         SVGRectElement.idl
1056         SVGRenderingIntent.idl
1057         SVGSVGElement.idl
1058         SVGScriptElement.idl
1059         SVGSetElement.idl
1060         SVGStopElement.idl
1061         SVGStringList.idl
1062         SVGStylable.idl
1063         SVGStyleElement.idl
1064         SVGSwitchElement.idl
1065         SVGSymbolElement.idl
1066         SVGTRefElement.idl
1067         SVGTSpanElement.idl
1068         SVGTests.idl
1069         SVGTextContentElement.idl
1070         SVGTextElement.idl
1071         SVGTextPathElement.idl
1072         SVGTextPositioningElement.idl
1073         SVGTitleElement.idl
1074         SVGTransform.idl
1075         SVGTransformList.idl
1076         SVGTransformable.idl
1077         SVGURIReference.idl
1078         SVGUnitTypes.idl
1079         SVGUseElement.idl
1080         SVGViewElement.idl
1081         SVGViewSpec.idl
1082         SVGZoomAndPan.idl
1083         SVGZoomEvent.idl
1084         XMLHttpRequestException.idl
1085         XPathException.idl
1086         character-sets.txt
1087         mac-encodings.txt
1088         make-charset-table.pl
1089         svgattrs.in
1090         svgtags.in
1091         xlinkattrs.in
1092
1093 2008-01-08  Luca Bruno  <lethalman88@gmail.com>
1094
1095         Reviewed by Alp Toker.
1096
1097         Support copying the selected URL to the clipboard.
1098
1099         * platform/gtk/PasteboardGtk.cpp:
1100         (WebCore::Pasteboard::writeURL): implemented
1101
1102 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
1103
1104         Renamed CharacterData::m_str to m_data
1105
1106         Rubber-stamped by Adam again.
1107
1108         No test cases added since there is no change in behavior.
1109
1110         * dom/CDATASection.cpp:
1111         * dom/CharacterData.cpp:
1112         (WebCore::CharacterData::CharacterData):
1113         (WebCore::CharacterData::setData):
1114         (WebCore::CharacterData::substringData):
1115         (WebCore::CharacterData::appendData):
1116         (WebCore::CharacterData::insertData):
1117         (WebCore::CharacterData::deleteData):
1118         (WebCore::CharacterData::replaceData):
1119         (WebCore::CharacterData::nodeValue):
1120         (WebCore::CharacterData::containsOnlyWhitespace):
1121         (WebCore::CharacterData::dispatchModifiedEvent):
1122         (WebCore::CharacterData::checkCharDataOperation):
1123         (WebCore::CharacterData::dump):
1124         * dom/CharacterData.h:
1125         * dom/Comment.cpp:
1126         * dom/Text.cpp:
1127         (WebCore::Text::splitText):
1128         (WebCore::Text::createRenderer):
1129         (WebCore::Text::recalcStyle):
1130
1131 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
1132
1133         Fix a couple of compiler warnings.
1134         
1135         Reviewed by Mitz.
1136
1137         * platform/win/ThreadingWin.cpp:
1138         * platform/win/UniscribeController.cpp: Remove unused function.
1139         (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
1140
1141 2008-01-08  Adele Peterson  <adele@apple.com>
1142
1143         Reviewed by Darin.
1144
1145         Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
1146
1147         * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1148           After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
1149           MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.  
1150           This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
1151           I also added a missing call to setDefaultHandled for the mousemove event.
1152
1153 2008-01-08  Adele Peterson  <adele@apple.com>
1154
1155         Reviewed by Adam. 
1156
1157         * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
1158         paint the media controls in RenderThemeSafari.
1159
1160 2008-01-08  Oliver Hunt  <oliver@apple.com>
1161
1162         Reviewed by Adele and John.
1163
1164         Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
1165         dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
1166
1167         We hit this crash if the page reloads between DragController::dragUpdated
1168         and DragController::performDrag, meaning that m_document starts pointing to
1169         a now viewless document.  This is picked up by an assertion in performDrag
1170         which I have now replaced with an assignment given that the assertion is 
1171         invalid -- it is possible for m_document to be changed between dragUpdated
1172         performDrag
1173
1174         * page/DragController.cpp:
1175         (WebCore::DragController::performDrag):
1176
1177 2008-01-08  Alexey Proskuryakov  <ap@webkit.org>
1178
1179         Reviewed by Darin.
1180
1181         <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
1182         WebCore::Node::setChanged + 96
1183
1184         Test: fast/dom/cssTarget-crash.html
1185
1186         * dom/Node.cpp: (WebCore::Node::removedFromDocument):
1187         Check to see if the node being removed is currently set as the Document's cssTarget.
1188         If it is, clear the cssTarget to prevent a hanging reference to it.
1189
1190 2008-01-08  Adam Roben  <aroben@apple.com>
1191
1192         * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
1193         rebuild on Windows now that the media elements are enabled.
1194
1195 2008-01-08  Adam Roben  <aroben@apple.com>
1196
1197         * svg/svgtags.in: Touch this again for the sake of the Windows bots.
1198
1199 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1200
1201         Reviewed by Adam Roben.
1202
1203         Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
1204         Also added some #pragma marks to help find places in the file.
1205
1206         * page/InspectorController.cpp:
1207         (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
1208         And return the result of JSObjectCallAsFunction.
1209         (WebCore::search): Use JSRetainPtr<JSStringRef>.
1210         (WebCore::databaseTableNames): Ditto.
1211         (WebCore::localizedStrings): Ditto.
1212         (WebCore::InspectorController::~InspectorController): Ditto.
1213         (WebCore::InspectorController::focusNode): Ditto.
1214         (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
1215         (WebCore::InspectorController::scriptObjectReady): Ditto.
1216         (WebCore::addHeaders): Ditto.
1217         (WebCore::InspectorController::addScriptResource): Ditto.
1218         (WebCore::InspectorController::removeScriptResource): Ditto.
1219         (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
1220         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
1221         (WebCore::InspectorController::updateScriptResource): Ditto.
1222         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
1223         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
1224         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
1225
1226 2008-01-08  Dan Bernstein  <mitz@apple.com>
1227
1228         Rubber-stamped by Sam Weinig.
1229
1230         - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
1231
1232         * GNUmakefile.am:
1233         * WebCore.pro:
1234         * WebCore.vcproj/WebCore.vcproj:
1235         * WebCore.xcodeproj/project.pbxproj:
1236         * WebCoreSources.bkl:
1237         * editing/Editor.cpp:
1238         * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
1239         * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
1240         * platform/graphics/FontDataBaseClass.cpp: Removed.
1241         * platform/graphics/FontDataBaseClass.h: Removed.
1242         * platform/graphics/SegmentedFontData.h:
1243         * platform/graphics/SimpleFontData.h:
1244
1245 2008-01-08  Dan Bernstein  <mitz@apple.com>
1246
1247         Fix a Wx build error.
1248
1249         * platform/graphics/wx/GlyphMapWx.cpp:
1250         (WebCore::GlyphPage::fill):
1251
1252 2008-01-08  Dan Bernstein  <mitz@apple.com>
1253
1254         Fix a Qt build error.
1255
1256         * platform/graphics/qt/SimpleFontDataQt.cpp:
1257         (WebCore::SimpleFontData::containsCharacters):
1258         (WebCore::SimpleFontData::fontDataForCharacter):
1259         (WebCore::SimpleFontData::isSegmented):
1260
1261 2008-01-08  Adam Roben  <aroben@apple.com>
1262
1263         Windows build fix.
1264
1265         Touch config.h to force a rebuild (apparently changing preprocessor
1266         definitions in the .vcproj doesn't force a rebuild).
1267
1268         * config.h:
1269
1270 2008-01-08  Dan Bernstein  <mitz@apple.com>
1271
1272         Fix a Wx build failure.
1273
1274         * webcore-wx.bkl:
1275
1276 2008-01-08  Dan Bernstein  <mitz@apple.com>
1277
1278         Fix a Qt build failure.
1279
1280         * WebCore.pro:
1281
1282 2008-01-08  John Sullivan  <sullivan@apple.com>
1283
1284         Reviewed by Adam Roben
1285         
1286         - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 
1287           Delete menu item is enabled but shouldn't be
1288
1289         The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
1290         parameter to the enabled functions so that they can have parallel logic to the execute functions.
1291
1292         * editing/EditorCommand.cpp:
1293         added EditorCommandSource parameter to isEnabled function prototype
1294         (WebCore::enabled):
1295         added unused EditorCommandSource parameter to these isEnabled functions:
1296         (WebCore::enabledAnySelection):
1297         (WebCore::enabledAnySelectionAndMark):
1298         (WebCore::enableCaretInEditableText):
1299         (WebCore::enabledCopy):
1300         (WebCore::enabledCut):
1301
1302         (WebCore::enabledDelete):
1303         new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
1304         for menu source
1305
1306         added unused EditorCommandSource parameter to these isEnabled functions:
1307         (WebCore::enabledInEditableText):
1308         (WebCore::enabledInRichlyEditableText):
1309         (WebCore::enabledPaste):
1310         (WebCore::enabledRangeInEditableText):
1311         (WebCore::enabledRangeInRichlyEditableText):
1312         (WebCore::enabledRedo):
1313         (WebCore::enabledUndo):
1314         
1315         (WebCore::CommandEntry::):
1316         wire up new enabledDelete function as delete function for Delete command
1317         
1318         (WebCore::Editor::Command::isEnabled):
1319         pass EditorCommandSource parameter to isEnabled function
1320
1321 2008-01-08  Adam Roben  <aroben@apple.com>
1322
1323         Visual C++ Express build fix
1324
1325         * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
1326         and advapi32.lib. VS implicitly links against these, VC++ Express
1327         doesn't.
1328
1329 2008-01-08  Dan Bernstein  <mitz@apple.com>
1330
1331         - add bug number
1332
1333         * platform/graphics/mac/FontCustomPlatformData.cpp:
1334         (WebCore::createFontCustomPlatformData):
1335
1336 2008-01-08  Dan Bernstein  <mitz@apple.com>
1337
1338         Try to fix the Qt build.
1339
1340         * WebCore.pro:
1341
1342 2008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
1343
1344         Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
1345
1346         * page/inspector/WebKit.qrc:
1347
1348 2008-01-08  Maciej Stachowiak  <mjs@apple.com>
1349
1350         Reviewed by Mark.
1351
1352         - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
1353
1354         * bindings/objc/PublicDOMInterfaces.h:
1355         * html/HTMLDocument.idl:
1356
1357 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
1358
1359         Renamed CharacterData::str to m_str to match coding style
1360
1361         Rubber-stamped by Adam.
1362
1363         No test cases added since there is no change in behavior.
1364
1365         * dom/CDATASection.cpp:
1366         * dom/CharacterData.cpp:
1367         (WebCore::CharacterData::CharacterData):
1368         (WebCore::CharacterData::setData):
1369         (WebCore::CharacterData::substringData):
1370         (WebCore::CharacterData::appendData):
1371         (WebCore::CharacterData::insertData):
1372         (WebCore::CharacterData::deleteData):
1373         (WebCore::CharacterData::replaceData):
1374         (WebCore::CharacterData::nodeValue):
1375         (WebCore::CharacterData::containsOnlyWhitespace):
1376         (WebCore::CharacterData::dispatchModifiedEvent):
1377         (WebCore::CharacterData::checkCharDataOperation):
1378         (WebCore::CharacterData::dump):
1379         * dom/CharacterData.h:
1380         * dom/Comment.cpp:
1381         * dom/Text.cpp:
1382         (WebCore::Text::splitText):
1383         (WebCore::Text::createRenderer):
1384         (WebCore::Text::recalcStyle):
1385
1386 2008-01-08  Oliver Hunt  <oliver@apple.com>
1387
1388         Reviewed by NOBODY (Build fix).
1389
1390         Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 
1391         I'm not sure if it just caused the right files to regenerate,
1392         or if there's some configuration weirdness in the non-SVG-fonts
1393         build. 
1394
1395         * WebCore.vcproj/WebCore.vcproj:
1396
1397 2008-01-07  Maciej Stachowiak  <mjs@apple.com>
1398
1399         Reviewed by Brady.
1400
1401         - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
1402         
1403         Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
1404         
1405         * dom/Document.cpp:
1406         (WebCore::Document::Document):
1407         * dom/Document.h:
1408         (WebCore::Document::setHasOpenDatabases):
1409         (WebCore::Document::hasOpenDatabases):
1410         * loader/FrameLoader.cpp:
1411         (WebCore::FrameLoader::canCachePage):
1412         * storage/Database.cpp:
1413         (WebCore::Database::openDatabase):
1414
1415 2008-01-07  Dan Bernstein  <mitz@apple.com>
1416
1417         Reviewed by Oliver Hunt.
1418
1419         - fix leaks seen on the build bot
1420
1421         * css/CSSFontSelector.cpp:
1422         (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
1423         CSSFontFaceSource for SVG font-face elements going into an
1424         SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
1425         face elements to a CSSFontFace because it will not work as expected.
1426
1427 2008-01-07  Mark Rowe  <mrowe@apple.com>
1428
1429         Tiger build fix.
1430
1431         * platform/graphics/mac/FontCustomPlatformData.cpp:
1432         (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
1433         It's not needed on Tiger, and breaks the build.
1434
1435 2008-01-07  Antti Koivisto  <antti@apple.com>
1436
1437         Reviewed by Steve.
1438
1439         Re-enable media support in Windows build.
1440
1441         * WebCore.vcproj/QTMovieWin.vcproj:
1442         * WebCore.vcproj/WebCore.vcproj:
1443         * WebCore.vcproj/build-generated-files.sh:
1444
1445 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
1446
1447         Add version resource to QTMovieWin.dll
1448         
1449         Reviewed by Adam.
1450
1451         * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
1452         * WebCore.vcproj/QTMovieWin.rc: Added.
1453         * WebCore.vcproj/QTMovieWin.vcproj:
1454         * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
1455         * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
1456
1457 2008-01-07  Dan Bernstein  <mitz@apple.com>
1458
1459         Build fix.
1460
1461         * platform/graphics/qt/FontCustomPlatformData.cpp:
1462         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
1463         Calls QFontDatabase::removeApplicationFont().
1464         * platform/graphics/qt/FontCustomPlatformData.h:
1465         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
1466         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
1467         implementation because Qt does not use the WebCore glyph cache.
1468
1469 2008-01-07  Dan Bernstein  <mitz@apple.com>
1470
1471         Reviewed by Oliver Hunt.
1472
1473         - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
1474           Tiger and multiple SVG layout test failures on Leopard.
1475
1476         * css/CSSSegmentedFontFace.cpp:
1477         (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
1478         empty SegmentedFontData.
1479         * platform/graphics/mac/FontCustomPlatformData.cpp:
1480         (WebCore::createFontCustomPlatformData): Avoid creating a font that
1481         contains no glyphs. On Leopard, ATS might create such a font given
1482         data in an unsupported format (such as SVG).
1483
1484 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
1485
1486         Build fix.
1487
1488         * WebCore.vcproj/WebCore.sln:
1489         * WebCore.vcproj/WebCore.submit.sln:
1490
1491 2008-01-07  Oliver Hunt  <oliver@apple.com>
1492
1493         Reviewed by Niko.
1494
1495         Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
1496
1497         Test: svg/custom/image-with-aspect-ratio-stretch.svg
1498
1499         * rendering/RenderSVGImage.cpp:
1500         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
1501
1502 2008-01-07  Dan Bernstein  <mitz@apple.com>
1503
1504         Build fix.
1505
1506         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
1507         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1508
1509 2008-01-07  Adele Peterson  <adele@apple.com>
1510
1511         Add missing newline.
1512
1513         * rendering/MediaControlElements.cpp:
1514
1515 2008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
1516
1517         Reviewed by Hyatt.
1518
1519         <rdar://problem/5673489> Safari does not render windowless plugins in an
1520         iframe when opacity < 1.0
1521
1522         Plugins in transparency layers handle their own world transforms, so
1523         only apply the horizontal/vertical transform if we are not in a
1524         transparency layer.
1525
1526         * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
1527         inTransparencyLayer() function
1528         * platform/win/GraphicsContextWin.cpp:
1529         (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
1530         (WebCore::GraphicsContext::inTransparencyLayer):
1531         (WebCore::GraphicsContext::releaseWindowsContext): Use
1532         inTransparencyLayer()
1533         * plugins/win/PluginViewWin.cpp:
1534         (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
1535         relative to the window. Pass m_isTransparent to
1536         get/releaseWindowsContext(). Only set the world transform if we are not
1537         in a transparency layer.
1538
1539 2008-01-07  Adele Peterson  <adele@apple.com>
1540
1541         Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
1542
1543         * rendering/MediaControlElements.cpp:
1544         * rendering/MediaControlElements.h:
1545
1546 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1547
1548         Reviewed by Mark.
1549
1550         Enable SVG_FONTS by default.
1551
1552         * Configurations/WebCore.xcconfig:
1553         * WebCore.vcproj/build-generated-files.sh:
1554
1555 2008-01-07  Dan Bernstein  <mitz@apple.com>
1556
1557         Build fix.
1558
1559         * platform/graphics/qt/SimpleFontDataQt.cpp:
1560         (WebCore::SimpleFontData::SimpleFontData):
1561         (WebCore::SimpleFontData::~SimpleFontData):
1562
1563 2008-01-07  Adam Barth  <hk9565@gmail.com>
1564
1565         Reviewed by Sam Weinig
1566
1567         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
1568         <rdar://problem/5657447>
1569
1570         When a frame is created with the URL "about:blank" or "", it should
1571         inherit its SecurityOrigin from its opener.  However, once it has
1572         decided on that SecurityOrigin, it should not change its mind.
1573         Prior to this patch, several events could induce the frame to change
1574         its SecurityOrigin, permitting an attacker to inject script into an
1575         arbitrary SecurityOrigin.
1576
1577         This patch makes several changes:
1578
1579         1) Documents refuse to change from one SecurityOrigin to another
1580            unless explicitly instructed to do so.
1581
1582         2) Navigating to a JavaScript URL that produces a value
1583            preserves the current SecurityOrigin explicitly instead of
1584            relying on the URL to preserve the origin (which fails for
1585            about:blank URLs and SecurityOrigins with document.domain set).
1586
1587            Ideally, we should not preserve the URL at all.  Instead, the
1588            frame's URL should be the JavaScript URL, as in Firefox, but this
1589            would require changes that are too risky for this patch.  I'll
1590            file this as a separate issue.
1591
1592         3) Various methods of navigating to JavaScript URLs were not
1593            properly handling JavaScript that returned a value (and should
1594            therefore replace the current document).  This patch unifies
1595            those code paths with the path that works.
1596
1597            There are still a handful of bugs relating to the handling of
1598            JavaScript URLs, but I'll file those as separate issues.
1599
1600         Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
1601                http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
1602                http/tests/security/aboutBlank/xss-DENIED-set-opener.html
1603
1604         * dom/Document.cpp:
1605         (WebCore::Document::initSecurityOrigin):
1606         * dom/Document.h:
1607         (WebCore::Document::setSecurityOrigin):
1608         * loader/FrameLoader.cpp:
1609         (WebCore::FrameLoader::changeLocation):
1610         (WebCore::FrameLoader::urlSelected):
1611         (WebCore::FrameLoader::requestFrame):
1612         (WebCore::FrameLoader::submitForm):
1613         (WebCore::FrameLoader::executeIfJavaScriptURL):
1614         (WebCore::FrameLoader::begin):
1615         * loader/FrameLoader.h:
1616         * platform/SecurityOrigin.cpp:
1617         (WebCore::SecurityOrigin::setForURL):
1618         (WebCore::SecurityOrigin::createForFrame):
1619         * platform/SecurityOrigin.h:
1620
1621 2008-01-07  Adele Peterson  <adele@apple.com>
1622
1623         Forgot to check in these changes in my last checkin.
1624
1625         * rendering/RenderThemeSafari.cpp:
1626
1627 2008-01-07  Dan Bernstein  <mitz@apple.com>
1628
1629         Build fixes.
1630
1631         * WebCore.pro:
1632         * platform/graphics/qt/FontCacheQt.cpp:
1633         (WebCore::FontCache::getCachedFontData):
1634
1635 2008-01-07  Timothy Hatcher  <timothy@apple.com>
1636
1637         Reviewed by John Sullivan.
1638
1639         <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
1640
1641         * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
1642           normal height when not docked, and small when docked. Also added some cursor properties
1643           prevent showing the text cursor over areas that are not selectable.
1644         * page/inspector/Images: A few images added and old ones removed or renamed.
1645
1646 2008-01-07  Alp Toker  <alp@atoker.com>
1647
1648         Prospective GTK+ autotools/qmake VIDEO build fix for breakage
1649         introduced in r29257.
1650
1651         * GNUmakefile.am:
1652         * WebCore.pro:
1653
1654 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1655
1656         Reviewed by Oliver.
1657
1658         Build fix affecting all builds - again related to the unicode-range addition.
1659
1660         * css/CSSFontSelector.cpp:
1661         (WebCore::CSSFontSelector::addFontFaceRule):
1662         * css/SVGCSSFontFace.cpp:
1663         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
1664         * css/SVGCSSFontFace.h:
1665         * rendering/RenderSVGText.cpp:
1666         * svg/SVGFont.cpp:
1667         (WebCore::svgFontAndFontFaceElementForFontData):
1668         (WebCore::floatWidthMissingGlyphCallback):
1669         (WebCore::drawTextMissingGlyphCallback):
1670         * svg/SVGFontFaceElement.cpp:
1671
1672 2008-01-07  Adele Peterson  <adele@apple.com>
1673
1674         Reviewed by Antti, Adam, and Mitz.
1675
1676         WebCore part of fix for 
1677         <rdar://problem/5619073> Updated look for <video> controls
1678         <rdar://problem/5619057> Add volume control to video controls
1679
1680         * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
1681         * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
1682         * WebCore.vcproj/WebCore.vcproj: ditto.
1683
1684         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
1685         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
1686         * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
1687         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
1688         * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
1689         * css/html4.css: Added new styles for new controls.
1690
1691         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
1692         * html/HTMLMediaElement.h:
1693
1694         * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
1695
1696         * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
1697         * platform/mac/WebCoreSystemInterface.mm: ditto.
1698
1699         * rendering/MediaControlElements.cpp: Added.
1700         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
1701         (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
1702          since its too early to do this here, and causes crashes for the slider.
1703         (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
1704         (WebCore::MediaControlInputElement::update): ditto.
1705         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
1706         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
1707         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
1708         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
1709         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
1710         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
1711         (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
1712         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
1713         (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
1714         (WebCore::MediaControlTimelineElement::update): ditto. 
1715         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
1716         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
1717         * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
1718         (WebCore::MediaControlShadowRootElement::isShadowNode):
1719         (WebCore::MediaControlShadowRootElement::shadowParentNode):
1720         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
1721         (WebCore::RenderMediaControlShadowRoot::setParent):
1722
1723         * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
1724         (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
1725         (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
1726         (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
1727         (WebCore::RenderMedia::createMuteButton): Added.
1728         (WebCore::RenderMedia::createSeekBackButton): ditto.
1729         (WebCore::RenderMedia::createSeekForwardButton): ditto.
1730         (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
1731         (WebCore::RenderMedia::createFullscreenButton): Added.
1732         (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
1733         (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
1734         (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
1735         * rendering/RenderMedia.h: Added new methods for creating new controls.
1736
1737         * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
1738           but also can contain children (the controls' container) that may need to look for the containing block.
1739
1740         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
1741
1742         * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
1743         (WebCore::):
1744         (WebCore::RenderStyle::):
1745
1746         * rendering/RenderTheme.cpp:
1747         (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
1748         (WebCore::RenderTheme::paint): ditto.
1749         * rendering/RenderTheme.h: Added new methods for painting new appearances.
1750         (WebCore::RenderTheme::paintMediaBackground):
1751         (WebCore::RenderTheme::paintMediaFullscreenButton):
1752         (WebCore::RenderTheme::paintMediaPlayButton):
1753         (WebCore::RenderTheme::paintMediaMuteButton):
1754         (WebCore::RenderTheme::paintMediaSeekBackButton):
1755         (WebCore::RenderTheme::paintMediaSeekForwardButton):
1756         (WebCore::RenderTheme::paintMediaSliderThumb):
1757         * rendering/RenderThemeMac.h:
1758         * rendering/RenderThemeMac.mm:
1759         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
1760         (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
1761         (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
1762         (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
1763         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
1764         (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
1765         (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
1766         (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
1767         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
1768         (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
1769         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
1770         (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
1771         * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
1772         (WebCore::RenderThemeSafari::paintSliderTrack):
1773         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
1774         (WebCore::RenderThemeSafari::paintMediaBackground):
1775         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
1776         (WebCore::RenderThemeSafari::paintMediaMuteButton):
1777         (WebCore::RenderThemeSafari::paintMediaPlayButton):
1778         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
1779         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
1780         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
1781         * rendering/RenderThemeSafari.h:
1782
1783 2008-01-07  Timothy Hatcher  <timothy@apple.com>
1784
1785         Reviewed by Darin Adler.
1786
1787         Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
1788         when the replacment string is a different length.
1789
1790         * platform/text/StringImpl.cpp:
1791         (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
1792         the Vector size calculation, correcting the order of math operations.
1793
1794 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1795
1796         Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
1797
1798         * platform/graphics/mac/FontCacheMac.mm:
1799
1800 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1801
1802         Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
1803
1804         * css/CSSFontSelector.cpp:
1805         (WebCore::CSSFontSelector::getFontData):
1806
1807 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1808
1809         Not reviewed. Next try to fix wx/mac leopard build.
1810
1811         * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
1812         * svg/SVGFontFaceElement.cpp:
1813         (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
1814         * webcore-base.bkl: Undo svg/ include.
1815
1816 2008-01-07  Dan Bernstein  <mitz@apple.com>
1817
1818         Reviewed by Dave Hyatt.
1819
1820         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
1821
1822         * GNUmakefile.am:
1823         * WebCore.pro:
1824         * WebCore.vcproj/WebCore.vcproj:
1825         * WebCore.xcodeproj/project.pbxproj:
1826         * WebCoreSources.bkl:
1827         * bindings/objc/DOM.mm:
1828         * bridge/mac/WebCoreAXObject.mm:
1829         * css/CSSComputedStyleDeclaration.cpp:
1830         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1831         * css/CSSFontFace.cpp:
1832         (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
1833         font face.
1834         (WebCore::CSSFontFace::getFontData):
1835         * css/CSSFontFace.h:
1836         (WebCore::CSSFontFace::CSSFontFace):
1837         (WebCore::CSSFontFace::setSegmentedFontFace):
1838         * css/CSSFontFaceSource.cpp:
1839         (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
1840         GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
1841         font table are not exposed in the glyph page tree. Only the segmented
1842         font is, and that is taken care of by the segmented font face.
1843         (WebCore::CSSFontFaceSource::getFontData):
1844         * css/CSSFontFaceSource.h:
1845         * css/CSSFontSelector.cpp:
1846         (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
1847         @font-face rules with the same family and traits into a single
1848         segmented font face, instead of just retaining the most recent one.
1849         (WebCore::CSSFontSelector::fontLoaded):
1850         (WebCore::CSSFontSelector::getFontData):
1851         * css/CSSFontSelector.h:
1852         * css/CSSGrammar.y:
1853         * css/CSSParser.cpp:
1854         (WebCore::CSSParser::parseValue):
1855         (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
1856         range value.
1857         * css/CSSParser.h:
1858         * css/CSSPrimitiveValue.h:
1859         (WebCore::CSSPrimitiveValue::):
1860         * css/CSSPropertyNames.in:
1861         * css/CSSSegmentedFontFace.cpp: Added.
1862         (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
1863         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1864         (WebCore::CSSSegmentedFontFace::pruneTable):
1865         (WebCore::CSSSegmentedFontFace::isLoaded):
1866         (WebCore::CSSSegmentedFontFace::isValid):
1867         (WebCore::CSSSegmentedFontFace::fontLoaded):
1868         (WebCore::CSSSegmentedFontFace::overlayRange):
1869         (WebCore::CSSSegmentedFontFace::getFontData):
1870         * css/CSSSegmentedFontFace.h: Added.
1871         (WebCore::FontFaceRange::FontFaceRange):
1872         (WebCore::FontFaceRange::from):
1873         (WebCore::FontFaceRange::to):
1874         (WebCore::FontFaceRange::fontFace):
1875         (WebCore::CSSSegmentedFontFace::fontSelector):
1876         * css/CSSStyleSelector.cpp:
1877         (WebCore::CSSStyleSelector::applyProperty):
1878         * css/CSSUnicodeRangeValue.cpp: Added.
1879         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
1880         (WebCore::CSSUnicodeRangeValue::cssText):
1881         * css/CSSUnicodeRangeValue.h: Added.
1882         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
1883         (WebCore::CSSUnicodeRangeValue::from):
1884         (WebCore::CSSUnicodeRangeValue::to):
1885         * css/SVGCSSFontFace.cpp:
1886         (WebCore::SVGCSSFontFace::getFontData):
1887         * css/SVGCSSFontFace.h:
1888         * editing/Editor.cpp:
1889         (WebCore::Editor::fontForSelection):
1890         * editing/Editor.h:
1891         * page/mac/FrameMac.mm:
1892         * page/mac/WebCoreFrameBridge.mm:
1893         (-[WebCoreFrameBridge fontForSelection:]):
1894         * platform/graphics/Font.cpp:
1895         (WebCore::WidthIterator::advance):
1896         (WebCore::Font::glyphDataForCharacter):
1897         (WebCore::Font::primaryFont): Changed to return the simple font data
1898         used for the space character.
1899         (WebCore::Font::fontDataAt):
1900         (WebCore::Font::fontDataForCharacters):
1901         (WebCore::Font::drawGlyphBuffer):
1902         * platform/graphics/Font.h:
1903         * platform/graphics/FontCache.cpp:
1904         (WebCore::FontCache::getCachedFontData):
1905         (WebCore::FontCache::getFontData):
1906         * platform/graphics/FontCache.h:
1907         * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
1908         * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
1909         * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
1910         FontData.cpp.
1911         (WebCore::FontData::~FontData):
1912         * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
1913         FontData.h.
1914         * platform/graphics/FontFallbackList.cpp:
1915         (WebCore::FontFallbackList::determinePitch):
1916         (WebCore::FontFallbackList::fontDataAt):
1917         (WebCore::FontFallbackList::fontDataForCharacters):
1918         * platform/graphics/FontFallbackList.h:
1919         (WebCore::FontFallbackList::primaryFont):
1920         * platform/graphics/FontSelector.h:
1921         * platform/graphics/GlyphBuffer.h:
1922         (WebCore::GlyphBuffer::fontDataAt):
1923         (WebCore::GlyphBuffer::swap):
1924         (WebCore::GlyphBuffer::add):
1925         * platform/graphics/GlyphPageTreeNode.cpp:
1926         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1927         (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
1928         pages for segmented font data.
1929         (WebCore::GlyphPageTreeNode::getChild):
1930         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
1931         * platform/graphics/GlyphPageTreeNode.h:
1932         (WebCore::GlyphPage::setGlyphDataForCharacter):
1933         (WebCore::GlyphPage::setGlyphDataForIndex):
1934         (WebCore::GlyphPageTreeNode::getRootChild):
1935         * platform/graphics/SegmentedFontData.cpp: Added.
1936         (WebCore::SegmentedFontData::~SegmentedFontData):
1937         (WebCore::SegmentedFontData::fontDataForCharacter):
1938         (WebCore::SegmentedFontData::containsCharacters):
1939         (WebCore::SegmentedFontData::isCustomFont):
1940         (WebCore::SegmentedFontData::isLoading):
1941         (WebCore::SegmentedFontData::isSegmented):
1942         * platform/graphics/SegmentedFontData.h: Added.
1943         (WebCore::FontDataRange::FontDataRange):
1944         (WebCore::FontDataRange::from):
1945         (WebCore::FontDataRange::to):
1946         (WebCore::FontDataRange::fontData):
1947         (WebCore::SegmentedFontData::appendRange):
1948         (WebCore::SegmentedFontData::numRanges):
1949         (WebCore::SegmentedFontData::rangeAt):
1950         * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
1951         (WebCore::SimpleFontData::SimpleFontData):
1952         (WebCore::SimpleFontData::~SimpleFontData):
1953         (WebCore::SimpleFontData::ascent):
1954         (WebCore::SimpleFontData::descent):
1955         (WebCore::SimpleFontData::widthForGlyph):
1956         (WebCore::SimpleFontData::fontDataForCharacter):
1957         (WebCore::SimpleFontData::isSegmented):
1958         * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
1959         (WebCore::SimpleFontData::isCustomFont):
1960         (WebCore::SimpleFontData::isLoading):
1961         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1962         (WebCore::GraphicsContext::setPlatformFont):
1963         * platform/graphics/gtk/FontCacheGtk.cpp:
1964         (WebCore::FontCache::getFontDataForCharacters):
1965         * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
1966         SimpleFontDataGtk.cpp.
1967         * platform/graphics/gtk/FontGtk.cpp:
1968         (WebCore::Font::drawGlyphs):
1969         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
1970         (WebCore::GlyphPage::fill):
1971         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
1972         (WebCore::SimpleFontData::platformInit):
1973         (WebCore::SimpleFontData::platformDestroy):
1974         (WebCore::SimpleFontData::smallCapsFontData):
1975         (WebCore::SimpleFontData::containsCharacters):
1976         (WebCore::SimpleFontData::determinePitch):
1977         (WebCore::SimpleFontData::platformWidthForGlyph):
1978         (WebCore::SimpleFontData::setFont):
1979         * platform/graphics/mac/FontCacheMac.mm:
1980         (WebCore::FontCache::getFontDataForCharacters):
1981         * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
1982         * platform/graphics/mac/FontMac.mm:
1983         (WebCore::initializeATSUStyle):
1984         (WebCore::overrideLayoutOperation):
1985         (WebCore::ATSULayoutParameters::initialize):
1986         (WebCore::Font::drawGlyphs):
1987         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1988         (WebCore::GlyphPage::fill):
1989         * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
1990         (WebCore::initFontData):
1991         (WebCore::SimpleFontData::platformInit):
1992         (WebCore::SimpleFontData::platformDestroy):
1993         (WebCore::SimpleFontData::smallCapsFontData):
1994         (WebCore::SimpleFontData::containsCharacters):
1995         (WebCore::SimpleFontData::determinePitch):
1996         (WebCore::SimpleFontData::platformWidthForGlyph):
1997         (WebCore::SimpleFontData::checkShapesArabic):
1998         * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
1999         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2000         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2001         * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
2002         * platform/graphics/win/FontCacheWin.cpp:
2003         (WebCore::FontCache::getFontDataForCharacters):
2004         * platform/graphics/win/FontDataWin.cpp: Renamed to
2005         SimpleFontDataWin.cpp.
2006         * platform/graphics/win/FontWin.cpp:
2007         (WebCore::Font::drawGlyphs):
2008         * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
2009         (WebCore::GlyphPage::fill):
2010         * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
2011         (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
2012         (WebCore::SimpleFontData::platformInit):
2013         (WebCore::SimpleFontData::platformDestroy):
2014         (WebCore::SimpleFontData::smallCapsFontData):
2015         (WebCore::SimpleFontData::containsCharacters):
2016         (WebCore::SimpleFontData::determinePitch):
2017         (WebCore::SimpleFontData::platformWidthForGlyph):
2018         (WebCore::SimpleFontData::scriptFontProperties):
2019         * platform/graphics/wx/FontCacheWx.cpp:
2020         (WebCore::FontCache::getFontDataForCharacters):
2021         * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
2022         * platform/graphics/wx/FontWx.cpp:
2023         (WebCore::Font::drawGlyphs):
2024         * platform/graphics/wx/GlyphMapWx.cpp:
2025         (WebCore::GlyphPage::fill):
2026         * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
2027         (WebCore::SimpleFontData::platformInit):
2028         (WebCore::SimpleFontData::platformDestroy):
2029         (WebCore::SimpleFontData::smallCapsFontData):
2030         (WebCore::SimpleFontData::containsCharacters):
2031         (WebCore::SimpleFontData::determinePitch):
2032         (WebCore::SimpleFontData::platformWidthForGlyph):
2033         * platform/mac/FileChooserMac.mm:
2034         * platform/mac/PopupMenuMac.mm:
2035         * platform/mac/WebCoreTextRenderer.mm:
2036         * platform/win/PopupMenuWin.cpp:
2037         * platform/win/UniscribeController.cpp:
2038         (WebCore::UniscribeController::advance):
2039         (WebCore::UniscribeController::itemizeShapeAndPlace):
2040         (WebCore::UniscribeController::shapeAndPlaceItem):
2041         (WebCore::UniscribeController::shape):
2042         * platform/win/UniscribeController.h:
2043         * svg/SVGFont.cpp:
2044         (WebCore::Font::drawGlyphsWithSVGFont):
2045         * svg/SVGFontElement.cpp:
2046         (WebCore::SVGFontElement::collectGlyphs):
2047         * svg/SVGFontFaceElement.cpp:
2048         (WebCore::SVGFontFaceElement::createFontData):
2049         * svg/SVGFontFaceElement.h:
2050         * svg/SVGGlyphElement.cpp:
2051
2052 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2053
2054         Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
2055
2056         * svg/svgtags.in:
2057
2058 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2059
2060         Not reviewed. Proposed build fix for wx.
2061
2062         * webcore-base.bkl:
2063
2064 2008-01-07  Dan Bernstein  <mitz@apple.com>
2065
2066         64-bit build fix
2067
2068         * platform/graphics/mac/FontCustomPlatformData.cpp:
2069         (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
2070         cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
2071
2072 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
2073
2074         Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
2075         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)
2076
2077         Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
2078         measure & render glyphs contained in SVG Fonts, including ligature lookup support.
2079
2080         Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
2081
2082         Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
2083         Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
2084
2085         Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
2086         This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
2087         required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
2088
2089         Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
2090
2091         <glyph> elements now register themselves in the SVGFontElement's glyph cache.
2092         (insertedIntoDocument / removedFromDocument take care of this)
2093
2094         The cache is built once now, and is kept updated - it's not rebuild anymore
2095         on painting (!) - which was a crude hack for testing.
2096
2097         W3C testcase which include SVG Fonts:
2098         svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
2099         svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
2100         svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
2101         svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
2102         svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
2103         svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
2104         svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
2105         svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
2106         svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
2107         svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
2108         svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
2109         svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
2110         svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
2111         svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
2112         svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
2113         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)
2114         svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
2115         svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
2116         svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
2117         svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
2118         svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
2119         svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
2120         svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
2121
2122         Questionable testcases:
2123         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.)
2124         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.
2125
2126         Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
2127
2128         * css/CSSFontSelector.cpp:
2129         (WebCore::CSSFontSelector::addFontFaceRule):
2130         (WebCore::CSSFontSelector::getFontData):
2131         * platform/graphics/Font.cpp:
2132         (WebCore::Font::lineSpacing):
2133         (WebCore::Font::xHeight):
2134         (WebCore::Font::canUseGlyphCache):
2135         (WebCore::Font::drawGlyphBuffer):
2136         (WebCore::Font::drawText):
2137         (WebCore::Font::floatWidth):
2138         (WebCore::Font::selectionRectForText):
2139         * platform/graphics/Font.h:
2140         (WebCore::TextRun::TextRun):
2141         (WebCore::TextRun::activePaintServer):
2142         (WebCore::TextRun::setActivePaintServer):
2143         * platform/graphics/FontData.cpp:
2144         (WebCore::FontData::lineSpacing):
2145         (WebCore::FontData::lineGap):
2146         (WebCore::FontData::xHeight):
2147         * platform/graphics/FontData.h:
2148         * platform/graphics/win/FontWin.cpp:
2149         (WebCore::Font::drawGlyphs):
2150         * rendering/RenderSVGText.cpp:
2151         (WebCore::RenderSVGText::relativeBBox):
2152         * rendering/SVGInlineTextBox.cpp:
2153         (WebCore::SVGInlineTextBox::paintCharacters):
2154         * rendering/SVGInlineTextBox.h:
2155         * rendering/SVGRootInlineBox.cpp:
2156         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2157         * svg/SVGFont.cpp:
2158         (WebCore::):
2159         (WebCore::processArabicFormDetection):
2160         (WebCore::charactersWithArabicForm):
2161         (WebCore::isCompatibleArabicForm):
2162         (WebCore::isCompatibleGlyph):
2163         (WebCore::svgFontAndFontFaceElementForFontData):
2164         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
2165         (WebCore::SVGTextRunWalker::walk):
2166         (WebCore::floatWidthUsingSVGFontCallback):
2167         (WebCore::floatWidthMissingGlyphCallback):
2168         (WebCore::floatWidthOfSubStringUsingSVGFont):
2169         (WebCore::Font::floatWidthUsingSVGFont):
2170         (WebCore::drawTextUsingSVGFontCallback):
2171         (WebCore::drawTextMissingGlyphCallback):
2172         (WebCore::Font::drawTextUsingSVGFont):
2173         (WebCore::Font::selectionRectForTextUsingSVGFont):
2174         * svg/SVGFontElement.cpp:
2175         (WebCore::SVGFontElement::SVGFontElement):
2176         (WebCore::SVGFontElement::addGlyphToCache):
2177         (WebCore::SVGFontElement::removeGlyphFromCache):
2178         (WebCore::SVGFontElement::firstMissingGlyphElement):
2179         (WebCore::SVGFontElement::glyphIdentifiersForString):
2180         * svg/SVGFontElement.h:
2181         (WebCore::SVGFontElement::maximumHashKeyLength):
2182         * svg/SVGFontFaceElement.cpp:
2183         (WebCore::SVGFontFaceElement::createFontData):
2184         (WebCore::SVGFontFaceElement::rebuildFontFace):
2185         (WebCore::SVGFontFaceElement::associatedFontElement):
2186         * svg/SVGFontFaceElement.h:
2187         * svg/SVGGlyphElement.cpp:
2188         (WebCore::SVGGlyphElement::insertedIntoDocument):
2189         (WebCore::SVGGlyphElement::removedFromDocument):
2190         (WebCore::parseArabicForm):
2191         (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
2192         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
2193         * svg/SVGGlyphElement.h:
2194         (WebCore::SVGGlyphIdentifier::):
2195         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
2196         (WebCore::SVGGlyphIdentifier::inheritedValue):
2197         (WebCore::SVGGlyphIdentifier::operator==):
2198         (WebCore::SVGGlyphElement::~SVGGlyphElement):
2199
2200 2008-01-07  David Hyatt  <hyatt@apple.com>
2201
2202         Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
2203
2204         Reviewed by Dan
2205
2206         * rendering/RenderBox.h:
2207         * rendering/RenderTableCell.cpp:
2208         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2209
2210 2008-01-07  Holger Freyther  <zecke@selfish.org>
2211
2212         Reviewed by Alp Toker.
2213
2214         * Fix indention
2215
2216         * platform/gtk/ContextMenuGtk.cpp:
2217         (WebCore::ContextMenu::~ContextMenu):
2218
2219 2008-01-07  Holger Freyther  <zecke@selfish.org>
2220
2221         Reviewed by Alp Toker.
2222
2223         * The ContextMenuController is going to live longer than the ContextMenu. It is
2224         going to live as long as the WebCore::Page is around where the ContextMenu, specially
2225         in the case of a SubMenu, is gone before we popup the menu.
2226
2227         * platform/gtk/ContextMenuGtk.cpp:
2228         (WebCore::menuItemActivated):
2229         (WebCore::ContextMenu::appendItem):
2230
2231 2008-01-07  Holger Freyther  <zecke@selfish.org>
2232
2233         Reviewed by Alp Toker.
2234
2235         * Fix SubMenu handling
2236         * Do not connect to the activated signal if we are a separator or submenu
2237         * Change our type from ActionType to SubMenuType when we have a submenu
2238         * Initialize the SubMenu
2239
2240         * platform/gtk/ContextMenuGtk.cpp:
2241         (WebCore::ContextMenu::appendItem):
2242         * platform/gtk/ContextMenuItemGtk.cpp:
2243         (WebCore::ContextMenuItem::ContextMenuItem):
2244         (WebCore::ContextMenuItem::createNativeMenuItem):
2245         (WebCore::ContextMenuItem::setSubMenu):
2246
2247 2008-01-07  Holger Freyther  <zecke@selfish.org>
2248
2249         Reviewed by Alp Toker.
2250
2251         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
2252         actions.
2253         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
2254         * Update the ContextMenuController to accept CheckableActionTypes as well.
2255         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
2256         was extracted from ContextMenu::checkOrEnableIfNeeded.
2257         * Update the Qt and Windows port.
2258
2259
2260         * page/ContextMenuController.cpp:
2261         * platform/ContextMenu.cpp:
2262         (WebCore::createAndAppendFontSubMenu):
2263         (WebCore::createAndAppendSpellingAndGrammarSubMenu):
2264         (WebCore::createAndAppendSpellingSubMenu):
2265         (WebCore::createAndAppendWritingDirectionSubMenu):
2266         * platform/ContextMenuItem.h:
2267         * platform/gtk/ContextMenuItemGtk.cpp:
2268         (WebCore::ContextMenuItem::ContextMenuItem):
2269         (WebCore::ContextMenuItem::createNativeMenuItem):
2270
2271 2008-01-07  Luca Bruno  <lethalman88@gmail.com>
2272
2273         Reviewed by Alp Toker.
2274
2275         http://bugs.webkit.org/show_bug.cgi?id=16745
2276         [GTK] Context menu doesn't feel or look native - no icons
2277
2278         Use GTK+ stock icons for menu items where possible.
2279
2280         * platform/gtk/ContextMenuItemGtk.cpp:
2281         (WebCore::gtkStockIDFromContextMenuAction):
2282         (WebCore::ContextMenuItem::createNativeMenuItem):
2283         (WebCore::ContextMenuItem::setAction):
2284
2285 2008-01-07  Dan Bernstein  <mitz@apple.com>
2286
2287         Reviewed by John Sullivan.
2288
2289         - make the ATSUI code path work with custom fonts rather than crash
2290
2291         * platform/graphics/mac/FontCustomPlatformData.cpp:
2292         (WebCore::FontCustomPlatformData::fontPlatformData):
2293         * platform/graphics/mac/FontMac.mm:
2294         (WebCore::initializeATSUStyle):
2295
2296 2008-01-07  Thiago Macieira  <thiago.macieira@trolltech.com>
2297
2298         Reviewed by Simon.
2299
2300         abort() now emits the signals, so disconnect them before you abort()
2301
2302         * platform/network/qt/QNetworkReplyHandler.cpp:
2303         (WebCore::QNetworkReplyHandler::abort):
2304
2305 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2306
2307         Reviewed by Lars.
2308
2309         Use a faster and safer way of flattening the form data.
2310
2311         * platform/network/qt/QNetworkReplyHandler.cpp:
2312         (WebCore::QNetworkReplyHandler::start):
2313
2314 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2315
2316         Reviewed by Lars.
2317
2318         Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
2319
2320         * WebCore.pro:
2321         * platform/network/ResourceHandleInternal.h:
2322         * platform/network/qt/QNetworkReplyHandler.cpp: Added.
2323         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2324         (WebCore::QNetworkReplyHandler::abort):
2325         (WebCore::QNetworkReplyHandler::finish):
2326         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2327         (WebCore::QNetworkReplyHandler::forwardData):
2328         (WebCore::QNetworkReplyHandler::start):
2329         * platform/network/qt/QNetworkReplyHandler.h: Added.
2330         (WebCore::QNetworkReplyHandler::reply):
2331         * platform/network/qt/ResourceHandleQt.cpp:
2332         (WebCore::ResourceHandle::start):
2333         (WebCore::ResourceHandle::cancel):
2334         (WebCore::ResourceHandle::loadResourceSynchronously):
2335         * platform/network/qt/ResourceRequest.h:
2336         (WebCore::ResourceRequest::ResourceRequest):
2337         * platform/network/qt/ResourceRequestQt.cpp: Added.
2338         (WebCore::ResourceRequest::toNetworkRequest):
2339         * platform/qt/MIMETypeRegistryQt.cpp:
2340         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2341         * platform/qt/PlugInInfoStoreQt.cpp:
2342         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
2343         (WebCore::PlugInInfoStore::pluginCount):
2344         (WebCore::PlugInInfoStore::pluginNameForMIMEType):
2345
2346 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2347
2348         Reviewed by Lars.
2349
2350         * Remove m_dirtyRegion as it is not used as we pass every dirty region
2351         directly to the ChromeClient
2352
2353         * platform/qt/ScrollViewQt.cpp:
2354         (WebCore::ScrollView::paint):
2355
2356 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
2357
2358         Reviewed by Oliver.
2359
2360         Small CG paint server cleanups - use more GraphicsContext method where possible.
2361
2362         * svg/graphics/cg/CgSupport.cpp:
2363         (WebCore::applyStrokeStyleToContext):
2364         (WebCore::strokeBoundingBox):
2365         * svg/graphics/cg/CgSupport.h:
2366         * svg/graphics/cg/RenderPathCg.cpp:
2367         (WebCore::RenderPath::strokeContains):
2368         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2369         (WebCore::SVGPaintServerGradient::setup):
2370         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
2371         (WebCore::SVGPaintServerPattern::setup):
2372         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
2373         (WebCore::SVGPaintServerSolid::setup):
2374
2375 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
2376
2377         Reviewed by Dan.
2378
2379         Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
2380
2381         * platform/graphics/mac/FontMac.mm:
2382         (WebCore::ATSULayoutParameters::initialize):
2383
2384 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
2385
2386         Reviewed by Darin.
2387         
2388         DOMRange doesn't correctly re-size when inserting items (Acid3)
2389         http://bugs.webkit.org/show_bug.cgi?id=16764
2390         
2391         Update the offset for the range when inserting items into the range.
2392
2393         Test: fast/dom/Range/range-modifycontents.html
2394
2395         * dom/Range.cpp:
2396         (WebCore::Range::insertNode):
2397
2398 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
2399
2400         Reviewed by Darin.
2401
2402         http://bugs.webkit.org/show_bug.cgi?id=16731
2403         Incorrect node type for whitespace when setting innerHTML in an XHTML document
2404
2405         Test: fast/dom/xhtml-fragment-whitespace.xhtml
2406
2407         * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
2408         Use balancedCharactersHandler for ignorable whitespace.
2409
2410 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
2411
2412         Reviewed by Darin.
2413
2414         http://bugs.webkit.org/show_bug.cgi?id=16701
2415         <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
2416         causes page load error
2417
2418         Test: http/tests/misc/location-with-space.php
2419
2420         * platform/network/cf/ResourceRequestCFNet.cpp:
2421         (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
2422
2423 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
2424
2425         Reviewed by Darin.
2426         
2427         DOMRange.cloneContents does not work (Acid3 bug)
2428         http://bugs.webkit.org/show_bug.cgi?id=16748
2429         
2430         When cloning an empty range, return an empty DocmentFragment instead of
2431         null or undefined.
2432
2433         Test: fast/dom/Range/range-clone-empty.html
2434
2435         * dom/Range.cpp:
2436         (WebCore::Range::processContents):
2437
2438 2008-01-06  Luca Bruno  <lethalman88@gmail.com>
2439
2440         Reviewed by Alp Toker.
2441
2442         Remove curl handles immediately if the timer is not running.
2443
2444         * platform/network/curl/ResourceHandleManager.cpp:
2445         (WebCore::ResourceHandleManager::cancel):
2446
2447 2008-01-06  Alp Toker  <alp@atoker.com>
2448
2449         Reviewed by Eric.
2450
2451         Cairo canvas refcounting fix. Reference the surface in the constructor
2452         to match its destruction in the destructor.
2453
2454         Fixes a crash triggered by leaving this page:
2455           http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
2456
2457         * html/CanvasPattern.cpp:
2458         (WebCore::CanvasPattern::CanvasPattern):
2459
2460 2008-01-06  Eric Seidel  <eric@webkit.org>
2461
2462         Reviewed by darin.
2463
2464         Make attr selectors case-insensitive for certain HTML attributes
2465         http://bugs.webkit.org/show_bug.cgi?id=15470
2466
2467         Test: fast/css/html-attr-case-sensitivity.html
2468
2469         * css/CSSStyleSelector.cpp:
2470         (WebCore::addLocalNameToSet):
2471         (WebCore::createHtmlCaseInsensitiveAttributesSet):
2472         (WebCore::htmlAttributeHasCaseInsensitiveValue):
2473         (WebCore::CSSStyleSelector::checkOneSelector):
2474
2475 2008-01-06  Eric Seidel  <eric@webkit.org>
2476
2477         Reviewed by Sam.
2478
2479         Fix :checked matching type='text' and add test case
2480         http://bugs.webkit.org/show_bug.cgi?id=16750
2481
2482         Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
2483
2484         * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
2485
2486 2008-01-05  Sam Weinig  <sam@webkit.org>
2487
2488         Reviewed by Eric Seidel.
2489
2490         Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
2491         ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
2492
2493         - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
2494
2495         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
2496
2497         * dom/TreeWalker.cpp:
2498         (WebCore::TreeWalker::parentNode):
2499         (WebCore::TreeWalker::firstChild):
2500         (WebCore::TreeWalker::lastChild):
2501         (WebCore::TreeWalker::previousSibling):
2502         (WebCore::TreeWalker::nextSibling):
2503         (WebCore::TreeWalker::previousNode):
2504         (WebCore::TreeWalker::nextNode):
2505
2506 2008-01-04  Oliver Hunt  <oliver@apple.com>
2507
2508         Reviewed by Beth Dakin.
2509
2510         Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
2511         and other image repaint bugs.
2512
2513         We now cache the full local bounds for the <image> element, as otherwise certain
2514         combinations of attribute changes could result in incorrect dirty rects.
2515         Additionally we no longer use any of the integer bounds fields on RenderObject for
2516         determining repaint bounds (this was the principle cause of bug #16015).
2517
2518         I also removed the outline painting code as it was both wrong, and not correctly
2519         repainted.  I feel safe doing this as no other browser or viewer supports outline
2520         properties on svg elements.
2521
2522         I was unable to make a testcase for this unfortunately, despite seemingly deterministic 
2523         behaviour :(
2524
2525         * rendering/RenderSVGImage.cpp:
2526         (WebCore::RenderSVGImage::layout):
2527         (WebCore::RenderSVGImage::paint):
2528         (WebCore::RenderSVGImage::nodeAtPoint):
2529         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
2530         * rendering/RenderSVGImage.h:
2531
2532 2008-01-04  Beth Dakin  <bdakin@apple.com>
2533
2534         Reviewed by Oliver.
2535
2536         Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with 
2537         type="hidden" matches :enabled/:disabled (Acid3 bug)
2538
2539         Prevent :enabled and :disabled from applying to input type="hidden" 
2540
2541         * css/CSSStyleSelector.cpp:
2542         (WebCore::CSSStyleSelector::checkOneSelector): Rather than 
2543         allowing :enabled and :disabled to apply to all controls, only 
2544         allow it to apply to non-"hidden" controls
2545         * dom/Element.h:
2546         (WebCore::Element::isInputTypeHidden): 
2547         * html/HTMLInputElement.h:
2548         (WebCore::HTMLInputElement::isInputTypeHidden):
2549
2550 2008-01-04  Sam Weinig  <sam@webkit.org>
2551
2552         Reviewed by Oliver Hunt.
2553
2554         - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
2555           getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
2556           if the type of the CSSPrimitiveValue is not the same as the type requested.
2557         - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
2558
2559         Test: fast/css/CSSPrimitiveValue-exceptions.html
2560
2561         * css/CSSPrimitiveValue.cpp:
2562         (WebCore::CSSPrimitiveValue::getDoubleValue):
2563         (WebCore::CSSPrimitiveValue::getStringValue):
2564         (WebCore::CSSPrimitiveValue::getCounterValue):
2565         (WebCore::CSSPrimitiveValue::getRectValue):
2566         (WebCore::CSSPrimitiveValue::getRGBColorValue):
2567         (WebCore::CSSPrimitiveValue::getPairValue):
2568         * css/CSSPrimitiveValue.h:
2569         (WebCore::CSSPrimitiveValue::getFloatValue):
2570         (WebCore::CSSPrimitiveValue::getIntValue):
2571         (WebCore::CSSPrimitiveValue::getCounterValue):
2572         (WebCore::CSSPrimitiveValue::getRectValue):
2573         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
2574         * css/CSSPrimitiveValue.idl:
2575
2576 2008-01-04  Antti Koivisto  <antti@apple.com>
2577
2578         Reviewed by Darin.
2579         
2580         Windows part of <rdar://problem/5647034>
2581         Media tests crash if an old version of QuickTime is installed
2582
2583         Check QuickTime version on Windows too.
2584
2585         * platform/graphics/MediaPlayer.cpp:
2586         (WebCore::MediaPlayer::isAvailable):
2587         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2588         (WebCore::MediaPlayerPrivate::isAvailable):
2589         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2590         (WebCore::MediaPlayerPrivate::isAvailable):
2591         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2592         * platform/graphics/win/QTMovieWin.cpp:
2593         (QTMovieWin::initializeQuickTime):
2594
2595 2008-01-04  Darin Adler  <darin@apple.com>
2596
2597         Reviewed by Maciej and Alice.
2598
2599         - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
2600
2601         Test: fast/images/border.html
2602
2603         * html/HTMLImageElement.cpp:
2604         (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
2605         where the border value is not a number to use the value "0" for the border width instead
2606         of not setting the border width and style at all. This matches other browsers, and makes
2607         more sense.
2608
2609 2008-01-04  Antti Koivisto  <antti@apple.com>
2610
2611         Try to fix 64-bit build
2612
2613         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2614         (WebCore::MediaPlayerPrivate::isAvailable):
2615
2616 2008-01-04  Stephanie  <slewis@apple.com>
2617
2618         Reviewed by Oliver.
2619
2620         WARNING: NO TEST CASES ADDED OR CHANGED
2621
2622         Fix another stringImpl leak.
2623
2624         * platform/text/StringImpl.cpp: remove an extra allocation
2625         (WebCore::StringImpl::StringImpl):
2626
2627 2008-01-04  Alice Liu  <alice.liu@apple.com>
2628
2629         Reviewed by Mitz.
2630
2631         * platform/graphics/win/FontCacheWin.cpp:
2632         fix loop condition that was causing crash
2633
2634 2008-01-04  Timothy Hatcher  <timothy@apple.com>
2635
2636         Reviewed by Adam Roben.
2637
2638         <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
2639
2640         * page/inspector/inspector.css: Remove styles related to the toggle button
2641           and make the area always visible. 
2642         * page/inspector/inspector.html: Remove the toggle button.
2643         * page/inspector/inspector.js: Remove code to toggle the status area.
2644
2645 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
2646
2647         Reviewed by Adam Roben.
2648
2649         Temporarily restore BackwardDelete for Windows nightlies to work correctly.
2650
2651         * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
2652
2653 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
2654
2655         Reviewed by Darin.
2656
2657         <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
2658
2659         Enable the fix on Windows.
2660
2661         * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
2662         Always set a custom sort function, even if it doesn't implement proper collation on the platform.
2663
2664         * xml/XSLTUnicodeSort.cpp:
2665         (WebCore::xsltUnicodeSortFunction):
2666         * xml/XSLTUnicodeSort.h:
2667         If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
2668
2669 2008-01-04  Antti Koivisto  <antti@apple.com>
2670
2671         Fix build.
2672
2673         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2674
2675 2008-01-04  Antti Koivisto  <antti@apple.com>
2676
2677         Reviewed by Darin.
2678         
2679         Partial fix for <rdar://problem/5647034>
2680         Media tests crash if an old version of QuickTime is installed
2681
2682         Disable media support if QuickTime is not current enough (>=7.3).
2683         
2684         Windows patch coming soon.
2685
2686         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2687         (WebCore::createJSHTMLWrapper):
2688         * bindings/js/kjs_window.cpp:
2689         (KJS::Window::getValueProperty):
2690         * html/HTMLElementFactory.cpp:
2691         (WebCore::audioConstructor):
2692         (WebCore::videoConstructor):
2693         (WebCore::sourceConstructor):
2694         * platform/graphics/MediaPlayer.cpp:
2695         (WebCore::MediaPlayer::isAvailable):
2696         * platform/graphics/MediaPlayer.h:
2697         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2698         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2699         (WebCore::MediaPlayerPrivate::isAvailable):
2700
2701 2008-01-04  Timothy Hatcher  <timothy@apple.com>
2702
2703         Reviewed by Darin Adler.
2704
2705         <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
2706
2707         Check if the property is a getter before asking for the value.
2708         If the property is a getter, we no longer show the value.
2709
2710         * page/inspector/PropertiesSidebarPane.js:
2711         * page/inspector/inspector.css:
2712
2713 2008-01-04  Dan Bernstein  <mitz@apple.com>
2714
2715         Reviewed by Darin Adler.
2716
2717         - fix synthetic bold and italic on Windows
2718
2719         Covered by an existing test.
2720
2721         * platform/graphics/win/FontPlatformDataWin.cpp:
2722         (WebCore::FontPlatformData::FontPlatformData):
2723
2724 2008-01-04  Alp Toker  <alp@atoker.com>
2725
2726         GTK+ autotools build fix. Terminate empty rules.
2727
2728         * GNUmakefile.am:
2729
2730 2008-01-04  Lars Knoll  <lars@trolltech.com>
2731
2732         Reviewed by Simon.
2733
2734         Remove most dependencies of Widget/ScrollView onto native QWidgets.
2735
2736         This also brings the code closer in line with the Windows code. Seems
2737         to work nicely on first try :)
2738
2739         * page/qt/FrameQt.cpp:
2740         (WebCore::Frame::createScriptInstanceForWidget):
2741         * platform/Widget.h:
2742         * platform/qt/PlatformScreenQt.cpp:
2743         (WebCore::screenDepth):
2744         (WebCore::screenDepthPerComponent):
2745         (WebCore::screenIsMonochrome):
2746         (WebCore::screenRect):
2747         * platform/qt/PlatformScrollBarQt.cpp:
2748         (WebCore::PlatformScrollbar::thumbPosition):
2749         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
2750         * platform/qt/ScrollViewQt.cpp:
2751         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2752         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
2753         (WebCore::ScrollView::updateContents):
2754         (WebCore::ScrollView::update):
2755         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2756         (WebCore::ScrollView::updateScrollbars):
2757         (WebCore::ScrollView::addChild):
2758         (WebCore::ScrollView::removeChild):
2759         (WebCore::ScrollView::paint):
2760         * platform/qt/WidgetQt.cpp:
2761         (WebCore::WidgetPrivate::WidgetPrivate):
2762         (WebCore::WidgetPrivate::~WidgetPrivate):
2763         (WebCore::Widget::frameGeometry):
2764         (WebCore::Widget::setFrameGeometry):
2765         (WebCore::Widget::setCursor):
2766         (WebCore::Widget::show):
2767         (WebCore::Widget::hide):
2768         (WebCore::Widget::nativeWidget):
2769         (WebCore::Widget::setNativeWidget):
2770         (WebCore::Widget::suppressInvalidation):
2771         (WebCore::Widget::setSuppressInvalidation):
2772         (WebCore::Widget::invalidateRect):
2773         (WebCore::Widget::topLevel):
2774         (WebCore::Widget::containingWindow):
2775
2776 2008-01-04  Lars Knoll  <lars@trolltech.com>
2777
2778         Reviewed by Simon.
2779
2780         make QWebPage a QObject and get things to compile.
2781
2782         Nothing works currently though.
2783
2784         * platform/qt/ScrollViewQt.cpp:
2785         (WebCore::ScrollView::updateContents):
2786         (WebCore::ScrollView::update):
2787         * platform/qt/WidgetQt.cpp:
2788         (WebCore::Widget::qwidget):
2789         (WebCore::Widget::invalidateRect):
2790
2791 2008-01-04  Alp Toker  <alp@atoker.com>
2792
2793         Reviewed by Mark Rowe.
2794
2795         http://bugs.webkit.org/show_bug.cgi?id=16667
2796         make -j is failing with the autotools based system
2797
2798         Support parallel code generation. Nearly every use of explicit
2799         multiple targets was a potential concurrency bug, though in practice
2800         the bison rules were the first to be noticed because they took longer
2801         to complete and broke the build immediately.
2802
2803         * GNUmakefile.am:
2804
2805 2008-01-04  Alp Toker  <alp@atoker.com>
2806
2807         Reviewed by Mark Rowe.
2808
2809         Re-use a single static dummy surface rather than creating and
2810         destroying a surface for each CairoPath.
2811
2812         * platform/graphics/cairo/CairoPath.h:
2813         (WebCore::CairoPath::CairoPath):
2814
2815 2008-01-04  Mark Rowe  <mrowe@apple.com>
2816
2817         Tiger build fix.
2818
2819         * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
2820
2821 2008-01-03  Mark Rowe  <mrowe@apple.com>
2822
2823         Reviewed by Maciej Stachowiak.
2824
2825         Use platform-provided atomic operations in place of inline assembly to
2826         increase portability.
2827
2828         * platform/Threading.h:
2829         (WebCore::atomicIncrement):
2830         (WebCore::atomicDecrement):
2831
2832 2008-01-03  Oliver Hunt  <oliver@apple.com>
2833
2834         Reviewed by Maciej.
2835
2836         Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
2837
2838         We need to cache the absolute bounds of the <image>,
2839         as there's no reliable way to recompute the old bounding
2840         box one we have started layout.
2841
2842         * rendering/RenderSVGImage.cpp:
2843         (WebCore::RenderSVGImage::layout):
2844         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
2845         * rendering/RenderSVGImage.h:
2846
2847 2008-01-03  Alp Toker  <alp@atoker.com>
2848
2849         Reviewed by Mark Rowe.
2850
2851         Support building in Scratchbox, which has a version of make that fails
2852         on wildcard syntax. Use a vpath to match IDL files instead.
2853
2854         * GNUmakefile.am:
2855
2856 2008-01-03  Jon Honeycutt  <jhoneycutt@apple.com>
2857
2858         Reviewed by Darin.
2859
2860         <rdar://problem/5504775> PDF page will not load first time after Adobe
2861         Reader install, unless browser is relaunched
2862
2863         Refresh and re-search the plugin database if the MIME type is not
2864         registered.
2865
2866         * plugins/win/PluginDatabaseWin.cpp:
2867         (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
2868         * plugins/win/PluginDatabaseWin.h:
2869
2870 2008-01-03  Dan Bernstein  <mitz@apple.com>
2871
2872         Reviewed by Darin Adler.
2873
2874         - fix http://bugs.webkit.org/show_bug.cgi?id=16548
2875           <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
2876
2877         * platform/graphics/win/FontCacheWin.cpp:
2878         (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
2879         a valid LOGFONT for a given family.
2880         (WebCore::getLinkedFonts): Added. Returns a vector of font families
2881         linked to the given font family by the Windows registry key
2882         HKLM\Software\...\FontLink\SystemLink. The registry values typically
2883         differ based on the installed language version of Windows.
2884         (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
2885         font mapping, which is Windows code page based, except for characters in
2886         the range U+2000..U+200F. Instead, this function gets the font Uniscribe
2887         would use for the character. However, that font might not actually
2888         contain the character, in which case GDI font linking would substitute a
2889         different font. Therefore, this function walks the linked font list
2890         until it finds a font that actually contains the character.
2891
2892 2008-01-03  Darin Adler  <darin@apple.com>
2893
2894         Reviewed by Mitz.
2895
2896         - fix http://bugs.webkit.org/show_bug.cgi?id=16723
2897           tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
2898
2899         Test: fast/table/border-changes.html
2900
2901         * html/HTMLTableElement.h:
2902         * html/HTMLTableElement.cpp:
2903         (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
2904         parsing attributes, rather than doing this only for the rules attribute.
2905         (WebCore::HTMLTableElement::cellBorders): Added.
2906         (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
2907         rule about what type of borders to use.
2908
2909 2008-01-02  Sam Weinig  <sam@webkit.org>
2910
2911         Reviewed by Darin.
2912
2913         Pass the prototype of WebCore JS objects up the constructor chain
2914         rather than explicitly setting using setPrototype.  This removes many
2915         redundant settings of the prototype on construction.  To avoid a CG 
2916         hazard, the prototype must be constructed before calling the
2917         constructor of the JS object.
2918
2919         - JS objects that inherit from DOMObject, which all bindings objects
2920           (except Window) do, now can't implicitly have a jsNull prototype, but
2921           must explicitly pass it up the construction chain.
2922
2923         * bindings/js/JSCSSRuleCustom.cpp:
2924         (WebCore::toJS):
2925         * bindings/js/JSCSSValueCustom.cpp:
2926         (WebCore::toJS):
2927         * bindings/js/JSDocumentCustom.cpp:
2928         (WebCore::toJS):
2929         * bindings/js/JSEventCustom.cpp:
2930         (WebCore::toJS):
2931         * bindings/js/JSEventTargetNode.cpp:
2932         (WebCore::JSEventTargetNode::JSEventTargetNode):
2933         * bindings/js/JSEventTargetNode.h:
2934         * bindings/js/JSHTMLAllCollection.h:
2935         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
2936         * bindings/js/JSHTMLAudioElementConstructor.cpp:
2937         (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
2938         * bindings/js/JSHTMLCollectionCustom.cpp:
2939         (WebCore::getNamedItems):
2940         (WebCore::toJS):
2941         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2942         (WebCore::createJSHTMLWrapper):
2943         * bindings/js/JSHTMLFormElementCustom.cpp:
2944         (WebCore::JSHTMLFormElement::nameGetter):
2945         * bindings/js/JSHTMLInputElementBase.cpp:
2946         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
2947         * bindings/js/JSHTMLInputElementBase.h:
2948         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2949         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2950         * bindings/js/JSLocation.cpp:
2951         (WebCore::JSLocation::JSLocation):
2952         * bindings/js/JSLocation.h:
2953         * bindings/js/JSNamedNodesCollection.cpp:
2954         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2955         * bindings/js/JSNamedNodesCollection.h:
2956         * bindings/js/JSNodeCustom.cpp:
2957         (WebCore::toJS):
2958         * bindings/js/JSSVGElementWrapperFactory.cpp:
2959         (WebCore::createJSSVGWrapper):
2960         * bindings/js/JSSVGPathSegCustom.cpp:
2961         (WebCore::toJS):
2962         * bindings/js/JSStyleSheetCustom.cpp:
2963         (WebCore::toJS):
2964         * bindings/js/JSXMLHttpRequest.cpp:
2965         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
2966         (KJS::JSXMLHttpRequestConstructorImp::construct):
2967         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2968         * bindings/js/JSXMLHttpRequest.h:
2969         * bindings/js/JSXSLTProcessor.cpp:
2970         (KJS::JSXSLTProcessor::JSXSLTProcessor):
2971         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
2972         (KJS::XSLTProcessorConstructorImp::implementsConstruct):
2973         (KJS::XSLTProcessorConstructorImp::construct):
2974         * bindings/js/JSXSLTProcessor.h:
2975         * bindings/js/kjs_binding.h:
2976         (KJS::DOMObject::DOMObject):
2977         (KJS::cacheDOMObject):
2978         (KJS::cacheSVGDOMObject):
2979         * bindings/js/kjs_css.cpp:
2980         (WebCore::JSRGBColor::JSRGBColor):
2981         (WebCore::getJSRGBColor):
2982         * bindings/js/kjs_css.h:
2983         * bindings/js/kjs_events.cpp:
2984         (WebCore::JSClipboard::JSClipboard):
2985         (WebCore::toJS):
2986         * bindings/js/kjs_events.h:
2987         * bindings/js/kjs_html.cpp:
2988         (WebCore::ImageConstructorImp::ImageConstructorImp):
2989         * bindings/js/kjs_navigator.cpp:
2990         (KJS::Navigator::Navigator):
2991         (KJS::PluginBase::PluginBase):
2992         * bindings/js/kjs_navigator.h:
2993         * bindings/js/kjs_window.cpp:
2994         (KJS::Window::Window):
2995         (KJS::Window::location):
2996         (KJS::Window::getValueProperty):
2997         * bindings/js/kjs_window.h:
2998         * bindings/scripts/CodeGeneratorJS.pm:
2999
3000 2008-01-03  Holger Hans Peter Freyther  <zecke@selfish.org>
3001
3002         Reviewed by Alp.
3003
3004         -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
3005
3006         Change the Gtk ContextMenuItem code to generate the GtkMenuItem
3007         or GtkCheckMenuItem on the fly. Currently we will create a
3008         GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
3009         to be done is to change WebCore to tell the platform code if an item
3010         is checkable or not.
3011
3012         * platform/ContextMenuItem.h:
3013         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
3014         * platform/gtk/ContextMenuGtk.cpp:
3015         (WebCore::ContextMenu::appendItem):
3016         * platform/gtk/ContextMenuItemGtk.cpp:
3017         (WebCore::ContextMenuItem::ContextMenuItem):
3018         (WebCore::ContextMenuItem::~ContextMenuItem):
3019         (WebCore::ContextMenuItem::createNativeMenuItem):
3020         (WebCore::ContextMenuItem::releasePlatformDescription):
3021         (WebCore::ContextMenuItem::type):
3022         (WebCore::ContextMenuItem::setType):
3023         (WebCore::ContextMenuItem::action):
3024         (WebCore::ContextMenuItem::setAction):
3025         (WebCore::ContextMenuItem::platformSubMenu):
3026         (WebCore::ContextMenuItem::setSubMenu):
3027         (WebCore::ContextMenuItem::setChecked):
3028
3029 2008-01-03  Dan Bernstein  <mitz@apple.com>
3030
3031         Rubber-stamped by Adam Roben.
3032
3033         - update the project hierarchy to match the on-disk organization of
3034           the platform directory.
3035
3036         * WebCore.vcproj/WebCore.vcproj:
3037
3038 2008-01-03  Adam Roben  <aroben@apple.com>
3039
3040         Fix a buffer overrun and a leak introduced in r29098
3041
3042         Reviewed by Mark.
3043
3044         * platform/text/StringImpl.cpp:
3045         (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
3046         it be big enough to hold the string contents plus the null terminator.
3047
3048 2008-01-03  Simon Hausmann  <hausmann@webkit.org>
3049
3050         Reviewed by Lars.
3051
3052         Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
3053
3054         * WebCore.pro:
3055
3056 2008-01-03  Alp Toker  <alp@atoker.com>
3057
3058         Suggested by Mark Rowe.
3059
3060         Fix indentation and remove trailing whitespace.
3061
3062         * platform/network/curl/ResourceHandleManager.cpp:
3063
3064 2008-01-03  Luca Bruno  <lethalman88@gmail.com>
3065
3066         Reviewed by Alp Toker.
3067
3068         Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
3069         that the two POST methods don't conflict.
3070
3071         * platform/network/curl/ResourceHandleManager.cpp:
3072         (WebCore::ResourceHandleManager::setupPOST):
3073
3074 2008-01-02  Darin Adler  <darin@apple.com>
3075
3076         - touched some files to try to get the Windows buildbot building again
3077
3078 2008-01-02  Dan Bernstein  <mitz@apple.com>
3079
3080         Reviewed by Sam Weinig.
3081
3082         - fix small caps rendering
3083
3084         Covered by an existing test.
3085
3086         * platform/graphics/win/FontDataWin.cpp:
3087         (WebCore::FontData::smallCapsFontData):
3088
3089 2008-01-02  Antti Koivisto  <antti@apple.com>
3090
3091         Reviewed by Oliver.
3092
3093         Calculate video position and size within the renderer box in WebCore. This
3094         way the aspect ratio calculation is not needed in each MediaPlayer implementation.
3095         
3096         This fixes video aspect ratio on Windows.
3097         
3098         Covered by an existing pixel test.
3099
3100         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3101         (WebCore::MediaPlayerPrivate::createQTMovieView):
3102         * rendering/RenderVideo.cpp:
3103         (WebCore::RenderVideo::videoBox):
3104         (WebCore::RenderVideo::paintReplaced):
3105         (WebCore::RenderVideo::updatePlayer):
3106         * rendering/RenderVideo.h:
3107
3108 2008-01-02  Ada Chan  <adachan@apple.com>
3109
3110         Fix windows build.
3111
3112         * WebCore.vcproj/WebCore.vcproj:
3113
3114 2008-01-02  John Sullivan  <sullivan@apple.com>
3115
3116         Reviewed by Dan Bernstein
3117         
3118         - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
3119
3120         * loader/DocumentLoader.cpp:
3121         (WebCore::canonicalizedTitle):
3122         in the code that replaces control characters with white space, also replace the unicode line separator
3123         and paragraph separator characters
3124
3125 2008-01-02  Darin Adler  <darin@apple.com>
3126
3127         - fix buffer overruns seen on buildbot
3128
3129         * platform/text/StringImpl.cpp:
3130         (WebCore::countCharacter): Added this.
3131         (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
3132         (WebCore::StringImpl::toLengthArray): Ditto.
3133         (WebCore::StringImpl::replace): Added assertions.
3134
3135 2008-01-02  Darin Adler  <darin@apple.com>
3136
3137         Reviewed by Maciej.
3138
3139         - fix http://bugs.webkit.org/show_bug.cgi?id=16657
3140           Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
3141         - fix http://bugs.webkit.org/show_bug.cgi?id=16659
3142           Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
3143
3144         Tests: dom/html/level2/html/HTMLCollection07.html
3145                dom/html/level2/html/HTMLCollection08.html
3146                dom/html/level2/xhtml/HTMLCollection07.xhtml
3147                dom/html/level2/xhtml/HTMLCollection08.xhtml
3148                fast/dom/HTMLTableElement/early-acid3-65-excerpt.html
3149                fast/dom/HTMLTableElement/early-acid3-66-excerpt.html
3150
3151         * GNUmakefile.am: Added HTMLTableRowsCollection.
3152         * WebCore.pro: Ditto.
3153         * WebCore.vcproj/WebCore.vcproj: Ditto.
3154         * WebCore.xcodeproj/project.pbxproj: Ditto.
3155         * WebCoreSources.bkl: Ditto.
3156
3157         * dom/XMLTokenizer.cpp: Took out stray include.
3158
3159         * html/HTMLCollection.cpp:
3160         (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
3161         a separate class for that collection. Also got rid of the distinct types for custom collections
3162         that don't need them (use Other for both).
3163         * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
3164
3165         * html/HTMLFormCollection.cpp:
3166         (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
3167         for the HTMLCollection type.
3168
3169         * html/HTMLTableElement.cpp:
3170         (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
3171         (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
3172         keeping a pointer to it.
3173         (WebCore::HTMLTableElement::setCaption): Rewrote.
3174         (WebCore::HTMLTableElement::tHead): Ditto.
3175         (WebCore::HTMLTableElement::setTHead): Ditto.
3176         (WebCore::HTMLTableElement::tFoot): Ditto.
3177         (WebCore::HTMLTableElement::setTFoot): Ditto.
3178         (WebCore::HTMLTableElement::createTHead): Ditto.
3179         (WebCore::HTMLTableElement::deleteTHead): Ditto.
3180         (WebCore::HTMLTableElement::createTFoot): Ditto.
3181         (WebCore::HTMLTableElement::deleteTFoot): Ditto.
3182         (WebCore::HTMLTableElement::createCaption): Ditto.
3183         (WebCore::HTMLTableElement::deleteCaption): Ditto.
3184         (WebCore::HTMLTableElement::lastBody): Added.
3185         (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
3186         This is different from the old code mainly in how it handles rows outside any section.
3187         (WebCore::HTMLTableElement::deleteRow): Ditto.
3188         (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
3189         these was a possible source of serious bugs too, including crashes with stale pointers, although I
3190         didn't write any test cases to prove those bugs existed.
3191         (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
3192         just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
3193         visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
3194         (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
3195         * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
3196         things like DOM mutation events take things ot of the tree before they are safely referenced by
3197         JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
3198         firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
3199         Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
3200         unneeded friend declaration for HTMLTableCellElement.
3201         * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
3202
3203         * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
3204         collection in which order.
3205         * html/HTMLTableRowsCollection.h: Added.
3206
3207         * loader/FTPDirectoryDocument.cpp:
3208         (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
3209         coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
3210         create a tbody element.
3211
3212 2008-01-02  Darin Adler  <darin@apple.com>
3213
3214         Reviewed by Alice and Tim.
3215
3216         - try to fix GTK and Qt builds
3217
3218         * platform/win/ScrollViewWin.cpp:
3219         (WebCore::ScrollView::scroll): Improve logic slightly for the case of
3220         vertical scrolling when there's no vertical scroll bar.
3221
3222         * platform/gtk/ScrollViewGtk.cpp:
3223         (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
3224         should be factored differently.
3225         * platform/qt/ScrollViewQt.cpp:
3226         (WebCore::ScrollView::scroll): Ditto.
3227
3228 2008-01-02  Darin Adler  <darin@apple.com>
3229
3230         Reviewed by Anders.
3231
3232         - http://bugs.webkit.org/show_bug.cgi?id=16712
3233           change StringImpl to take and return PassRefPtr instead of raw pointers
3234
3235         Also eliminated use of const StringImpl. Since StringImpl is immutable there
3236         is no distinction between a const and non-const one at the moment.
3237
3238         * WebCore.base.exp: Updated.
3239
3240         * css/CSSHelper.cpp:
3241         (WebCore::parseURL): Make String directly, not by making a StringImpl.
3242         * dom/Attr.cpp:
3243         (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
3244         not via StringImpl.
3245         (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
3246         to a function that takes a String.
3247
3248         * dom/CDATASection.cpp: Removed unused constructor.
3249         (WebCore::CDATASection::cloneNode): Added a now-needed .get().
3250         (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
3251         * dom/CDATASection.h:
3252
3253         * dom/CharacterData.cpp:
3254         (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
3255         ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
3256         (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
3257         a RefPtr.
3258         (WebCore::CharacterData::setData): More of that.
3259         (WebCore::CharacterData::substringData): Ditto.
3260         (WebCore::CharacterData::appendData): Ditto.
3261         (WebCore::CharacterData::insertData): Ditto.
3262         (WebCore::CharacterData::deleteData): Ditto.
3263         (WebCore::CharacterData::replaceData): Ditto.
3264         (WebCore::CharacterData::nodeValue): Ditto.
3265         (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
3266         (WebCore::CharacterData::dump): Ditto.
3267         * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
3268         instead, but since String adds extra branches to handle 0, I figured it was
3269         more conservative to just use RefPtr. Later it would be good to figure out
3270         which is preferred style and be more consistent. Maybe we'll phase out
3271         StringImpl, or maybe we'll go the other way and use it more since it can be
3272         more efficient.
3273
3274         * dom/DOMImplementation.cpp:
3275         (WebCore::addString): Changed set to use String rather than StringImpl.
3276         (WebCore::isSVG10Feature): Ditto.
3277         (WebCore::isSVG11Feature): Ditto.
3278         (WebCore::DOMImplementation::createDocument): Replaced custom code to
3279         find a colon with a call to String::find.
3280
3281         * dom/Range.cpp:
3282         (WebCore::Range::insertNode): Updated since the result of splitText is now
3283         a PassRefPtr.
3284
3285         * dom/Text.cpp:
3286         (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
3287         result of this function be a PassRefPtr.
3288         (WebCore::Text::createRenderer): Ditto.
3289         (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
3290         * dom/Text.h:
3291
3292         * html/HTMLElement.cpp:
3293         (WebCore::HTMLElement::nodeName): Use String::upper.
3294
3295         * html/HTMLInputElement.cpp:
3296         (WebCore::numGraphemeClusters): Remove now-unneeded const.
3297         (WebCore::numCharactersInGraphemeClusters): Ditto.
3298
3299         * html/HTMLTokenizer.cpp:
3300         (WebCore::HTMLTokenizer::processToken): Updated for function name change.
3301
3302         * platform/text/AtomicString.cpp:
3303         (WebCore::CStringTranslator::translate): Updated since there is no longer
3304         a constructor that takes a string.
3305
3306         * platform/text/PlatformString.h: Added new constructors that take
3307         PassRefPtr and RefPtr. Removed misleading comment.
3308
3309         * platform/text/String.cpp:
3310         (WebCore::String::String): Changed to use StringImpl::create, which handles
3311         the empty string automatically.
3312         (WebCore::String::append): Ditto.
3313         (WebCore::String::charactersWithNullTermination): Similar.
3314         (WebCore::String::format): Ditto.
3315
3316         * platform/text/StringHash.h: Took out unneeded const.
3317
3318         * platform/text/StringImpl.cpp:
3319         (WebCore::deleteUCharVector): Changed to take a const pointer since the
3320         buffers are now const UChar buffers.
3321         (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
3322         separate init functions. The constructors are now private and used only in
3323         the create functions and one or two other places.
3324         (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
3325         (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
3326         PassRefPtr.
3327         (WebCore::StringImpl::characterStartingAt): Ditto.
3328         (WebCore::StringImpl::toLength): Ditto.
3329         (WebCore::StringImpl::toCoordsArray): Ditto.
3330         (WebCore::StringImpl::toLengthArray): Ditto.
3331         (WebCore::StringImpl::isLower): Ditto.
3332         (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
3333         don't have to use new directly here. Makes empty string handling more consistent.
3334         (WebCore::StringImpl::upper): Ditto.
3335         (WebCore::StringImpl::secure): Ditto.
3336         (WebCore::StringImpl::foldCase): Ditto.
3337         (WebCore::StringImpl::stripWhiteSpace): Ditto.
3338         (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
3339         (WebCore::StringImpl::capitalize): Ditto.
3340         (WebCore::StringImpl::toInt): Removed now-meaningless const.
3341         (WebCore::StringImpl::toInt64): Ditto.
3342         (WebCore::StringImpl::toUInt64): Ditto.
3343         (WebCore::StringImpl::toDouble): Ditto.
3344         (WebCore::StringImpl::toFloat): Ditto.
3345         (WebCore::StringImpl::find): Ditto.
3346         (WebCore::StringImpl::reverseFind): Ditto.
3347         (WebCore::StringImpl::endsWith): Ditto.
3348         (WebCore::StringImpl::replace): Ditto.
3349         (WebCore::equal): Ditto.
3350         (WebCore::equalIgnoringCase): Ditto.
3351         (WebCore::StringImpl::ascii): Ditto.
3352         (WebCore::StringImpl::defaultWritingDirection): Ditto.
3353         (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
3354         (WebCore::StringImpl::adopt): Added special case so this uses the shared
3355         empty string like other functions. Also optimized the common case where the
3356         vector happens to already have the right size so we don't do a fastRealloc
3357         at all in those cases.
3358         (WebCore::StringImpl::create): Added. These are now the public functions for
3359         creating new StringImpl objects. They all implement the shared empty string.
3360         (WebCore::StringImpl::createWithTerminatingNullCharacter):
3361         * platform/text/StringImpl.h:
3362
3363         * platform/text/cf/StringCF.cpp:
3364         (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
3365         * platform/text/cf/StringImplCF.cpp:
3366         (WebCore::StringImpl::createCFString): Removed now-obsolete const.
3367         * platform/text/mac/StringImplMac.mm:
3368         (WebCore::StringImpl::operator NSString *): Ditto.
3369         * platform/text/mac/StringMac.mm:
3370         (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
3371         * platform/text/qt/StringQt.cpp:
3372         (WebCore::String::String): Ditto.
3373         * platform/text/wx/StringWx.cpp:
3374         (WebCore::String::String): Ditto.
3375         * rendering/RenderBR.cpp:
3376         (WebCore::RenderBR::RenderBR): Ditto.
3377
3378         * rendering/RenderSVGInlineText.cpp:
3379         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
3380         * rendering/RenderSVGInlineText.h:
3381
3382         * rendering/RenderText.cpp:
3383         (WebCore::charactersAreAllASCII): Removed now-unneeded const.
3384         * rendering/RenderTextFragment.cpp:
3385         (WebCore::RenderTextFragment::originalText): Use RefPtr.
3386
3387 2008-01-02  Timothy Hatcher  <timothy@apple.com>
3388
3389         Reviewed by Oliver Hunt.
3390
3391         <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
3392
3393         Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
3394         internal element lookup tables. The represented DOM node object still holds the identifier
3395         it was assigned, and a later call to findTreeElement will use that original identifier
3396         against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
3397
3398         * page/inspector/treeoutline.js:
3399         (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
3400         but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
3401         instead of an early return.
3402
3403 2008-01-02  Alice Liu  <alice.liu@apple.com>
3404
3405         Reviewed by Maciej.
3406
3407         Fixed <rdar://5283861> (problems scrolling in gmail message content area)
3408
3409         * platform/ScrollView.h:
3410         * platform/win/ScrollViewWin.cpp:
3411         (WebCore::ScrollView::scroll):
3412          Changed return value to bool to reflect success of scroll attempt
3413
3414 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
3415
3416         Fixed a typo (pointed out in review, but I somehow missed it at first).
3417
3418         * editing/EditorCommand.cpp: (WebCore::executeDelete):
3419
3420 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
3421
3422         Reviewed by Darin.
3423
3424         Resolved several FIXMEs in EditorCommand.
3425         Made recently added commands hidden from JS again.
3426         Removed BackwardDelete implementation, which used to be dead code, but got exposed now.
3427
3428         Tests: editing/execCommand/delete-no-scroll.html
3429                editing/execCommand/forward-delete-no-scroll.html
3430                editing/execCommand/insert-line-break-no-scroll.html
3431
3432         * editing/EditorCommand.cpp:
3433         (WebCore::executeDelete):
3434         (WebCore::executeForwardDelete):
3435         (WebCore::executeInsertLineBreak):
3436         (WebCore::supportedFromMenuOrKeyBinding):
3437         (WebCore::CommandEntry::):
3438
3439 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
3440
3441         Reviewed by Darin.
3442
3443         http://bugs.webkit.org/show_bug.cgi?id=14555
3444         action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice
3445
3446         http://bugs.webkit.org/show_bug.cgi?id=14774
3447         Submitted data only includes first input item
3448
3449         Reworked encoding of mailto URLs to match other browsers.
3450         Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit().
3451
3452         Tests: fast/forms/mailto/advanced-get.html
3453                fast/forms/mailto/advanced-put.html
3454                fast/forms/mailto/get-multiple-items-text-plain.html
3455                fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html
3456                fast/forms/mailto/get-multiple-items.html
3457                fast/forms/mailto/get-non-ascii.html
3458                fast/forms/mailto/get-non-ascii-text-plain.html
3459                fast/forms/mailto/get-overwrite-query.html
3460                fast/forms/mailto/post-append-query.html
3461                fast/forms/mailto/post-multiple-items-multipart-form-data.html
3462                fast/forms/mailto/post-multiple-items-text-plain.html
3463                fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html
3464                fast/forms/mailto/post-multiple-items.html
3465
3466         * html/HTMLFormElement.cpp:
3467         (WebCore::HTMLFormElement::submit):
3468         * loader/FrameLoader.cpp:
3469         (WebCore::FrameLoader::submitForm):
3470
3471 2008-01-02  Mark Rowe  <mrowe@apple.com>
3472
3473         Autotools build fix.
3474
3475         * GNUmakefile.am: Remove files before generating them, not after.
3476
3477 2008-01-02  Mark Rowe  <mrowe@apple.com>
3478
3479         Rubber-stamped by Alp Toker.
3480
3481         Add missing dependencies to some GNUmakefile.am rules.
3482
3483         * GNUmakefile.am:
3484
3485 2008-01-02  Mark Rowe  <mrowe@apple.com>
3486
3487         Reviewed by Alp Toker.
3488
3489         Autotools build fix.  Make can expand $@ to any of the targets for the rule,
3490         while we always want to use the name of the .cpp file as the output file.
3491
3492         * GNUmakefile.am:
3493
3494 2008-01-02  Luca Bruno  <lethalman88@gmail.com>
3495
3496         Reviewed by Alp Toker.
3497
3498         http://bugs.webkit.org/show_bug.cgi?id=16115
3499         [GTK] ContextMenu and ContextMenuItem lacks an implementation
3500
3501         Add context menu support.
3502
3503         Based on a patch by Holger Freyther.
3504
3505         * platform/gtk/ContextMenuGtk.cpp:
3506         (WebCore::menuItemActivated):
3507         (WebCore::ContextMenu::ContextMenu):
3508         (WebCore::ContextMenu::~ContextMenu):
3509         (WebCore::ContextMenu::appendItem):
3510         (WebCore::ContextMenu::setPlatformDescription):
3511         (WebCore::ContextMenu::releasePlatformDescription):
3512         * platform/gtk/ContextMenuItemGtk.cpp:
3513         (WebCore::ContextMenuItem::ContextMenuItem):
3514         (WebCore::ContextMenuItem::~ContextMenuItem):
3515         (WebCore::ContextMenuItem::releasePlatformDescription):
3516         (WebCore::ContextMenuItem::type):
3517         (WebCore::ContextMenuItem::action):
3518         (WebCore::ContextMenuItem::setAction):
3519         (WebCore::ContextMenuItem::platformSubMenu):
3520         (WebCore::ContextMenuItem::setSubMenu):
3521         (WebCore::ContextMenuItem::setChecked):
3522         (WebCore::ContextMenuItem::setEnabled):
3523
3524 2008-01-02  Alp Toker  <alp@atoker.com>
3525
3526         GTK+ autotools build fix. Track changes in r29073.
3527
3528         * GNUmakefile.am:
3529
3530 2008-01-01  Darin Adler  <darin@apple.com>
3531
3532         - fix release build
3533
3534         * bindings/js/kjs_binding.cpp:
3535         (KJS::setDOMException): Initialize to avoid uninitialized variable warning.
3536         Removed default so we get a warning if there's a missing case.
3537
3538 2008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
3539
3540         Scripting MIME Types application/ecmascript, application/javascript not viewable
3541         <http://bugs.webkit.org/show_bug.cgi?id=11063>
3542
3543         Reviewed by Darin.
3544
3545         This patch consolidates the list of acceptable MIME types for JavaScript
3546         source into the MIMETypeRegistry class, and replaces checks for these
3547         types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType().
3548
3549         No tests added since viewing JavaScript source is not testable.
3550
3551         * dom/DOMImplementation.cpp:
3552         (WebCore::DOMImplementation::isTextMIMEType): Use
3553         MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single
3554         hard-coded MIME type, "application/x-javascript".
3555
3556         * html/HTMLScriptElement.cpp:
3557         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of
3558         JavaScript MIME types from here to
3559         MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes().
3560
3561         * platform/MIMETypeRegistry.cpp:
3562         (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of
3563         MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript().
3564         (WebCore::initialiseSupportedNonImageMimeTypes): Remove single
3565         hard-coded MIME type, "application/x-javascript", from the list.
3566         (WebCore::initialiseMIMETypeRegistry): Initialise
3567         supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes
3568         with values in supportedJavaScriptMIMETypes.
3569         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added.
3570
3571         * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType().
3572
3573 2008-01-01  Sam Weinig  <sam@webkit.org>
3574
3575         Reviewed by Darin.
3576
3577         Patch for http://bugs.webkit.org/show_bug.cgi?id=16691
3578         Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc)
3579
3580         - Create JS objects for all the different types of exceptions, each with there own prototype and constructor.
3581         - Abstract all the logic and storage for exception classes in to an ExceptionBase class.
3582         - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException).
3583
3584         Tests: fast/dom/DOMException/EventException.html
3585                fast/dom/DOMException/RangeException.html
3586                fast/dom/DOMException/XPathException.html
3587                http/tests/xmlhttprequest/XMLHttpRequestException.html
3588                svg/custom/SVGException.html
3589
3590         * DerivedSources.make:
3591         * WebCore.pro:
3592         * WebCore.vcproj/WebCore.vcproj:
3593         * WebCore.xcodeproj/project.pbxproj:
3594         * WebCoreSources.bkl:
3595         * bindings/js/JSSVGMatrixCustom.cpp:
3596         (WebCore::JSSVGMatrix::inverse):
3597         (WebCore::JSSVGMatrix::rotateFromVector):
3598         * bindings/js/kjs_binding.cpp:
3599         (KJS::setDOMException):
3600         * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined
3601         in the IDL as the ObjC bindings do.
3602         * bindings/scripts/CodeGeneratorObjC.pm:
3603         * dom/DOMCoreException.cpp: Removed.
3604         * dom/DOMCoreException.h:
3605         (WebCore::DOMCoreException::DOMCoreException):
3606         * dom/DOMCoreException.idl:
3607         * dom/Event.h:
3608         * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h.
3609         (WebCore::EventException::EventException):
3610         (WebCore::EventException::):
3611         * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl.
3612         * dom/EventTargetNode.cpp:
3613         (WebCore::EventTargetNode::dispatchEvent):
3614         * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp.
3615         (WebCore::ExceptionBase::ExceptionBase):
3616         (WebCore::ExceptionBase::toString):
3617         * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h.
3618         (WebCore::ExceptionBase::code):
3619         * dom/ExceptionCode.cpp:
3620         (WebCore::getExceptionCodeDescription):
3621         * dom/ExceptionCode.h:
3622         (WebCore::):
3623         * dom/Range.cpp:
3624         (WebCore::Range::insertNode):
3625         (WebCore::Range::checkNodeWOffset):
3626         (WebCore::Range::checkNodeBA):
3627         (WebCore::Range::selectNode):
3628         (WebCore::Range::selectNodeContents):
3629         (WebCore::Range::surroundContents):
3630         * dom/RangeException.h:
3631         (WebCore::RangeException::RangeException):
3632         (WebCore::RangeException::):
3633         * dom/RangeException.idl:
3634         * page/DOMWindow.idl:
3635         * svg/SVGColor.cpp:
3636         (WebCore::SVGColor::setRGBColor):
3637         * svg/SVGException.h:
3638         (WebCore::SVGException::SVGException):
3639         (WebCore::SVGException::):
3640         * svg/SVGException.idl:
3641         * svg/SVGLocatable.cpp:
3642         (WebCore::SVGLocatable::getTransformToElement):
3643         * xml/XMLHttpRequest.cpp:
3644         (WebCore::XMLHttpRequest::dispatchEvent):
3645         (WebCore::XMLHttpRequest::open):
3646         (WebCore::XMLHttpRequest::send):
3647         * xml/XMLHttpRequest.h:
3648         * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h.
3649         (WebCore::XMLHttpRequestException::XMLHttpRequestException):
3650         (WebCore::XMLHttpRequestException::):
3651         * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl.
3652         * xml/XPathEvaluator.h:
3653         * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h.
3654         (WebCore::XPathException::XPathException):
3655         (WebCore::XPathException::):
3656         * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl.
3657         * xml/XPathParser.cpp:
3658         (WebCore::XPath::Parser::parseStatement):
3659         * xml/XPathResult.cpp:
3660         (WebCore::XPathResult::convertTo):
3661         (WebCore::XPathResult::numberValue):
3662         (WebCore::XPathResult::stringValue):
3663         (WebCore::XPathResult::booleanValue):
3664         (WebCore::XPathResult::singleNodeValue):
3665         (WebCore::XPathResult::snapshotLength):
3666         (WebCore::XPathResult::iterateNext):
3667         (WebCore::XPathResult::snapshotItem):
3668
3669 2008-01-01  Sam Weinig  <sam@webkit.org>
3670
3671         Remove JSDomExceptionConstructor.lut.h from clean step