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