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