1cbf4f773591a66358658710c926f5ca0569b360
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-12  Sam Weinig  <sam@webkit.org>
2
3         Fix Mac release build.
4
5         * WebCore.base.exp:
6
7 2007-12-12  Sam Weinig  <sam@webkit.org>
8
9         Build fix for Qt, Gtk, and Wx.
10
11         * css/CSSParser.cpp:
12         (WebCore::CSSParser::parseValue):
13         * loader/win/FrameLoaderWin.cpp:
14         (WebCore::FrameLoader::urlSelected):
15         * platform/network/curl/ResourceHandleManager.cpp:
16         (WebCore::parseDataUrl):
17         (WebCore::ResourceHandleManager::startJob):
18         * platform/network/win/CookieJarWin.cpp:
19         (WebCore::setCookies):
20         (WebCore::cookies):
21         * platform/network/win/ResourceHandleWin.cpp:
22         (WebCore::ResourceHandle::start):
23         * platform/qt/PasteboardQt.cpp:
24         (WebCore::Pasteboard::writeURL):
25
26 2007-12-11  Dan Bernstein  <mitz@apple.com>
27
28         Reviewed by Maciej Stachowiak.
29
30         - allow non-integer font sizes on Windows for small caps
31
32         * platform/graphics/win/FontDataWin.cpp:
33         (WebCore::FontData::smallCapsFontData):
34         * platform/graphics/win/FontPlatformData.h:
35         (WebCore::FontPlatformData::size):
36         (WebCore::FontPlatformData::setSize):
37         * platform/graphics/win/FontPlatformDataWin.cpp:
38         (WebCore::FontPlatformData::FontPlatformData):
39
40 2007-12-11  Sam Weinig  <sam@webkit.org>
41
42         Build fix for Qt, Gtk, and Wx.
43
44         * platform/gtk/CookieJarGtk.cpp:
45         (WebCore::setCookies):
46         (WebCore::cookies):
47         * platform/qt/ClipboardQt.cpp:
48         (WebCore::ClipboardQt::writeURL):
49         * platform/qt/CookieJarQt.cpp:
50         (WebCore::setCookies):
51         (WebCore::cookies):
52         * platform/wx/PasteboardWx.cpp:
53         (WebCore::Pasteboard::writeURL):
54
55 2007-12-11  Sam Weinig  <sam@webkit.org>
56
57         Reviewed by Darin Adler.
58
59         Scrub URL out of the tree in preparation for renaming KURL to URL.
60             - Renames Document::URL() -> Document::url()
61             - Renames DocumentLoader::URL() -> DocumentLoader::url()
62             - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
63             - Remove FrameLoader::URL()
64             - Various variable renames.
65
66         The change from Document::URL() to Document::url() required changes
67         to the bindings scripts as well, because URL() is the name of a DOM
68         method.  The code generation scripts now have code to special case URL()
69         to url().
70
71         * WebCore.base.exp:
72         * bindings/js/kjs_events.cpp:
73         (WebCore::JSLazyEventListener::parseCode):
74         * bindings/js/kjs_navigator.cpp:
75         (KJS::Navigator::getValueProperty):
76         * bindings/js/kjs_proxy.cpp:
77         (WebCore::KJSProxy::initScript):
78         * bindings/js/kjs_window.cpp:
79         (KJS::Window::put):
80         (KJS::Window::allowsAccessFrom):
81         (KJS::Location::put):
82         (KJS::LocationProtoFuncReplace::callAsFunction):
83         (KJS::LocationProtoFuncReload::callAsFunction):
84         (KJS::LocationProtoFuncAssign::callAsFunction):
85         * bindings/scripts/CodeGenerator.pm:
86         * bindings/scripts/CodeGeneratorCOM.pm:
87         * bindings/scripts/CodeGeneratorJS.pm:
88         * bindings/scripts/CodeGeneratorObjC.pm:
89         * css/CSSImportRule.cpp:
90         (WebCore::CSSImportRule::insertedIntoParent):
91         * css/CSSParser.cpp:
92         (WebCore::CSSParser::parseValue):
93         (WebCore::CSSParser::parseContent):
94         (WebCore::CSSParser::parseBackgroundImage):
95         (WebCore::CSSParser::parseFontFaceSrc):
96         (WebCore::CSSParser::parseBorderImage):
97         (WebCore::CSSParser::createImportRule):
98         * css/CSSStyleSelector.cpp:
99         (WebCore::CSSStyleSelector::setEncodedURL):
100         * dom/Document.cpp:
101         (WebCore::Document::processHttpEquiv):
102         (WebCore::Document::cookie):
103         (WebCore::Document::setCookie):
104         (WebCore::Document::domain):
105         (WebCore::Document::setDomain):
106         (WebCore::Document::getImageMap):
107         (WebCore::Document::completeURL):
108         * dom/Document.h:
109         (WebCore::Document::url):
110         (WebCore::Document::baseURL):
111         * dom/Element.cpp:
112         (WebCore::Element::baseURI):
113         * dom/ProcessingInstruction.h:
114         * dom/StyledElement.cpp:
115         (WebCore::StyledElement::addCSSImageProperty):
116         * dom/StyledElement.h:
117         * dom/XMLTokenizer.cpp:
118         (WebCore::XMLTokenizer::endElementNs):
119         (WebCore::XMLTokenizer::end):
120         (WebCore::):
121         * dom/XMLTokenizer.h:
122         * editing/Editor.cpp:
123         (WebCore::Editor::copy):
124         * editing/markup.cpp:
125         (WebCore::completeURLs):
126         * history/CachedPage.h:
127         (WebCore::CachedPage::url):
128         * history/HistoryItem.cpp:
129         (WebCore::HistoryItem::HistoryItem):
130         (WebCore::HistoryItem::setURL):
131         (WebCore::HistoryItem::isCurrentDocument):
132         * html/HTMLBaseElement.cpp:
133         (WebCore::HTMLBaseElement::process):
134         * html/HTMLParser.cpp:
135         (WebCore::HTMLParser::reportErrorToConsole):
136         * html/HTMLScriptElement.cpp:
137         (WebCore::HTMLScriptElement::childrenChanged):
138         (WebCore::HTMLScriptElement::insertedIntoDocument):
139         (WebCore::HTMLScriptElement::evaluateScript):
140         * html/HTMLScriptElement.h:
141         * html/HTMLTokenizer.cpp:
142         (WebCore::HTMLTokenizer::scriptExecution):
143         * loader/Cache.cpp:
144         (WebCore::createResource):
145         (WebCore::Cache::requestResource):
146         * loader/CachedCSSStyleSheet.cpp:
147         (WebCore::CachedCSSStyleSheet::checkNotify):
148         * loader/CachedResource.cpp:
149         (WebCore::CachedResource::CachedResource):
150         * loader/CachedResource.h:
151         (WebCore::CachedResource::):
152         * loader/CachedScript.h:
153         * loader/DocLoader.cpp:
154         (WebCore::DocLoader::checkForReload):
155         (WebCore::DocLoader::requestResource):
156         * loader/DocumentLoader.cpp:
157         (WebCore::DocumentLoader::url):
158         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
159         (WebCore::DocumentLoader::setRequest):
160         (WebCore::DocumentLoader::startLoadingMainResource):
161         * loader/DocumentLoader.h:
162         * loader/FrameLoader.cpp:
163         (WebCore::FormSubmission::FormSubmission):
164         (WebCore::ScheduledRedirection::ScheduledRedirection):
165         (WebCore::FrameLoader::changeLocation):
166         (WebCore::FrameLoader::urlSelected):
167         (WebCore::FrameLoader::requestFrame):
168         (WebCore::FrameLoader::loadSubframe):
169         (WebCore::FrameLoader::submitFormAgain):
170         (WebCore::FrameLoader::submitForm):
171         (WebCore::FrameLoader::didExplicitOpen):
172         (WebCore::FrameLoader::replaceContentsWithScriptResult):
173         (WebCore::FrameLoader::executeScript):
174         (WebCore::FrameLoader::receivedFirstData):
175         (WebCore::FrameLoader::begin):
176         (WebCore::FrameLoader::startIconLoader):
177         (WebCore::FrameLoader::commitIconURLToIconDatabase):
178         (WebCore::FrameLoader::scheduleRefresh):
179         (WebCore::FrameLoader::redirectionTimerFired):
180         (WebCore::FrameLoader::loadPlugin):
181         (WebCore::FrameLoader::didNotOpenURL):
182         (WebCore::FrameLoader::updatePolicyBaseURL):
183         (WebCore::FrameLoader::scrollToAnchor):
184         (WebCore::FrameLoader::startRedirectionTimer):
185         (WebCore::FrameLoader::load):
186         (WebCore::FrameLoader::canLoad):
187         (WebCore::FrameLoader::shouldHideReferrer):
188         (WebCore::FrameLoader::shouldAllowNavigation):
189         (WebCore::FrameLoader::commitProvisionalLoad):
190         (WebCore::FrameLoader::clientRedirected):
191         (WebCore::FrameLoader::open):
192         (WebCore::FrameLoader::didTellBridgeAboutLoad):
193         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
194         (WebCore::FrameLoader::post):
195         (WebCore::FrameLoader::loadResourceSynchronously):
196         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
197         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
198         (WebCore::FrameLoader::createHistoryItem):
199         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
200         (WebCore::FrameLoader::loadItem):
201         (WebCore::FrameLoader::urlsMatchItem):
202         (WebCore::FrameLoader::recursiveGoToItem):
203         (WebCore::FrameLoader::updateHistoryForStandardLoad):
204         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
205         * loader/FrameLoader.h:
206         (WebCore::FrameLoader::url):
207         * loader/ImageDocument.cpp:
208         (WebCore::ImageDocument::createDocumentStructure):
209         * loader/MainResourceLoader.cpp:
210         (WebCore::shouldLoadAsEmptyDocument):
211         (WebCore::MainResourceLoader::didFinishLoading):
212         * loader/NavigationAction.cpp:
213         (WebCore::NavigationAction::NavigationAction):
214         * loader/NavigationAction.h:
215         (WebCore::NavigationAction::url):
216         * loader/PluginDocument.cpp:
217         (WebCore::PluginTokenizer::createDocumentStructure):
218         * loader/SubresourceLoader.cpp:
219         (WebCore::SubresourceLoader::load):
220         (WebCore::SubresourceLoader::create):
221         * loader/icon/IconLoader.cpp:
222         (WebCore::IconLoader::startLoading):
223         (WebCore::IconLoader::finishLoading):
224         * loader/loader.cpp:
225         (WebCore::Loader::servePendingRequests):
226         * loader/mac/LoaderNSURLExtras.m:
227         (urlOriginalData):
228         * page/Chrome.cpp:
229         (WebCore::Chrome::setToolTip):
230         * page/ContextMenuController.cpp:
231         (WebCore::ContextMenuController::contextMenuItemSelected):
232         * page/Frame.cpp:
233         (WebCore::Frame::setUserStyleSheetLocation):
234         * page/InspectorController.cpp:
235         (WebCore::InspectorResource::type):
236         (WebCore::addSourceToFrame):
237         (WebCore::InspectorController::addScriptResource):
238         (WebCore::InspectorController::updateScriptResourceRequest):
239         (WebCore::InspectorController::didCommitLoad):
240         * page/mac/WebCoreFrameBridge.mm:
241         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
242         * platform/KURL.h:
243         (WebCore::KURL::string):
244         (WebCore::KURL::deprecatedString):
245         * platform/mac/ClipboardMac.mm:
246         (WebCore::ClipboardMac::getData):
247         * platform/mac/CookieJar.mm:
248         (WebCore::cookies):
249         (WebCore::setCookies):
250         * platform/mac/PasteboardMac.mm:
251         (WebCore::Pasteboard::writeURL):
252         (WebCore::fileWrapperForImage):
253         (WebCore::Pasteboard::writeImage):
254         (WebCore::Pasteboard::plainText):
255         * platform/network/ResourceHandle.cpp:
256         (WebCore::ResourceHandle::portAllowed):
257         * platform/network/ResourceRequestBase.cpp:
258         (WebCore::ResourceRequestBase::isNull):
259         * platform/network/cf/ResourceHandleCFNet.cpp:
260         (WebCore::willSendRequest):
261         (WebCore::didReceiveResponse):
262         (WebCore::didReceiveData):
263         (WebCore::didFinishLoading):
264         (WebCore::didFail):
265         (WebCore::didReceiveChallenge):
266         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
267         (WebCore::ResourceHandle::~ResourceHandle):
268         (WebCore::ResourceHandle::start):
269         * platform/win/ClipboardUtilitiesWin.cpp:
270         (WebCore::createGlobalData):
271         (WebCore::urlToMarkup):
272         * platform/win/ClipboardWin.cpp:
273         (WebCore::writeURL):
274         (WebCore::writeImageToDataObject):
275         (WebCore::ClipboardWin::writeURL):
276         (WebCore::ClipboardWin::writeRange):
277         * platform/win/PasteboardWin.cpp:
278         (WebCore::Pasteboard::writeSelection):
279         (WebCore::Pasteboard::writeURL):
280         * plugins/win/PluginDatabaseWin.cpp:
281         (WebCore::PluginDatabaseWin::findPlugin):
282         * plugins/win/PluginStreamWin.cpp:
283         (WebCore::PluginStreamWin::startStream):
284         (WebCore::PluginStreamWin::destroyStream):
285         * plugins/win/PluginViewWin.cpp:
286         (WebCore::scriptStringIfJavaScriptURL):
287         (WebCore::PluginViewWin::performRequest):
288         * svg/SVGImageLoader.cpp:
289         (WebCore::SVGImageLoader::updateFromElement):
290         * xml/XMLHttpRequest.cpp:
291         (WebCore::XMLHttpRequest::getResponseXML):
292         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
293         * xml/XSLImportRule.cpp:
294         (WebCore::XSLImportRule::loadSheet):
295         * xml/XSLTProcessor.cpp:
296         (WebCore::XSLTProcessor::createDocumentFromSource):
297         (WebCore::xsltStylesheetPointer):
298         (WebCore::xmlDocPtrFromNode):
299
300 2007-12-11  Beth Dakin  <bdakin@apple.com>
301
302         Reviewed by Darin.
303
304         Fix for <rdar://problem/5641255> SVGs with width and height 100% 
305         fail to render when used as background images
306
307         CachedImage now has a setImageContainerSize function. It is only 
308         needed for SVG right now.
309         * loader/CachedImage.cpp:
310         (WebCore::CachedImage::setImageContainerSize):
311         * loader/CachedImage.h:
312
313         Relatively sized SVGs have no intrinsic size. Because this call is 
314         low-level enough that we cannot pass in the container size and get 
315         the real size of the SVG, we need to know if it has relative 
316         dimensions, and if so, we need to get the size from scaledTileSize.
317         * platform/graphics/Image.cpp:
318         (WebCore::Image::drawTiled):
319         * platform/graphics/Image.h:
320         (WebCore::Image::setContainerSize):
321         (WebCore::Image::hasRelativeWidth):
322         (WebCore::Image::hasRelativeHeight):
323
324         Re-factored calculateBackgroundSize a bit so that it returns an 
325         IntSize. Made it a member function so that it can send m_width and 
326         m_height along to setImageContainerSize.
327         * rendering/RenderBox.cpp:
328         (WebCore::RenderBox::calculateBackgroundSize):
329         (WebCore::RenderBox::calculateBackgroundImageGeometry):
330         * rendering/RenderBox.h:
331
332         Need to account for relatively sized SVGs in calcViewport()
333         * rendering/RenderSVGRoot.cpp:
334         (WebCore::RenderSVGRoot::calcViewport):
335         
336         Added new member variables to store the size of the SVG container. 
337         relativeWidthValue() and relativeHeightValue() use the stored SVG 
338         container size to correctly calculate the width and height of a 
339         relatively sized SVG.
340         * svg/SVGSVGElement.cpp:
341         (WebCore::SVGSVGElement::SVGSVGElement):
342         (WebCore::SVGSVGElement::setContainerSize):
343         (WebCore::SVGSVGElement::relativeWidthValue):
344         (WebCore::SVGSVGElement::relativeHeightValue):
345         * svg/SVGSVGElement.h:
346         (WebCore::SVGSVGElement::containerSize):
347         
348         Re-factored size calculations to use the size of the container.
349         * svg/graphics/SVGImage.cpp:
350         (WebCore::SVGImage::setContainerSize):
351         (WebCore::SVGImage::size):
352         (WebCore::SVGImage::hasRelativeWidth):
353         (WebCore::SVGImage::hasRelativeHeight):
354         * svg/graphics/SVGImage.h:
355
356 2007-12-11  Darin Adler  <darin@apple.com>
357
358         * editing/Editor.cpp:
359         (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
360         a missing return statement.
361
362 2007-12-11  Darin Adler  <darin@apple.com>
363
364         Reviewed by Geoff.
365
366         - exposed many new commands to the DOM Document executeCommand function by
367           merging the JSEditor and Editor executeCommand implementations
368         - replaced the execCommand function with a EditorCommand class
369         - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
370         - replaced the WTF::CaseInsensitiveHash<> class template with the
371           WebCore::CaseFoldingHash class
372
373         * WebCore.base.exp: Updated.
374         * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
375         * WebCore.vcproj/WebCore.vcproj: Ditto.
376         * WebCore.xcodeproj/project.pbxproj: Ditto.
377         * WebCoreSources.bkl: Ditto.
378
379         * dom/Document.cpp:
380         (WebCore::Document::Document): Removed code to set up m_jsEditor.
381         (WebCore::Document::~Document): Removed code to delete m_jsEditor.
382         (WebCore::command): Added. Helper function that gets an Editor::Command.
383         (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
384         JSEditor.
385         (WebCore::Document::queryCommandEnabled): Ditto.
386         (WebCore::Document::queryCommandIndeterm):
387         (WebCore::Document::queryCommandState): Ditto.
388         (WebCore::Document::queryCommandSupported): Ditto.
389         (WebCore::Document::queryCommandValue): Ditto.
390
391         * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
392         use CaseFoldingHash.
393
394         * editing/Editor.cpp:
395         (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
396         made into a member function so it is accessible from the new EditorCommand.cpp file.
397         Also changed to get the selection from the passed-in frame instead of from the
398         page, because this should work on the targeted frame unless the event overrides it.
399         (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
400         (WebCore::Editor::handleInputMethodKeypress): Ditto.
401         (WebCore::imageElementFromImageDocument): Renamed and changed to return
402         a HTMLImageElement instead of a Node*.
403         (WebCore::Editor::canCopy): Updated for name change.
404         (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
405         (WebCore::Editor::selectionOrderedListState): Ditto.
406         (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
407         (WebCore::updateState): Moved here from Frame.
408         (WebCore::Editor::selectionHasStyle): Ditto.
409         (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
410         (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
411         selectionForCommand change.
412         (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
413         (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
414         machinery since it's no longer in this file as a local function.
415         (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
416         (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
417         local variable.
418         (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
419         without a kill ring, but it's relatively straightforward to implement one.
420         (WebCore::Editor::appendToKillRing): Put default implementation here for
421         platforms other than Mac. We should probably put a simple kill ring
422         implementation here -- doesn't need to be shared with the OS oh platforms
423         other than Mac.
424         (WebCore::Editor::prependToKillRing): Ditto.
425         (WebCore::Editor::yankFromKillRing): Ditto.
426         (WebCore::Editor::startNewKillRingSequence): Ditto.
427         (WebCore::Editor::setKillRingToYankedState): Ditto.
428
429         * editing/Editor.h: Moved the TriState enum here instead of inside the
430         Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
431         here from the Frame class. Added Editor::Command class with five functions
432         for the various things you can do with a command (execute it, check if it
433         can be used, and its state and value). Changed hte parameter of
434         setBaseWritingDirection to be a const String& rather than a String.
435         Got rid of the kill-ring-related operations, but added the kill ring
436         functions themselves. Made selectedRange() public. Made the
437         m_startNewKillRingSequence not Mac-specific and added "should" to its
438         name.
439
440         * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
441         Retained only the editing commands.
442         (WebCore::targetFrame): Moved to the top of the file.
443         (WebCore::executeApplyStyle): Added. Helper function for commands
444         that need to apply styles.
445         (WebCore::executeToggleStyle): Added. Helper function for commands
446         that need to toggle styles based on the style of the start of selection.
447         (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
448         for paragraph styles.
449         (WebCore::executeInsertFragment): Added. Helper function for commands
450         that need to insert a DOM fragment.
451         (WebCore::executeInsertNode): Added. Helper function for commands that
452         need to insert a tree rooted in a single DOM node.
453         (WebCore::stateStyle): Added. Helper function for the state of commands
454         that represent style.
455         (WebCore::valueStyle): Added. Helper function for the value of commands
456         that represent style.
457         (WebCore::canScroll): Added. Helper functions for some move and scroll
458         commands that need to determine if the renderer they are in can scroll.
459         (WebCore::unionDOMRanges): Moved here from EditorMac.
460         (WebCore::executeBackColor):
461         (WebCore::executeBackwardDelete):
462         (WebCore::executeCopy):
463         (WebCore::executeCreateLink):
464         (WebCore::executeCut):
465         (WebCore::executeDelete):
466         (WebCore::executeDeleteToMark):
467         (WebCore::executeDeleteWordBackward):
468         (WebCore::executeDeleteWordForward):
469         (WebCore::executeFindString):
470         (WebCore::executeFontName):
471         (WebCore::executeFontSize):
472         (WebCore::executeFontSizeDelta):
473         (WebCore::executeForeColor):
474         (WebCore::executeFormatBlock):
475         (WebCore::executeForwardDelete):
476         (WebCore::executeIndent):
477         (WebCore::executeInsertBacktab):
478         (WebCore::executeInsertHorizontalRule):
479         (WebCore::executeInsertHTML):
480         (WebCore::executeInsertImage):
481         (WebCore::executeInsertLineBreak):
482         (WebCore::executeInsertNewline):
483         (WebCore::executeInsertNewlineInQuotedContent):
484         (WebCore::executeInsertOrderedList):
485         (WebCore::executeInsertParagraph):
486         (WebCore::executeInsertTab):
487         (WebCore::executeInsertText):
488         (WebCore::executeInsertUnorderedList):
489         (WebCore::executeJustifyCenter):
490         (WebCore::executeJustifyFull):
491         (WebCore::executeJustifyLeft):
492         (WebCore::executeJustifyRight):
493         (WebCore::executeMoveBackward):
494         (WebCore::executeMoveBackwardAndModifySelection):
495         (WebCore::executeMoveDown):
496         (WebCore::executeMoveDownAndModifySelection):
497         (WebCore::executeMoveDownByPageAndModifyCaret):
498         (WebCore::executeMoveForward):
499         (WebCore::executeMoveForwardAndModifySelection):
500         (WebCore::executeMoveLeft):
501         (WebCore::executeMoveLeftAndModifySelection):
502         (WebCore::executeMoveRight):
503         (WebCore::executeMoveRightAndModifySelection):
504         (WebCore::executeMoveToBeginningOfDocument):
505         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
506         (WebCore::executeMoveToBeginningOfLine):
507         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
508         (WebCore::executeMoveToBeginningOfParagraph):
509         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
510         (WebCore::executeMoveToBeginningOfSentence):
511         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
512         (WebCore::executeMoveToEndOfDocument):
513         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
514         (WebCore::executeMoveToEndOfSentence):
515         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
516         (WebCore::executeMoveToEndOfLine):
517         (WebCore::executeMoveToEndOfLineAndModifySelection):
518         (WebCore::executeMoveToEndOfParagraph):
519         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
520         (WebCore::executeMoveParagraphBackwardAndModifySelection):
521         (WebCore::executeMoveParagraphForwardAndModifySelection):
522         (WebCore::executeMoveUp):
523         (WebCore::executeMoveUpAndModifySelection):
524         (WebCore::executeMoveUpByPageAndModifyCaret):
525         (WebCore::executeMoveWordBackward):
526         (WebCore::executeMoveWordBackwardAndModifySelection):
527         (WebCore::executeMoveWordForward):
528         (WebCore::executeMoveWordForwardAndModifySelection):
529         (WebCore::executeMoveWordLeft):
530         (WebCore::executeMoveWordLeftAndModifySelection):
531         (WebCore::executeMoveWordRight):
532         (WebCore::executeMoveWordRightAndModifySelection):
533         (WebCore::executeOutdent):
534         (WebCore::executePaste):
535         (WebCore::executePasteAndMatchStyle):
536         (WebCore::executePrint):
537         (WebCore::executeRedo):
538         (WebCore::executeRemoveFormat):
539         (WebCore::executeSelectAll):
540         (WebCore::executeSelectToMark):
541         (WebCore::executeSetMark):
542         (WebCore::executeStrikethrough):
543         (WebCore::executeSubscript):
544         (WebCore::executeSuperscript):
545         (WebCore::executeSwapWithMark):
546         (WebCore::executeToggleBold):
547         (WebCore::executeToggleItalic):
548         (WebCore::executeTranspose):
549         (WebCore::executeUnderline):
550         (WebCore::executeUndo):
551         (WebCore::executeUnlink):
552         (WebCore::executeUnscript):
553         (WebCore::executeUnselect):
554         (WebCore::executeYank):
555         (WebCore::executeYankAndSelect):
556         (WebCore::supported):
557         (WebCore::supportedPaste):
558         (WebCore::enabled):
559         (WebCore::enabledAnySelection):
560         (WebCore::enabledAnySelectionAndMark):
561         (WebCore::enableCaretInEditableText):
562         (WebCore::enabledCopy):
563         (WebCore::enabledCut):
564         (WebCore::enabledInEditableText):
565         (WebCore::enabledInRichlyEditableText):
566         (WebCore::enabledPaste):
567         (WebCore::enabledRangeInEditableText):
568         (WebCore::enabledRangeInRichlyEditableText):
569         (WebCore::enabledRedo):
570         (WebCore::enabledUndo):
571         (WebCore::stateNone):
572         (WebCore::stateBold):
573         (WebCore::stateItalic):
574         (WebCore::stateOrderedList):
575         (WebCore::stateStrikethrough):
576         (WebCore::stateSubscript):
577         (WebCore::stateSuperscript):
578         (WebCore::stateUnderline):
579         (WebCore::stateUnorderedList):
580         (WebCore::valueNull):
581         (WebCore::valueBackColor):
582         (WebCore::valueFontName):
583         (WebCore::valueFontSize):
584         (WebCore::valueFontSizeDelta):
585         (WebCore::valueForeColor):
586         (WebCore::createCommandMap): Added lots of commands, including all the commands
587         from JSEditor. A few commands needed different behavior based on whether they are
588         invoked from the DOM or a keyboard binding.
589         (WebCore::Editor::command): Added. Gets a command object given a name.
590         (WebCore::Editor::Command::Command): Added.
591         (WebCore::Editor::Command::execute): Added.
592         (WebCore::Editor::Command::isSupported): Added.
593         (WebCore::Editor::Command::isEnabled): Added.
594         (WebCore::Editor::Command::state): Added.
595         (WebCore::Editor::Command::value): Added.
596         (WebCore::Editor::execCommand): Changed to call command().execute().
597
598         * editing/JSEditor.cpp: Removed.
599         * editing/JSEditor.h: Removed.
600
601         * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
602         kill ring commands, so the kill ring commands can be cross-platform.
603         (WebCore::Editor::appendToKillRing): Added.
604         (WebCore::Editor::prependToKillRing): Added.
605         (WebCore::Editor::yankFromKillRing): Added.
606         (WebCore::Editor::startNewKillRingSequence): Added.
607         (WebCore::Editor::setKillRingToYankedState): Added.
608
609         * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
610         * page/Frame.h: Ditto.
611
612         * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
613         * page/mac/WebCoreFrameBridge.h: Ditto.
614
615         * platform/ContextMenu.cpp:
616         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
617
618         * platform/text/StringHash.h:
619         (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
620         (WebCore::StringHash::equal): Ditto.
621         (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
622         classes into this.
623         (WebCore::CaseFoldingHash::equal): Ditto.
624
625         * platform/text/StringImpl.cpp:
626         (WebCore::equal): Changed to invoke StringHash.
627         (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
628
629         * dom/DOMImplementation.cpp:
630         (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
631         (WebCore::isSVG10Feature): Ditto.
632         (WebCore::isSVG11Feature): Ditto.
633         * loader/FrameLoader.cpp:
634         (WebCore::localSchemes): Ditto.
635         * platform/graphics/FontCache.cpp:
636         (WebCore::computeHash): Ditto.
637         * platform/network/HTTPHeaderMap.h: Ditto.
638         * platform/text/PlatformString.h: Ditto.
639         * platform/text/StringImpl.h: Ditto.
640         * rendering/RenderPartObject.cpp:
641         (WebCore::RenderPartObject::updateWidget): Ditto.
642         * xml/XMLHttpRequest.cpp:
643         (WebCore::canSetRequestHeader): Ditto.
644
645         * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
646
647 2007-12-11  Darin Adler  <darin@apple.com>
648
649         * platform/wx/KeyboardEventWx.cpp:
650         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
651         WX build. Changes the code around a little bit.
652
653 2007-12-11  Darin Adler  <darin@apple.com>
654
655         * platform/wx/KeyboardEventWx.cpp:
656         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
657
658 2007-12-11  Dan Bernstein  <mitz@apple.com>
659
660         Reviewed by Darin Adler.
661
662         - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
663
664         Test: fast/text/international/complex-character-based-fallback.html
665
666         * platform/graphics/Font.cpp:
667         (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
668         that forces this function to use the small caps font. It is used for
669         combining marks that need to combine with a small cap.
670         * platform/graphics/Font.h:
671         * platform/win/UniscribeController.cpp:
672         (WebCore::UniscribeController::advance): Changed to split the string
673         into runs of characters that will be rendered using the same FontData.
674         This is done by calling glyphDataForCharacter() for each cahracter to
675         find the FontData it should be rendered with.
676         (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
677         argument that is passed on to shapeAndPlaceItem() instead of the
678         smallCaps argument.
679         (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
680         argument and removed the font fallback logic from this function, as
681         it is now expected to be called with an item all of whose characters
682         can be rendered with the given fontData.
683         * platform/win/UniscribeController.h:
684
685 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
686
687         Reviewed by Darin.
688
689         <rdar://problem/5535636>
690         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
691
692         http://bugs.webkit.org/show_bug.cgi?id=13916
693         JavaScript detects Tab as a character input on a textfield validation
694
695         Test: platform/win/fast/events/double-dead-char.html
696
697         * platform/PlatformKeyboardEvent.h:
698         (WebCore::PlatformKeyboardEvent::):
699         (WebCore::PlatformKeyboardEvent::type):
700         (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
701         (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
702         (WebCore::PlatformKeyboardEvent::keyIdentifier):
703         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
704         Added an explicit type member to differentiate different kinds of events:
705           RawKeyDown == keydown == WM_KEYDOWN
706           KeyUp == keyup == WM_KEYUP
707           Char == keypress == WM_CHAR
708           KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
709           event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
710
711         * platform/mac/KeyEventMac.mm:
712         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
713         Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
714         (WebCore::windowsKeyCodeForKeyEvent): 
715         (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
716         that it still fails.
717         (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
718         should not be available in those (because it cannot be provided on Windows).
719
720         * platform/win/KeyEventWin.cpp:
721         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
722         Used standard Windows constants for bit masks instead of our own ones.
723         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
724
725         * platform/gtk/KeyEventGtk.cpp:
726         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
727         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
728         * platform/qt/PlatformKeyboardEventQt.cpp:
729         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
730         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
731         * platform/wx/KeyboardEventWx.cpp:
732         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
733         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
734         Updated for cross-platform changes as much as it was possible without appropriate build
735         environments.
736
737         * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
738         convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
739
740         * bridge/EditorClient.h:
741         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
742         Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
743
744         * dom/Document.h:
745         * dom/Document.cpp:
746         (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
747
748         * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
749
750         * dom/KeyboardEvent.cpp:
751         (WebCore::eventTypeForKeyboardEventType):
752         (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
753         now straightforward, so scary hacks such as using autorepeat to distinguish types are
754         not needed.
755         (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
756         (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
757         Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
758         character codes.
759
760         * editing/Editor.h:
761         * editing/Editor.cpp:
762         (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
763         (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
764         (WebCore::Editor::handleInputMethodKeydown): Ditto.
765
766         * html/HTMLButtonElement.cpp:
767         (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
768         appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
769         not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
770         highlighted when Space is pressed.
771
772         * html/HTMLInputElement.cpp:
773         (WebCore::HTMLInputElement::defaultEventHandler):
774         * html/HTMLSelectElement.cpp:
775         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
776         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
777         Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
778         described above.
779
780         * page/EventHandler.cpp:
781         (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
782         to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
783         handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
784         now being handleInputMethodKeydown().
785         (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
786         (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
787         as default tab handling happens when processing keydown.
788         (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
789         event handling. Fixed accesskey processing to use information that's available in a raw keydown
790         event.
791
792         (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
793         handle tabs during keydown processing.
794
795         * page/mac/EventHandlerMac.mm:
796         (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
797         what callers want.
798
799         * platform/text/PlatformString.h:
800         * platform/text/String.cpp:
801         (WebCore::String::characterStartingAt):
802         * platform/text/StringImpl.cpp:
803         (WebCore::StringImpl::characterStartingAt):
804         * platform/text/StringImpl.h:
805         Added a UChar32 accessor.
806
807         * svg/graphics/SVGImageEmptyClients.h:
808         (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
809         (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
810         Updated for new function names.
811
812 2007-12-11  John Sullivan  <sullivan@apple.com>
813
814         Reviewed by Adele
815
816         Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
817
818         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
819         (WebCore::MediaPlayerPrivate::createQTMovieView):
820         (WebCore::MediaPlayerPrivate::detachQTMovieView):
821
822 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
823
824         Reviewed by Darin.
825
826         http://bugs.webkit.org/show_bug.cgi?id=16325
827         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
828
829         Fix this on Windows, too!
830
831         Test: http/tests/misc/empty-cookie.html
832
833         * platform/network/win/CookieJarWin.cpp:
834         (WebCore::setCookies):
835         (WebCore::cookies):
836         Same fix as on Mac, translated into CF.
837
838         * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
839
840 2007-12-11  Christian Dywan  <christian@twotoasts.de>
841
842         Reviewed by Alp Toker.
843
844         http://bugs.webkit.org/show_bug.cgi?id=16371
845         Implement additional mouse cursors for Gtk
846
847         Added cursor bitmaps from Mozilla:
848         http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
849
850         * platform/gtk/CursorGtk.cpp:
851         (WebCore::customCursorNew):
852         (WebCore::verticalTextCursor):
853         (WebCore::cellCursor):
854         (WebCore::contextMenuCursor):
855         (WebCore::noDropCursor):
856         (WebCore::copyCursor):
857         (WebCore::progressCursor):
858         (WebCore::aliasCursor):
859         (WebCore::noneCursor):
860         (WebCore::notAllowedCursor):
861         (WebCore::zoomInCursor):
862         (WebCore::zoomOutCursor):
863         * platform/gtk/CursorGtk.h: Added.
864
865 2007-12-10  Oliver Hunt  <oliver@apple.com>
866
867         Reviewed by Weinig, Dan, and Alexey.
868
869         Fix character set used for dynamically loaded scripts.
870
871         Fix for:
872             <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
873             <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
874             <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
875             
876         Use the same logic to determine the charset for a script loaded dynamically
877         as we do for a statically loaded script.
878
879         * html/HTMLScriptElement.cpp:
880         (WebCore::HTMLScriptElement::insertedIntoDocument):
881
882 2007-12-10  Justin Garcia  <justin.garcia@apple.com>
883
884         Reviewed by Oliver Hunt.
885
886         <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
887         
888         We were trying to insert a block of the requested type before the body element.
889         
890         * editing/FormatBlockCommand.cpp:
891         (WebCore::FormatBlockCommand::doApply): 
892         Removed unnecessary ()s in the if condition.
893         Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
894         a) upstreamStart will never be outside the root editable element, since in that case
895         there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
896         *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
897         at [root, 0].
898         Added comments to explain the use of upstream() in the second if-clause.
899         Added an early return for case where there is nothing selected, in that case, there is nothing
900         to move.
901
902 2007-12-10  Adele Peterson  <adele@apple.com>
903
904         Reviewed and partially fixed by Tim Hatcher.
905
906         Remaining part of fix for <rdar://problem/5633400>
907         Transformed <video> is not clipped correctly until a repaint is forced
908
909         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
910         from clobbering the WebCore repaints.
911
912         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
913         * html/HTMLMediaElement.h:
914         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
915         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
916
917         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
918         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
919         (method_setImplementation): Added for Tiger.
920
921         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
922         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
923         (WebCore::MediaPlayerPrivate::setVisible): ditto.
924         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
925
926         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
927         (-[WebCoreMovieObserver repaint]): ditto.
928
929         (WebCore::mainThreadSetNeedsDisplay): Added.
930          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
931         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
932
933 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
934
935         Reviewed by Sam Weinig.
936
937         Updated for rename in JavaScriptCore.
938
939         * bridge/mac/WebCoreScriptDebugger.mm:
940         (-[WebCoreScriptCallFrame scopeChain]):
941         (-[WebCoreScriptCallFrame functionName]):
942         (-[WebCoreScriptCallFrame evaluateWebScript:]):
943
944 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
945
946         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
947         <http://bugs.webkit.org/show_bug.cgi?id=16383>
948
949         Use KJS::Window not the ambiguous Window
950
951         Reviewed by ddkilzer.
952
953         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
954
955 2007-12-10  Sam Weinig  <sam@webkit.org>
956
957         Fix non-mac builds.
958
959         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
960
961 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
962
963         Reviewed by Darin.
964
965         Fix a divide by 0 in the progress tracker.
966         http://bugs.webkit.org/show_bug.cgi?id=15055
967
968         * loader/ProgressTracker.cpp:
969         (WebCore::ProgressTracker::incrementProgress):
970
971 2007-12-09  Sam Weinig  <sam@webkit.org>
972
973         Reviewed by Darin.
974
975         More cleanup of kjs_window.
976         - Move WindowFeatures from bridge/ to page/
977         - Move functions related to WindowFeatures (boolFeature,
978           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
979         - Fix up whitespace.
980
981         * WebCore.vcproj/WebCore.vcproj:
982         * WebCore.xcodeproj/project.pbxproj:
983         * bindings/js/kjs_window.cpp:
984         (KJS::DOMWindowTimer::~DOMWindowTimer):
985         (KJS::createWindow):
986         (KJS::showModalDialog):
987         (KJS::Window::getOwnPropertySlot):
988         (KJS::Window::allowsAccessFrom):
989         (KJS::Window::shouldInterruptScript):
990         (KJS::WindowProtoFuncAToB::callAsFunction):
991         (KJS::WindowProtoFuncOpen::callAsFunction):
992         (KJS::Window::setReturnValueSlot):
993         (KJS::ScheduledAction::execute):
994         (KJS::Window::timerFired):
995         (KJS::Location::Location):
996         (KJS::Location::getValueProperty):
997         (KJS::Location::getOwnPropertySlot):
998         (KJS::Location::put):
999         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
1000         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
1001         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
1002         allowsAccessFrom, cleanup the function a little.
1003         (KJS::PausedTimeouts::~PausedTimeouts):
1004         * bridge/WindowFeatures.h: Removed.
1005         * page/WindowFeatures.cpp: Added.
1006         (WebCore::isSeparator):
1007         (WebCore::WindowFeatures::WindowFeatures):
1008         (WebCore::WindowFeatures::setWindowFeature):
1009         (WebCore::WindowFeatures::boolFeature):
1010         (WebCore::WindowFeatures::floatFeature):
1011         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
1012         (WebCore::WindowFeatures::WindowFeatures):
1013
1014 2007-12-10  Timothy Hatcher  <timothy@apple.com>
1015
1016         Reviewed by Mark Rowe.
1017
1018         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
1019
1020         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
1021           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
1022
1023 2007-12-10  Alp Toker  <alp@atoker.com>
1024
1025         Reviewed by Niko.
1026
1027         Cairo implementation of GraphicsContext::setUseAntialiasing().
1028
1029         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1030         (WebCore::GraphicsContext::setUseAntialiasing):
1031
1032 2007-12-10  Rob Buis  <buis@kde.org>
1033
1034         Reviewed by Darin.
1035
1036         http://bugs.webkit.org/show_bug.cgi?id=16182
1037         SVG should disable antialiasing for shape-rendering="crispEdges"
1038
1039         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
1040
1041         * platform/graphics/GraphicsContext.h:
1042         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1043         (WebCore::GraphicsContext::setUseAntialiasing):
1044         * platform/graphics/cg/GraphicsContextCG.cpp:
1045         (WebCore::GraphicsContext::setUseAntialiasing):
1046         * platform/graphics/qt/GraphicsContextQt.cpp:
1047         (WebCore::GraphicsContext::setUseAntialiasing):
1048         * platform/graphics/wx/GraphicsContextWx.cpp:
1049         (WebCore::GraphicsContext::setUseAntialiasing):
1050         * rendering/RenderPath.cpp:
1051         (WebCore::RenderPath::paint):
1052
1053 2007-12-09  Rob Buis  <buis@kde.org>
1054
1055         Reviewed by Niko.
1056
1057         http://bugs.webkit.org/show_bug.cgi?id=16163
1058         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
1059
1060         Fix the crash by properly unregistering as client from SVGResource
1061         when deleting a styled svg node.
1062
1063         * svg/SVGStyledElement.cpp:
1064         (WebCore::SVGStyledElement::~SVGStyledElement):
1065
1066 2007-12-10  Brady Eidson  <beidson@apple.com>
1067
1068         Rubberstamped by John
1069
1070         * storage/DatabaseTracker.cpp:
1071         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
1072           for the new quota, we should allow the database to be created
1073
1074 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
1075
1076         Bug 9683: Implement select.options.remove() method
1077         <http://bugs.webkit.org/show_bug.cgi?id=9683>
1078
1079         Reviewed by Maciej.
1080
1081         Implement select.options.remove() by calling select.remove()
1082         with the same arguments.  This is what MSIE 7 does, although its
1083         select.remove() method differs from WebKit's by throwing an
1084         exception when called with no arguments or with a negative
1085         integer argument.  Note that the DOM Level 1 documentation
1086         specifies that select.remove() does not throw an exception.
1087
1088         Tests: fast/js/select-options-remove-gc.html
1089                fast/js/select-options-remove.html
1090
1091         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1092         (WebCore::JSHTMLOptionsCollection::remove): Added.
1093         * html/HTMLOptionsCollection.cpp:
1094         (WebCore::HTMLOptionsCollection::remove): Added.
1095         * html/HTMLOptionsCollection.h:
1096         * html/HTMLOptionsCollection.idl:
1097
1098 2007-12-09  Sam Weinig  <sam@webkit.org>
1099
1100         Rubber stamped by Mark Rowe.
1101
1102         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
1103
1104 2007-12-09  Oliver Hunt  <oliver@apple.com>
1105
1106         Reviewed by Niko.
1107
1108         Correction, 'z' and 'Z' are the only commands that cannot have an extended
1109         list of arguments.
1110
1111         * svg/SVGParserUtilities.cpp:
1112         (WebCore::SVGPathParser::parseSVG):
1113
1114 2007-12-09  Oliver Hunt  <oliver@apple.com>
1115
1116         Reviewed by Niko.
1117
1118         Prevent unlimited iteration in the case of invalid path data.
1119         
1120         The only path commands that can leave numbers trailing the command processing
1121         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
1122         implicit lineto command.  In any case we should just terminate as an invalid
1123         path.
1124
1125         * svg/SVGParserUtilities.cpp:
1126         (WebCore::SVGPathParser::parseSVG):
1127
1128 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
1129
1130         Reviewed by Alp Toker.
1131
1132         http://bugs.webkit.org/show_bug.cgi?id=15825
1133         [GTK] curl - slow dns causing hangs.
1134
1135         Create a vector of jobs, to satisfy requests in the right order.
1136         Set a limit to the number of simultaneous connections.
1137
1138         * platform/network/curl/ResourceHandleManager.cpp:
1139         (WebCore::maxRunningJobs): added
1140         (WebCore::ResourceHandleManager::ResourceHandleManager):
1141         (WebCore::ResourceHandleManager::removeFromCurl):
1142         (WebCore::ResourceHandleManager::startScheduledJobs):
1143
1144         * platform/network/curl/ResourceHandleManager.h:
1145         (WebCore::ResourceHandleList): removed
1146         (WebCore::ResourceHandleManager::m_runningJobs): added
1147         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
1148         (WebCore::ResourceHandleManager::m_resourceHandleList): added
1149
1150 2007-12-08  Sam Weinig  <sam@webkit.org>
1151
1152         Reviewed by Oliver.
1153
1154         Cleanup kjs_window.h/cpp.
1155
1156         * bindings/js/kjs_window.cpp:
1157         (KJS::WindowPrivate::WindowPrivate):
1158         (KJS::DOMWindowTimer::DOMWindowTimer):
1159         (KJS::Window::Window):
1160         (KJS::Window::retrieveWindow):
1161         (KJS::Window::retrieveActive):
1162         (KJS::Window::retrieve):
1163         (KJS::Window::location):
1164         (KJS::Window::mark):
1165         (KJS::allowPopUp):
1166         (KJS::parseModalDialogFeatures):
1167         (KJS::floatFeature):
1168         (KJS::canShowModalDialog):
1169         (KJS::canShowModalDialogNow):
1170         (KJS::showModalDialog):
1171         (KJS::Window::getValueProperty):
1172         (KJS::Window::getOwnPropertySlot):
1173         (KJS::Window::globalExec):
1174         (KJS::Window::setListener):
1175         (KJS::Window::getListener):
1176         (KJS::Window::findOrCreateJSEventListener):
1177         (KJS::Window::findOrCreateJSUnprotectedEventListener):
1178         (KJS::Window::clearHelperObjectProperties):
1179         (KJS::Window::setCurrentEvent):
1180         (KJS::WindowProtoFuncAToB::callAsFunction):
1181         (KJS::WindowProtoFuncBToA::callAsFunction):
1182         (KJS::WindowProtoFuncOpen::callAsFunction):
1183         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
1184         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
1185         (KJS::WindowProtoFuncSetInterval::callAsFunction):
1186         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
1187         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
1188         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
1189         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
1190         * bindings/js/kjs_window.h:
1191         (KJS::PausedTimeouts::PausedTimeouts):
1192         (KJS::PausedTimeouts::takeTimeouts):
1193         (KJS::ScheduledAction::ScheduledAction):
1194
1195 2007-12-08  Sam Weinig  <sam@webkit.org>
1196
1197         Reviewed by Mitz.
1198
1199         Move window scrolling, moving and resizing methods from KJS::Window
1200         to WebCore::DOMWindow so that there bindings can be autogenerated.
1201
1202         Tests: fast/dom/Window/window-resize-and-move-arguments.html
1203                fast/dom/Window/window-scroll-arguments.html
1204
1205         * WebCore.xcodeproj/project.pbxproj:
1206         * bindings/js/kjs_window.cpp:
1207         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
1208         (KJS::WindowProtoFuncOpen::callAsFunction):
1209         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
1210         * bindings/js/kjs_window.h:
1211         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
1212         to ensure that the no less than the declared number of attributes
1213         is allowed.
1214         * page/DOMWindow.cpp:
1215         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
1216         (WebCore::DOMWindow::scrollBy):
1217         (WebCore::DOMWindow::scrollTo):
1218         (WebCore::DOMWindow::moveBy):
1219         (WebCore::DOMWindow::moveTo):
1220         (WebCore::DOMWindow::resizeBy):
1221         (WebCore::DOMWindow::resizeTo):
1222         * page/DOMWindow.h:
1223         (WebCore::DOMWindow::scroll):
1224         * page/DOMWindow.idl:
1225
1226 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
1227
1228         Reviewed by Alp Toker.
1229
1230         http://bugs.webkit.org/show_bug.cgi?id=14651
1231         [CURL] didReceiveResponse() only called for HTTP loads
1232
1233         http://bugs.webkit.org/show_bug.cgi?id=14583
1234         [GDK] file:// relative CSS include URLs handled incorrectly
1235
1236         Make sure CURL sets the ResourceResponse URL and calls
1237         didReceiveResponse for local files too. 
1238
1239         * platform/network/curl/ResourceHandleManager.cpp:
1240         (WebCore::writeCallback):
1241
1242 2007-12-08  Oliver Hunt  <oliver@apple.com>
1243
1244         Reviewed by Sam W.
1245
1246         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
1247         
1248         Fixes <rdar://problem/5620249> Must disable SVG animation
1249         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
1250         
1251         In order to allow finer grained control over the set of SVG features
1252         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
1253         distinct flags:
1254         ENABLE_SVG_ANIMATION
1255         ENABLE_SVG_FILTERS
1256         ENABLE_SVG_FONTS
1257         ENABLE_SVG_AS_IMAGE
1258         ENABLE_SVG_USE
1259         
1260         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
1261
1262         * Configurations/WebCore.xcconfig:
1263         * DerivedSources.make:
1264           Handle the increased number of build flags that may be necessary
1265           
1266         * WebCore.SVG.Animation.exp: Added.
1267         * WebCore.SVG.Filters.exp: Added.
1268         * WebCore.SVG.exp:
1269           We now may not need the animation or filter exports so 
1270           these need to be separate.
1271           
1272         * WebCore.vcproj/WebCore.vcproj:
1273         * WebCore.vcproj/build-generated-files.sh:
1274           Update for new flags
1275           
1276         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
1277         with the appropriate specific feature flag.  
1278         * bindings/js/JSSVGElementWrapperFactory.cpp:
1279         (WebCore::createJSSVGWrapper):
1280         * bindings/objc/DOM.mm:
1281         (WebCore::createElementClassMap):
1282         * dom/make_names.pl:
1283         * loader/CachedImage.cpp:
1284         (WebCore::CachedImage::createImage):
1285         * page/DOMWindow.idl:
1286         * rendering/RenderPath.cpp:
1287         (WebCore::RenderPath::absoluteClippedOverflowRect):
1288         * rendering/RenderSVGContainer.cpp:
1289         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1290         * rendering/RenderSVGImage.cpp:
1291         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
1292         * rendering/RenderSVGRoot.cpp:
1293         (WebCore::RenderSVGRoot::paint):
1294         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
1295         * rendering/RenderSVGText.cpp:
1296         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1297         * rendering/SVGRenderSupport.cpp:
1298         (WebCore::prepareToRenderSVGContent):
1299         (WebCore::finishRenderSVGContent):
1300         * svg/SVGAnimateElement.cpp:
1301         * svg/SVGAnimateElement.h:
1302         * svg/SVGAnimateElement.idl:
1303         * svg/SVGAnimateMotionElement.cpp:
1304         * svg/SVGAnimateMotionElement.h:
1305         * svg/SVGAnimateTransformElement.cpp:
1306         * svg/SVGAnimateTransformElement.h:
1307         * svg/SVGAnimateTransformElement.idl:
1308         * svg/SVGComponentTransferFunctionElement.cpp:
1309         * svg/SVGComponentTransferFunctionElement.h:
1310         * svg/SVGComponentTransferFunctionElement.idl:
1311         * svg/SVGDocumentExtensions.cpp:
1312         (WebCore::SVGDocumentExtensions::startAnimations):
1313         * svg/SVGFEBlendElement.cpp:
1314         * svg/SVGFEBlendElement.h:
1315         * svg/SVGFEBlendElement.idl:
1316         * svg/SVGFEColorMatrixElement.cpp:
1317         * svg/SVGFEColorMatrixElement.h:
1318         * svg/SVGFEColorMatrixElement.idl:
1319         * svg/SVGFEComponentTransferElement.cpp:
1320         * svg/SVGFEComponentTransferElement.h:
1321         * svg/SVGFEComponentTransferElement.idl:
1322         * svg/SVGFECompositeElement.cpp:
1323         * svg/SVGFECompositeElement.h:
1324         * svg/SVGFECompositeElement.idl:
1325         * svg/SVGFEDiffuseLightingElement.cpp:
1326         * svg/SVGFEDiffuseLightingElement.h:
1327         * svg/SVGFEDiffuseLightingElement.idl:
1328         * svg/SVGFEDisplacementMapElement.cpp:
1329         * svg/SVGFEDisplacementMapElement.h:
1330         * svg/SVGFEDisplacementMapElement.idl:
1331         * svg/SVGFEDistantLightElement.cpp:
1332         * svg/SVGFEDistantLightElement.h:
1333         * svg/SVGFEDistantLightElement.idl:
1334         * svg/SVGFEFloodElement.cpp:
1335         * svg/SVGFEFloodElement.h:
1336         * svg/SVGFEFloodElement.idl:
1337         * svg/SVGFEFuncAElement.cpp:
1338         * svg/SVGFEFuncAElement.h:
1339         * svg/SVGFEFuncAElement.idl:
1340         * svg/SVGFEFuncBElement.cpp:
1341         * svg/SVGFEFuncBElement.h:
1342         * svg/SVGFEFuncBElement.idl:
1343         * svg/SVGFEFuncGElement.cpp:
1344         * svg/SVGFEFuncGElement.h:
1345         * svg/SVGFEFuncGElement.idl:
1346         * svg/SVGFEFuncRElement.cpp:
1347         * svg/SVGFEFuncRElement.h:
1348         * svg/SVGFEFuncRElement.idl:
1349         * svg/SVGFEGaussianBlurElement.cpp:
1350         * svg/SVGFEGaussianBlurElement.h:
1351         * svg/SVGFEGaussianBlurElement.idl:
1352         * svg/SVGFEImageElement.cpp:
1353         * svg/SVGFEImageElement.h:
1354         * svg/SVGFEImageElement.idl:
1355         * svg/SVGFELightElement.cpp:
1356         * svg/SVGFELightElement.h:
1357         * svg/SVGFEMergeElement.cpp:
1358         * svg/SVGFEMergeElement.h:
1359         * svg/SVGFEMergeElement.idl:
1360         * svg/SVGFEMergeNodeElement.cpp:
1361         * svg/SVGFEMergeNodeElement.h:
1362         * svg/SVGFEMergeNodeElement.idl:
1363         * svg/SVGFEOffsetElement.cpp:
1364         * svg/SVGFEOffsetElement.h:
1365         * svg/SVGFEOffsetElement.idl:
1366         * svg/SVGFEPointLightElement.cpp:
1367         * svg/SVGFEPointLightElement.h:
1368         * svg/SVGFEPointLightElement.idl:
1369         * svg/SVGFESpecularLightingElement.cpp:
1370         * svg/SVGFESpecularLightingElement.h:
1371         * svg/SVGFESpecularLightingElement.idl:
1372         * svg/SVGFESpotLightElement.cpp:
1373         * svg/SVGFESpotLightElement.h:
1374         * svg/SVGFESpotLightElement.idl:
1375         * svg/SVGFETileElement.cpp:
1376         * svg/SVGFETileElement.h:
1377         * svg/SVGFETileElement.idl:
1378         * svg/SVGFETurbulenceElement.cpp:
1379         * svg/SVGFETurbulenceElement.h:
1380         * svg/SVGFETurbulenceElement.idl:
1381         * svg/SVGFilterElement.cpp:
1382         * svg/SVGFilterElement.h:
1383         * svg/SVGFilterElement.idl:
1384         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1385         * svg/SVGTimer.cpp:
1386         (WebCore::SVGTimer::animationsByElement):
1387         * svg/SVGUseElement.cpp:
1388         (WebCore::SVGUseElement::buildPendingResource):
1389         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1390         * svg/SVGUseElement.h:
1391         * svg/TimeScheduler.cpp:
1392         (WebCore::TimeScheduler::connectIntervalTimer):
1393         (WebCore::TimeScheduler::disconnectIntervalTimer):
1394         * svg/graphics/SVGResourceFilter.cpp:
1395         * svg/graphics/SVGResourceFilter.h:
1396         * svg/graphics/cg/SVGResourceFilterCg.cpp:
1397         * svg/graphics/cg/SVGResourceFilterCg.mm:
1398         * svg/graphics/filters/SVGDistantLightSource.h:
1399         * svg/graphics/filters/SVGFEBlend.cpp:
1400         * svg/graphics/filters/SVGFEBlend.h:
1401         * svg/graphics/filters/SVGFEColorMatrix.cpp:
1402         * svg/graphics/filters/SVGFEColorMatrix.h:
1403         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
1404         * svg/graphics/filters/SVGFEComponentTransfer.h:
1405         * svg/graphics/filters/SVGFEComposite.cpp:
1406         * svg/graphics/filters/SVGFEComposite.h:
1407         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1408         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1409         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1410         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1411         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1412         * svg/graphics/filters/SVGFEDisplacementMap.h:
1413         * svg/graphics/filters/SVGFEFlood.cpp:
1414         * svg/graphics/filters/SVGFEFlood.h:
1415         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1416         * svg/graphics/filters/SVGFEGaussianBlur.h:
1417         * svg/graphics/filters/SVGFEImage.cpp:
1418         * svg/graphics/filters/SVGFEImage.h:
1419         * svg/graphics/filters/SVGFEMerge.cpp:
1420         * svg/graphics/filters/SVGFEMerge.h:
1421         * svg/graphics/filters/SVGFEMorphology.cpp:
1422         * svg/graphics/filters/SVGFEMorphology.h:
1423         * svg/graphics/filters/SVGFEOffset.cpp:
1424         * svg/graphics/filters/SVGFEOffset.h:
1425         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1426         * svg/graphics/filters/SVGFESpecularLighting.h:
1427         * svg/graphics/filters/SVGFETile.h:
1428         * svg/graphics/filters/SVGFETurbulence.cpp:
1429         * svg/graphics/filters/SVGFETurbulence.h:
1430         * svg/graphics/filters/SVGFilterEffect.cpp:
1431         * svg/graphics/filters/SVGFilterEffect.h:
1432         * svg/graphics/filters/SVGLightSource.cpp:
1433         * svg/graphics/filters/SVGLightSource.h:
1434         * svg/graphics/filters/SVGPointLightSource.h:
1435         * svg/graphics/filters/SVGSpotLightSource.h:
1436         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
1437         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
1438         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
1439         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
1440         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1441         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1442         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1443         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
1444         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1445         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1446         * svg/graphics/filters/cg/SVGFEImageCg.mm:
1447         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
1448         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
1449         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1450         * svg/graphics/filters/cg/SVGFETileCg.mm:
1451         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
1452         * svg/graphics/filters/cg/WKArithmeticFilter.h:
1453         * svg/graphics/filters/cg/WKArithmeticFilter.m:
1454         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
1455         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
1456         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
1457         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
1458         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
1459         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
1460         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
1461         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
1462         * svg/graphics/filters/cg/WKDistantLightFilter.h:
1463         * svg/graphics/filters/cg/WKDistantLightFilter.m:
1464         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
1465         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
1466         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
1467         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
1468         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
1469         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
1470         * svg/graphics/filters/cg/WKNormalMapFilter.h:
1471         * svg/graphics/filters/cg/WKNormalMapFilter.m:
1472         * svg/graphics/filters/cg/WKPointLightFilter.h:
1473         * svg/graphics/filters/cg/WKPointLightFilter.m:
1474         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
1475         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
1476         * svg/graphics/filters/cg/WKSpotLightFilter.h:
1477         * svg/graphics/filters/cg/WKSpotLightFilter.m:
1478         * svg/graphics/filters/cg/WKTableTransferFilter.h:
1479         * svg/graphics/filters/cg/WKTableTransferFilter.m:
1480         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
1481         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
1482         * svg/svgtags.in:
1483
1484 2007-12-08  Dan Bernstein  <mitz@apple.com>
1485
1486         Reviewed by Adele Peterson.
1487
1488         - fix two bugs in parsing of stylesheets in <style> elements created by
1489           the parser:
1490           1. each such stylesheet is parsed twice, once when the text node is
1491              added and again when the </style> tag is reached
1492           2. re-inserting such a <style> element into the document fails to
1493              re-parse and apply its stylesheet.
1494
1495         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
1496
1497         * html/HTMLStyleElement.cpp:
1498         (WebCore::HTMLStyleElement::finishedParsing):
1499         * svg/SVGStyleElement.cpp:
1500         (WebCore::SVGStyleElement::finishedParsing):
1501
1502 2007-12-07  Sam Weinig  <sam@webkit.org>
1503
1504         Reviewed by Darin.
1505
1506         - Removes the faulty isSafeScript implementation that was only
1507           used for plugins.
1508         - Renames isSafeScript to allowsAccessFrom.
1509
1510         * bindings/js/JSDOMWindowCustom.cpp:
1511         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1512         (WebCore::JSDOMWindow::customPut):
1513         * bindings/js/kjs_dom.cpp:
1514         (WebCore::checkNodeSecurity):
1515         * bindings/js/kjs_window.cpp:
1516         (KJS::createWindow):
1517         (KJS::Window::getValueProperty):
1518         (KJS::Window::namedItemGetter):
1519         (KJS::Window::getOwnPropertySlot):
1520         (KJS::Window::put):
1521         (KJS::Window::allowsAccessFrom):
1522         (KJS::Window::setListener):
1523         (KJS::Window::getListener):
1524         (KJS::WindowProtoFuncOpen::callAsFunction):
1525         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
1526         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
1527         (KJS::WindowProtoFuncSetInterval::callAsFunction):
1528         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
1529         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
1530         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
1531         (KJS::Location::getOwnPropertySlot):
1532         (KJS::Location::put):
1533         (KJS::LocationProtoFuncReplace::callAsFunction):
1534         (KJS::LocationProtoFuncReload::callAsFunction):
1535         (KJS::LocationProtoFuncAssign::callAsFunction):
1536         (KJS::LocationProtoFuncToString::callAsFunction):
1537         * bindings/js/kjs_window.h:
1538         (KJS::Window::allowsAccessFrom):
1539         * bindings/objc/WebScriptObject.mm:
1540         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
1541         the new call.
1542         * bindings/scripts/CodeGeneratorJS.pm:
1543
1544 2007-12-08  Rob Buis  <buis@kde.org>
1545
1546         Reviewed by Darin.
1547
1548         http://bugs.webkit.org/show_bug.cgi?id=15464
1549         SVGLengthList allows bad values
1550
1551         Be more strict with svg lengths without a unit identifier.
1552
1553         Test: svg/custom/invalid-lengthlist.svg
1554
1555         * svg/SVGLength.cpp:
1556         (WebCore::SVGLength::setValueAsString):
1557
1558 2007-12-08  Rob Buis  <buis@kde.org>
1559
1560         Mac Tiger build fix.
1561
1562         Use the wtf prefix when including MathExtras.h.
1563
1564         * rendering/RenderMedia.cpp:
1565
1566 2007-12-08  Alp Toker  <alp@atoker.com>
1567
1568         GTK+ build fix (for ENABLE_VIDEO builds):
1569
1570         Include MathExtras.h to get isfinite().
1571
1572         * rendering/RenderMedia.cpp:
1573
1574 2007-12-08  Rob Buis  <buis@kde.org>
1575
1576         Reviewed by Darin.
1577
1578         http://bugs.webkit.org/show_bug.cgi?id=15528
1579         svg_dynamic_cast should be removed
1580
1581         Replace svg_dynamic_cast with a combination of
1582         isSVGElement and static_cast.
1583
1584         * rendering/SVGRootInlineBox.cpp:
1585         (WebCore::SVGRootInlineBox::buildLayoutInformation):
1586         (WebCore::SVGRootInlineBox::buildTextChunks):
1587         * svg/SVGAnimationElement.cpp:
1588         (WebCore::SVGAnimationElement::targetElement):
1589         * svg/SVGElement.h:
1590         * svg/SVGElementInstance.cpp:
1591         (WebCore::SVGElementInstance::updateInstance):
1592         * svg/SVGFilterElement.cpp:
1593         (WebCore::SVGFilterElement::canvasResource):
1594         * svg/SVGGradientElement.cpp:
1595         (WebCore::SVGGradientElement::buildStops):
1596         * svg/SVGLocatable.cpp:
1597         (WebCore::SVGLocatable::getTransformToElement):
1598         * svg/SVGMaskElement.cpp:
1599         (WebCore::SVGMaskElement::drawMaskerContent):
1600         * svg/SVGSwitchElement.cpp:
1601         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
1602         * svg/SVGUseElement.cpp:
1603         (WebCore::SVGUseElement::insertedIntoDocument):
1604         (WebCore::SVGUseElement::buildPendingResource):
1605         (WebCore::SVGUseElement::buildInstanceTree):
1606         (WebCore::SVGUseElement::handleDeepUseReferencing):
1607         (WebCore::SVGUseElement::buildShadowTree):
1608         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1609         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1610         * svg/graphics/SVGResource.cpp:
1611         (WebCore::getResourceById):
1612
1613 2007-12-07  Antti Koivisto  <antti@apple.com>
1614
1615         Reviewed by Adele.
1616         
1617         Partial fix for <rdar://problem/5633400>
1618         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
1619         
1620         Fix video painting when transform is applied.
1621
1622         Test: media/video-transformed.html
1623
1624         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1625         (WebCore::MediaPlayerPrivate::paint):
1626
1627 2007-12-07  Dan Bernstein  <mitz@apple.com>
1628
1629         Reviewed by Sam Weinig.
1630
1631         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
1632           @font-face does not affect the default style
1633
1634         Test: fast/css/font-face-default-font.html
1635
1636         * dom/Document.cpp:
1637         (WebCore::Document::recalcStyle): Pass our font selector to
1638         Font::update() if we already have one.
1639
1640 2007-12-07  Darin Adler  <darin@apple.com>
1641
1642         - fix Windows build
1643
1644         * bridge/win/GlobalHistoryWin.cpp:
1645         (WebCore::historyContains): Missed a rename.
1646
1647 2007-12-07  Brady Eidson  <beidson@apple.com>
1648
1649         Reviewed by Anders and Darin
1650
1651         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
1652         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
1653         in the DatabaseTracker, which was already done)
1654
1655         * storage/SQLTransaction.cpp:
1656         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
1657           the SQLiteDatabase to the new maximum size
1658
1659 2007-12-07  Darin Adler  <darin@apple.com>
1660
1661         - fix Tiger build
1662
1663         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
1664         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
1665
1666 2007-12-07  Darin Adler  <darin@apple.com>
1667
1668         - fix 64-bit build, hopefully without breaking Tiger build
1669
1670         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1671         (WebCore::MediaPlayerPrivate::updateStates):
1672         Don't use Movies.h constants that are nonexistent in 64-bit.
1673         Define the new QTMovie.h constants, though, when using an older QTKit.
1674
1675 2007-12-07  Brady Eidson  <beidson@apple.com>
1676
1677         Reviewed by Anders
1678
1679         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
1680
1681         * storage/DatabaseTracker.cpp:
1682         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
1683         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
1684         * storage/DatabaseTracker.h:
1685
1686 2007-12-07  Darin Adler  <darin@apple.com>
1687
1688         Reviewed by Mitz.
1689
1690         - http://bugs.webkit.org/show_bug.cgi?id=15981
1691           speed up visited-link code a bit
1692
1693         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
1694         instead of requiring a DeprecatedString.
1695
1696         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
1697         Also removes pointless "fast Latin-1" case that was never used.
1698         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
1699         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
1700         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
1701
1702         * css/CSSStyleSelector.cpp:
1703         (WebCore::findHash): Added. Helper for cleanpath.
1704         (WebCore::findSlashDotDotSlash): Ditto.
1705         (WebCore::findSlashSlash): Ditto.
1706         (WebCore::findSlashDotSlash): Ditto.
1707         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
1708         DeprecatedString find function.
1709         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
1710         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
1711         instead of an AtomicString for the attribute value. Changed to use fast helper function
1712         instead of slower DeprecatedString::contains function, and also made the fast case not
1713         bother allocating a DeprecatedConstString.
1714
1715         - unrelated tiny cleanup
1716
1717         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1718         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
1719         (WebCore::cgGradientCallback): Ditto.
1720
1721 2007-12-07  Darin Adler  <darin@apple.com>
1722
1723         Fix build on Tiger (Mark Rowe told me how).
1724
1725         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1726         Include <objc/objc-runtime.h>, which existed back on Tiger,
1727         rather than <objc/runtime.h>, which did not.
1728
1729 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1730
1731         Build fix: rolling out last build fix to change #include path.
1732
1733         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1734
1735 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1736
1737         Re-named our B&I flag from BUILDBOT to PRODUCTION.
1738
1739         Reviewed by Sam Weinig.
1740
1741         * WebCore.vcproj/WebCore.make:
1742
1743 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1744
1745         Build fix: corrected #include path.
1746
1747         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1748
1749 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1750
1751         Reviewed by Sam Weinig.
1752
1753         Added some namespace qualifications and a forwarding header, now that
1754         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
1755
1756         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
1757         * bindings/js/JSXSLTProcessor.cpp:
1758         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
1759         * bindings/js/kjs_binding.cpp:
1760         (KJS::ScriptInterpreter::getDOMNodeForDocument):
1761         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
1762         (KJS::ScriptInterpreter::putDOMNodeForDocument):
1763         (KJS::ScriptInterpreter::markDOMNodesForDocument):
1764         (KJS::ScriptInterpreter::updateDOMNodeDocument):
1765
1766 2007-12-07  Adam Roben  <aroben@apple.com>
1767
1768         Add SoftLinking.h for Windows and use it in a few places
1769
1770         Reviewed by Oliver.
1771
1772         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
1773         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
1774         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
1775         soft-linking calls.
1776         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
1777         the SafariTheme library now that we can't check for the presence of
1778         paintThemePart directly.
1779         (WebCore::PlatformScrollbar::paintTrack): Ditto.
1780         (WebCore::PlatformScrollbar::paintThumb): Ditto.
1781         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
1782         * rendering/RenderThemeSafari.cpp: Same basic changes as to
1783         PlatformScrollBarSafari.cpp.
1784         (WebCore::RenderThemeSafari::RenderThemeSafari):
1785         (WebCore::RenderThemeSafari::isControlStyled):
1786         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1787         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
1788
1789 2007-12-07  Darin Adler  <darin@apple.com>
1790
1791         Reviewed by Adele.
1792
1793         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
1794           at WebCore::HTMLSelectElement::saveState const + 152
1795
1796         Test: fast/forms/select-set-inner.html
1797
1798         * dom/ContainerNode.cpp:
1799         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
1800         calls that change children, so we can optimize for the case where it does nothing.
1801         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
1802         * dom/ContainerNode.h: See above.
1803
1804         * html/HTMLOptGroupElement.cpp:
1805         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
1806         recalcSelectOptions in that case.
1807         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
1808         addChild, for consistency with HTMLSelectElement; no need to override both.
1809         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
1810         * html/HTMLOptGroupElement.h: See above.
1811
1812         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
1813         override childrenChanged, and addChild calls that.
1814         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
1815         recalcSelectOptions in that case.
1816         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
1817         by using a for loop and traverseNextSibling. Also added some new comments and
1818         removed some obsolete ones.
1819         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
1820         sure we don't have a stale list items vector.
1821         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
1822         This will help us catch cases where we have too few calls to setRecalcListItems.
1823
1824 2007-12-07  Dan Bernstein  <mitz@apple.com>
1825
1826         Reviewed by Darin Adler.
1827
1828         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
1829
1830         Test: fast/repaint/focus-ring.html
1831
1832         * editing/SelectionController.cpp:
1833         (WebCore::SelectionController::caretRepaintRect): Changed to return just
1834         the caret rect without any padding.
1835         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
1836         just the caret rect without any padding.
1837         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
1838         clearFocusRingClip().
1839         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
1840         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
1841         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
1842         m_focusRingClip member.
1843         * platform/graphics/mac/GraphicsContextMac.mm:
1844         (WebCore::GraphicsContext::drawFocusRing): Changed to call
1845         wkDrawFocusRing() once without setting up additional clip. On Leopard,
1846         wkDrawFocusRing() respects the context clip now. On Tiger, a
1847         transparency layer is used to apply clipping to the focus ring.
1848         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
1849         methods and member.
1850         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
1851         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
1852         to wkDrawFocusRing().
1853         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1854         * rendering/RenderLayer.cpp:
1855         (WebCore::setClip): Removed call to set the focus ring clip.
1856         (WebCore::restoreClip): Removed call to reset the focus ring clip.
1857
1858 2007-12-07  Darin Adler  <darin@apple.com>
1859
1860         Reviewed by Antti Koivisto and Kevin Decker.
1861
1862         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
1863
1864         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
1865
1866         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
1867
1868         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
1869         Made a lot more functions const. Made a few more members private and a couple inline.
1870         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
1871         things we currently use in QTKit. It's a little more awkward for classes and other data objects
1872         than it is for functions, but still relatively straightforward, with no changes needed to the
1873         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
1874         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
1875         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
1876         members to nil.
1877         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
1878         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
1879         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
1880         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
1881         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
1882         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
1883         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
1884         points set to avoid a potential problem with a set being modified as we iterate it.
1885         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
1886         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
1887         values, used the constants from the headers directly.
1888         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
1889         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
1890         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
1891         no better). Used RetainPtr instead of explicit CFRelease calls.
1892
1893         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
1894         It's not quite as automatic as the soft linking we can do for functions, since these define
1895         functions to get the values, so you need to define macros to make what look like variable
1896         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
1897
1898         * html/HTMLMediaElement.h:
1899         * html/TimeRanges.h:
1900         * html/VoidCallback.h:
1901         * platform/graphics/MediaPlayer.h:
1902         Use angle brackets for wtf includes. Omit unneeded includes.
1903
1904 2007-12-07  Dan Bernstein  <mitz@apple.com>
1905
1906         Reviewed by Darin Adler.
1907
1908         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
1909           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
1910
1911         Test: fast/dynamic/subtree-no-common-root-static-y.html
1912
1913         * rendering/RenderObject.cpp:
1914         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
1915         to setChildNeedsLayout() to not mark containing blocks and added a
1916         separate call to markContainingBlocksForLayout() that will not schedule
1917         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
1918
1919 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
1920
1921         Reviewed by Darin.
1922
1923         http://bugs.webkit.org/show_bug.cgi?id=16325
1924         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
1925         
1926         Test: http/tests/misc/empty-cookie.html
1927
1928         * platform/mac/CookieJar.mm:
1929         (WebCore::setCookies): Don't store empty cookies.
1930         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
1931         with an earlier version of Leopard!
1932
1933 2007-12-06  Ada Chan  <adachan@apple.com>
1934
1935         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
1936         returning true when there's an error).
1937
1938         Reviewed by Steve.
1939
1940         * platform/win/FileSystemWin.cpp:
1941         (WebCore::makeAllDirectories):
1942
1943 2007-12-06  Darin Adler  <darin@apple.com>
1944
1945         - fix broken regression test
1946
1947         * bindings/js/kjs_binding.cpp:
1948         (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
1949
1950 2007-12-06  Darin Adler  <darin@apple.com>
1951
1952         Reviewed by Sam Weinig.
1953
1954         - fix http://bugs.webkit.org/show_bug.cgi?id=16332
1955           ObjC DOM exception object descriptions should include the exception name
1956
1957         * WebCore.pro: Added ExceptionCode.cpp.
1958         * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
1959         * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
1960         * WebCoreSources.bkl: Added ExceptionCode.cpp.
1961
1962         * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
1963         ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
1964         the many unneeded includes that were here. Had to keep one special case here, for
1965         SECURITY_ERR.
1966
1967         * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
1968         new getExceptionCodeDescription function so that this shares the exception name
1969         information that was previously only available to JavaScript.
1970
1971         * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
1972         (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
1973         handle exception names in a slightly more robust way that is not subject to integer
1974         overflow. (Not a real world issue since we should never receive a bad exception code.)
1975
1976         * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
1977         getExceptionCodeDescription function.
1978
1979         * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
1980         the comments were mildly helpful, but others were incorrect. This now matches the other
1981         exception-related headers such as RangeException.h.
1982
1983 2007-12-06  Brady Eidson  <beidson@apple.com>
1984
1985         Reviewed by Darin
1986
1987         Fixed a glaring bug that would prevent a statement from getting run a second time
1988
1989         * storage/SQLStatement.cpp:
1990         (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
1991           and return early
1992         (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
1993
1994 2007-12-06  Timothy Hatcher  <timothy@apple.com>
1995
1996         Reviewed by Oliver Hunt.
1997
1998         Use keydown instead of keypress so keyIdentifier can be used.
1999
2000         * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
2001         * page/inspector/DatabasePanel.js: Ditto.
2002         * page/inspector/inspector.js: Ditto. Plus call removeEventListener
2003         before deleting windowLoaded.
2004
2005 2007-12-06  Adam Roben  <aroben@apple.com>
2006
2007         Rename FontsTable.plist to FontsList.plist
2008
2009         Rubberstamped by Hyatt.
2010
2011         * platform/graphics/win/FontDatabase.cpp:
2012
2013 2007-12-06  Brady Eidson  <beidson@apple.com>
2014
2015         Reviewed by Darin
2016
2017         Tweaked a comment and a few assertions from my last checkin
2018
2019         * storage/SQLStatement.cpp:
2020         (WebCore::SQLStatement::execute):
2021         (WebCore::SQLStatement::clearFailureDueToQuota):
2022         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2023
2024 2007-12-06  Brady Eidson <beidson@apple.com>
2025
2026         Reviewed by Darin
2027
2028         Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
2029         will ask the UI Delegate for more space when that quota is met
2030
2031         * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
2032         * platform/sql/SQLiteDatabase.h: Ditto
2033
2034         * storage/Database.cpp:
2035         (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
2036         (WebCore::Database::stringIdentifier): Ditto
2037         * storage/Database.h:
2038
2039         * storage/SQLStatement.cpp:
2040         (WebCore::SQLStatement::SQLStatement):
2041         (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
2042           If the result is quota, this statement expects that it might be run again, presumably after the user increases 
2043           the quota
2044         (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
2045         (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
2046         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2047         * storage/SQLStatement.h:
2048
2049         * storage/SQLTransaction.cpp:
2050         (WebCore::SQLTransaction::SQLTransaction):
2051         (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
2052         (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
2053           transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
2054         (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
2055           decision and whether the current statement was already run
2056         (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
2057         (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
2058           that handles a statement error was moved here
2059         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
2060           reschedule the current statement on the database thread
2061         * storage/SQLTransaction.h:
2062
2063 2007-12-06  Steve Falkenburg  <sfalken@apple.com>
2064
2065         <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
2066         
2067         Don't use callback-based timers, since these cause Windows to eat Windows crashes
2068         in code the timers call.
2069         
2070         Windows appears to be defending against "shatter" attacks partially by setting
2071         up a structured exception block while dispatching callback-based WM_TIMERs.
2072         
2073         I verified this by adding a divide by zero into some timer callback code.
2074         In the case where the timer was dispatched via a callback, the divide by zero
2075         exception was silently handled and ignored, with execution continuing after
2076         our call to DispatchMessage.  When processed via the WNDPROC, no SEH
2077         block was established by Windows, and our divide by zero generated a real
2078         crash (which is what we wanted).
2079         
2080         Windows handling our crashes for us led us to leave the timer data structures
2081         in an invalid state so the next time a timer was set, we'd crash accessing an
2082         invalid HashMap of timer data.
2083         
2084         Reviewed by Hyatt.
2085
2086         * platform/win/SharedTimerWin.cpp:
2087         (WebCore::TimerWindowWndProc):
2088         (WebCore::setSharedTimerFireTime):
2089
2090 2007-12-06  Adam Roben  <aroben@apple.com>
2091
2092         Fix <rdar://5108390> Feed title is too low in blue banner
2093
2094         Way back in r23069 we started applying the same font ascent hack that
2095         Mac WebKit applies to Helvetica, Times, and Courier. We did this so
2096         that those fonts would match the Mac metrics when we run the
2097         regression tests. However, this hack was applying to Arial on Windows
2098         when a site would specify the Helvetica font face because Windows will
2099         alias the font names. Instead of removing the hack entirely, we
2100         turn it off by default but provide some SPI so that DumpRenderTree can
2101         turn it on.
2102
2103         Reviewed by Hyatt.
2104
2105         All tests pass.
2106
2107         * platform/graphics/FontData.h: Add a new static method to turn on the
2108         hack on Windows only.
2109         * platform/graphics/win/FontDataWin.cpp:
2110         (WebCore::FontData::setShouldApplyMacAscentHack): Added.
2111         (WebCore::FontData::platformInit): Only perform the hack if
2112         shouldApplyMacAscentHack is true.
2113
2114 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2115
2116         Reviewed by Sam Weinig.
2117
2118         Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
2119         REGRESSION (r28470): Crash expanding a GMail conversation
2120         
2121         * page/Frame.cpp:
2122         (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
2123         we haven't created the proxy yet. If we've created the proxy already, a
2124         script may be in the midst of execution, even though we've lost our
2125         settings object. During execution, scripts assume they have free access
2126         to the proxy.
2127
2128 2007-12-06  Adele Peterson  <adele@apple.com>
2129
2130         Reviewed by Oliver.
2131
2132         Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
2133
2134         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
2135         * html/HTMLMediaElement.h:
2136
2137 2007-12-05  Antti Koivisto  <antti@apple.com>
2138
2139         Reviewed by Oliver.
2140
2141         Rename
2142
2143         Movie -> MediaPlayer
2144         MoviePrivate -> MediaPlayerPrivate
2145         
2146         Movie is QuickTime terminology and clashes with its C API.
2147
2148         * WebCore.xcodeproj/project.pbxproj:
2149         * html/HTMLMediaElement.cpp:
2150         (WebCore::HTMLMediaElement::HTMLMediaElement):
2151         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2152         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
2153         (WebCore::HTMLMediaElement::bufferingRate):
2154         (WebCore::HTMLMediaElement::load):
2155         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2156         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
2157         (WebCore::HTMLMediaElement::setReadyState):
2158         (WebCore::HTMLMediaElement::progressEventTimerFired):
2159         (WebCore::HTMLMediaElement::seek):
2160         (WebCore::HTMLMediaElement::currentTime):
2161         (WebCore::HTMLMediaElement::duration):
2162         (WebCore::HTMLMediaElement::playbackRate):
2163         (WebCore::HTMLMediaElement::setPlaybackRate):
2164         (WebCore::HTMLMediaElement::play):
2165         (WebCore::HTMLMediaElement::pause):
2166         (WebCore::HTMLMediaElement::setVolume):
2167         (WebCore::HTMLMediaElement::setMuted):
2168         (WebCore::HTMLMediaElement::pickMedia):
2169         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2170         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
2171         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2172         (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
2173         (WebCore::HTMLMediaElement::addCuePoint):
2174         (WebCore::HTMLMediaElement::buffered):
2175         (WebCore::HTMLMediaElement::seekable):
2176         (WebCore::HTMLMediaElement::effectiveStart):
2177         (WebCore::HTMLMediaElement::effectiveEnd):
2178         (WebCore::HTMLMediaElement::effectiveLoopStart):
2179         (WebCore::HTMLMediaElement::effectiveLoopEnd):
2180         (WebCore::HTMLMediaElement::updateMediaPlayer):
2181         (WebCore::HTMLMediaElement::willSaveToCache):
2182         * html/HTMLMediaElement.h:
2183         (WebCore::HTMLMediaElement::player):
2184         * html/HTMLVideoElement.cpp:
2185         (WebCore::HTMLVideoElement::videoWidth):
2186         (WebCore::HTMLVideoElement::videoHeight):
2187         * platform/MIMETypeRegistry.cpp:
2188         (WebCore::initialiseSupportedMediaMIMETypes):
2189         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
2190         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
2191         * platform/MIMETypeRegistry.h:
2192         * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
2193         (WebCore::MediaPlayer::MediaPlayer):
2194         (WebCore::MediaPlayer::~MediaPlayer):
2195         (WebCore::MediaPlayer::load):
2196         (WebCore::MediaPlayer::cancelLoad):
2197         (WebCore::MediaPlayer::play):
2198         (WebCore::MediaPlayer::pause):
2199         (WebCore::MediaPlayer::duration):
2200         (WebCore::MediaPlayer::currentTime):
2201         (WebCore::MediaPlayer::seek):
2202         (WebCore::MediaPlayer::paused):
2203         (WebCore::MediaPlayer::seeking):
2204         (WebCore::MediaPlayer::naturalSize):
2205         (WebCore::MediaPlayer::hasVideo):
2206         (WebCore::MediaPlayer::networkState):
2207         (WebCore::MediaPlayer::readyState):
2208         (WebCore::MediaPlayer::volume):
2209         (WebCore::MediaPlayer::setVolume):
2210         (WebCore::MediaPlayer::rate):
2211         (WebCore::MediaPlayer::setRate):
2212         (WebCore::MediaPlayer::muted):
2213         (WebCore::MediaPlayer::setMuted):
2214         (WebCore::MediaPlayer::dataRate):
2215         (WebCore::MediaPlayer::setEndTime):
2216         (WebCore::MediaPlayer::addCuePoint):
2217         (WebCore::MediaPlayer::removeCuePoint):
2218         (WebCore::MediaPlayer::clearCuePoints):
2219         (WebCore::MediaPlayer::maxTimeBuffered):
2220         (WebCore::MediaPlayer::maxTimeSeekable):
2221         (WebCore::MediaPlayer::bytesLoaded):
2222         (WebCore::MediaPlayer::totalBytesKnown):
2223         (WebCore::MediaPlayer::totalBytes):
2224         (WebCore::MediaPlayer::setRect):
2225         (WebCore::MediaPlayer::visible):
2226         (WebCore::MediaPlayer::setVisible):
2227         (WebCore::MediaPlayer::paint):
2228         (WebCore::MediaPlayer::getSupportedTypes):
2229         (WebCore::MediaPlayer::networkStateChanged):
2230         (WebCore::MediaPlayer::readyStateChanged):
2231         (WebCore::MediaPlayer::volumeChanged):
2232         (WebCore::MediaPlayer::timeChanged):
2233         (WebCore::MediaPlayer::cuePointReached):
2234         * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
2235         (WebCore::MediaPlayerClient::~MediaPlayerClient):
2236         (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
2237         (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
2238         (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
2239         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
2240         (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
2241         * platform/graphics/Movie.cpp: Removed.
2242         * platform/graphics/Movie.h: Removed.
2243         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
2244         (WebCore::mediaPlayerPrivateErrorCallback):
2245         (WebCore::mediaPlayerPrivateEOSCallback):
2246         (WebCore::mediaPlayerPrivateStateCallback):
2247         (WebCore::mediaPlayerPrivateBufferingCallback):
2248         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2249         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2250         (WebCore::MediaPlayerPrivate::load):
2251         (WebCore::MediaPlayerPrivate::play):
2252         (WebCore::MediaPlayerPrivate::pause):
2253         (WebCore::MediaPlayerPrivate::duration):
2254         (WebCore::MediaPlayerPrivate::currentTime):
2255         (WebCore::MediaPlayerPrivate::seek):
2256         (WebCore::MediaPlayerPrivate::setEndTime):
2257         (WebCore::MediaPlayerPrivate::addCuePoint):
2258         (WebCore::MediaPlayerPrivate::removeCuePoint):
2259         (WebCore::MediaPlayerPrivate::clearCuePoints):
2260         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2261         (WebCore::MediaPlayerPrivate::cancelSeek):
2262         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2263         (WebCore::MediaPlayerPrivate::paused):
2264         (WebCore::MediaPlayerPrivate::seeking):
2265         (WebCore::MediaPlayerPrivate::naturalSize):
2266         (WebCore::MediaPlayerPrivate::hasVideo):
2267         (WebCore::MediaPlayerPrivate::setVolume):
2268         (WebCore::MediaPlayerPrivate::setMuted):
2269         (WebCore::MediaPlayerPrivate::setRate):
2270         (WebCore::MediaPlayerPrivate::dataRate):
2271         (WebCore::MediaPlayerPrivate::networkState):
2272         (WebCore::MediaPlayerPrivate::readyState):
2273         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2274         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2275         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2276         (WebCore::MediaPlayerPrivate::bytesLoaded):
2277         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2278         (WebCore::MediaPlayerPrivate::totalBytes):
2279         (WebCore::MediaPlayerPrivate::cancelLoad):
2280         (WebCore::MediaPlayerPrivate::updateStates):
2281         (WebCore::MediaPlayerPrivate::loadStateChanged):
2282         (WebCore::MediaPlayerPrivate::rateChanged):
2283         (WebCore::MediaPlayerPrivate::sizeChanged):
2284         (WebCore::MediaPlayerPrivate::timeChanged):
2285         (WebCore::MediaPlayerPrivate::volumeChanged):
2286         (WebCore::MediaPlayerPrivate::didEnd):
2287         (WebCore::MediaPlayerPrivate::loadingFailed):
2288         (WebCore::MediaPlayerPrivate::setRect):
2289         (WebCore::MediaPlayerPrivate::setVisible):
2290         (WebCore::MediaPlayerPrivate::paint):
2291         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2292         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
2293         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
2294         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
2295         * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
2296         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
2297         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
2298         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2299         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2300         (WebCore::MediaPlayerPrivate::createQTMovie):
2301         (WebCore::MediaPlayerPrivate::createQTMovieView):
2302         (WebCore::MediaPlayerPrivate::createQTTime):
2303         (WebCore::MediaPlayerPrivate::load):
2304         (WebCore::MediaPlayerPrivate::play):
2305         (WebCore::MediaPlayerPrivate::pause):
2306         (WebCore::MediaPlayerPrivate::duration):
2307         (WebCore::MediaPlayerPrivate::currentTime):
2308         (WebCore::MediaPlayerPrivate::seek):
2309         (WebCore::MediaPlayerPrivate::doSeek):
2310         (WebCore::MediaPlayerPrivate::cancelSeek):
2311         (WebCore::MediaPlayerPrivate::seekTimerFired):
2312         (WebCore::MediaPlayerPrivate::setEndTime):
2313         (WebCore::MediaPlayerPrivate::addCuePoint):
2314         (WebCore::MediaPlayerPrivate::removeCuePoint):
2315         (WebCore::MediaPlayerPrivate::clearCuePoints):
2316         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2317         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2318         (WebCore::MediaPlayerPrivate::paused):
2319         (WebCore::MediaPlayerPrivate::seeking):
2320         (WebCore::MediaPlayerPrivate::naturalSize):
2321         (WebCore::MediaPlayerPrivate::hasVideo):
2322         (WebCore::MediaPlayerPrivate::setVolume):
2323         (WebCore::MediaPlayerPrivate::setMuted):
2324         (WebCore::MediaPlayerPrivate::setRate):
2325         (WebCore::MediaPlayerPrivate::dataRate):
2326         (WebCore::MediaPlayerPrivate::networkState):
2327         (WebCore::MediaPlayerPrivate::readyState):
2328         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2329         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2330         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2331         (WebCore::MediaPlayerPrivate::bytesLoaded):
2332         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2333         (WebCore::MediaPlayerPrivate::totalBytes):
2334         (WebCore::MediaPlayerPrivate::cancelLoad):
2335         (WebCore::MediaPlayerPrivate::updateStates):
2336         (WebCore::MediaPlayerPrivate::loadStateChanged):
2337         (WebCore::MediaPlayerPrivate::rateChanged):
2338         (WebCore::MediaPlayerPrivate::sizeChanged):
2339         (WebCore::MediaPlayerPrivate::timeChanged):
2340         (WebCore::MediaPlayerPrivate::volumeChanged):
2341         (WebCore::MediaPlayerPrivate::didEnd):
2342         (WebCore::MediaPlayerPrivate::setRect):
2343         (WebCore::MediaPlayerPrivate::setVisible):
2344         (WebCore::MediaPlayerPrivate::paint):
2345         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2346         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
2347         * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
2348         * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
2349         * rendering/RenderMedia.cpp:
2350         (WebCore::RenderMedia::player):
2351         * rendering/RenderMedia.h:
2352         * rendering/RenderVideo.cpp:
2353         (WebCore::RenderVideo::RenderVideo):
2354         (WebCore::RenderVideo::~RenderVideo):
2355         (WebCore::RenderVideo::videoSizeChanged):
2356         (WebCore::RenderVideo::paintReplaced):
2357         (WebCore::RenderVideo::layout):
2358         (WebCore::RenderVideo::updateFromElement):
2359         (WebCore::RenderVideo::updatePlayer):
2360         * rendering/RenderVideo.h:
2361
2362 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2363
2364         Build fix: access global object directly.
2365
2366         * plugins/win/PluginViewWin.cpp:
2367         (WebCore::PluginViewWin::bindingInstance):
2368
2369 2007-12-06  Mark Rowe  <mrowe@apple.com>
2370
2371         Reviewed by Eric.
2372
2373         Fix bug spotted by GCC 4.2.
2374
2375         * bindings/js/kjs_window.cpp:
2376         (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
2377
2378 2007-12-06  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2379
2380         Reviewed by Alp Toker.
2381
2382         http://bugs.webkit.org/show_bug.cgi?id=16173
2383         Licensing change
2384
2385         Change license from BSD to LGPL.
2386
2387         * platform/gtk/FileSystemGtk.cpp:
2388
2389 2007-12-05  Rob Buis  <buis@kde.org>
2390
2391         Reviewed by Mitz.
2392
2393         http://bugs.webkit.org/show_bug.cgi?id=15289
2394         WebKit does not respect clip paths of a 0x0 rect
2395
2396         Make empty clip paths clip the whole referencing graphic.
2397
2398         * svg/SVGClipPathElement.cpp:
2399         (WebCore::SVGClipPathElement::canvasResource):
2400         * svg/graphics/SVGResourceClipper.h:
2401         (WebCore::ClipDataList::isEmpty):
2402
2403 2007-12-05  Darin Adler  <darin@apple.com>
2404
2405         Reviewed by Maciej.
2406
2407         - fix http://bugs.webkit.org/show_bug.cgi?id=16266
2408           <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
2409           Interpreter::createObjectsForGlobalObjectProperties()
2410
2411         I don't know how to reproduce this in a test.
2412
2413         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
2414         Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
2415         right now, but it's best to call your base class, not your base's base.
2416
2417         * bindings/js/kjs_events.h: Removed unneeded virtual from the
2418         JSUnprotectedEventListener::mark() function; it neither derives from or is
2419         derived from anyone else with a mark() function so there's no need for virtual.
2420
2421         * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
2422         not JSObject::mark. This is the actual bug fix.
2423
2424 2007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
2425
2426         http://bugs.webkit.org/show_bug.cgi?id=16145
2427         [gtk] Implement media support in GTK backend
2428
2429         Reviewed by Alp Toker.
2430
2431         Remove old comments, fix variable names, match WebKit coding style.
2432
2433         * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
2434         (WebCore::moviePrivateEOSCallback):
2435         (WebCore::MoviePrivate::MoviePrivate):
2436         (WebCore::MoviePrivate::load):
2437         (WebCore::MoviePrivate::play):
2438         (WebCore::MoviePrivate::pause):
2439         (WebCore::MoviePrivate::currentTime):
2440         (WebCore::MoviePrivate::seek):
2441         (WebCore::MoviePrivate::cancelSeek):
2442         (WebCore::MoviePrivate::seeking):
2443         (WebCore::MoviePrivate::naturalSize):
2444         (WebCore::MoviePrivate::setVolume):
2445         (WebCore::MoviePrivate::setMuted):
2446         (WebCore::MoviePrivate::maxTimeBuffered):
2447         (WebCore::MoviePrivate::bytesLoaded):
2448         (WebCore::MoviePrivate::totalBytesKnown):
2449         (WebCore::MoviePrivate::totalBytes):
2450         (WebCore::MoviePrivate::updateStates):
2451         (WebCore::MoviePrivate::didEnd):
2452         (WebCore::MoviePrivate::paint):
2453         (WebCore::MoviePrivate::createGSTPlayBin):
2454         * platform/graphics/gtk/MoviePrivateGStreamer.h:
2455
2456 2007-12-05  Mark Rowe  <mrowe@apple.com>
2457
2458         Speculative wx build fix.  Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
2459
2460         * platform/wx/TemporaryLinkStubs.cpp:
2461
2462 2007-12-05  Alp Toker  <alp@atoker.com>
2463
2464         Rubber stamped by Mark Rowe.
2465
2466         Remove DEPENDPATH on the generated sources directory. This causes
2467         trouble and is no longer necessary following the glib-genmarshal
2468         generator split.
2469
2470         * WebCore.pro:
2471
2472 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2473
2474         Reviewed by Darin Adler.
2475
2476         Third step in refactoring JSGlobalObject: Moved data members and data
2477         member access from Interpreter to JSGlobalObject. Changed Interpreter
2478         member functions to static functions. Same for the subclass, 
2479         ScriptInterpreter.
2480         
2481         This is a big change, but it's mostly code motion and renaming.
2482         
2483 2007-12-05  Darin Adler  <darin@apple.com>
2484
2485         "Reviewed" by Geoff.
2486
2487         * loader/FrameLoader.cpp:
2488         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
2489         (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
2490         The assertions are firing like crazy. Not sure why yet.
2491
2492 2007-12-05  Darin Adler  <darin@apple.com>
2493
2494         Reviewed by Adam Roben.
2495
2496         - fix http://bugs.webkit.org/show_bug.cgi?id=16306
2497           Assertion failed in WebCore/loader/FrameLoader.cpp:4642
2498
2499         * loader/FrameLoader.cpp:
2500         (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
2501         and don't deliver the client call in that case.
2502
2503 2007-12-05  Mark Rowe  <mrowe@apple.com>
2504
2505         Reviewed by Kevin Decker.
2506
2507         Fix 64-bit debug build.
2508
2509         * platform/text/mac/TextCodecMac.cpp:
2510         (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
2511         so we need to cast it to be able to use a single format specifier on both.
2512
2513 2007-12-05  Kevin Decker  <kdecker@apple.com>
2514
2515         Reviewed by Hyatt.
2516
2517         <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
2518        
2519         * loader/FrameLoader.cpp:
2520         (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
2521         takeover TIFF once again.
2522         
2523 2007-12-05  Luca Bruno  <lethalman88@gmail.com>
2524
2525         Reviewed by Alp Toker.
2526
2527         http://bugs.webkit.org/show_bug.cgi?id=16290
2528         [GTK] Pasting clipboard in rich text.
2529
2530         * platform/gtk/PasteboardGtk.cpp:
2531         (Pasteboard::documentFragment): Implement rich text paste support.
2532
2533 2007-12-05  Adele Peterson  <adele@apple.com>
2534
2535         Reviewed by Hyatt.
2536
2537         Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2538
2539         We need to just fix the underlying focus ring repaint problem.
2540
2541         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2542
2543 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
2544
2545         Reviewed by Darin.
2546
2547         - <rdar://5621435>
2548         - Security Fix. Instead of having it off by default, WebKit now must
2549         explicitly turn off local-resource restriction when needed for backwards
2550         compatibility reasons.
2551
2552         * loader/FrameLoader.cpp:
2553
2554 2007-12-05  Adam Roben  <aroben@apple.com>
2555
2556         Set the menu item identifier for all menu items
2557
2558         This allows WebKit clients to distinguish between submenus in the
2559         context menu.
2560
2561         Reviewed by Darin.
2562
2563         No test possible.
2564
2565         * platform/win/ContextMenuItemWin.cpp:
2566         (WebCore::ContextMenuItem::ContextMenuItem):
2567
2568 2007-12-05  Dan Bernstein  <mitz@apple.com>
2569
2570         Reviewed by Darin Adler.
2571
2572         - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
2573
2574         * manual-tests/nested-plug-ins.html: Added.
2575         * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
2576         * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
2577         * platform/ScrollView.h:
2578         * platform/Widget.h:
2579         (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
2580         via visible ScrollViews to the root ScrollView of the WebView.
2581         (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
2582         connected via visible ScrollViews to the root ScrollView of the WebView.
2583         * platform/win/ScrollViewWin.cpp:
2584         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
2585         m_visible and m_attachedToWindow members.
2586         (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
2587         view is visible.
2588         (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
2589         view is visible (otherwise they would be detached already).
2590         (WebCore::ScrollView::show): Added. Attaches all children if this view
2591         is attached.
2592         (WebCore::ScrollView::hide): Added. Detaches all children if this view
2593         is attached (otherwise they would be detached already).
2594         (WebCore::ScrollView::isAttachedToWindow): Added.
2595         * platform/win/WidgetWin.cpp:
2596         (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
2597         depending on whether the parent is set and attached or not.
2598         * plugins/win/PluginViewWin.cpp:
2599         (WebCore::PluginViewWin::setFocus):
2600         (WebCore::PluginViewWin::show): Changed to show the plug-in only if
2601         this view is attached.
2602         (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
2603         view is attached (otherwise it would be hidden already).
2604         (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
2605         is visible.
2606         (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
2607         is visible (otherwise it would be hidden already).
2608         (WebCore::PluginViewWin::PluginViewWin):
2609         * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
2610
2611 2007-12-04  Alp Toker  <alp@atoker.com>
2612
2613         Potential GTK+ build fix for the glib-genmarshal issue.
2614
2615         Split the glib-genmarshal qmake generator in two; one for the source
2616         file, another for the header.
2617
2618         * WebCore.pro:
2619
2620 2007-12-04  Alp Toker  <alp@atoker.com>
2621
2622         GTK+ build fix.
2623
2624         * platform/PlugInInfoStore.h:
2625
2626 2007-12-04  Kevin Decker  <kdecker@apple.com>
2627
2628         Reviewed by Anders.
2629
2630         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
2631
2632         * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
2633         * platform/PlugInInfoStore.h:
2634         * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
2635         (PlugInInfoStore::pluginNameForMIMEType):
2636         * platform/mac/PlugInInfoStoreMac.mm:
2637         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
2638         * platform/qt/PlugInInfoStoreQt.cpp: 
2639         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
2640         * plugins/win/PlugInInfoStoreWin.cpp: 
2641         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
2642
2643 2007-12-04  Adele Peterson  <adele@apple.com>
2644
2645         Reviewed by Darin.
2646
2647         Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2648
2649         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2650         Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
2651
2652 2007-12-04  Anders Carlsson  <andersca@apple.com>
2653
2654         Reviewed by Jon.
2655
2656         Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
2657         result streams, even if the JavaScript expression threw an exception or returned undefined.
2658         This matches what Firefox does.
2659         
2660         * plugins/win/PluginStreamWin.cpp:
2661         (WebCore::PluginStreamWin::sendJavaScriptStream):
2662         Handle the result string being null, and set the correct NPReason if it is.
2663         
2664         * plugins/win/PluginViewWin.cpp:
2665         (WebCore::PluginViewWin::performRequest):
2666         Always send the JavaScript stream, regardless of the result could be converted to a string or not.
2667
2668 2007-12-04  Adele Peterson  <adele@apple.com>
2669
2670         Reviewed by Hyatt.
2671
2672         Fix for <rdar://problem/5622464> controls should show up for audio element
2673
2674         * css/html4.css: Added styles for audio controls.  This will need to be refined, since we may want a different look for audio controls.
2675         * html/HTMLMediaElement.cpp:
2676         (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 
2677         (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
2678         (WebCore::HTMLMediaElement::createRenderer): Added.  Uses RenderMedia.
2679         * html/HTMLMediaElement.h:
2680         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
2681         * rendering/RenderMedia.h:
2682
2683 2007-12-04  Anders Carlsson  <andersca@apple.com>
2684
2685         Reviewed by Sam.
2686
2687         Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
2688         implementation, which always returns true(!).
2689         
2690         * bindings/js/kjs_window.cpp:
2691         (KJS::Window::isSafeScript):
2692         Make the static isSafeScript method take two JSGlobalObjects.
2693         
2694         * bindings/js/kjs_window.h:
2695         (KJS::Window::isSafeScript):
2696         Implement isSafeScript and have it call the static method.
2697
2698 2007-11-27  Adam Roben  <aroben@apple.com>
2699
2700         Make the implementation of Frame::setNeedsReapplyStyles cross-platform
2701
2702         Reviewed by Hyatt.
2703
2704         No change in functionality.
2705
2706         * page/Frame.cpp:
2707         (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
2708         FrameView so that FrameView::layout will be called, which ends up
2709         calling reapplyStyles.
2710         (WebCore::Frame::needsReapplyStyles): Added.
2711         (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
2712         (WebCore::FramePrivate::FramePrivate):
2713         * page/Frame.h:
2714         * page/FramePrivate.h: Added new boolean member.
2715         * page/FrameView.cpp:
2716         (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
2717         (WebCore::FrameView::needsLayout): Say that we need layout if the
2718         Frame needs styles reapplied.
2719         * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
2720         * page/mac/WebCoreFrameBridge.mm:
2721         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
2722         rename.
2723
2724         * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
2725         * page/gtk/FrameGtk.cpp: Ditto.
2726         * page/mac/FrameMac.mm: Ditto.
2727         * page/qt/FrameQt.cpp: Ditto.
2728         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
2729
2730 2007-12-04  Antti Koivisto  <antti@apple.com>
2731
2732         Reviewed by Adele.
2733
2734         Pass intrinsic size to the base class.
2735
2736         * rendering/RenderMedia.cpp:
2737         (WebCore::RenderMedia::RenderMedia):
2738
2739 2007-12-04  Adele Peterson  <adele@apple.com>
2740
2741         Reviewed by Darin.
2742
2743         Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
2744
2745         * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
2746           When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
2747
2748 2007-12-04  Darin Adler  <darin@apple.com>
2749
2750         Reviewed by Kevin Decker.
2751
2752         - added an assertion for a situation that leads to a Safari assertion:
2753           a commit that is not followed by a load completion
2754
2755         - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
2756           class cut down to size
2757
2758         * loader/FrameLoader.cpp:
2759         (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
2760         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
2761         that we already sent a commit before sending a complete.
2762         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
2763         client directly instead of indirecting through a function.
2764         (WebCore::FrameLoader::loadItem): Ditto.
2765         (WebCore::FrameLoader::goToItem): Ditto.
2766         (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
2767         state from Settings instead of FrameLoaderClient. Also call client directly
2768         instead of indirecting through a function.
2769         (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
2770         of indirecting through a function.
2771         (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
2772         that we did not yet send a commit and set the flag that will be used to check
2773         that we don't do this twice in a row without an intervening completion call.
2774
2775         * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
2776         now-unneeded functions.
2777
2778         * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
2779
2780         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
2781         the private browsing state from Settings instead of FrameLoaderClient.
2782
2783         * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
2784
2785 2007-12-03  Antti Koivisto  <antti@apple.com>
2786
2787         Reviewed by Adele.
2788         
2789         Fix <rdar://problem/5624802> 
2790         Controller displays outside of <video> element when width and height aren't specified 
2791
2792         - Explicitly adjust size of the controls tree root.
2793         - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
2794           by hand. This also allows better code sharing with other replaced element classes.
2795         - Move duplicated layout and painting code from subclasses up to RenderReplaced.
2796
2797         Test: media/video-controls-rendering.html
2798
2799         * rendering/RenderHTMLCanvas.cpp:
2800         (WebCore::RenderHTMLCanvas::paintReplaced):
2801         * rendering/RenderHTMLCanvas.h:
2802             Share code.
2803         * rendering/RenderImage.cpp:
2804         (WebCore::RenderImage::paintReplaced):
2805         (WebCore::RenderImage::minimumReplacedHeight):
2806         * rendering/RenderImage.h:
2807             Share code.
2808         * rendering/RenderMedia.cpp:
2809         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2810         (WebCore::RenderMediaControlShadowRoot::setParent):
2811             Add a subclass just to get through encapsulation to use setParent().
2812         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
2813             Move initialization to the constructor.
2814         (WebCore::RenderMedia::RenderMedia):
2815         (WebCore::RenderMedia::~RenderMedia):
2816         (WebCore::RenderMedia::layout):
2817             Resize and layout the controller root by hand.
2818         (WebCore::RenderMedia::firstChild):
2819         (WebCore::RenderMedia::lastChild):
2820         (WebCore::RenderMedia::removeChild):
2821             Support one child renderer for controls.
2822         (WebCore::RenderMedia::createControlsShadowRoot):
2823         * rendering/RenderMedia.h:
2824         (WebCore::RenderMedia::isMedia):
2825             Switch base class to RenderReplaced, delete the now unnecessary stuff.
2826         * rendering/RenderReplaced.cpp:
2827         (WebCore::RenderReplaced::layout):
2828         (WebCore::RenderReplaced::paint):
2829         * rendering/RenderReplaced.h:
2830         (WebCore::RenderReplaced::minimumReplacedHeight):
2831         (WebCore::RenderReplaced::paintReplaced):
2832             Share code.
2833         * rendering/RenderVideo.cpp:
2834         (WebCore::RenderVideo::videoSizeChanged):
2835             Simplify, just request relayout.
2836         (WebCore::RenderVideo::paintReplaced):
2837         (WebCore::RenderVideo::layout):
2838         * rendering/RenderVideo.h:
2839             Share code.
2840
2841 2007-12-04  Michael Natterer  <mitch@imendio.com>
2842
2843         Reviewed by Alp Toker.
2844
2845         * WebCore.pro: fix build of webkit-marshal by building the
2846         functions into a separate .cpp file instead of including them in
2847         the header. This way we can use the marshallers from more than one
2848         file without using bad hacks.
2849
2850         Add the generated sources directory to DEPENDPATH.
2851
2852 2007-12-04  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
2853
2854         Reviewed by Alp Toker.
2855
2856         http://bugs.webkit.org/show_bug.cgi?id=16145
2857         [gtk] Implement media support in GTK backend
2858
2859         This implements the media tags of HTML5 on the GTK+ port based on the 
2860         Mac port. Media tests pass although some tests required a small modifications: 
2861         As per the HTML5 spec, the loading of the clip should start only after 
2862         all script are done.  But in the case of the tests, the loading starts 
2863         before some callbacks get registered.  This has been discussed with 
2864         Antti Koivisto, and the tests should be updated.
2865
2866         There is only one known issue: one time in 10 tries, loading a buffered 
2867         clip will never end buffering.  The buffering will stall at 97% for no 
2868         apparent reasons.  Reloading the page usually works around the problem.
2869         On the GStreamer side, some codecs don't return correct values, therefore
2870         they make the tests fail.  For instance H.264 will make the video-end 
2871         test fail.  This should be fixed in GStreamer 0.10.15.
2872
2873         This version displays video in a pop up window.  A place holder is drawn
2874         on the page where the video should appear.
2875
2876         By default, it is turned off in WebCore.pro until GStreamer/X
2877         detection issues are sorted out.
2878
2879         * WebCore.pro:
2880         Disable video for now
2881         * platform/Logging.cpp:
2882         (WebCore::):
2883         * platform/Logging.h:
2884         Added a logging level for Media stuff
2885         * platform/graphics/Movie.cpp:
2886         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
2887         (WebCore::moviePrivateErrorCallback):
2888         (WebCore::moviePrivateEOSCallback):
2889         (WebCore::moviePrivateStateCallback):
2890         (WebCore::moviePrivateBufferingCallback):
2891         (WebCore::moviePrivateWindowIDCallback):
2892         (WebCore::MoviePrivate::MoviePrivate):
2893         (WebCore::MoviePrivate::~MoviePrivate):
2894         (WebCore::MoviePrivate::load):
2895         (WebCore::MoviePrivate::play):
2896         (WebCore::MoviePrivate::pause):
2897         (WebCore::MoviePrivate::duration):
2898         (WebCore::MoviePrivate::currentTime):
2899         (WebCore::MoviePrivate::seek):
2900         (WebCore::MoviePrivate::setEndTime):
2901         (WebCore::MoviePrivate::addCuePoint):
2902         (WebCore::MoviePrivate::removeCuePoint):
2903         (WebCore::MoviePrivate::clearCuePoints):
2904         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2905         (WebCore::MoviePrivate::cancelSeek):
2906         (WebCore::MoviePrivate::cuePointTimerFired):
2907         (WebCore::MoviePrivate::paused):
2908         (WebCore::MoviePrivate::seeking):
2909         (WebCore::MoviePrivate::naturalSize):
2910         (WebCore::MoviePrivate::hasVideo):
2911         (WebCore::MoviePrivate::setVolume):
2912         (WebCore::MoviePrivate::setMuted):
2913         (WebCore::MoviePrivate::setRate):
2914         (WebCore::MoviePrivate::dataRate):
2915         (WebCore::MoviePrivate::networkState):
2916         (WebCore::MoviePrivate::readyState):
2917         (WebCore::MoviePrivate::maxTimeBuffered):
2918         (WebCore::MoviePrivate::maxTimeSeekable):
2919         (WebCore::MoviePrivate::maxTimeLoaded):
2920         (WebCore::MoviePrivate::bytesLoaded):
2921         (WebCore::MoviePrivate::totalBytesKnown):
2922         (WebCore::MoviePrivate::totalBytes):
2923         (WebCore::MoviePrivate::cancelLoad):
2924         (WebCore::MoviePrivate::updateStates):
2925         (WebCore::MoviePrivate::loadStateChanged):
2926         (WebCore::MoviePrivate::rateChanged):
2927         (WebCore::MoviePrivate::sizeChanged):
2928         (WebCore::MoviePrivate::timeChanged):
2929         (WebCore::MoviePrivate::volumeChanged):
2930         (WebCore::MoviePrivate::didEnd):
2931         (WebCore::MoviePrivate::loadingFailed):
2932         (WebCore::MoviePrivate::setRect):
2933         (WebCore::MoviePrivate::setVisible):
2934         (WebCore::MoviePrivate::paint):
2935         (WebCore::MoviePrivate::getSupportedTypes):
2936         (WebCore::MoviePrivate::createGSTPlayBin):
2937         * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
2938
2939 2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2940
2941         Reviewed by Simon.
2942
2943         * Implement the InspectorClient for the Qt port
2944         * It does not support highlighting of nodes yet
2945         * Use QRC to open the internal page. The important thing is the
2946         '/' in the URL to make WebCore::Document::completeURL behave the
2947         way we want.
2948         * To make the InspectorClient work we will have to mark qrc as secure.
2949
2950         * WebCore.pro:
2951         * loader/FrameLoader.cpp:
2952         (WebCore::localSchemes):
2953         * page/inspector/WebKit.qrc: Added.
2954
2955 2007-12-04  Alp Toker  <alp@atoker.com>
2956
2957         Rubber stamped by Mark Rowe.
2958
2959         Remove two unused variables to silence warnings.
2960
2961         * html/CanvasRenderingContext2D.cpp:
2962         (WebCore::CanvasRenderingContext2D::fill):
2963         (WebCore::CanvasRenderingContext2D::stroke):
2964
2965 2007-12-03  Dan Bernstein  <mitz@apple.com>
2966
2967         Reviewed by Darin Adler.
2968
2969         - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
2970
2971         * platform/win/ScrollViewWin.cpp:
2972         (WebCore::ScrollView::visibleWidth): Do not return negative values.
2973         (WebCore::ScrollView::visibleHeight): Ditto.
2974
2975 2007-12-03  Dan Bernstein  <mitz@apple.com>
2976
2977         Reviewed by Dave Hyatt.
2978
2979         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
2980
2981         Test: fast/events/resize-subframe.html
2982
2983         * page/FrameView.cpp:
2984         (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
2985         deferring tasks that need to be done after layout.
2986         (WebCore::FrameViewPrivate::reset):
2987         (WebCore::FrameView::~FrameView):
2988         (WebCore::FrameView::layout): Moved the updating of widget positions,
2989         loading plug-ins and sending events queued up during layout into
2990         performPostLayoutTasks(). performPostLayoutTasks() is called after
2991         layout unless the layout was triggered by a previous layout's post-
2992         layout tasks. In the latter case, performPostLayoutTasks() is scheduled
2993         to run later.
2994         (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
2995         to be done after layout but which can result in arbitrary code
2996         execution and therefore may re-invalidate the layout. This includes
2997         updating widget positions, loading plug-ins, and dispatching layout-
2998         related DOM events (scroll, overflow and resize).
2999         (WebCore::FrameView::postLayoutTimerFired):
3000         (WebCore::FrameView::dispatchScheduledEvents):
3001         * page/FrameView.h:
3002         * page/mac/WebCoreFrameBridge.h:
3003         * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
3004         is handled by FrameView now.
3005
3006 2007-12-03  Rob Buis  <buis@kde.org>
3007
3008         Reviewed by Darin.
3009
3010         http://bugs.webkit.org/show_bug.cgi?id=15767
3011         Text decorations do not respect "visibility" property
3012
3013         Only paint decorations if visibility is "visible".
3014
3015         * rendering/SVGInlineTextBox.cpp:
3016         (WebCore::SVGInlineTextBox::paintDecoration):
3017
3018 2007-12-03  Steve Falkenburg  <sfalken@apple.com>
3019
3020         Fix build.
3021
3022         * WebCore.vcproj/WebCore.vcproj:
3023
3024 2007-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
3025
3026         Reviewed by David.
3027
3028         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
3029         Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
3030
3031         * css/CSSStyleSelector.cpp:
3032         (WebCore::CSSStyleSelector::checkSelector):
3033
3034 2007-12-03  Dan Bernstein  <mitz@apple.com>
3035
3036         Reviewed by Adam Roben.
3037
3038         - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
3039
3040         Test: fast/dom/Document/replaceChild-null-oldChild.html
3041
3042         * dom/Document.cpp:
3043         (WebCore::Document::canReplaceChild):
3044
3045 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3046
3047         Reviewed by Simon.
3048
3049         * Avoid crashes by making sure everything is layouted before
3050         we start painting. This avoids a crash in Widget::invalidateRect
3051         because QPainter::begin would fail
3052         * The QWebFrame::layout() methods and calls are left untouched because
3053         this would be an API decision.
3054         
3055
3056         WARNING: NO TEST CASES ADDED OR CHANGED
3057
3058         * page/FrameView.cpp:
3059         (WebCore::FrameView::updateControlTints):
3060         * page/FrameView.h:
3061         * platform/ScrollView.h:
3062         * platform/qt/ScrollViewQt.cpp:
3063         (WebCore::ScrollView::children):
3064
3065 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3066
3067         Reviewed by Simon.
3068
3069         * Implement GraphicsContext::fillRoundedRect similiar to the
3070         CoreGraphics implementation only addPath is not called this
3071         seems to be only needed for CoreGraphics.
3072         
3073
3074         WARNING: NO TEST CASES ADDED OR CHANGED
3075
3076         * platform/graphics/qt/GraphicsContextQt.cpp:
3077         (WebCore::GraphicsContext::fillRoundedRect):
3078
3079 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3080
3081         Reviewed by Simon.
3082
3083         * Coding Style fixes
3084         
3085
3086         WARNING: NO TEST CASES ADDED OR CHANGED
3087
3088         * platform/qt/ScrollViewQt.cpp:
3089         (WebCore::ScrollView::addChild):
3090         (WebCore::ScrollView::removeChild):
3091
3092 2007-12-03  Alp Toker  <alp@atoker.com>
3093
3094         Reviewed by Mark Rowe.
3095
3096         Don't delete the decoder if it's already been created. The one we have
3097         is fine.
3098
3099         Cairo image cleanups. Nothing substantial.
3100
3101         Notify ImageObservers where appropriate.
3102
3103         * platform/graphics/cairo/ImageCairo.cpp:
3104         (WebCore::BitmapImage::draw):
3105         (WebCore::Image::drawPattern):
3106         * platform/graphics/cairo/ImageSourceCairo.cpp:
3107         (WebCore::ImageSource::setData):
3108         * platform/graphics/gtk/ImageGtk.cpp:
3109
3110 2007-12-03  Simon Hausmann  <hausmann@webkit.org>
3111
3112         Reviewed by Lars.
3113
3114         Fixed crash when rendering form elements with Qt 4.4
3115
3116         QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
3117         help of QPaintDevice::devType().
3118         Also fall back to the QApplication::style() if we don't have a widget.
3119
3120         * platform/qt/RenderThemeQt.cpp:
3121         (WebCore::RenderThemeQt::paintButton):
3122         (WebCore::RenderThemeQt::paintTextField):
3123         (WebCore::RenderThemeQt::paintMenuList):
3124         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
3125
3126 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3127
3128         Reviewed by Sam Weinig.
3129
3130         * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
3131         shouldTreatURLAsLocal.
3132         * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
3133         and do not hardcode "file". This is needed for the WebKit/qt port to make
3134         the Web Inspector work as it using the qrc protocol instead of file.
3135
3136
3137         * loader/FrameLoader.cpp:
3138         (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
3139         * loader/FrameLoader.h:
3140         * platform/SecurityOrigin.cpp:
3141         (WebCore::SecurityOrigin::isSecureTransitionTo):
3142
3143 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3144
3145         Rubber stamped by Sam Weinig.
3146
3147         Only add applewebdata to the localSchemes when building for the
3148         mac. This is in preparation of adding qrc for the Qt port there
3149         as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
3150
3151         According to Anders applewebdata is not used on the win port.
3152
3153         * loader/FrameLoader.cpp:
3154         (WebCore::localSchemes):
3155
3156 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3157
3158         Rubber stamped by Sam Weinig.
3159
3160         Fix a typo. It is contains and not containts
3161
3162         * loader/FrameLoader.cpp:
3163
3164 2007-12-03  Alp Toker  <alp@atoker.com>
3165
3166         Add another missing DEPENDPATH.
3167
3168         Noticed when fixing the build.
3169
3170         * WebCore.pro:
3171
3172 2007-12-03  Adam Roben  <aroben@apple.com>
3173
3174         Speculative Windows build fix
3175
3176         * plugins/win/PluginViewWin.cpp:
3177         (WebCore::getString):
3178
3179 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
3180
3181         Build fix: added symbols to the right .exp file.
3182
3183         * WebCore.base.exp:
3184
3185 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
3186
3187         Reviewed by Eric Seidel.
3188
3189         Updated to match the JavaScriptCore change to move virtual methods from
3190         Interpreter to JSGlobalObject.
3191         
3192         Moved virtual ScriptInterpreter functions to Window.
3193
3194 2007-12-02  Darin Adler  <darin@apple.com>
3195
3196         Reviewed by Mitz.
3197
3198         - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
3199
3200         There were two problems here:
3201
3202             1) Incorrect HTMLCollection behavior led to us trying to insert a
3203                new row inside an existing row instead of next to it. The fix for
3204                this is to make HTMLCollection work better for table-related
3205                collections.
3206
3207             2) HTMLTableRowElement::insertCell would return a bad pointer if
3208                the insertion failed. The code should have failed, but not crashed,
3209                so it's worth fixing that too.
3210
3211         While fixing the HTMLCollection issues, I did some clean-up of that
3212         class and its derived classes.
3213
3214         Test: fast/dom/HTMLTableElement/rows.html
3215         Test: fast/dom/HTMLTableElement/tBodies.html
3216         Test: fast/dom/HTMLTableRowElement/cells.html
3217         Test: fast/dom/HTMLTableRowElement/insertCell.html
3218         Test: fast/dom/HTMLTableSectionElement/rows.html
3219
3220         * bindings/js/JSHTMLCollectionCustom.cpp:
3221         (WebCore::toJS): Updated because collectionType() was renamed to type().
3222
3223         * html/HTMLCollection.cpp:
3224         (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
3225         changes. Also added a protected constructor for use by derived classes
3226         that pass in a CollectionInfo.
3227         (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
3228         the header.
3229         (WebCore::isTableSection): Added.
3230         (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
3231         because the old name was grammatically incorrect and thus a bit confusing.
3232         Changed to operate on Element* instead of Node*, and use 0 to start
3233         rather than passing in the base node (required since the base node can be
3234         a document, which is not an element). Generalized the code that made
3235         NodeChildren not descend into deeper descendants so it can be used for
3236         TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
3237         switch statement and got rid of the "found" boolean since we can just
3238         return when we find something. Got rid of the default case, and instead
3239         listed all the enum values. Also changed to use a for loop for clarity.
3240         (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
3241         (WebCore::HTMLCollection::item): Ditto.
3242         (WebCore::HTMLCollection::nextItem): Ditto.
3243         (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
3244         instead of a Node pointer.
3245         (WebCore::HTMLCollection::namedItem): More of the same.
3246         (WebCore::HTMLCollection::updateNameCache): Ditto.
3247         (WebCore::HTMLCollection::namedItems): Ditto.
3248         (WebCore::HTMLCollection::nextNamedItem): Ditto.
3249         (WebCore::HTMLCollection::tags): Ditto.
3250
3251         * html/HTMLCollection.h: Added a type FormElements, so that the
3252         HTMLFormCollection would not have a type of DocImages, which is what
3253         it previously did. Changed the base parameter to be a PassRefPtr to
3254         make it clear we take ownership of it. Added a comment explaining
3255         why we should change the name CollectionInfo. Made a lot more members
3256         private instead of protected. Renamed traverseNextItem to itemAfter.
3257         Changed most functions to take Element* instead of Node*.
3258
3259         * html/HTMLFormCollection.cpp:
3260         (WebCore::HTMLFormCollection::formCollectionInfo): Added.
3261         (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
3262         collection info into the base class.
3263         (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
3264         don't need to get at m_base directly.
3265         (WebCore::HTMLFormCollection::item): Same, but for info().
3266         (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
3267         argument.
3268         (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
3269         checks that the base is still an element and still a form, since that's
3270         guaranteed.
3271         (WebCore::HTMLFormCollection::nextItem): Use info().
3272         (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
3273         Element, some name changes.
3274         (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
3275         (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
3276         to be much simpler.
3277         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
3278
3279         * html/HTMLFormCollection.h: Changed constructor to take an
3280         HTMLFormElement, using a PassRefPtr to communicate transfer of
3281         ownership. Made everything private instead of protected. Removed
3282         unneeded override of firstItem. Made getNamedItem and
3283         nextNamedItemInternal non-virtual. Removed unused first argument of
3284         getNamedItem. Added declaration of formCollectionInfo.
3285
3286         * html/HTMLNameCollection.cpp:
3287         (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
3288         collection info into the base class.
3289         (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
3290         changed into a for loop.
3291
3292         * html/HTMLNameCollection.h: Updated for name changes. Made function
3293         private instead of public. Used PassRefPtr in constructor.
3294
3295         * html/HTMLOptionsCollection.cpp:
3296         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
3297         pass collection info into the base class.
3298         (WebCore::HTMLOptionsCollection::add): Updated for public/private
3299         changes in the base class.
3300         (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
3301         (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
3302         (WebCore::HTMLOptionsCollection::setLength): Ditto.
3303
3304         * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
3305         PassRefPtr.
3306
3307         * html/HTMLTableRowElement.cpp:
3308         (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
3309         and PassRefPtr since this creates a new object. This alone fixed the
3310         crash. Also cleaned up logic a bit to be more readable.
3311
3312         * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
3313         Also reordered functions a bit to make things a little more logical and
3314         removed the unused ncols data member.
3315
3316         * html/HTMLTableSectionElement.cpp:
3317         (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
3318         TableRows. This mistake was harmless before because TableRows and
3319         TSectionRows were handled identically inside HTMLCollection, but that is
3320         no longer the case with this fix.
3321
3322         * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
3323         fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
3324         I don't think this really should be a special case -- might be worth
3325         returning later to see if this can be optimized.
3326
3327 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3328
3329         Reviewed by Adam.
3330
3331         RenderSVGViewportContainer sets wrong width/height.
3332         Share code with RenderSVGContainer in a central calcBounds() function.
3333
3334         Fixes:
3335         - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
3336         - svg/custom/deep-dynamic-updates.svg
3337         - svg/custom/use-clipped-hit.svg
3338         - svg/custom/image-clipped-hit.svg
3339
3340         * rendering/RenderSVGContainer.cpp:
3341         (WebCore::RenderSVGContainer::layout):
3342         (WebCore::RenderSVGContainer::calcBounds):
3343         * rendering/RenderSVGContainer.h:
3344         * rendering/RenderSVGViewportContainer.cpp:
3345         (WebCore::RenderSVGViewportContainer::layout):
3346
3347 2007-12-02  Brady Eidson <beidson@apple.com>
3348
3349         Reviewed by Darin
3350
3351         databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
3352         like all other notifications we send out!
3353
3354         * platform/SecurityOriginData.cpp:
3355         (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
3356         * platform/SecurityOriginData.h:
3357
3358         * storage/DatabaseTracker.cpp:
3359         (WebCore::notificationMutex):
3360         (WebCore::notificationQueue):
3361         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
3362         (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
3363           on the main thread
3364         (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
3365         * storage/DatabaseTracker.h:
3366
3367         * storage/SQLTransaction.cpp:
3368         (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
3369         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
3370
3371 2007-12-02  Rob Buis  <buis@kde.org>
3372
3373         Reviewed by Darin.
3374
3375         http://bugs.webkit.org/show_bug.cgi?id=16002
3376         Load SVG (and other) UA StyleSheets dynamically when needed
3377
3378         Load svg sheet when needed.
3379
3380         * css/CSSStyleSelector.cpp:
3381         (WebCore::screenEval):
3382         (WebCore::printEval):
3383         (WebCore::CSSStyleSelector::CSSStyleSelector):
3384         (WebCore::CSSStyleSelector::loadDefaultStyle):
3385         (WebCore::CSSStyleSelector::styleForElement):
3386         (WebCore::CSSRuleSet::addRulesFromSheet):
3387
3388 2007-12-02  Mark Rowe  <mrowe@apple.com>
3389
3390         Try and fix the Windows build.
3391
3392         * plugins/win/PluginViewWin.cpp:
3393         (WebCore::PluginViewWin::bindingInstance):
3394
3395 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3396
3397         Rubber stamped by Eric.
3398
3399         Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
3400         Updated all project files.
3401
3402         * WebCore.pro:
3403         * WebCore.vcproj/WebCore.vcproj:
3404         * WebCore.xcodeproj/project.pbxproj:
3405         * platform/graphics/svg: Removed.
3406         * platform/graphics/svg/SVGImage.cpp: Removed.
3407         * platform/graphics/svg/SVGImage.h: Removed.
3408         * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
3409         * platform/graphics/svg/SVGPaintServer.cpp: Removed.
3410         * platform/graphics/svg/SVGPaintServer.h: Removed.
3411         * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
3412         * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
3413         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
3414         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
3415         * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
3416         * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
3417         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
3418         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
3419         * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
3420         * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
3421         * platform/graphics/svg/SVGResource.cpp: Removed.
3422         * platform/graphics/svg/SVGResource.h: Removed.
3423         * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
3424         * platform/graphics/svg/SVGResourceClipper.h: Removed.
3425         * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
3426         * platform/graphics/svg/SVGResourceFilter.h: Removed.
3427         * platform/graphics/svg/SVGResourceListener.h: Removed.
3428         * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
3429         * platform/graphics/svg/SVGResourceMarker.h: Removed.
3430         * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
3431         * platform/graphics/svg/SVGResourceMasker.h: Removed.
3432         * platform/graphics/svg/cairo: Removed.
3433         * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
3434         * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
3435         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
3436         * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
3437         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
3438         * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
3439         * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
3440         * platform/graphics/svg/cg: Removed.
3441         * platform/graphics/svg/cg/CgSupport.cpp: Removed.
3442         * platform/graphics/svg/cg/CgSupport.h: Removed.
3443         * platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
3444         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
3445         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
3446         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
3447         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
3448         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
3449         * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
3450         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
3451         * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
3452         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
3453         * platform/graphics/svg/filters: Removed.
3454         * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
3455         * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
3456         * platform/graphics/svg/filters/SVGFEBlend.h: Removed.
3457         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
3458         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
3459         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
3460         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
3461         * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
3462         * platform/graphics/svg/filters/SVGFEComposite.h: Removed.
3463         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
3464         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
3465         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
3466         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
3467         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
3468         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
3469         * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
3470         * platform/graphics/svg/filters/SVGFEFlood.h: Removed.
3471         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
3472         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
3473         * platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
3474         * platform/graphics/svg/filters/SVGFEImage.h: Removed.
3475         * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
3476         * platform/graphics/svg/filters/SVGFEMerge.h: Removed.
3477         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
3478         * platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
3479         * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
3480         * platform/graphics/svg/filters/SVGFEOffset.h: Removed.
3481         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
3482         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
3483         * platform/graphics/svg/filters/SVGFETile.h: Removed.
3484         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
3485         * platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
3486         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
3487         * platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
3488         * platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
3489         * platform/graphics/svg/filters/SVGLightSource.h: Removed.
3490         * platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
3491         * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
3492         * platform/graphics/svg/filters/cg: Removed.
3493         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
3494         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
3495         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
3496         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
3497         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
3498         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
3499         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
3500         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
3501         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
3502         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
3503         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
3504         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
3505         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
3506         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
3507         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
3508         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
3509         * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
3510         * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
3511         * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
3512         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
3513         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
3514         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
3515         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
3516         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
3517         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
3518         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
3519         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
3520         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
3521         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
3522         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
3523         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
3524         * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
3525         * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
3526         * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
3527         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
3528         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
3529         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
3530         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
3531         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
3532         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
3533         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
3534         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
3535         * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
3536         * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
3537         * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
3538         * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
3539         * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
3540         * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
3541         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
3542         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
3543         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
3544         * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
3545         * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
3546         * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
3547         * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
3548         * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
3549         * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
3550         * platform/graphics/svg/mac: Removed.
3551         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
3552         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
3553         * platform/graphics/svg/qt: Removed.
3554         * platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
3555         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
3556         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
3557         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
3558         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
3559         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
3560         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
3561         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
3562         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
3563         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
3564         * svg/graphics: Copied from platform/graphics/svg.
3565
3566 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3567
3568         Reviewed by Maciej.
3569
3570         Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
3571         When entering subdirectories the 'thisDir' variable got altered - see snippet:
3572
3573         THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
3574         ..
3575         -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
3576         ...
3577         <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
3578         THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
3579
3580         'History.cpp' is located in WebCore/page not WebCore/page/gtk.
3581
3582         * bindings/scripts/CodeGenerator.pm:
3583
3584 2007-12-01  Alp Toker  <alp@atoker.com>
3585
3586         Reviewed by Adam Roben.
3587
3588         Add the newly introduced webkit.h convenience header.
3589
3590         * WebCore.pro:
3591
3592 2007-12-01  Antti Koivisto  <antti@apple.com>
3593
3594         Reviewed by Adam.
3595         
3596         - Fix crash when removing a loading media element from the tree.
3597         - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
3598
3599         Tests: http/tests/media/remove-while-loading.html
3600                media/remove-from-document.html
3601
3602         * html/HTMLMediaElement.cpp:
3603         (WebCore::HTMLMediaElement::removedFromDocument):
3604
3605 2007-12-01  Geoffrey Garen  <ggaren@apple.com>
3606
3607         Reviewed by Beth Dakin.
3608
3609         Restored the test string in this test.
3610
3611         * manual-tests/window-open-features-parsing.html:
3612
3613 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
3614
3615         Reviewed by Beth Dakin.
3616         
3617         Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
3618         rules in JavaScriptCore.
3619
3620         * bindings/js/kjs_binding.cpp:
3621         * bindings/js/kjs_binding.h: Removed stale, unused 
3622         interpreterForGlobalObject().
3623
3624         * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
3625         than an interpreter.
3626         (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 
3627         m_globalObject here because we no longer unnecessarily instantiate it.
3628
3629         * bindings/js/kjs_window.cpp:
3630         (KJS::ScheduledAction::execute):
3631         * bindings/js/kjs_window.h: Removed redundant and less efficient 
3632         interpreter() function -- global objects have direct access to their
3633         interpreters now.
3634
3635         Changed these functions to pass around JSGlobalObjects instead of 
3636         Interpreters:
3637
3638         * page/Frame.cpp:
3639         (WebCore::Frame::bindingRootObject):
3640         (WebCore::Frame::createRootObject):
3641         * page/Frame.h:
3642         * page/mac/WebCoreFrameBridge.mm:
3643         (createRootObject):
3644
3645 2007-12-01  Darin Adler  <darin@apple.com>
3646
3647         Reviewed by Mitz.
3648
3649         - fix problem tracked by these bugs:
3650           http://bugs.webkit.org/show_bug.cgi?id=16097
3651           <rdar://problem/5619305> Safari crashes during load of LexisNexis search results
3652           <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
3653           WebCore::DocumentLoader::isLoadingMultipartContent const
3654
3655         * loader/ImageDocument.cpp:
3656         (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
3657         instead of an HTMLImageElement.
3658         (WebCore::ImageDocument::scale): Added a null check for m_imageElement.
3659         (WebCore::ImageDocument::resizeImageToFit): Ditto.
3660         (WebCore::ImageDocument::restoreImageSize): Ditto.
3661         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
3662         (WebCore::ImageDocument::windowSizeChanged): Ditto.
3663         (WebCore::ImageDocumentElement::~ImageDocumentElement): Call
3664         disconnectImageElement so m_imageElement will be set to 0
3665          if we're still connected to the document.
3666         (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
3667
3668         * loader/ImageDocument.h: Changed image element type to be
3669         ImageDocumentElement instead of HTMLImageElement. Also added
3670         a disconnectImageElement function that sets m_imageElement to 0.
3671
3672 2007-12-01  Darin Adler  <darin@apple.com>
3673
3674         - remove the empty directories
3675
3676         * ksvg2: Removed.
3677         * ksvg2/css: Removed.
3678         * ksvg2/events: Removed.
3679         * ksvg2/misc: Removed.
3680         * ksvg2/scripts: Removed.
3681
3682 2007-12-01  Julien Chaffraix  <julien.chaffraix@gmail.com>
3683
3684         Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
3685
3686         Reviewed by Darin Adler.
3687
3688         * xml/XMLHttpRequest.cpp:
3689         (WebCore::canSetRequestHeader):
3690
3691         Test: http/tests/xmlhttprequest/set-dangerous-headers.html
3692
3693 2007-12-01  Rahul Abrol  <ra5ul@comcast.net>
3694
3695         Reviewed by Adam Roben.
3696
3697         http://bugs.webkit.org/show_bug.cgi?id=16128
3698         Ignore resizable=no for window.open().
3699
3700         * bindings/js/kjs_window.cpp:
3701         (KJS::setWindowFeature):
3702         (KJS::parseWindowFeatures):
3703         * manual-tests/window-open-features-parsing.html:
3704
3705 2007-12-01  Dan Bernstein  <mitz@apple.com>
3706
3707         Reviewed by Darin Adler.
3708
3709         - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
3710
3711         Test: fast/dynamic/subtree-common-root.html
3712
3713         * page/FrameView.cpp:
3714         (WebCore::FrameView::layoutRoot): Added a parameter to let this method
3715         return the layout root for a pending layout as well.
3716         (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root
3717         to markContainingBlocksForLayout(). Otherwise,
3718         markContainingBlocksForLayout() could mark past the new root, if it had
3719         previously been marked as having a normal child needing layout and then
3720         was reached via a positioned child.
3721         * page/FrameView.h:
3722         * rendering/RenderBox.cpp:
3723         (WebCore::RenderBox::calcWidth):
3724         * rendering/RenderObject.cpp:
3725         (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that
3726         it would really catch deletion of the layout root.
3727         (WebCore::RenderObject::markContainingBlocksForLayout): Added the
3728         newRoot parameter, which tells this method where to stop marking.
3729         * rendering/RenderObject.h:
3730
3731 2007-12-01  Dan Bernstein  <mitz@apple.com>
3732
3733         Reviewed by Darin Adler.
3734
3735         - fold FontStyle into TextRun
3736
3737         * WebCore.xcodeproj/project.pbxproj:
3738         * platform/graphics/Font.cpp:
3739         (WebCore::WidthIterator::WidthIterator):
3740         (WebCore::WidthIterator::advance):
3741         (WebCore::Font::width):
3742         (WebCore::Font::drawSimpleText):
3743         (WebCore::Font::drawGlyphBuffer):
3744         (WebCore::Font::drawText):
3745         (WebCore::Font::floatWidth):
3746         (WebCore::Font::floatWidthForSimpleText):
3747         (WebCore::Font::selectionRectForText):
3748         (WebCore::Font::selectionRectForSimpleText):
3749         (WebCore::Font::offsetForPosition):
3750         (WebCore::Font::offsetForPositionForSimpleText):
3751         * platform/graphics/Font.h:
3752         (WebCore::TextRun::TextRun):
3753         (WebCore::TextRun::setText):
3754         (WebCore::TextRun::allowTabs):
3755         (WebCore::TextRun::xPos):
3756         (WebCore::TextRun::padding):
3757         (WebCore::TextRun::rtl):
3758         (WebCore::TextRun::ltr):
3759         (WebCore::TextRun::directionalOverride):
3760         (WebCore::TextRun::applyRunRounding):
3761         (WebCore::TextRun::applyWordRounding):
3762         (WebCore::TextRun::spacingDisabled):
3763         (WebCore::TextRun::disableSpacing):
3764         (WebCore::TextRun::disableRoundingHacks):
3765         (WebCore::TextRun::setRTL):
3766         (WebCore::TextRun::setDirectionalOverride):
3767         * platform/graphics/FontStyle.h: Removed.
3768         * platform/graphics/GraphicsContext.cpp:
3769         (WebCore::GraphicsContext::drawText):
3770         (WebCore::GraphicsContext::drawBidiText):
3771         (WebCore::GraphicsContext::drawHighlightForText):
3772         * platform/graphics/GraphicsContext.h:
3773         * platform/graphics/StringTruncator.cpp:
3774         (WebCore::stringWidth):
3775         * platform/graphics/gtk/FontGtk.cpp:
3776         (WebCore::Font::drawComplexText):
3777         (WebCore::Font::floatWidthForComplexText):
3778         (WebCore::Font::offsetForPositionForComplexText):
3779         (WebCore::Font::selectionRectForComplexText):
3780         * platform/graphics/mac/FontMac.mm:
3781         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
3782         (WebCore::addDirectionalOverride):
3783         (WebCore::overrideLayoutOperation):
3784         (WebCore::ATSULayoutParameters::initialize):
3785         (WebCore::Font::selectionRectForComplexText):
3786         (WebCore::Font::drawComplexText):
3787         (WebCore::Font::floatWidthForComplexText):
3788         (WebCore::Font::offsetForPositionForComplexText):
3789         * platform/graphics/qt/FontQt.cpp:
3790         (WebCore::generateComponents):
3791         (WebCore::Font::drawText):
3792         (WebCore::Font::width):
3793         (WebCore::Font::offsetForPosition):
3794         (WebCore::cursorToX):
3795         (WebCore::Font::selectionRectForText):
3796         * platform/graphics/win/FontWin.cpp:
3797         (WebCore::Font::selectionRectForComplexText):
3798         (WebCore::Font::drawComplexText):
3799         (WebCore::Font::floatWidthForComplexText):
3800         (WebCore::Font::offsetForPositionForComplexText):
3801         * platform/graphics/wx/FontWx.cpp:
3802         (WebCore::Font::selectionRectForComplexText):
3803         (WebCore::Font::drawComplexText):
3804         (WebCore::Font::floatWidthForComplexText):
3805         (WebCore::Font::offsetForPositionForComplexText):
3806         * platform/mac/WebCoreTextRenderer.mm:
3807         (WebCoreDrawTextAtPoint):
3808         (WebCoreTextFloatWidth):
3809         * platform/win/PopupMenuWin.cpp:
3810         (WebCore::PopupMenu::paint):
3811         * platform/win/UniscribeController.cpp:
3812         (WebCore::UniscribeController::UniscribeController):
3813         (WebCore::UniscribeController::offsetForPosition):
3814         (WebCore::UniscribeController::advance):
3815         (WebCore::UniscribeController::itemizeShapeAndPlace):
3816         (WebCore::UniscribeController::resetControlAndState):
3817         (WebCore::UniscribeController::shapeAndPlaceItem):
3818         * platform/win/UniscribeController.h:
3819         * platform/win/WebCoreTextRenderer.cpp:
3820         (WebCore::doDrawTextAtPoint):
3821         * rendering/EllipsisBox.cpp:
3822         (WebCore::EllipsisBox::paint):
3823         * rendering/InlineTextBox.cpp:
3824         (WebCore::InlineTextBox::selectionRect):
3825         (WebCore::InlineTextBox::paint):
3826         (WebCore::InlineTextBox::paintSelection):
3827         (WebCore::InlineTextBox::paintCompositionBackground):
3828         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3829         (WebCore::InlineTextBox::paintTextMatchMarker):
3830         (WebCore::InlineTextBox::offsetForPosition):
3831         (WebCore::InlineTextBox::positionForOffset):
3832         * rendering/RenderFileUploadControl.cpp:
3833         (WebCore::RenderFileUploadControl::paintObject):
3834         (WebCore::RenderFileUploadControl::calcPrefWidths):
3835         * rendering/RenderImage.cpp:
3836         * rendering/RenderListBox.cpp:
3837         (WebCore::RenderListBox::updateFromElement):
3838         (WebCore::RenderListBox::paintItemForeground):
3839         * rendering/RenderMenuList.cpp:
3840         (WebCore::RenderMenuList::updateOptionsWidth):
3841         * rendering/RenderText.cpp:
3842         (WebCore::RenderText::widthFromCache):
3843         (WebCore::RenderText::calcPrefWidths):
3844         (WebCore::RenderText::width):
3845         * rendering/RenderText.h:
3846         (WebCore::RenderText::allowTabs):
3847         * rendering/RenderTextControl.cpp:
3848         (WebCore::RenderTextControl::calcPrefWidths):
3849         * rendering/SVGInlineTextBox.cpp:
3850         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
3851         (WebCore::SVGInlineTextBox::paintCharacters):
3852         (WebCore::SVGInlineTextBox::paintSelection):
3853         * rendering/SVGRootInlineBox.cpp:
3854         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3855         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
3856         (WebCore::svgTextRunForInlineTextBox):
3857         * rendering/SVGRootInlineBox.h:
3858
3859 2007-12-01  Adam Treat  <treat@kde.org>
3860
3861         Reviewed by Simon.
3862
3863         * Don't hide symbols when in Debug mode
3864         * On Linux (glibc) provide a backtrace in the test output for debugging purposes
3865
3866         * WebCore.pro:
3867
3868 2007-11-30  Alp Toker  <alp@atoker.com>
3869
3870         Reviewed by Adam Roben.
3871
3872         http://bugs.webkit.org/show_bug.cgi?id=15691
3873         [GTK] Public API does not follow GTK+ conventions
3874
3875         Refactor the WebKit/GTK+ public API. Changes:
3876           WebKitPage -> WebKitWebView
3877           WebKitFrame -> WebKitWebFrame
3878
3879         Public API source and header names have been updated to mirror the API
3880         changes.
3881
3882         The API is now kept in WebKit/gtk/WebView to match other ports in the
3883         same class such as Mac and Win.
3884
3885         * WebCore.pro:
3886
3887 2007-11-30   Anders Carlsson  <andersca@apple.com>
3888
3889         Add platform/text project group.
3890         
3891         * WebCore.vcproj/WebCore.vcproj:
3892
3893 2007-11-30   Anders Carlsson  <andersca@apple.com>
3894
3895         Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
3896         
3897         * WebCore.vcproj/WebCore.vcproj:
3898
3899 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
3900
3901         Not reviewed. Try to fix qt/gtk build.
3902
3903         * WebCore.pro:
3904
3905 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
3906
3907         Rubber stamped by Eric.
3908
3909         Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
3910         by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
3911         mailing list and on IRC with David/Darin & Eric.
3912
3913         Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
3914
3915         * DerivedSources.make:
3916         * WebCore.pro:
3917         * WebCore.vcproj/WebCore.vcproj:
3918         * WebCore.xcodeproj/project.pbxproj:
3919         * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp.
3920         * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h.
3921         * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp.
3922         * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp.
3923         * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in.
3924         * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp.
3925         * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in.
3926         * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl.
3927         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed.
3928         * ksvg2/css/SVGCSSParser.cpp: Removed.
3929         * ksvg2/css/SVGCSSPropertyNames.in: Removed.
3930         * ksvg2/css/SVGCSSStyleSelector.cpp: Removed.
3931         * ksvg2/css/SVGCSSValueKeywords.in: Removed.
3932         * ksvg2/css/SVGRenderStyle.cpp: Removed.
3933         * ksvg2/css/SVGRenderStyle.h: Removed.
3934         * ksvg2/css/SVGRenderStyleDefs.cpp: Removed.
3935         * ksvg2/css/SVGRenderStyleDefs.h: Removed.
3936         * ksvg2/events/JSSVGLazyEventListener.cpp: Removed.
3937         * ksvg2/events/JSSVGLazyEventListener.h: Removed.
3938         * ksvg2/events/SVGZoomEvent.cpp: Removed.
3939         * ksvg2/events/SVGZoomEvent.h: Removed.
3940         * ksvg2/events/SVGZoomEvent.idl: Removed.
3941         * ksvg2/misc/PointerEventsHitRules.cpp: Removed.
3942         * ksvg2/misc/PointerEventsHitRules.h: Removed.
3943         * ksvg2/misc/SVGDocumentExtensions.cpp: Removed.
3944         * ksvg2/misc/SVGDocumentExtensions.h: Removed.
3945         * ksvg2/misc/SVGImageLoader.cpp: Removed.
3946         * ksvg2/misc/SVGImageLoader.h: Removed.
3947         * ksvg2/misc/SVGTimer.cpp: Removed.
3948         * ksvg2/misc/SVGTimer.h: Removed.
3949         * ksvg2/misc/TimeScheduler.cpp: Removed.
3950         * ksvg2/misc/TimeScheduler.h: Removed.
3951         * ksvg2/misc/xlinkattrs.in: Removed.
3952         * ksvg2/scripts/make_names.pl: Removed.
3953         * ksvg2/svg: Removed.
3954         * ksvg2/svg/ColorDistance.cpp: Removed.
3955         * ksvg2/svg/ColorDistance.h: Removed.
3956         * ksvg2/svg/GradientAttributes.h: Removed.
3957         * ksvg2/svg/LinearGradientAttributes.h: Removed.
3958         * ksvg2/svg/PatternAttributes.h: Removed.
3959         * ksvg2/svg/RadialGradientAttributes.h: Removed.
3960         * ksvg2/svg/SVGAElement.cpp: Removed.
3961         * ksvg2/svg/SVGAElement.h: Removed.
3962         * ksvg2/svg/SVGAElement.idl: Removed.
3963         * ksvg2/svg/SVGAngle.cpp: Removed.
3964         * ksvg2/svg/SVGAngle.h: Removed.
3965         * ksvg2/svg/SVGAngle.idl: Removed.
3966         * ksvg2/svg/SVGAnimateColorElement.cpp: Removed.
3967         * ksvg2/svg/SVGAnimateColorElement.h: Removed.
3968         * ksvg2/svg/SVGAnimateColorElement.idl: Removed.
3969         * ksvg2/svg/SVGAnimateElement.cpp: Removed.
3970         * ksvg2/svg/SVGAnimateElement.h: Removed.
3971         * ksvg2/svg/SVGAnimateElement.idl: Removed.
3972         * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed.
3973         * ksvg2/svg/SVGAnimateMotionElement.h: Removed.
3974         * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed.
3975         * ksvg2/svg/SVGAnimateTransformElement.h: Removed.
3976         * ksvg2/svg/SVGAnimateTransformElement.idl: Removed.
3977         * ksvg2/svg/SVGAnimatedAngle.idl: Removed.
3978         * ksvg2/svg/SVGAnimatedBoolean.idl: Removed.
3979         * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed.
3980         * ksvg2/svg/SVGAnimatedInteger.idl: Removed.
3981         * ksvg2/svg/SVGAnimatedLength.idl: Removed.
3982         * ksvg2/svg/SVGAnimatedLengthList.idl: Removed.
3983         * ksvg2/svg/SVGAnimatedNumber.idl: Removed.
3984         * ksvg2/svg/SVGAnimatedNumberList.idl: Removed.
3985         * ksvg2/svg/SVGAnimatedPathData.cpp: Removed.
3986         * ksvg2/svg/SVGAnimatedPathData.h: Removed.
3987         * ksvg2/svg/SVGAnimatedPathData.idl: Removed.
3988         * ksvg2/svg/SVGAnimatedPoints.cpp: Removed.
3989         * ksvg2/svg/SVGAnimatedPoints.h: Removed.
3990         * ksvg2/svg/SVGAnimatedPoints.idl: Removed.
3991         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed.
3992         * ksvg2/svg/SVGAnimatedRect.idl: Removed.
3993         * ksvg2/svg/SVGAnimatedString.idl: Removed.
3994         * ksvg2/svg/SVGAnimatedTemplate.h: Removed.
3995         * ksvg2/svg/SVGAnimatedTransformList.idl: Removed.
3996         * ksvg2/svg/SVGAnimationElement.cpp: Removed.
3997         * ksvg2/svg/SVGAnimationElement.h: Removed.
3998         * ksvg2/svg/SVGAnimationElement.idl: Removed.
3999         * ksvg2/svg/SVGCircleElement.cpp: Removed.
4000         * ksvg2/svg/SVGCircleElement.h: Removed.
4001         * ksvg2/svg/SVGCircleElement.idl: Removed.
4002         * ksvg2/svg/SVGClipPathElement.cpp: Removed.
4003         * ksvg2/svg/SVGClipPathElement.h: Removed.
4004         * ksvg2/svg/SVGClipPathElement.idl: Removed.
4005         * ksvg2/svg/SVGColor.cpp: Removed.
4006         * ksvg2/svg/SVGColor.h: Removed.
4007         * ksvg2/svg/SVGColor.idl: Removed.
4008         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed.
4009         * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed.
4010         * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed.
4011         * ksvg2/svg/SVGCursorElement.cpp: Removed.
4012         * ksvg2/svg/SVGCursorElement.h: Removed.
4013         * ksvg2/svg/SVGCursorElement.idl: Removed.
4014         * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed.
4015         * ksvg2/svg/SVGDefinitionSrcElement.h: Removed.
4016         * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed.
4017         * ksvg2/svg/SVGDefsElement.cpp: Removed.
4018         * ksvg2/svg/SVGDefsElement.h: Removed.
4019         * ksvg2/svg/SVGDefsElement.idl: Removed.
4020         * ksvg2/svg/SVGDescElement.cpp: Removed.
4021         * ksvg2/svg/SVGDescElement.h: Removed.
4022         * ksvg2/svg/SVGDescElement.idl: Removed.
4023         * ksvg2/svg/SVGDocument.cpp: Removed.
4024         * ksvg2/svg/SVGDocument.h: Removed.
4025         * ksvg2/svg/SVGDocument.idl: Removed.
4026         * ksvg2/svg/SVGElement.cpp: Removed.
4027         * ksvg2/svg/SVGElement.h: Removed.
4028         * ksvg2/svg/SVGElement.idl: Removed.
4029         * ksvg2/svg/SVGElementInstance.cpp: Removed.
4030         * ksvg2/svg/SVGElementInstance.h: Removed.
4031         * ksvg2/svg/SVGElementInstance.idl: Removed.
4032         * ksvg2/svg/SVGElementInstanceList.cpp: Removed.
4033         * ksvg2/svg/SVGElementInstanceList.h: Removed.
4034         * ksvg2/svg/SVGElementInstanceList.idl: Removed.
4035         * ksvg2/svg/SVGEllipseElement.cpp: Removed.
4036         * ksvg2/svg/SVGEllipseElement.h: Removed.
4037         * ksvg2/svg/SVGEllipseElement.idl: Removed.
4038         * ksvg2/svg/SVGException.h: Removed.
4039         * ksvg2/svg/SVGException.idl: Removed.
4040         * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed.
4041         * ksvg2/svg/SVGExternalResourcesRequired.h: Removed.
4042         * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed.
4043         * ksvg2/svg/SVGFEBlendElement.cpp: Removed.
4044         * ksvg2/svg/SVGFEBlendElement.h: Removed.
4045         * ksvg2/svg/SVGFEBlendElement.idl: Removed.
4046         * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed.
4047         * ksvg2/svg/SVGFEColorMatrixElement.h: Removed.
4048         * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed.
4049         * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed.
4050         * ksvg2/svg/SVGFEComponentTransferElement.h: Removed.
4051         * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed.
4052         * ksvg2/svg/SVGFECompositeElement.cpp: Removed.
4053         * ksvg2/svg/SVGFECompositeElement.h: Removed.
4054         * ksvg2/svg/SVGFECompositeElement.idl: Removed.
4055         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed.
4056         * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed.
4057         * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed.
4058         * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed.
4059         * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed.
4060         * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed.
4061         * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed.
4062         * ksvg2/svg/SVGFEDistantLightElement.h: Removed.
4063         * ksvg2/svg/SVGFEDistantLightElement.idl: Removed.
4064         * ksvg2/svg/SVGFEFloodElement.cpp: Removed.
4065         * ksvg2/svg/SVGFEFloodElement.h: Removed.
4066         * ksvg2/svg/SVGFEFloodElement.idl: Removed.
4067         * ksvg2/svg/SVGFEFuncAElement.cpp: Removed.
4068         * ksvg2/svg/SVGFEFuncAElement.h: Removed.
4069         * ksvg2/svg/SVGFEFuncAElement.idl: Removed.
4070         * ksvg2/svg/SVGFEFuncBElement.cpp: Removed.
4071         * ksvg2/svg/SVGFEFuncBElement.h: Removed.
4072         * ksvg2/svg/SVGFEFuncBElement.idl: Removed.
4073         * ksvg2/svg/SVGFEFuncGElement.cpp: Removed.
4074         * ksvg2/svg/SVGFEFuncGElement.h: Removed.
4075         * ksvg2/svg/SVGFEFuncGElement.idl: Removed.
4076         * ksvg2/svg/SVGFEFuncRElement.cpp: Removed.
4077         * ksvg2/svg/SVGFEFuncRElement.h: Removed.
4078         * ksvg2/svg/SVGFEFuncRElement.idl: Removed.
4079         * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed.
4080         * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed.
4081         * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed.
4082         * ksvg2/svg/SVGFEImageElement.cpp: Removed.
4083         * ksvg2/svg/SVGFEImageElement.h: Removed.
4084         * ksvg2/svg/SVGFEImageElement.idl: Removed.
4085         * ksvg2/svg/SVGFELightElement.cpp: Removed.
4086         * ksvg2/svg/SVGFELightElement.h: Removed.
4087         * ksvg2/svg/SVGFEMergeElement.cpp: Removed.
4088         * ksvg2/svg/SVGFEMergeElement.h: Removed.
4089         * ksvg2/svg/SVGFEMergeElement.idl: Removed.
4090         * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed.
4091         * ksvg2/svg/SVGFEMergeNodeElement.h: Removed.
4092         * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed.
4093         * ksvg2/svg/SVGFEOffsetElement.cpp: Removed.
4094         * ksvg2/svg/SVGFEOffsetElement.h: Removed.
4095         * ksvg2/svg/SVGFEOffsetElement.idl: Removed.
4096         * ksvg2/svg/SVGFEPointLightElement.cpp: Removed.
4097         * ksvg2/svg/SVGFEPointLightElement.h: Removed.
4098         * ksvg2/svg/SVGFEPointLightElement.idl: Removed.
4099         * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed.
4100         * ksvg2/svg/SVGFESpecularLightingElement.h: Removed.
4101         * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed.
4102         * ksvg2/svg/SVGFESpotLightElement.cpp: Removed.
4103         * ksvg2/svg/SVGFESpotLightElement.h: Removed.
4104         * ksvg2/svg/SVGFESpotLightElement.idl: Removed.
4105         * ksvg2/svg/SVGFETileElement.cpp: Removed.
4106         * ksvg2/svg/SVGFETileElement.h: Removed.
4107         * ksvg2/svg/SVGFETileElement.idl: Removed.
4108         * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed.
4109         * ksvg2/svg/SVGFETurbulenceElement.h: Removed.
4110         * ksvg2/svg/SVGFETurbulenceElement.idl: Removed.
4111         * ksvg2/svg/SVGFilterElement.cpp: Removed.
4112         * ksvg2/svg/SVGFilterElement.h: Removed.
4113         * ksvg2/svg/SVGFilterElement.idl: Removed.
4114         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
4115         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed.
4116         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed.
4117         * ksvg2/svg/SVGFitToViewBox.cpp: Removed.
4118         * ksvg2/svg/SVGFitToViewBox.h: Removed.
4119         * ksvg2/svg/SVGFitToViewBox.idl: Removed.
4120         * ksvg2/svg/SVGFontFaceElement.cpp: Removed.
4121         * ksvg2/svg/SVGFontFaceElement.h: Removed.
4122         * ksvg2/svg/SVGFontFaceElement.idl: Removed.
4123         * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed.
4124         * ksvg2/svg/SVGFontFaceFormatElement.h: Removed.
4125         * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed.
4126         * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed.
4127         * ksvg2/svg/SVGFontFaceNameElement.h: Removed.
4128         * k