1 2008-07-25 Brady Eidson <beidson@apple.com>
5 Test: security/set-form-autocomplete-attribute.html
7 Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
9 The autocomplete attribute works on both <form> and <input> elements, but was not
10 inherited properly when someone asked an <input> if it should autocomplete.
12 I fixed this up based on the rules in the current WF2 spec so if the <input> element
13 has its own autocomplete attribute set, it will follow that but otherwise it will
14 inherit from its parent <form>
18 * html/HTMLInputElement.cpp:
19 (WebCore::HTMLInputElement::init):
20 (WebCore::HTMLInputElement::autoComplete):
21 (WebCore::HTMLInputElement::parseMappedAttribute):
22 * html/HTMLInputElement.h:
23 (WebCore::HTMLInputElement::):
25 2008-07-25 Wouter Bolsterlee <uws+webkit@xs4all.nl>
27 Reviewed by Holger Freyther.
29 https://bugs.webkit.org/show_bug.cgi?id=20078
30 [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
32 * plugins/gtk/gtk2xtbin.h:
34 2008-07-25 Anders Carlsson <andersca@apple.com>
38 Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
40 * platform/network/mac/WebCoreURLResponse.mm:
41 (-[NSURLResponse _webcore_MIMEType]):
43 2008-07-25 chris fleizach <cfleizach@apple.com>
45 Reviewed by Beth Dakin
47 <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
49 Tests: accessibility/textarea-insertion-point-line-number.html
50 accessibility/textarea-line-for-index.html
52 * page/AccessibilityObject.cpp:
53 (WebCore::AccessibilityObject::lineForPosition):
54 * page/AccessibilityObject.h:
55 * page/mac/AccessibilityObjectWrapper.mm:
56 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
57 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
59 2008-07-25 Jacob Refstrup <jacob.refstrup@hp.com>
63 - fix https://bugs.webkit.org/show_bug.cgi?id=17906
64 <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
66 Test: fast/block/float/editable-text-overlapping-float.html
68 * rendering/RenderBlock.h:
70 (WebCore::RenderBlock::skipTrailingWhitespace):
71 - renamed to reflect usage and removed call to position floats;
73 (WebCore::RenderBlock::skipLeadingWhitespace):
74 - renamed to reflect usage
75 (WebCore::RenderBlock::findNextLineBreak):
76 - use skipTrailingWhitespace at end of line (as before but with new
79 2008-07-25 Dan Bernstein <mitz@apple.com>
81 Reviewed by Sam Weinig.
83 - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
84 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
86 * platform/graphics/FontCache.cpp:
87 (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
88 instances hold references to the platform resources and release them in the destructor.
89 (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
90 number of inactive FontData instances to leave in the cache when automatically purging.
91 (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
92 inactive FontData instances and if so calls purgeInactiveFontData() from here...
93 (WebCore::FontCache::releaseFontData): ... to here.
94 (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
95 cache. All FontPlatformData instances that do not have entries in the font data cache are
96 removed, thus releasing the platform resources (such as HFONTs and NSFonts).
98 2008-07-24 David Hyatt <hyatt@apple.com>
100 Add support for an alternate syntax for CSS variables. Testers on www-style will be able to try out
101 both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
105 Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
109 (WebCore::CSSParser::createVariablesRule):
110 (WebCore::CSSParser::checkForVariables):
112 * css/CSSParserValues.cpp:
113 (WebCore::CSSParserValue::isVariable):
114 (WebCore::CSSParserValueList::addValue):
115 (WebCore::CSSParserValueList::deleteValueAt):
116 (WebCore::CSSParserValue::createCSSValue):
117 * css/CSSParserValues.h:
118 * css/CSSPrimitiveValue.cpp:
119 (WebCore::CSSPrimitiveValue::cleanup):
120 (WebCore::CSSPrimitiveValue::getStringValue):
121 (WebCore::CSSPrimitiveValue::cssText):
122 (WebCore::CSSPrimitiveValue::parserValue):
123 * css/CSSPrimitiveValue.h:
124 (WebCore::CSSPrimitiveValue::):
125 (WebCore::CSSPrimitiveValue::isVariable):
126 * css/CSSStyleSelector.cpp:
127 (WebCore::CSSStyleSelector::addMatchedDeclaration):
128 * css/CSSVariablesRule.cpp:
129 (WebCore::CSSVariablesRule::CSSVariablesRule):
130 (WebCore::CSSVariablesRule::cssText):
131 * css/CSSVariablesRule.h:
132 (WebCore::CSSVariablesRule::create):
134 * css/tokenizer.flex:
136 2008-07-25 Maxime Britto <britto@apple.com>
138 Reviewed by Anders Carlsson.
140 <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
142 * page/EventHandler.cpp:
143 (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
145 2008-07-25 Adele Peterson <adele@apple.com>
149 * platform/win/PlatformScrollBarSafari.cpp:
150 (WebCore::PlatformScrollbar::paint):
152 2008-07-25 Adele Peterson <adele@apple.com>
156 * platform/win/PlatformScrollBarSafari.cpp:
157 (WebCore::PlatformScrollbar::paint):
159 2008-07-25 Adele Peterson <adele@apple.com>
163 * platform/win/PlatformScrollBarSafari.cpp:
165 2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>
169 Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
171 * platform/PlatformKeyboardEvent.h: add accessor and member.
172 * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
173 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
175 2008-07-25 Simon Hausmann <hausmann@webkit.org>
177 Fix linking of QtWebKit against the statically built JavaScriptCore
178 library, under Windows/Mac we may need _d/_debug suffixes.
182 2008-07-25 Simon Hausmann <hausmann@webkit.org>
184 Rubber-stamped by Lars.
186 Fix the Qt build by adapting to the latest ArgList API changes and
187 replacing the inclusion of npapi.h in MainThreadScheduler with a forward
188 declaration of NPP to avoid an include conflict. npapi.h on X11 includes
189 X headers, which include wonderful defines such as "#define Status" that
192 * bridge/qt/qt_runtime.cpp:
193 (KJS::Bindings::findMethodIndex):
194 (KJS::Bindings::QtRuntimeConnectionMethod::call):
195 * plugins/PluginMainThreadScheduler.h:
197 2008-07-25 Simon Hausmann <hausmann@webkit.org>
199 Discussed with and rubber-stamped by Lars.
201 Fix the build system for the Qt port.
203 Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
204 include search path. With a build process that combines JavaScriptCore and
205 WebCore in one build process/Makefile the existance of
206 JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
208 This commit solves this by introducing a separate build of JavaScriptCore into
211 As a result of the split-up a race-condition due to broken dependencies of
212 regular source files to header files of generated sources showed up very
213 frequently when doing parallel builds (which the buildbot does). This commit at
214 the same time tries to address the dependency problem by making the
215 addExtraCompiler() function also generate a pseudo extra compiler that
216 represents the header file output, so that qmake is aware of the creation of
217 the header file for dependency calculation.
219 At the same time I removed a lot of cruft from the pro files to ease maintenance.
223 2008-07-24 kevino <kevino@theolliviers.com>
225 wx build fix on Win for plugins coode.
227 * plugins/PluginDatabase.cpp:
228 * plugins/PluginView.cpp:
229 (WebCore::PluginView::PluginView):
230 * plugins/PluginView.h:
232 2008-07-24 Sam Weinig <sam@webkit.org>
234 Reviewed by Anders Carlsson.
236 Make isElementNode() non-virtual for a speedup on many benchmarks
237 including 20% on http://ejohn.org/apps/fragment/.
239 - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in
240 Element and Attr where space was available. Use the new free bit
241 to represent if an node is an element or not.
244 (WebCore::Attr::Attr):
246 (WebCore::Attr::specified):
247 (WebCore::Attr::setSpecified):
248 * dom/ContainerNode.cpp:
249 (WebCore::ContainerNode::ContainerNode):
250 * dom/ContainerNode.h:
252 (WebCore::Element::Element):
254 (WebCore::Element::hasRareData):
255 (WebCore::Element::setHasRareData):
256 * dom/EventTargetNode.cpp:
257 (WebCore::EventTargetNode::EventTargetNode):
258 * dom/EventTargetNode.h:
260 (WebCore::Node::Node):
262 (WebCore::Node::isElementNode):
264 2008-07-24 Dan Bernstein <mitz@apple.com>
266 Reviewed by Dave Hyatt.
268 - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
270 Not testable in DumpRenderTree
272 * rendering/RenderView.cpp:
273 (WebCore::RenderView::layout): Ensured that all children with percentage
274 heights get laid out again if the height changes.
276 2008-07-24 kevino <kevino@theolliviers.com>
278 Windows build fix for wx. wx doesn't implement pan scrolling yet.
280 * page/EventHandler.cpp:
281 (WebCore::EventHandler::handleAutoscroll):
282 (WebCore::EventHandler::autoscrollTimerFired):
283 (WebCore::EventHandler::stopAutoscrollTimer):
284 (WebCore::EventHandler::handleMousePressEvent):
286 2008-07-24 David Hyatt <hyatt@apple.com>
288 Fix for bug 18673, crash when using full page zoom on generated content. Don't call
289 intrinsicSizeChanged when we are first setting our style.
294 * rendering/RenderReplaced.cpp:
295 (WebCore::RenderReplaced::setStyle):
297 2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
301 Bug 20053: .in files should use a custom format instead of XML
303 - Remove our XML parser perl module (XML::Tiny)
305 - Add a custom perl parser
307 - Move XML files to the new format
309 * bindings/scripts/InFilesParser.pm: Added.
310 * bindings/scripts/XMLTiny.pm: Removed.
311 * dom/make_names.pl: Switched to our new
314 * html/HTMLAttributeNames.in: Switched to
316 * html/HTMLTagNames.in: Ditto.
317 * svg/svgattrs.in: Ditto.
318 * svg/svgtags.in: Ditto.
319 * svg/xlinkattrs.in: Ditto.
320 * xml/xmlattrs.in: Ditto.
322 2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
326 Bug 19588: CRASH doing open() on destroyed window
327 https://bugs.webkit.org/show_bug.cgi?id=19588
329 Add frame's page null check as it could have been
330 detached from the page.
332 Test: fast/frames/crash-removed-iframe.html
334 * bindings/js/JSDOMWindowBase.cpp:
335 (WebCore::windowProtoFuncOpen):
336 * page/FrameTree.cpp:
337 (WebCore::FrameTree::find):
339 2008-07-23 Dan Bernstein <mitz@apple.com>
341 Reviewed by Alexey Proskuryakov.
343 - fix a leak when using hex color values in CSS variables
345 - fix CSSOM access to hex color values in variables declarations
347 Test: fast/css/variables/color-hex-test.html
349 Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
350 CSSParserValues coming from colors in hex notation. CSSParserValues can
351 no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
352 used as the type for CSSValues in CSS variables declarations where the
353 parser value was a hex color. However the type of all other color
354 CSSValues remains CSS_RGBCOLOR.
356 * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
357 for color values in hex notation.
359 (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
360 * css/CSSParserValues.cpp:
361 (WebCore::CSSParserValue::createCSSValue): Ditto.
362 * css/CSSPrimitiveValue.cpp:
363 (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
364 string containing the color.
365 (WebCore::CSSPrimitiveValue::cssText): Added support for
366 CSS_PARSER_HEXCOLOR for when serializing variable values.
367 (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
368 * css/CSSPrimitiveValue.h:
369 (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
371 2008-07-23 Beth Dakin <bdakin@apple.com>
373 Reviewed by Dan Bernstein.
375 Fix for <rdar://problem/5997215> display: table-row-group
376 for :before content causes a crash
378 The actual bug fix here is to ddd the generated content container
379 as a child before adding any of the generated content to the
380 container. There are two correctness fixes as well that deal with
381 style changes and correctly.
383 This patch also makes Node::diff() a static function.
386 (WebCore::Node::diff):
389 (WebCore::Node::recalcStyle):
390 * rendering/RenderContainer.cpp:
391 (WebCore::findBeforeAfterParent):
392 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
393 * svg/SVGUseElement.cpp:
394 (WebCore::SVGUseElement::recalcStyle):
396 2008-07-23 Timothy Hatcher <timothy@apple.com>
398 Updates the elements DOM tree when nodes are added or removed from
399 the inspected document.
401 https://bugs.webkit.org/show_bug.cgi?id=6590
402 <rdar://problem/5712921>
404 Reviewed by Adam Roben.
406 * loader/FrameLoader.cpp:
407 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
408 InspectorController::inspectedWindowScriptObjectCleared.
409 * page/InspectorController.cpp:
410 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
411 Calls the WebInspector.inspectedWindowCleared script function.
412 * page/InspectorController.h:
413 * page/inspector/ElementsPanel.js:
414 (WebInspector.ElementsPanel): Create the event listener callback wrappers.
415 (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
416 there are any recently modified nodes.
417 (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
418 Adds a check for InspectorController.isWindowVisible to prevent adding
419 event listeners when the window isn't visible.
420 (WebInspector.ElementsPanel.prototype.inspectedWindowCleared):
421 (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
422 DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
423 (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
424 added in _addMutationEventListeners.
425 (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
426 again to reinstate the listners if the document changed or window cleared them.
427 (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
428 _mutationMonitoredWindows and call _addMutationEventListeners.
429 (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
430 _mutationMonitoredWindows and call _removeMutationEventListeners.
431 (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
432 _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
433 clear _mutationMonitoredWindows.
434 (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
435 to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
436 (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
437 (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
438 (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
439 _updateModifiedNodes on a zero timeout.
440 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
441 the recentlyModifiedNodes array and call updateChildren on all the parent
442 elements that had changes. Only calls updateChildren once per parent element.
443 (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
444 false if the nodes are the same. Return true if the nodes are the same while
445 looking at ancestor frame elements. THis use to return false, which was incorrect.
446 (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
447 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
448 onpopulate and changed to rebuild the children elements by adding new children,
449 moving existing children and removed old children.
450 (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
451 call registerMutationEventListeners to track any mutations.
452 * page/inspector/inspector.js:
453 (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
454 * page/inspector/treeoutline.js:
455 (TreeElement.prototype.get hasChildren): Return _hasChildren.
456 (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
457 (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
458 (TreeElement.prototype.expand): Fix an exception that can happen if expand is
459 called before _attach.
460 * WebCore/manual-tests/inspector/dom-mutation.html: Added.
461 * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
462 * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
464 2008-07-22 Timothy Hatcher <timothy@apple.com>
466 Fix an exception that occurred when double clicking the closing tag
467 of an element in the DOM tree.
469 Reviewed by Anders Carlsson.
471 * page/inspector/ElementsPanel.js:
472 (WebInspector.ElementsPanel.prototype._ondblclick): Null check
475 2008-07-22 Timothy Hatcher <timothy@apple.com>
477 Fix a regression where elements in subframes would not be revealed
478 or selected when inspected from the context menu. This was caused by
479 JavaScript equality is not being true for JSInspectedObjectWrappers
480 of the same node wrapped with different global ExecStates. This change
481 adds a helper function that uses isSameNode to compare wrapped nodes.
483 https://bugs.webkit.org/show_bug.cgi?id=19377
485 Reviewed by Adam Roben.
487 * page/inspector/ElementsPanel.js:
488 (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
490 (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
491 (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto.
492 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
493 (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
494 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
495 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
496 * page/inspector/treeoutline.js:
497 (TreeOutline.prototype.findTreeElement): Add an equal argument
498 to accept a functions to compare two representedObjects. Defaults
499 to strict equal if not supplied. All current clients pass objectsAreSame.
500 * page/inspector/utilities.js:
501 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
503 (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
504 (Element.prototype.query): Use the ownerDocument of the node, not document.
505 (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
506 it exists on both objects.
507 (isAncestorNode): Use objectsAreSame to compare nodes.
508 (firstCommonNodeAncestor): Ditto.
509 (traverseNextNode): Ditto.
511 2008-07-21 Timothy Hatcher <timothy@apple.com>
513 Added InspectorController.isWindowVisible to the JavaScript class
514 for use in an upcoming change. This will allow the Inspector to not
515 perform selective actions while the window is hidden.
517 Reviewed by Adam Roben.
519 * page/InspectorController.cpp:
520 (WebCore::isWindowVisible): Call InspectorController::windowVisible.
521 (WebCore::InspectorController::windowScriptObjectAvailable): Add
522 the isWindowVisible function to the JavaScript class.
524 2008-07-21 Timothy Hatcher <timothy@apple.com>
526 Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
527 for efficiency of callers that know the index of the child. This
528 will be used in an upcoming change.
530 Reviewed by Adam Roben.
532 * page/inspector/treeoutline.js:
533 (TreeOutline._removeChildAtIndex): Renamed from _removeChild
534 and modified to take an index.
535 (TreeOutline._removeChild): Call _removeChildAtIndex with the
536 child index found using indexOf.
537 (TreeOutline.prototype.removeChildAtIndex): Added. Calls
538 TreeOutline._removeChildAtIndex.
539 (TreeElement.prototype.removeChildAtIndex): Ditto.
541 2008-07-21 Timothy Hatcher <timothy@apple.com>
543 Fixes a regression where TreeOutline.findTreeElement would
544 return the parent TreeElement of the representedObject instead
545 of the TreeElement for the representedObject. Regressed with the
548 Reviewed by Adam Roben.
550 * page/inspector/treeoutline.js:
551 (TreeOutline.prototype.findTreeElement): When performing a slow search,
552 do a final search for representedObject instead of returning item, which
553 is the parent of representedObject.
555 2008-07-23 Adele Peterson <adele@apple.com>
559 WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
561 * WebCore.base.exp: Added symbols.
563 (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
564 (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
565 * page/ChromeClient.h:
567 (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
568 (WebCore::Settings::setShouldPaintCustomScrollbars):
569 * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
570 * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
571 * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
572 * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
573 * platform/win/PlatformScrollBarSafari.cpp:
574 (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
575 (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
576 (WebCore::ScrollbarControlStateFromThemeState): ditto.
577 (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
578 Added new code to paint the custom scrollbars if necessary.
579 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
581 2008-07-23 Sam Weinig <sam@webkit.org>
583 Reviewed by Anders Carlsson.
585 Cleanup and pack the member variables in Node.
587 * bindings/js/JSNodeCustom.cpp:
588 (WebCore::JSNode::mark):
590 (WebCore::Attr::Attr):
592 (WebCore::Attr::specified):
593 (WebCore::Attr::setSpecified):
594 * dom/ContainerNode.cpp:
595 (WebCore::ContainerNode::setFocus):
597 (WebCore::Document::adoptNode):
599 (WebCore::Element::~Element):
600 (WebCore::Element::rareData):
601 (WebCore::Element::createRareData):
603 (WebCore::Element::hasRareData):
604 (WebCore::Element::setHasRareData):
606 (WebCore::Node::setIsLink):
607 (WebCore::Node::inSubtreeMark):
608 (WebCore::Node::setInSubtreeMark):
609 (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
610 (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
611 * html/HTMLAnchorElement.cpp:
612 (WebCore::HTMLAnchorElement::supportsFocus):
613 (WebCore::HTMLAnchorElement::isFocusable):
614 (WebCore::HTMLAnchorElement::defaultEventHandler):
615 (WebCore::HTMLAnchorElement::parseMappedAttribute):
616 (WebCore::HTMLAnchorElement::isLiveLink):
617 * html/HTMLImageElement.cpp:
618 (WebCore::HTMLImageElement::parseMappedAttribute):
619 * html/HTMLInputElement.cpp:
620 (WebCore::HTMLInputElement::setInputType):
621 * html/HTMLTableElement.cpp:
622 (WebCore::HTMLTableElement::attach):
623 * svg/SVGAElement.cpp:
624 (WebCore::SVGAElement::svgAttributeChanged):
625 (WebCore::SVGAElement::defaultEventHandler):
627 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
631 Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
633 Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
635 * platform/graphics/win/QTMovieWin.cpp:
636 (QTMovieWinPrivate::QTMovieWinPrivate):
637 (QTMovieWinPrivate::~QTMovieWinPrivate):
638 (QTMovieWinPrivate::task):
639 (QTMovieWinPrivate::createMovieController):
640 (QTMovieWinPrivate::createGWorld):
641 (QTMovieWinPrivate::setSize):
642 (QTMovieWinPrivate::deleteGWorld):
645 (QTMovieWin::setRate):
646 (QTMovieWin::setCurrentTime):
649 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
653 Added a debug mode for viewing frames per second for videos. This is controlled by two
654 independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
655 Unless either flags is turned on there is no change to the code for video frame drawing.
657 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
658 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
659 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
660 (WebCore::MediaPlayerPrivate::play):
661 (WebCore::MediaPlayerPrivate::pause):
662 (WebCore::MediaPlayerPrivate::didEnd):
663 (WebCore::MediaPlayerPrivate::repaint):
664 (WebCore::MediaPlayerPrivate::paint):
665 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
666 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
667 (WebCore::MediaPlayerPrivate::play):
668 (WebCore::MediaPlayerPrivate::pause):
669 (WebCore::MediaPlayerPrivate::didEnd):
670 (WebCore::MediaPlayerPrivate::paint):
671 (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
672 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
674 2008-07-23 Adele Peterson <adele@apple.com>
678 Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
680 * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
681 Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
682 * platform/graphics/GraphicsContext.h:
683 (WebCore::): Added InterpolationQuality enum.
684 (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
685 The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
686 (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
687 * platform/graphics/cg/GraphicsContextCG.cpp:
688 (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
689 (WebCore::GraphicsContext::imageInterpolationQuality): Added.
690 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
691 Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
693 2008-07-23 Sam Weinig <sam@webkit.org>
695 Reviewed by Anders Carlsson.
697 Remove extraneous allocations by using equalIgnoringCase rather than
700 * dom/StyledElement.cpp:
701 (WebCore::StyledElement::addCSSColor):
702 * html/HTMLCollection.cpp:
703 (WebCore::HTMLCollection::checkForNameMatch):
704 * html/HTMLFormCollection.cpp:
705 (WebCore::HTMLFormCollection::getNamedFormItem):
706 * html/HTMLLinkElement.cpp:
707 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
708 * html/HTMLObjectElement.cpp:
709 (WebCore::HTMLObjectElement::containsJavaApplet):
710 * html/PreloadScanner.cpp:
711 (WebCore::PreloadScanner::emitCSSRule):
712 * loader/FrameLoader.cpp:
713 (WebCore::FrameLoader::createJavaAppletWidget):
714 * page/DOMSelection.cpp:
715 (WebCore::DOMSelection::modify):
716 * rendering/RenderPartObject.cpp:
717 (WebCore::RenderPartObject::updateWidget):
719 2008-07-23 Maxime Britto <britto@apple.com>
721 Reviewed by Adam Roben.
723 <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
724 Add a check for the m_page member value before asking for page()->mainFrame()
726 * page/EventHandler.cpp:
727 (WebCore::EventHandler::stopAutoscrollTimer):
729 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
733 Fix for <rdar://problem/5710065> QT movies should be inactive when opened
735 Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
736 until after movie tracks of unsupported types have been disabled, to make sure they never draw.
738 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
739 (WebCore::MediaPlayerPrivate::load):
740 (WebCore::MediaPlayerPrivate::updateStates):
741 (WebCore::MediaPlayerPrivate::setVisible):
743 2008-07-22 Maxime Britto <britto@apple.com>
745 Reviewed by John Sullivan.
747 <rdar://problem/6083116>
748 When pan-scrolling, Back then Forward causes pan-scrolling to start again
751 (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
752 * loader/FrameLoader.cpp:
753 (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
755 2008-07-22 Geoffrey Garen <ggaren@apple.com>
757 Reviewed by Oliver Hunt and Sam Weinig.
759 Next step toward putting doubles in registers: Prepare the Register class
760 and its clients for registers that don't contain JSValue*s.
762 2008-07-22 Sam Weinig <sam@webkit.org>
764 Reviewed by Mark Rowe.
766 <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
767 Add additional support for JPEG and GIF for toDataURL encoding canvases.
769 * platform/MIMETypeRegistry.cpp:
770 (WebCore::initializeSupportedImageMIMETypesForEncoding):
771 * platform/graphics/cg/ImageBufferCG.cpp:
772 (WebCore::utiFromMIMEType):
774 2008-07-22 Chris Fleizach <cfleizach@apple.com>
776 Reviewed by Dave Hyatt.
778 <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
779 Test: accessibility/internal-link-anchors2.html
781 * page/AccessibilityRenderObject.cpp:
782 (WebCore::AccessibilityRenderObject::internalLinkElement):
784 2008-07-22 Anders Carlsson <andersca@apple.com>
788 Allocate the empty StringImpl from the heap.
790 * platform/text/StringImpl.cpp:
791 (WebCore::StringImpl::empty):
793 2008-07-21 Kevin McCullough <kmccullough@apple.com>
797 <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
799 - Implement UI for Heavy (Bottom Up) view.
801 * English.lproj/localizedStrings.js:
802 * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
803 profile from a profile to the Web Inspector's JavaScript.
804 (WebCore::getHeavyProfileCallback):
805 (WebCore::getTreeProfileCallback):
806 (WebCore::ProfileClass):
807 * page/inspector/ProfileView.js: Implement the dropdown for changing
809 * page/inspector/inspector.css:
811 2008-07-22 Alexey Proskuryakov <ap@webkit.org>
813 Reviewed by Adam Roben.
815 <rdar://problem/5955602> WebKit should support charset name x-windows-949
817 Test: fast/encoding/char-decoding.html
819 * platform/text/TextCodecICU.cpp:
820 (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
821 Firefox compatibility.
823 2008-07-22 Gavin Barraclough <barraclough@apple.com>
825 Reviewed by Alexey Proskuryakov.
827 New test to check that arrays fail gracefully (throw an out of memory exception)
828 when the vector grows to large.
830 * manual-tests/array-out-of-memory.html: Added.
832 2008-07-21 Alexey Proskuryakov <ap@webkit.org>
834 Reviewed by Dan Bernstein.
836 https://bugs.webkit.org/show_bug.cgi?id=20117
837 setBaseAndExtent fails to reverse the current selection
839 Test: editing/selection/setBaseAndExtent-revert-selection.html
841 * editing/Selection.h: (WebCore::operator==): Compare direction, too.
843 2008-07-21 Julien Chaffraix <jchaffraix@webkit.org>
845 Reviewed by Sam Weinig.
847 Bug 19919: Add selectors' string parsing in CSSParser
848 https://bugs.webkit.org/show_bug.cgi?id=19919
850 No functional change.
852 * css/CSSGrammar.y: Added entry for parsing only a selector.
854 (WebCore::CSSParser::CSSParser):
855 (WebCore::CSSParser::parseSelector):
856 * css/CSSParser.h: Added m_floatingSelector to hold the
857 Selector parsed in parseSelector.
859 * css/tokenizer.flex: Added "@-webkit-selector" token.
861 (WebCore::Node::querySelector):
862 (WebCore::Node::querySelectorAll): Switched to parseSelector
865 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
869 Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
871 * platform/graphics/win/QTMovieWin.cpp:
872 (initializeSupportedTypes): Do a Quicktime version minimum version check.
873 (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
875 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
879 Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
881 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
882 so that everything starts back up normally when the page is retrieved from the cache.
884 2008-07-21 Sam Weinig <sam@webkit.org>
886 Reviewed by Mark Rowe.
888 Remove unused interface declaration.
890 * platform/network/mac/ResourceHandleMac.mm:
892 2008-07-21 Mark Rowe <mrowe@apple.com>
894 Reviewed by Sam Weinig.
896 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
898 * Configurations/Version.xcconfig:
901 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
905 Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
907 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
908 * platform/graphics/MediaPlayer.h:
909 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
910 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
912 2008-07-21 Anders Carlsson <andersca@apple.com>
916 Don't allow requests to be made when the document loader is stopping all loaders.
918 * plugins/PluginView.cpp:
919 (WebCore::PluginView::load):
921 2008-07-20 Maxime Britto <britto@apple.com>
923 Reviewed by John Sullivan.
925 [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
926 Accelerate and enhance the smoothness of the pan scrollling.
928 * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
929 * rendering/RenderLayer.cpp:
930 (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
932 2008-07-18 David Hyatt <hyatt@apple.com>
934 Change the cached clip rects to not assume they should be infinite when the root layer has been
935 shifted as the result of a transformation.
939 Added fast/transforms/overflow-with-transform.html
941 * rendering/RenderLayer.cpp:
942 (WebCore::RenderLayer::calculateClipRects):
944 2008-07-21 Rob Buis <buis@kde.org>
948 https://bugs.webkit.org/show_bug.cgi?id=19966
949 CSS variables crash when using hex notation for colors
951 Support hex colors as values for the css variables.
953 Test: fast/css/variables/color-hex-test.html
955 * css/CSSParserValues.cpp:
956 (WebCore::CSSParserValue::createCSSValue):
957 * css/CSSPrimitiveValue.cpp:
958 (WebCore::CSSPrimitiveValue::parserValue):
959 * css/CSSVariablesRule.cpp:
961 2008-07-21 Simon Hausmann <hausmann@webkit.org>
965 Fix drawing of windowless plugins on Windows with the Qt port by
966 avoiding the reset of the translation of the HDC to 0, 0.
968 * plugins/win/PluginViewWin.cpp:
969 (WebCore::PluginView::paint):
971 2008-07-21 Simon Hausmann <hausmann@webkit.org>
975 Fix rendering of transparent windowless netscape plugins by passing
976 the right conversion parameter to QPixmap::fromWinHBITMAP when
977 converting from HBITMAP to QPixmap.
979 * platform/graphics/qt/GraphicsContextQt.cpp:
980 (WebCore::GraphicsContext::releaseWindowsContext):
982 2008-07-21 Simon Hausmann <hausmann@webkit.org>
986 In the implementation of getValue for NPNVnetscapeWindow treat
987 windowHandleForPlatformWidget on the return value of
988 containingWindow() to receive the correct HWND for the Qt port.
990 * plugins/win/PluginViewWin.cpp:
991 (WebCore::PluginView::getValue):
993 2008-07-21 Simon Hausmann <hausmann@webkit.org>
997 Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
998 a QWidget. This can happen on page/view destruction for example.
1000 * plugins/win/PluginViewWin.cpp:
1001 (windowHandleForPlatformWidget):
1003 2008-07-20 Steve Falkenburg <sfalken@apple.com>
1005 Touch file to force rebuild for vsprops change.
1009 2008-07-20 Sam Weinig <sam@webkit.org>
1011 Remove extra space Oliver Hunt left in.
1014 (WebCore::Console::reportException):
1015 (WebCore::Console::reportCurrentException):
1017 2008-07-20 Oliver Hunt <oliver@apple.com>
1019 Reviewed by Dan Bernstein.
1021 Bug 19757: Crash when an ondragstart handler hides the element
1022 <https://bugs.webkit.org/show_bug.cgi?id=19757>
1024 The solution to this is problem is just to null check the renderer
1025 immediately before launching the system drag, and terminate the
1026 drag if the renderer is gone.
1028 * page/EventHandler.cpp:
1029 (WebCore::EventHandler::handleDrag):
1031 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
1035 Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
1037 Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
1038 Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
1040 * svg/SVGPointList.cpp:
1041 (WebCore::SVGPointList::valueAsString):
1042 * svg/SVGPointList.h:
1043 (WebCore::SVGPointList::create):
1044 * svg/SVGPolyElement.cpp:
1045 (WebCore::SVGPolyElement::SVGPolyElement):
1046 (WebCore::SVGPolyElement::svgAttributeChanged):
1047 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
1048 * svg/SVGPolyElement.h:
1050 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
1054 Cleanup JSSVGPODTypeWrapper code.
1056 Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
1057 JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper
1058 JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache
1060 No functional changes.
1062 * bindings/js/JSSVGMatrixCustom.cpp:
1063 (WebCore::JSSVGMatrix::multiply):
1064 (WebCore::JSSVGMatrix::inverse):
1065 (WebCore::JSSVGMatrix::translate):
1066 (WebCore::JSSVGMatrix::scale):
1067 (WebCore::JSSVGMatrix::scaleNonUniform):
1068 (WebCore::JSSVGMatrix::rotate):
1069 (WebCore::JSSVGMatrix::rotateFromVector):
1070 (WebCore::JSSVGMatrix::flipX):
1071 (WebCore::JSSVGMatrix::flipY):
1072 (WebCore::JSSVGMatrix::skewX):
1073 (WebCore::JSSVGMatrix::skewY):
1074 * bindings/js/JSSVGPODTypeWrapper.h:
1075 (WebCore::JSSVGDynamicPODTypeWrapper::create):
1076 (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
1077 (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
1078 (WebCore::JSSVGStaticPODTypeWrapper::create):
1079 (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
1080 (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
1081 (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
1082 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
1083 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
1084 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
1085 (WebCore::PODTypeWrapperCacheInfo::operator==):
1086 (WebCore::PODTypeWrapperCacheInfoHash::hash):
1087 (WebCore::PODTypeWrapperCacheInfoHash::equal):
1088 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
1089 (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
1090 (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
1091 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
1092 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
1093 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
1094 * bindings/js/JSSVGPointListCustom.cpp:
1095 (WebCore::finishGetter):
1096 (WebCore::finishSetter):
1097 (WebCore::finishSetterReadOnlyResult):
1098 (WebCore::JSSVGPointList::initialize):
1099 (WebCore::JSSVGPointList::insertItemBefore):
1100 (WebCore::JSSVGPointList::replaceItem):
1101 (WebCore::JSSVGPointList::appendItem):
1102 * bindings/js/JSSVGTransformListCustom.cpp:
1103 (WebCore::finishGetter):
1104 (WebCore::finishSetter):
1105 (WebCore::finishSetterReadOnlyResult):
1106 (WebCore::JSSVGTransformList::initialize):
1107 (WebCore::JSSVGTransformList::getItem):
1108 (WebCore::JSSVGTransformList::insertItemBefore):
1109 (WebCore::JSSVGTransformList::replaceItem):
1110 (WebCore::JSSVGTransformList::removeItem):
1111 (WebCore::JSSVGTransformList::appendItem):
1112 * bindings/scripts/CodeGeneratorJS.pm:
1114 2008-07-19 Oliver Hunt <oliver@apple.com>
1116 Reviewed by Mark Rowe.
1118 Bug 15979: Console logs in a database callback lose line number information
1119 <https://bugs.webkit.org/show_bug.cgi?id=15979>
1121 The problem was that there were multiple versions of the logic to
1122 log an exception to the console, many of which were incorrect. We
1123 resolve this by making one single shared reportException method,
1124 which handles the exceptions correctly.
1126 This improves fidelity of callback errors, and ensures that
1127 exceptions thrown in timer callbacks correctly report line numbers,
1130 Test: fast/js/exceptions-thrown-in-callbacks.html
1132 * bindings/js/JSCustomSQLStatementCallback.cpp:
1133 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1134 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1135 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1136 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1137 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1138 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1139 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1140 * bindings/js/JSCustomVoidCallback.cpp:
1141 (WebCore::JSCustomVoidCallback::handleEvent):
1142 * bindings/js/JSCustomXPathNSResolver.cpp:
1143 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1144 * bindings/js/JSEventListener.cpp:
1145 (WebCore::JSAbstractEventListener::handleEvent):
1146 * bindings/js/ScheduledAction.cpp:
1147 (WebCore::ScheduledAction::execute):
1148 * bindings/js/ScriptController.cpp:
1149 (WebCore::ScriptController::evaluate):
1150 * bindings/objc/WebScriptObject.mm:
1151 (WebCore::addExceptionToConsole):
1153 (WebCore::Console::reportException):
1156 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
1158 Rubber stamped by Oliver.
1160 Another attempt to fix the win build.
1162 * svg/SVGAnimatedProperty.h:
1164 2008-07-20 Alexey Proskuryakov <ap@webkit.org>
1166 Reviewed by David Kilzer.
1168 Fix high CPU usage on testmyiphone.com.
1170 - Made the logic for determining when to stop looking for meta charset more strainghtforward.
1171 Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
1172 bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
1173 offending tag was seen at any point before).
1175 - The above change made one of our regression tests fail, because it had its <meta>
1176 declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
1178 - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
1180 - Moved a check for XML content type out of the loop.
1182 * loader/TextResourceDecoder.cpp:
1183 (WebCore::TextResourceDecoder::checkForHeadCharset):
1185 2008-07-20 Oliver Hunt <oliver@apple.com>
1187 Reviewed by NOBODY (build fix).
1189 Attempt to fix windows build
1191 * svg/SVGAnimatedProperty.h:
1193 2008-07-19 Nikolas Zimmermann <zimmermann@kde.org>
1195 Reviewed by Oliver & parts by Eric.
1197 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
1199 Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
1200 Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
1203 (WebCore::Element::attributes):
1204 (WebCore::Element::getAttribute):
1205 (WebCore::Element::hasAttributes):
1207 (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
1208 * svg/SVGAElement.cpp:
1209 (WebCore::SVGAElement::SVGAElement):
1210 * svg/SVGAElement.h:
1211 * svg/SVGAltGlyphElement.h:
1212 * svg/SVGAnimatedProperty.h: Added.
1213 * svg/SVGAnimatedTemplate.h:
1214 (WebCore::lookupOrCreateWrapper):
1215 * svg/SVGAnimationElement.h:
1216 * svg/SVGCircleElement.cpp:
1217 (WebCore::SVGCircleElement::SVGCircleElement):
1218 * svg/SVGCircleElement.h:
1219 * svg/SVGClipPathElement.cpp:
1220 (WebCore::SVGClipPathElement::SVGClipPathElement):
1221 * svg/SVGClipPathElement.h:
1222 * svg/SVGComponentTransferFunctionElement.cpp:
1223 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
1224 * svg/SVGComponentTransferFunctionElement.h:
1225 * svg/SVGCursorElement.cpp:
1226 (WebCore::SVGCursorElement::SVGCursorElement):
1227 * svg/SVGCursorElement.h:
1228 * svg/SVGDefsElement.h:
1229 (WebCore::SVGDefsElement::contextElement):
1230 * svg/SVGElement.cpp:
1231 (WebCore::SVGElement::updateAnimatedSVGAttribute):
1233 (WebCore::SVGElement::supplementalTransform):
1234 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
1235 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
1236 (WebCore::SVGElement::addSVGPropertySynchronizer):
1237 * svg/SVGEllipseElement.cpp:
1238 (WebCore::SVGEllipseElement::SVGEllipseElement):
1239 * svg/SVGEllipseElement.h:
1240 * svg/SVGExternalResourcesRequired.cpp:
1241 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
1242 * svg/SVGExternalResourcesRequired.h:
1243 * svg/SVGFEBlendElement.cpp:
1244 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1245 * svg/SVGFEBlendElement.h:
1246 * svg/SVGFEColorMatrixElement.cpp:
1247 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1248 * svg/SVGFEColorMatrixElement.h:
1249 * svg/SVGFEComponentTransferElement.cpp:
1250 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1251 * svg/SVGFEComponentTransferElement.h:
1252 * svg/SVGFECompositeElement.cpp:
1253 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1254 * svg/SVGFECompositeElement.h:
1255 * svg/SVGFEDiffuseLightingElement.cpp:
1256 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1257 * svg/SVGFEDiffuseLightingElement.h:
1258 * svg/SVGFEDisplacementMapElement.cpp:
1259 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1260 * svg/SVGFEDisplacementMapElement.h:
1261 * svg/SVGFEFloodElement.h:
1262 * svg/SVGFEGaussianBlurElement.cpp:
1263 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1264 * svg/SVGFEGaussianBlurElement.h:
1265 * svg/SVGFEImageElement.cpp:
1266 (WebCore::SVGFEImageElement::SVGFEImageElement):
1267 * svg/SVGFEImageElement.h:
1268 * svg/SVGFELightElement.cpp:
1269 (WebCore::SVGFELightElement::SVGFELightElement):
1270 * svg/SVGFELightElement.h:
1271 (WebCore::SVGFELightElement::contextElement):
1272 * svg/SVGFEMergeElement.h:
1273 * svg/SVGFEMergeNodeElement.cpp:
1274 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
1275 * svg/SVGFEMergeNodeElement.h:
1276 * svg/SVGFEOffsetElement.cpp:
1277 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1278 * svg/SVGFEOffsetElement.h:
1279 * svg/SVGFESpecularLightingElement.cpp:
1280 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1281 * svg/SVGFESpecularLightingElement.h:
1282 * svg/SVGFETileElement.cpp:
1283 (WebCore::SVGFETileElement::SVGFETileElement):
1284 * svg/SVGFETileElement.h:
1285 * svg/SVGFETurbulenceElement.cpp:
1286 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1287 * svg/SVGFETurbulenceElement.h:
1288 * svg/SVGFilterElement.cpp:
1289 (WebCore::SVGFilterElement::SVGFilterElement):
1290 * svg/SVGFilterElement.h:
1291 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1292 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1293 * svg/SVGFilterPrimitiveStandardAttributes.h:
1294 * svg/SVGFitToViewBox.cpp:
1295 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1296 * svg/SVGFitToViewBox.h:
1297 * svg/SVGFontElement.h:
1298 (WebCore::SVGFontElement::rendererIsNeeded):
1299 (WebCore::SVGFontElement::contextElement):
1300 * svg/SVGForeignObjectElement.cpp:
1301 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1302 * svg/SVGForeignObjectElement.h:
1303 * svg/SVGGElement.h:
1304 * svg/SVGGradientElement.cpp:
1305 (WebCore::SVGGradientElement::SVGGradientElement):
1306 * svg/SVGGradientElement.h:
1307 (WebCore::SVGGradientElement::contextElement):
1308 * svg/SVGImageElement.cpp:
1309 (WebCore::SVGImageElement::SVGImageElement):
1310 * svg/SVGImageElement.h:
1311 * svg/SVGLineElement.cpp:
1312 (WebCore::SVGLineElement::SVGLineElement):
1313 * svg/SVGLineElement.h:
1314 * svg/SVGLinearGradientElement.cpp:
1315 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1316 * svg/SVGLinearGradientElement.h:
1317 * svg/SVGMarkerElement.cpp:
1318 (WebCore::SVGMarkerElement::SVGMarkerElement):
1319 (WebCore::SVGMarkerElement::canvasResource):
1320 * svg/SVGMarkerElement.h:
1321 * svg/SVGMaskElement.cpp:
1322 (WebCore::SVGMaskElement::SVGMaskElement):
1323 * svg/SVGMaskElement.h:
1324 * svg/SVGPathElement.cpp:
1325 (WebCore::SVGPathElement::SVGPathElement):
1326 (WebCore::SVGPathElement::parseMappedAttribute):
1327 * svg/SVGPathElement.h:
1328 * svg/SVGPatternElement.cpp:
1329 (WebCore::SVGPatternElement::SVGPatternElement):
1330 * svg/SVGPatternElement.h:
1331 (WebCore::SVGPatternElement::contextElement):
1332 * svg/SVGPolyElement.h:
1333 * svg/SVGPreserveAspectRatio.cpp:
1334 * svg/SVGRadialGradientElement.cpp:
1335 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1336 * svg/SVGRadialGradientElement.h:
1337 * svg/SVGRectElement.cpp:
1338 (WebCore::SVGRectElement::SVGRectElement):
1339 * svg/SVGRectElement.h:
1340 * svg/SVGSVGElement.cpp:
1341 (WebCore::SVGSVGElement::SVGSVGElement):
1342 * svg/SVGSVGElement.h:
1343 * svg/SVGScriptElement.cpp:
1344 * svg/SVGScriptElement.h:
1345 * svg/SVGStopElement.cpp:
1346 (WebCore::SVGStopElement::SVGStopElement):
1347 * svg/SVGStopElement.h:
1348 * svg/SVGStyledElement.cpp:
1349 (WebCore::SVGStyledElement::SVGStyledElement):
1350 * svg/SVGStyledElement.h:
1351 * svg/SVGStyledTransformableElement.cpp:
1352 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1353 * svg/SVGStyledTransformableElement.h:
1354 * svg/SVGSwitchElement.h:
1355 * svg/SVGSymbolElement.h:
1356 (WebCore::SVGSymbolElement::contextElement):
1357 * svg/SVGTRefElement.h:
1358 * svg/SVGTSpanElement.h:
1359 * svg/SVGTextContentElement.cpp:
1360 (WebCore::SVGTextContentElement::SVGTextContentElement):
1361 * svg/SVGTextContentElement.h:
1362 (WebCore::SVGTextContentElement::contextElement):
1363 * svg/SVGTextElement.cpp:
1364 (WebCore::SVGTextElement::SVGTextElement):
1365 * svg/SVGTextElement.h:
1366 * svg/SVGTextPathElement.cpp:
1367 (WebCore::SVGTextPathElement::SVGTextPathElement):
1368 * svg/SVGTextPathElement.h:
1369 * svg/SVGTextPositioningElement.cpp:
1370 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1371 * svg/SVGTextPositioningElement.h:
1372 * svg/SVGTransformable.h:
1373 * svg/SVGURIReference.cpp:
1374 (WebCore::SVGURIReference::SVGURIReference):
1375 * svg/SVGURIReference.h:
1376 * svg/SVGUseElement.cpp:
1377 (WebCore::SVGUseElement::SVGUseElement):
1378 * svg/SVGUseElement.h:
1379 * svg/SVGViewElement.h:
1380 * svg/SVGViewSpec.h:
1382 2008-07-18 Maxime Britto <britto@apple.com>
1386 Fixed <rdar://problem/6049803>
1387 Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
1389 Test: fast/events/autoscroll-with-non-scrollable-parent.html
1392 * page/EventHandler.cpp: Edited
1393 (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
1394 (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
1395 * rendering/RenderLayer.cpp:
1396 (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
1397 * rendering/RenderListBox.h:
1398 (WebCore::RenderListBox::canBeProgramaticallyScrolled):
1399 * rendering/RenderObject.cpp:
1400 (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer
1401 (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
1402 * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
1403 * rendering/RenderTextControl.h:
1404 (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
1406 2008-07-18 Sam Weinig <sam@webkit.org>
1408 Reviewed by Anders Carlsson.
1410 <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
1412 - Overload XMLHttpRequests send() method to accept File tokens.
1414 * bindings/js/JSXMLHttpRequestCustom.cpp:
1415 (WebCore::JSXMLHttpRequest::send):
1416 * xml/XMLHttpRequest.cpp:
1417 (WebCore::XMLHttpRequest::send):
1418 * xml/XMLHttpRequest.h:
1420 2008-07-18 Geoffrey Garen <ggaren@apple.com>
1422 Reviewed by Cameron Zwarich.
1426 "CallTypeNative" => "CallTypeHost"
1427 "code" => "byteCode"
1428 "generatedCode" => "generatedByteCode"
1430 2008-07-18 Adele Peterson <adele@apple.com>
1432 Reviewed by Dan Bernstein.
1434 I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
1435 which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
1436 This change will now check both the media element and the player to decide whether or not to make the controls persistent.
1438 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
1440 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1444 Remove braces around single-line conditional.
1446 * css/CSSComputedStyleDeclaration.cpp:
1447 (WebCore::computedTransform):
1449 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1451 Reviewed by Dave Hyatt
1453 getComputedStyle() for -webkit-transform should return
1454 'none' for elements with no renderer, or those with no
1457 https://bugs.webkit.org/show_bug.cgi?id=20008
1459 Testcase: LayoutTests/fast/css/computed-style-without-renderer
1460 LayoutTests/fast/css/computed-style-expected.txt
1462 * css/CSSComputedStyleDeclaration.cpp:
1463 (WebCore::computedTransform):
1465 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1467 Reviewed by Dave Hyatt
1469 Fix assertion about creating Length values with percentage types
1470 when blending transforms.
1471 https://bugs.webkit.org/show_bug.cgi?id=20086
1473 * rendering/style/RenderStyle.cpp:
1474 (WebCore::TranslateTransformOperation::blend):
1476 2008-07-17 Jacob Refstrup <jacob.refstrup@hp.com>
1478 Reviewed by rwlbuis@gmail.com
1480 https://bugs.webkit.org/show_bug.cgi?id=19965
1482 - Added "@"{ident} rule (below other @-rules) to use flex for longest match
1483 (if an earlier rule - e.g. @media - also matches then flex chooses that one
1484 however, if a longer match - e.g. @mediaall matches flex will choose that)
1485 - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
1486 in the error recovery grammar.
1488 Test: css2.1/atrule_longest_match.html
1492 * css/tokenizer.flex:
1494 2008-07-17 David Hyatt <hyatt@apple.com>
1496 Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
1497 recursive (and checks for transparency layers all the way up the ancestor document chain back to
1498 the top-level frame).
1502 * rendering/RenderView.cpp:
1503 (WebCore::RenderView::paintBoxDecorations):
1505 2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>
1507 REGRESSION: Can't create windowless plug-in with Flash 9
1508 https://bugs.webkit.org/show_bug.cgi?id=20070
1510 Reviewed by Mark Rowe.
1512 * plugins/win/PluginPackageWin.cpp:
1513 (WebCore::PluginPackage::determineQuirks): Reverse argument order;
1514 PlatformModuleVersion constructor takes leastSig, mostSig.
1516 2008-07-16 Eric Seidel <eric@webkit.org>
1520 Attempt to make initializeATSUStyle human-readable by
1521 splitting it out into better-named static inline functions.
1523 No functional changes, thus no tests.
1525 * platform/graphics/mac/FontMac.mm:
1526 (WebCore::fontHasMirroringInfo):
1527 (WebCore::disableLigatures):
1528 (WebCore::initializeATSUStyle):
1530 2008-07-16 Eric Seidel <eric@webkit.org>
1532 No review, build fix only.
1534 Attempt to fix Mac build
1536 * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
1538 2008-07-16 Eric Seidel <eric@webkit.org>
1542 Make ATSULayoutParameters a real C++ class
1543 (Give it a destructor to clean up after itself)
1544 (Also use OwnArrayPtr instead of manual member cleanup)
1546 * platform/graphics/mac/FontMac.mm:
1547 (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1548 (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
1549 (WebCore::overrideLayoutOperation):
1550 (WebCore::ATSULayoutParameters::initialize):
1551 (WebCore::Font::selectionRectForComplexText):
1552 (WebCore::Font::drawComplexText):
1553 (WebCore::Font::floatWidthForComplexText):
1554 (WebCore::Font::offsetForPositionForComplexText):
1556 2008-07-16 Eric Seidel <eric@webkit.org>
1560 Make ownership of copied UChar buffer clearer
1561 (and more leak-proof) by using a OwnArrayPtr.
1563 No functional changes, thus no tests.
1565 * platform/graphics/mac/FontMac.mm:
1566 (WebCore::copyRunForDirectionalOverrideIfNecessary):
1567 (WebCore::Font::selectionRectForComplexText):
1568 (WebCore::Font::drawComplexText):
1569 (WebCore::Font::offsetForPositionForComplexText):
1571 2008-07-16 Eric Seidel <eric@webkit.org>
1575 Split out TextRun into its own header file.
1576 Re-order members to place all bools together
1577 (to allow compilers to better pack the struct)
1579 No functional changes, thus no tests.
1581 * WebCore.vcproj/WebCore.vcproj:
1582 * WebCore.xcodeproj/project.pbxproj:
1583 * platform/graphics/Font.h: Moved TextRun into its own file.
1584 * platform/graphics/TextRun.h: Split out from Font.h
1586 2008-07-16 Simon Fraser <simon.fraser@apple.com>
1588 Reviewed by Dave Hyatt
1590 AnimationController needs to adjust z-index in the blended
1591 style in case opacity or transform were changed by blending.
1593 https://bugs.webkit.org/show_bug.cgi?id=20047
1595 Test: transitions/opacity-transition-zindex.html
1597 * page/AnimationController.cpp:
1598 (WebCore::AnimationController::updateImplicitAnimations):
1600 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1604 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
1605 Prepare SVGAnimatedProperty introduction.
1607 Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
1608 contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
1609 See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
1611 * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
1612 * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
1613 * svg/svgattrs.in: Export all SVG attributes as strings.
1614 * svg/svgtags.in: Export all SVG tags as strings.
1615 * svg/xlinkattrs.in: Expose all XLink attributes as strings.
1617 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1621 Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
1622 Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
1624 Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1628 * WebCore.vcproj/WebCore.vcproj:
1629 * WebCore.xcodeproj/project.pbxproj:
1630 * bindings/js/JSSVGLengthCustom.cpp: Added.
1631 (WebCore::JSSVGLength::value):
1632 (WebCore::JSSVGLength::convertToSpecifiedUnits):
1633 * bindings/scripts/CodeGeneratorObjC.pm:
1634 * css/CSSCursorImageValue.cpp:
1635 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1636 * rendering/RenderForeignObject.cpp:
1637 (WebCore::RenderForeignObject::translationForAttributes):
1638 * rendering/RenderSVGImage.cpp:
1639 (WebCore::RenderSVGImage::layout):
1640 * rendering/RenderSVGRoot.cpp:
1641 (WebCore::RenderSVGRoot::calcViewport):
1642 * rendering/RenderSVGText.cpp:
1643 (WebCore::RenderSVGText::layout):
1644 * rendering/RenderSVGViewportContainer.cpp:
1645 (WebCore::RenderSVGViewportContainer::calcViewport):
1646 * rendering/SVGCharacterLayoutInfo.cpp:
1647 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
1648 (WebCore::SVGCharacterLayoutInfo::addStackContent):
1649 * rendering/SVGCharacterLayoutInfo.h:
1650 * rendering/SVGRootInlineBox.cpp:
1651 (WebCore::SVGRootInlineBox::buildTextChunks):
1652 * svg/SVGAnimateElement.h:
1653 * svg/SVGAnimateMotionElement.h:
1654 * svg/SVGAnimateTransformElement.h:
1655 * svg/SVGAnimationElement.h:
1656 (WebCore::SVGAnimationElement::contextElement):
1657 * svg/SVGCircleElement.cpp:
1658 (WebCore::SVGCircleElement::SVGCircleElement):
1659 (WebCore::SVGCircleElement::parseMappedAttribute):
1660 (WebCore::SVGCircleElement::toPathData):
1661 * svg/SVGCursorElement.cpp:
1662 (WebCore::SVGCursorElement::SVGCursorElement):
1663 (WebCore::SVGCursorElement::parseMappedAttribute):
1664 * svg/SVGEllipseElement.cpp:
1665 (WebCore::SVGEllipseElement::SVGEllipseElement):
1666 (WebCore::SVGEllipseElement::parseMappedAttribute):
1667 (WebCore::SVGEllipseElement::toPathData):
1668 * svg/SVGFilterElement.cpp:
1669 (WebCore::SVGFilterElement::SVGFilterElement):
1670 (WebCore::SVGFilterElement::parseMappedAttribute):
1671 (WebCore::SVGFilterElement::canvasResource):
1672 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1673 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1674 (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1675 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1676 * svg/SVGForeignObjectElement.cpp:
1677 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1678 (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1679 * svg/SVGImageElement.cpp:
1680 (WebCore::SVGImageElement::SVGImageElement):
1681 (WebCore::SVGImageElement::parseMappedAttribute):
1682 * svg/SVGLength.cpp:
1683 (WebCore::SVGLength::SVGLength):
1684 (WebCore::SVGLength::value):
1685 (WebCore::SVGLength::convertToSpecifiedUnits):
1686 (WebCore::SVGLength::PercentageOfViewport):
1688 * svg/SVGLength.idl:
1689 * svg/SVGLengthList.cpp:
1690 (WebCore::SVGLengthList::parse):
1691 * svg/SVGLengthList.h:
1692 * svg/SVGLineElement.cpp:
1693 (WebCore::SVGLineElement::SVGLineElement):
1694 (WebCore::SVGLineElement::parseMappedAttribute):
1695 (WebCore::SVGLineElement::toPathData):
1696 * svg/SVGLinearGradientElement.cpp:
1697 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1698 (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1699 * svg/SVGMarkerElement.cpp:
1700 (WebCore::SVGMarkerElement::SVGMarkerElement):
1701 (WebCore::SVGMarkerElement::parseMappedAttribute):
1702 (WebCore::SVGMarkerElement::canvasResource):
1703 * svg/SVGMaskElement.cpp:
1704 (WebCore::SVGMaskElement::SVGMaskElement):
1705 (WebCore::SVGMaskElement::parseMappedAttribute):
1706 (WebCore::SVGMaskElement::drawMaskerContent):
1707 * svg/SVGPatternElement.cpp:
1708 (WebCore::SVGPatternElement::SVGPatternElement):
1709 (WebCore::SVGPatternElement::parseMappedAttribute):
1710 (WebCore::SVGPatternElement::buildPattern):
1711 * svg/SVGRadialGradientElement.cpp:
1712 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1713 (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1714 * svg/SVGRectElement.cpp:
1715 (WebCore::SVGRectElement::SVGRectElement):
1716 (WebCore::SVGRectElement::parseMappedAttribute):
1717 (WebCore::SVGRectElement::toPathData):
1718 * svg/SVGSVGElement.cpp:
1719 (WebCore::SVGSVGElement::SVGSVGElement):
1720 (WebCore::SVGSVGElement::viewport):
1721 (WebCore::SVGSVGElement::parseMappedAttribute):
1722 (WebCore::SVGSVGElement::getCTM):
1723 (WebCore::SVGSVGElement::getScreenCTM):
1724 * svg/SVGTextContentElement.cpp:
1725 (WebCore::SVGTextContentElement::SVGTextContentElement):
1726 (WebCore::SVGTextContentElement::parseMappedAttribute):
1727 * svg/SVGTextPathElement.cpp:
1728 (WebCore::SVGTextPathElement::SVGTextPathElement):
1729 (WebCore::SVGTextPathElement::parseMappedAttribute):
1730 * svg/SVGTextPositioningElement.cpp:
1731 (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1732 * svg/SVGUseElement.cpp:
1733 (WebCore::SVGUseElement::SVGUseElement):
1734 (WebCore::SVGUseElement::parseMappedAttribute):
1735 (WebCore::SVGUseElement::buildPendingResource):
1736 (WebCore::SVGUseElement::buildInstanceTree):
1737 (WebCore::SVGUseElement::handleDeepUseReferencing):
1738 (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1739 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1740 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1741 * svg/SVGUseElement.h:
1742 * svg/SynchronizableTypeWrapper.h:
1743 * svg/graphics/SVGImage.cpp:
1744 (WebCore::SVGImage::size):
1746 2008-07-16 Geoffrey Garen <ggaren@apple.com>
1748 Reviewed by Oliver Hunt.
1750 Support for JavaScriptCore's first step toward putting doubles in
1751 registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1753 * bindings/js/ScheduledAction.cpp:
1754 (WebCore::ScheduledAction::ScheduledAction):
1756 2008-07-15 Maxime Britto <britto@apple.com>
1760 https://bugs.webkit.org/show_bug.cgi?id=17589
1761 <rdar://problem/5770893>
1762 Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
1763 Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
1764 For the other platforms, nothing is changed but if someone want to activate this feature
1765 he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
1768 * page/EventHandler.cpp:
1769 (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
1770 (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters
1771 * platform/PlatformWheelEvent.h:
1772 (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
1773 (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
1774 (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
1775 (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
1776 * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1777 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1778 * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1779 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1780 * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1781 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1782 * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
1783 (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
1784 (WebCore::ScrollView::updateScrollbars):
1785 (WebCore::ScrollView::wheelEvent):
1786 * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
1787 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1788 * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1789 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1791 2008-07-15 Kevin Ollivier <kevino@theolliviers.com>
1793 wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1795 * WebCoreSources.bkl:
1797 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1801 <rdar://problem/5620273> REGRESSION: Apparent caching between form
1802 submits twice (on Maconomy) (18401)
1804 Frames did not set the createdByParser flag even when they were.
1806 * html/HTMLElementFactory.cpp:
1807 (WebCore::frameConstructor):
1808 (WebCore::iframeConstructor):
1810 2008-07-15 Dan Bernstein <mitz@apple.com>
1812 Reviewed by Dave Hyatt.
1814 - fix https://bugs.webkit.org/show_bug.cgi?id=19525
1815 <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
1817 Test: fast/reflections/inline-crash.html
1819 * rendering/RenderInline.cpp:
1820 (WebCore::RenderInline::setStyle): Added setHasReflection(false).
1821 Inline flows never have reflections.
1823 2008-07-14 David Hyatt <hyatt@apple.com>
1825 Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if
1826 no <body> exists yet though.
1830 Added fast/css/style-parsed-outside-of-head.html
1832 * html/HTMLElement.cpp:
1833 (WebCore::inlineTagList):
1835 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1839 Rename pageGroupIdentifier to profileGroup to keep mention of a
1840 pageGroup out of JavaScriptCore.
1842 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1843 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
1844 * bindings/js/ScriptController.cpp:
1845 (WebCore::ScriptController::clear):
1846 (WebCore::ScriptController::initScript):
1847 * history/CachedPage.cpp:
1848 (WebCore::CachedPage::restore):
1850 2008-07-15 Adam Roben <aroben@apple.com>
1852 WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
1856 Reviewed by John Sullivan.
1858 * platform/graphics/win/FontCGWin.cpp:
1859 (WebCore::Font::drawGlyphs): Pass the result of
1860 WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
1861 * platform/win/WebCoreTextRenderer.cpp:
1862 (WebCore::WebCoreSetShouldUseFontSmoothing):
1863 (WebCore::WebCoreShouldUseFontSmoothing):
1865 * platform/win/WebCoreTextRenderer.h:
1867 2008-07-15 Adam Roben <aroben@apple.com>
1871 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
1874 2008-07-15 Holger Hans Peter Freyther <zecke@selfish.org>
1876 Build fix for the Gtk+ and Qt platform.
1878 * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
1879 * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
1881 2008-07-14 Dan Bernstein <mitz@apple.com>
1885 * platform/mac/WidgetMac.mm:
1886 (WebCore::Widget::paint):
1888 2008-07-14 Dan Bernstein <mitz@apple.com>
1890 Reviewed by John Sullivan.
1892 - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1894 * platform/mac/WidgetMac.mm:
1895 (WebCore::Widget::paint): Changed to account for the case of drawing
1896 into a bitmap context that is not a window's backing store. In that
1897 case, -displayRectIgnoringOpacity:inContext: is used to redirect the
1898 drawing to the correct context, after setting up the right transform
1899 on it. For subframes, additional code ensures that the scroll view will
1900 not paint the background behind a transparent frame.
1902 2008-07-14 chris fleizach <cfleizach@apple.com>
1904 Reviewed by Beth Dakin
1906 <rdar://problem/6038106> AXChildren returned for this web area is null
1907 Accessibility of image maps needed to be updated
1909 Tests: accessibility/image-map1.html
1910 accessibility/image-map2.html
1912 * WebCore.xcodeproj/project.pbxproj:
1913 * page/AXObjectCache.cpp:
1914 (WebCore::AXObjectCache::get):
1915 * page/AccessibilityImageMapLink.cpp: Added.
1916 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
1917 (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
1918 (WebCore::AccessibilityImageMapLink::create):
1919 (WebCore::AccessibilityImageMapLink::parentObject):
1920 (WebCore::AccessibilityImageMapLink::anchorElement):
1921 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
1922 (WebCore::AccessibilityImageMapLink::title):
1923 (WebCore::AccessibilityImageMapLink::elementRect):
1924 (WebCore::AccessibilityImageMapLink::size):
1925 * page/AccessibilityImageMapLink.h: Added.
1926 (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
1927 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1928 (WebCore::AccessibilityImageMapLink::roleValue):
1929 (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
1930 (WebCore::AccessibilityImageMapLink::isLink):
1931 * page/AccessibilityListBoxOption.h:
1932 * page/AccessibilityObject.cpp:
1933 (WebCore::AccessibilityObject::selectedChildren):
1934 (WebCore::AccessibilityObject::visibleChildren):
1935 * page/AccessibilityObject.h:
1937 * page/AccessibilityRenderObject.cpp:
1938 (WebCore::AccessibilityRenderObject::parentObject):
1939 (WebCore::AccessibilityRenderObject::isAnchor):
1940 (WebCore::AccessibilityRenderObject::anchorElement):
1941 (WebCore::AccessibilityRenderObject::helpText):
1942 (WebCore::AccessibilityRenderObject::intValue):
1943 (WebCore::AccessibilityRenderObject::stringValue):
1944 (WebCore::AccessibilityRenderObject::title):
1945 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1946 (WebCore::AccessibilityRenderObject::elementRect):
1947 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1948 (WebCore::AccessibilityRenderObject::roleValue):
1949 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1950 (WebCore::AccessibilityRenderObject::addChildren):
1951 * page/AccessibilityRenderObject.h:
1952 * page/mac/AccessibilityObjectWrapper.mm:
1956 2008-07-14 Sam Weinig <sam@webkit.org>
1958 Rubber-stamped by David Hyatt.
1960 Remove unused ExceptionCode parameter from compareDocumentPosition.
1963 (WebCore::Document::addStyleSheetCandidateNode):
1965 (WebCore::Node::compareDocumentPosition):
1969 2008-07-14 David Hyatt <hyatt@apple.com>
1971 Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
1975 Added fast/css/style-outside-head.html
1976 Added fast/css/link-outside-head.html
1979 (WebCore::Document::addStyleSheetCandidateNode):
1980 (WebCore::Document::removeStyleSheetCandidateNode):
1981 (WebCore::Document::recalcStyleSelector):
1984 (WebCore::Node::compareDocumentPosition):
1985 * dom/ProcessingInstruction.cpp:
1986 (WebCore::ProcessingInstruction::checkStyleSheet):
1987 (WebCore::ProcessingInstruction::insertedIntoDocument):
1988 (WebCore::ProcessingInstruction::removedFromDocument):
1989 (WebCore::ProcessingInstruction::finishParsingChildren):
1990 * dom/ProcessingInstruction.h:
1991 (WebCore::ProcessingInstruction::setCreatedByParser):
1992 * dom/StyleElement.cpp:
1993 (WebCore::StyleElement::removedFromDocument):
1994 * dom/XMLTokenizer.cpp:
1995 (WebCore::XMLTokenizer::startElementNs):
1996 (WebCore::XMLTokenizer::processingInstruction):
1998 * html/HTMLElementFactory.cpp:
1999 (WebCore::linkConstructor):
2000 * html/HTMLLinkElement.cpp:
2001 (WebCore::HTMLLinkElement::HTMLLinkElement):
2002 (WebCore::HTMLLinkElement::insertedIntoDocument):
2003 (WebCore::HTMLLinkElement::removedFromDocument):
2004 (WebCore::HTMLLinkElement::finishParsingChildren):
2005 * html/HTMLLinkElement.h:
2006 (WebCore::HTMLLinkElement::setCreatedByParser):
2007 * html/HTMLStyleElement.cpp:
2008 (WebCore::HTMLStyleElement::insertedIntoDocument):
2009 (WebCore::HTMLStyleElement::removedFromDocument):
2010 * svg/SVGStyleElement.cpp:
2011 (WebCore::SVGStyleElement::insertedIntoDocument):
2012 (WebCore::SVGStyleElement::removedFromDocument):
2014 2008-07-14 Sam Weinig <sam@webkit.org>
2016 Reviewed by Mark Rowe.
2018 Sort interface extended attributes to appease *the* Mark Rowe.
2020 * page/DOMWindow.idl:
2022 2008-07-14 Anders Carlsson <andersca@apple.com>
2026 <rdar://problem/6073974>
2027 https://bugs.webkit.org/show_bug.cgi?id=18106
2028 The "onscroll" event bubbles, which is inconsistent with Firefox and IE
2030 Don't bubble the scroll event.
2032 * rendering/RenderLayer.cpp:
2033 (WebCore::RenderLayer::scrollToOffset):
2034 * rendering/RenderListBox.cpp:
2035 (WebCore::RenderListBox::valueChanged):
2037 2008-07-14 Adele Peterson <adele@apple.com>
2041 Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
2043 The web server on this particular piece of hardware doesn't handle "text/xml" in the
2044 Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in
2045 the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web
2046 server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it
2047 is being deprecated in favor of "application/xml". We decided that the best solution is
2048 to match Firefox 3 and stop sending "text/xml" in the Accept header.
2050 No test. There appears to be no way to get the raw headers in the original order in perl/php.
2052 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
2054 2008-07-14 Sam Weinig <sam@webkit.org>
2056 Reviewed by Adele Peterson.
2058 Fix for <rdar://problem/5769819>
2060 Test: http/tests/security/cross-frame-access-object-prototype.html
2062 * bindings/js/JSDOMWindowCustom.cpp:
2063 (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
2064 (WebCore::JSDOMWindow::defineGetter): Ditto.
2065 (WebCore::JSDOMWindow::defineSetter): Ditto.
2066 (WebCore::JSDOMWindow::lookupGetter): Ditto.
2067 (WebCore::JSDOMWindow::lookupSetter): Ditto.
2068 * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
2069 of all the core JSObject functionality.
2070 * page/DOMWindow.idl: Override remaining core JSObject functionality,
2071 to inject security checks.
2073 2008-07-14 Adam Roben <aroben@apple.com>
2077 * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
2079 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
2080 bindings to regenerate.
2081 * loader/FTPDirectoryDocument.cpp:
2082 * loader/FTPDirectoryParser.cpp:
2083 Fixed some duplicate macro definitions now that we're including
2086 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
2088 Reviewed by Kevin McCullough.
2090 Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
2093 * bindings/js/JSDOMWindowBase.cpp:
2094 (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
2096 2008-07-14 Simon Hausmann <hausmann@webkit.org>
2100 Make listDirectory() in the Qt port work with empty namefilters.
2101 Don't include . and .. to avoid scanning the parent directory.
2103 * platform/qt/FileSystemQt.cpp:
2104 (WebCore::listDirectory):
2106 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
2108 Reviewed by Geoff Garen.
2110 Eliminate per-thread JavaScript global data instance support and make arbitrary
2111 global data/global object combinations possible.
2113 * bindings/js/JSDOMWindowBase.h:
2114 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
2115 WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
2117 * bindings/js/JSDOMWindowShell.cpp:
2118 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2119 (WebCore::JSDOMWindowShell::operator new):
2120 * bindings/js/ScriptController.cpp:
2121 (WebCore::ScriptController::clear):
2122 * bindings/scripts/CodeGeneratorJS.pm:
2123 Pass commonJSGlobalData() as an allocator.
2125 * bridge/c/c_utility.cpp:
2126 (KJS::Bindings::identifierFromNPIdentifier):
2127 * bridge/jni/jni_class.cpp:
2128 (JavaClass::JavaClass):
2129 * history/CachedPage.cpp:
2130 (WebCore::CachedPage::restore):
2131 * storage/Database.cpp:
2132 (WebCore::Database::Database):
2133 * bindings/js/GCController.cpp:
2135 (WebCore::GCController::gcTimerFired):
2136 (WebCore::GCController::garbageCollectNow):
2137 Use JSDOMWindow::commonJSGlobalData().
2139 * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
2140 it need to be accesible outside of JSC).
2142 * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
2144 2008-07-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
2150 * plugins/win/PluginDatabaseWin.cpp:
2151 * plugins/win/PluginViewWin.cpp:
2152 (WebCore::PluginView::handleKeyboardEvent):
2153 (WebCore::PluginView::handleMouseEvent):
2154 * svg/SynchronizableTypeWrapper.h:
2155 (WebCore::::SynchronizableTypeWrapper):
2157 2008-07-13 Sam Weinig <sam@webkit.org>
2159 Reviewed by Oliver Hunt and Dan Bernstein.
2161 Fix for <rdar://problem/5888127>
2162 https://bugs.webkit.org/show_bug.cgi?id=18699
2164 - Match Firefox in restricting the size of custom cursor to images to
2166 - Restrict custom cursor hotspots to values within the bounds of the
2169 * manual-tests/cursor-max-size.html: Added.
2170 * page/EventHandler.cpp:
2171 (WebCore::EventHandler::selectCursor):
2173 2008-07-13 Kevin Ollivier <kevino@theolliviers.com>
2177 * platform/graphics/wx/AffineTransformWx.cpp:
2178 (WebCore::AffineTransform::a):
2179 (WebCore::AffineTransform::b):
2180 (WebCore::AffineTransform::c):
2181 (WebCore::AffineTransform::d):
2182 (WebCore::AffineTransform::e):
2183 (WebCore::AffineTransform::f):
2185 2008-07-12 Dan Bernstein <mitz@apple.com>
2187 Reviewed by Oliver Hunt.
2189 - fix https://bugs.webkit.org/show_bug.cgi?id=18088
2190 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
2192 Test: fast/block/basic/min-pref-width-nowrap-floats.html
2194 * rendering/RenderBlock.cpp:
2195 (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
2196 float's width was added to the minimum preferred widths instead of just
2197 acting as a lower bound on the minimum preferred width (since the float
2198 can always be pushed down to be the only thing on the line).
2200 2008-07-12 David D. Kilzer <ddkilzer@webkit.org>
2202 Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
2204 <https://bugs.webkit.org/show_bug.cgi?id=13067>
2208 Test: WebCore/manual-tests/hash-ref.html
2210 * loader/FrameLoader.cpp:
2211 (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
2212 FrameLoadType newLoadType, const String& frameName, Event* event,
2213 PassRefPtr<FormState> formState)): Extracted logic into
2214 shouldScrollToAnchor() for determining when to scroll to an anchor.
2216 (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
2217 PassRefPtr<FormState> formState)): Added check for
2218 shouldScrollToAnchor() to catch cases when the user manually added a
2219 hash ref to the URL in the address bar. This is the bug fix.
2221 (WebCore::FrameLoader::shouldReload): Simplified early return logic.
2222 We only need to check if the destinationURL has a hash ref, not the
2223 currentURL, per the comment in the method.
2225 (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted
2226 from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order
2227 of arguments to shouldReload() since they were backwards, although the
2228 previous logic in the method made this irrelevant.
2230 (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since
2231 we're navigating to a HistoryItem, it doesn't make sense to ask whether
2232 we need to reload the page or not. Additionally, the logic at the end
2233 of shouldReload() is also checked in urlsMatchItem(), so there's no need
2234 to call the method. This fixed the fast/css/target-fragment-match.html
2235 test from continuously reloading after the other changes.
2237 * loader/FrameLoader.h:
2238 (WebCore::FrameLoader::shouldScrollToAnchor): Added.
2240 * manual-tests/hash-ref.html: Added.
2241 * manual-tests/resources/hash-ref-test.html: Added.
2243 2008-07-11 Stephanie Lewis <slewis@apple.com>
2245 Reviewed by Darin Adler.
2247 No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.
2249 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2250 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2251 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
2252 * bindings/js/JSEventListener.cpp:
2253 (WebCore::JSEventListener::JSEventListener):
2254 (WebCore::JSEventListener::~JSEventListener):
2256 (WebCore::Node::Node):
2257 (WebCore::Node::~Node):
2259 (WebCore::Range::Range):
2260 (WebCore::Range::~Range):
2261 * history/CachedPage.cpp:
2262 (WebCore::CachedPage::CachedPage):
2263 (WebCore::CachedPage::~CachedPage):
2264 * loader/SubresourceLoader.cpp:
2265 (WebCore::SubresourceLoader::SubresourceLoader):
2266 (WebCore::SubresourceLoader::~SubresourceLoader):
2268 (WebCore::Frame::Frame):
2269 (WebCore::Frame::~Frame):
2271 (WebCore::Page::Page):
2272 (WebCore::Page::~Page):
2273 * rendering/RenderObject.cpp:
2274 (WebCore::RenderObject::RenderObject):
2275 (WebCore::RenderObject::~RenderObject):
2276 * rendering/bidi.cpp:
2278 (WebCore::BidiRun::operator delete):
2280 2008-07-11 Sam Weinig <sam@webkit.org>
2282 Reviewed by Mark Rowe.
2284 Update getSubStringLength and selectSubString methods exception throwing conditions
2285 based on SVG working group errata.
2287 Test: svg/custom/selectSubString.html
2289 * svg/SVGTextContentElement.cpp:
2290 (WebCore::SVGTextContentElement::getSubStringLength):
2291 (WebCore::SVGTextContentElement::selectSubString):
2293 2008-07-11 Sam Weinig <sam@webkit.org>
2295 Reviewed by Mark Rowe.
2297 We can only use the Id fast path for querySelector and querySelectorAll
2298 if the selector is purely an Id selector.
2300 Test: fast/dom/SelectorAPI/id-fastpath.html
2303 (WebCore::Node::querySelector):
2304 * dom/SelectorNodeList.cpp:
2305 (WebCore::createSelectorNodeList):
2307 2008-07-11 David Hyatt <hyatt@apple.com>
2309 Implement the DOM level 3 compareDocumentPosition method on Node.
2314 (WebCore::Node::compareDocumentPosition):
2318 2008-07-11 Brady Eidson <beidson@apple.com>
2320 Rubberstamped by Sam
2322 Removed unneeded export
2326 2008-07-11 Kevin McCullough <kmccullough@apple.com>
2330 <rdar://problem/6067178> REGRESSION: Start profile button in profiler
2331 now profiles inspector rather than actual page (19833)
2332 - The JSQuarantinedObjectWrapper should use the wrapped exec state
2333 so that calls to it execute in its quarantined world.
2335 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2336 (WebCore::JSQuarantinedObjectWrapper::construct):
2337 (WebCore::JSQuarantinedObjectWrapper::call):
2339 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2341 Reviewed by Dave Hyatt
2343 StyleRareNonInheritedData needs to initialize and compare
2345 <https://bugs.webkit.org/show_bug.cgi?id=20005>
2347 * rendering/style/RenderStyle.cpp:
2348 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2349 (WebCore::StyleRareNonInheritedData::operator==):
2351 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2353 Reviewed by Dave Hyatt
2355 Bug 18885: RenderLayer::enclosingPositionedAncestor() should
2356 look for transforms, since transforms create containing
2358 <https://bugs.webkit.org/show_bug.cgi?id=18885>
2360 Test: fast/transforms/transform-positioned-ancestor.html
2362 * rendering/RenderLayer.cpp:
2363 (WebCore::RenderLayer::stackingContext):
2364 (WebCore::RenderLayer::enclosingPositionedAncestor):
2365 (WebCore::RenderLayer::enclosingTransformedAncestor):
2367 2008-07-11 Jacob Refstrup <jacob.refstrup@hp.com>
2369 Reviewed by Darin Adler
2371 http://bugs.webkit.org/show_bug.cgi?id=19978
2372 GTK port always ends up with # at the end of resource URLs (and hence can't load files)
2374 - Optimized KURL::removeRef() and used it rather than setRef("")
2375 which after r35040 does the wrong thing.
2377 * platform/KURL.cpp:
2378 (WebCore::KURL::removeRef):
2379 * platform/network/curl/ResourceHandleManager.cpp:
2380 (WebCore::ResourceHandleManager::initializeHandle):
2382 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2384 Fix the Qt/Windows build, include windows.h for HWND directly
2385 instead of implicit inclusion through Timer.h.
2387 * plugins/win/PluginMessageThrottlerWin.h:
2389 2008-07-11 Dan Bernstein <mitz@apple.com>
2391 Reviewed by Darin Adler.
2393 - fix popularity tracking for cached resources, which regressed in r23923
2396 (WebCore::Cache::requestResource): Changed to increase the access count
2397 whenever this function returns a CachedResource and the cache is
2398 enabled, instead of only when creating a new CachedResources. The
2399 incorrect behavior resulted in all resources in the cache having an
2400 access count of exactly 1 at all times.
2401 (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
2403 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2407 Enable Netscape plugins for the Qt/Windows build.
2409 This required various smaller fixes across a wider set of
2410 files described below.
2412 * WebCore.pro: Add various windows specific files to the build.
2413 * page/Page.h: Extend the #ifdeffery for windows types to include the
2415 * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
2416 the Qt port, as PluginViewWin.cpp uses it.
2417 * platform/graphics/qt/GraphicsContextQt.cpp:
2418 (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
2419 * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
2420 are now implemented through *Win.cpp files.
2421 * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
2422 * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
2423 (WebCore::PluginView::setFrameGeometry): Ditto.
2424 (WebCore::PluginView::PluginView): Ditto.
2425 * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
2426 which expands to HWND directly for the Qt/Windows build and
2427 PlatformWidget for the remaining platforms. That is because
2428 PlatformWidget is QWidget* for the Qt build but for the plugin
2429 window we need a native window, aka HWND.
2430 * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
2432 * plugins/win/PluginViewWin.cpp:
2433 (windowHandleForPlatformWidget): Added a little helper function to
2434 determine the HWND from a PlatformWidget.
2435 (WebCore::registerPluginView): For the Qt port we need to set the
2436 global application instance handle here in the library, as the
2437 browser doesn't do it.
2438 (WebCore::PluginView::handleMouseEvent): Mask out
2439 ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
2440 (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
2441 manually just here to avoid compiling in IntRectWin.cpp.
2442 (WebCore::PluginView::invalidateRegion): Ditto.
2443 (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
2444 on containingWindow() to get the correct HWND for the Qt port.
2445 (WebCore::PluginView::init): Determine the parent HWND for m_window
2446 using windowHandleForPlatformWidget.
2448 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2450 Rubber-stamped by Holger.
2452 Enable Database and Icondatabase functionality for the Qt/Windows
2453 build when building inside Qt, as we can use the builtin copy of
2458 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2460 Reviewed by Adam Roben.
2462 Fix compile with MinGW since it does not like friend static function.
2464 * plugins/PluginView.h:
2465 * plugins/win/PluginViewWin.cpp:
2467 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2473 * platform/graphics/qt/GraphicsContextQt.cpp:
2475 2008-07-10 Sam Weinig <sam@webkit.org>
2477 Reviewed by Oliver Hunt.
2479 Add support for NSResolver to resolve namespaces for querySelector
2480 and querySelectorAll.
2482 - Namespace resolution is done after parsing by iterating over all the
2483 parts of the CSSSelector.
2485 Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
2486 fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
2488 * GNUmakefile.am: Updated with new files.
2489 * WebCore.pro: Ditto.
2490 * WebCore.vcproj/WebCore.vcproj: Ditto.
2491 * WebCore.xcodeproj/project.pbxproj: Ditto.
2492 * WebCoreSources.bkl: Ditto.
2494 * bindings/js/JSDOMBinding.cpp:
2495 (WebCore::execStateFromNode):
2496 * bindings/js/JSDOMBinding.h:
2497 Move execStateFromNode here from NodeFilter.
2499 * bindings/js/JSDocumentCustom.cpp:
2500 (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
2501 and instead create one if the argument is not undefined or null.
2502 (WebCore::JSDocument::querySelectorAll): Ditto.
2503 * bindings/js/JSDocumentFragmentCustom.cpp:
2504 (WebCore::JSDocumentFragment::querySelector): Ditto.
2505 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2506 * bindings/js/JSElementCustom.cpp:
2507 (WebCore::JSElement::querySelector): Ditto.
2508 (WebCore::JSElement::querySelectorAll): Ditto.
2510 * bindings/js/JSNSResolver.cpp: Added.
2511 (WebCore::JSNSResolver::JSNSResolver):
2512 (WebCore::JSNSResolver::mark):
2513 (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
2514 from the passed in argument, either the value itself, or the result of
2515 getting the lookupNamespaceURI property, and call it.
2516 (WebCore::toNSResolver):
2517 * bindings/js/JSNSResolver.h: Added.
2518 (WebCore::JSNSResolver::create):
2520 * dom/Document.idl: Update with NSResolver parameter.
2521 * dom/DocumentFragment.idl: Ditto.
2522 * dom/Element.idl: Ditto.
2524 * dom/NSResolver.h: Added.
2525 (WebCore::NSResolver::~NSResolver):
2526 (WebCore::NSResolver::mark):
2527 Abstract base class.
2529 * dom/NSResolver.idl: Added.
2532 (WebCore::forEachTagSelector):
2533 (WebCore::forEachSelector):
2534 Functions to iterate over all parts of the selector.
2536 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2537 Functor to be passed to forEachSelector to determine if a selector
2538 needs namespace resolution, for the case when no NSResolver is passed
2539 and we need to determine whether to throw a NAMESPACE_ERR.
2541 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2542 (WebCore::ResolveNamespaceFunctor::operator()):
2543 Functor to resolve namespaces for the selector.
2545 (WebCore::selectorNeedsNamespaceResolution):
2546 (WebCore::resolveNamespacesForSelector):
2547 (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
2548 if a NSResolver is passed in.
2549 (WebCore::Node::querySelectorAll): Ditto.
2552 * dom/NodeFilter.cpp:
2554 * dom/NodeIterator.h:
2555 (WebCore::NodeIterator::nextNode):
2556 (WebCore::NodeIterator::previousNode):
2558 (WebCore::TreeWalker::parentNode):
2559 (WebCore::TreeWalker::firstChild):
2560 (WebCore::TreeWalker::lastChild):
2561 (WebCore::TreeWalker::previousSibling):
2562 (WebCore::TreeWalker::nextSibling):
2563 (WebCore::TreeWalker::previousNode):
2564 (WebCore::TreeWalker::nextNode):
2565 Use the version of execStateFromNode in JSDOMBinding.
2567 2008-07-10 Mark Rowe <mrowe@apple.com>
2569 Reviewed by Sam Weinig.
2571 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2573 * Configurations/WebCore.xcconfig:
2575 2008-07-10 Dean Jackson <dino@apple.com>
2579 Calculate computed style for -webkit-transform property
2580 https://bugs.webkit.org/show_bug.cgi?id=19864
2582 Test: css3/transform-computed-style-001.html
2584 * css/CSSComputedStyleDeclaration.cpp:
2585 (WebCore::computedTransform):
2586 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2587 handles -webkit-transform property now
2588 * manual-tests/computed-transform-value.html: Added.
2590 2008-07-10 Dan Bernstein <mitz@apple.com>
2592 Reviewed by Adam Roben.
2594 - fix a parse error in inspector.js
2596 * page/inspector/inspector.js: Added missing brace.
2598 2008-07-10 Adam Roben <aroben@apple.com>
2602 * WebCore.vcproj/QTMovieWin.vcproj: Add
2603 OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2605 2008-07-10 Chris Fleizach <cfleizach@apple.com>
2607 Reviewed by Dan Bernstein
2609 <rdar://problem/6067408> AX: internal anchors broken
2611 * page/AccessibilityRenderObject.cpp:
2612 (WebCore::AccessibilityRenderObject::internalLinkElement):
2613 * platform/KURL.cpp:
2614 (WebCore::KURL::removeRef):
2617 2008-07-10 Mark Rowe <mrowe@apple.com>
2621 * bridge/npapi.h: Remove extra comma.
2623 2008-07-10 Sam Weinig <sam@webkit.org>
2625 Reviewed by Mark Rowe.
2627 Remove no-op debug method.
2629 * css/CSSSelector.cpp:
2630 * css/CSSSelector.h:
2632 2008-07-10 Sam Weinig <sam@webkit.org>
2634 Reviewed by Dave Hyatt and Darin Adler.
2636 Add support for calling querySelector and querySelectorAll on DocumentFragments
2638 - Fixes bug where nodes not in the document tree would not match based on ID due
2639 to over optimization.
2641 Test: fast/dom/SelectorAPI/detached-element.html
2645 * WebCore.vcproj/WebCore.vcproj:
2646 * WebCore.xcodeproj/project.pbxproj:
2647 * WebCoreSources.bkl:
2648 * bindings/js/JSDocumentFragmentCustom.cpp: Added.
2649 (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
2650 and JSDocument that checks for a 2nd arguments and throws an exception indicating
2651 we do not currently support the optional NSResolver part of the Selectors API spec.
2652 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2653 * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
2656 (WebCore::Node::querySelector): Make the CSS parser parse the selector
2657 according to the strictness of the document so that mixed case ID selectors
2658 match in quirks mode. Also, don't use the fast ID path if the root is not
2659 in the DOM tree, as it won't work.
2660 (WebCore::Node::querySelectorAll): Ditto.
2661 * dom/SelectorNodeList.cpp:
2662 (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
2663 in the DOM tree, as it won't work.
2665 2008-07-10 Anthony Ricaud <rik24d@gmail.com>
2667 Bug 19389: querySelectorAll exception while searching invalid CSS selector
2668 <https://bugs.webkit.org/show_bug.cgi?id=19389>
2670 Reviewed by Tim Hatcher.
2672 * page/inspector/inspector.js: Added a try/catch block.
2674 2008-07-10 Brent Fulgham <bfulgham@gmail.com>
2676 Correct a build regression due to an uninitialized variable.
2678 <https://bugs.webkit.org/show_bug.cgi?id=19976>
2682 * platform/graphics/cairo/FontCairo.cpp:
2683 (WebCore::Font::drawGlyphs):
2685 2008-07-10 Adam Roben <aroben@apple.com>
2687 Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2688 HTMLCollection::resetCollectionInfo (codegen issue?)
2690 <https://bugs.webkit.org/show_bug.cgi?id=19580>
2693 Reviewed by Cameron Zwarich.
2695 * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
2696 which was causing some bad codegen in HTMLFormElement::elements.
2697 * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
2699 2008-07-10 Anders Carlsson <andersca@apple.com>
2703 <rdar://problem/6067135>
2704 WebKit should respond true to a query for NPNVSupportsWindowless.
2706 Handle NPNVSupportsWindowless and return true.
2709 * plugins/win/PluginViewWin.cpp:
2710 (WebCore::PluginView::getValue):
2712 2008-07-10 Kevin McCullough <kmccullough@apple.com>
2716 -Minor cleanup. Renamed callTree() to head() and no longer use m_head
2717 directly but instead keep it private and access via a method().
2719 * page/JavaScriptProfile.cpp:
2720 (WebCore::getHeadCallback):
2722 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2724 When a mask image changes, ensure that elements
2725 that use that mask image are repainted correctly.
2727 <https://bugs.webkit.org/show_bug.cgi?id=19954>
2729 Reviewed by Dave Hyatt
2731 * manual-tests/canvas-mask-redraw.html
2733 * rendering/RenderBox.cpp:
2734 (WebCore::RenderBox::imageChanged):
2735 (WebCore::RenderBox::repaintLayerRectsForImage):
2736 * rendering/RenderBox.h:
2737 Loop through background layers and mask layers, and
2738 if this image is used in a layer, compute a repaint
2740 * rendering/RenderImage.cpp:
2741 (WebCore::RenderImage::imageChanged):
2742 If this image has a mask, call the base class method.
2743 * rendering/RenderObject.cpp:
2744 Remove a bogus 'return'.
2746 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2748 Transforms create a containing block, so
2749 RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
2750 <https://bugs.webkit.org/show_bug.cgi?id=18886>
2752 Reviewed by Dave Hyatt
2754 Test: fast/transforms/transform-overflow.html
2756 * rendering/RenderLayer.cpp:
2757 (WebCore::RenderLayer::shouldBeOverflowOnly):
2759 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com>
2761 Reviewed by Oliver Hunt.
2763 bug 19835: WebKit needs cross-platform filter system
2764 <https://bugs.webkit.org/show_bug.cgi?id=19835>
2766 More class refactoring in preparation for cross-platform filter
2769 * WebCore.xcodeproj/project.pbxproj:
2770 * rendering/SVGRenderTreeAsText.h:
2771 (WebCore::operator<<):
2772 * svg/FilterEffect.cpp:
2773 (WebCore::FilterEffect::externalRepresentation):
2774 * svg/FilterEffect.h:
2775 * svg/SVGFEBlendElement.cpp:
2776 (WebCore::SVGFEBlendElement::build):
2777 * svg/SVGFEBlendElement.h:
2778 * svg/SVGFEColorMatrixElement.cpp:
2779 (WebCore::SVGFEColorMatrixElement::build):
2780 * svg/SVGFEColorMatrixElement.h:
2781 * svg/SVGFEComponentTransferElement.cpp:
2782 (WebCore::SVGFEComponentTransferElement::build):
2783 * svg/SVGFEComponentTransferElement.h:
2784 * svg/SVGFECompositeElement.cpp:
2785 (WebCore::SVGFECompositeElement::build):
2786 * svg/SVGFECompositeElement.h:
2787 * svg/SVGFEDiffuseLightingElement.cpp:
2788 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2789 (WebCore::SVGFEDiffuseLightingElement::build):
2790 (WebCore::SVGFEDiffuseLightingElement::findLights):
2791 * svg/SVGFEDiffuseLightingElement.h:
2792 * svg/SVGFEDisplacementMapElement.cpp:
2793 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2794 (WebCore::SVGFEDisplacementMapElement::stringToChannel):
2795 (WebCore::SVGFEDisplacementMapElement::filterEffect):
2796 (WebCore::SVGFEDisplacementMapElement::build):
2797 * svg/SVGFEDisplacementMapElement.h:
2798 * svg/SVGFEFloodElement.cpp:
2799 (WebCore::SVGFEFloodElement::filterEffect):
2800 (WebCore::SVGFEFloodElement::build):
2801 * svg/SVGFEFloodElement.h:
2802 (WebCore::SVGFEFloodElement::contextElement):
2803 * svg/SVGFEGaussianBlurElement.cpp:
2804 (WebCore::SVGFEGaussianBlurElement::filterEffect):
2805 (WebCore::SVGFEGaussianBlurElement::build):
2806 * svg/SVGFEGaussianBlurElement.h:
2807 * svg/SVGFEImageElement.cpp:
2808 (WebCore::SVGFEImageElement::filterEffect):
2809 (WebCore::SVGFEImageElement::build):
2810 * svg/SVGFEImageElement.h:
2811 * svg/SVGFEMergeElement.cpp:
2812 (WebCore::SVGFEMergeElement::filterEffect):
2813 (WebCore::SVGFEMergeElement::build):
2814 * svg/SVGFEMergeElement.h:
2815 (WebCore::SVGFEMergeElement::contextElement):
2816 * svg/SVGFEOffsetElement.cpp:
2817 (WebCore::SVGFEOffsetElement::filterEffect):
2818 (WebCore::SVGFEOffsetElement::build):
2819 * svg/SVGFEOffsetElement.h:
2820 * svg/SVGFESpecularLightingElement.cpp:
2821 (WebCore::SVGFESpecularLightingElement::filterEffect):
2822 (WebCore::SVGFESpecularLightingElement::findLights):
2823 (WebCore::SVGFESpecularLightingElement::build):
2824 * svg/SVGFESpecularLightingElement.h:
2825 * svg/SVGFETileElement.cpp:
2826 (WebCore::SVGFETileElement::filterEffect):
2827 (WebCore::SVGFETileElement::build):
2828 * svg/SVGFETileElement.h:
2829 * svg/SVGFETurbulenceElement.cpp:
2830 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2831 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2832 (WebCore::SVGFETurbulenceElement::filterEffect):
2833 (WebCore::SVGFETurbulenceElement::build):
2834 * svg/SVGFETurbulenceElement.h:
2835 * svg/SVGFilterPrimitiveStandardAttributes.h:
2836 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2837 (WebCore::FEConvolveMatrix::FEConvolveMatrix):
2838 (WebCore::FEConvolveMatrix::create):
2839 (WebCore::FEConvolveMatrix::kernelSize):
2840 (WebCore::FEConvolveMatrix::setKernelSize):
2841 (WebCore::FEConvolveMatrix::kernel):
2842 (WebCore::FEConvolveMatrix::setKernel):
2843 (WebCore::FEConvolveMatrix::divisor):
2844 (WebCore::FEConvolveMatrix::setDivisor):
2845 (WebCore::FEConvolveMatrix::bias):
2846 (WebCore::FEConvolveMatrix::setBias):
2847 (WebCore::FEConvolveMatrix::targetOffset):
2848 (WebCore::FEConvolveMatrix::setTargetOffset):
2849 (WebCore::FEConvolveMatrix::edgeMode):
2850 (WebCore::FEConvolveMatrix::setEdgeMode):
2851 (WebCore::FEConvolveMatrix::kernelUnitLength):
2852 (WebCore::FEConvolveMatrix::setKernelUnitLength):
2853 (WebCore::FEConvolveMatrix::preserveAlpha):
2854 (WebCore::FEConvolveMatrix::setPreserveAlpha):
2855 (WebCore::FEConvolveMatrix::apply):
2856 (WebCore::FEConvolveMatrix::dump):
2857 (WebCore::operator<<):
2858 (WebCore::FEConvolveMatrix::externalRepresentation):
2859 * svg/graphics/filters/SVGFEConvolveMatrix.h:
2861 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2862 (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2863 (WebCore::FEDiffuseLighting::create):
2864 (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
2865 (WebCore::FEDiffuseLighting::lightingColor):
2866 (WebCore::FEDiffuseLighting::setLightingColor):
2867 (WebCore::FEDiffuseLighting::surfaceScale):
2868 (WebCore::FEDiffuseLighting::setSurfaceScale):
2869 (WebCore::FEDiffuseLighting::diffuseConstant):
2870 (WebCore::FEDiffuseLighting::setDiffuseConstant):
2871 (WebCore::FEDiffuseLighting::kernelUnitLengthX):
2872 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2873 (WebCore::FEDiffuseLighting::kernelUnitLengthY):
2874 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2875 (WebCore::FEDiffuseLighting::lightSource):
2876 (WebCore::FEDiffuseLighting::setLightSource):
2877 (WebCore::FEDiffuseLighting::apply):
2878 (WebCore::FEDiffuseLighting::dump):
2879 (WebCore::FEDiffuseLighting::externalRepresentation):
2880 * svg/graphics/filters/SVGFEDiffuseLighting.h:
2881 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2882 (WebCore::FEDisplacementMap::FEDisplacementMap):
2883 (WebCore::FEDisplacementMap::create):
2884 (WebCore::FEDisplacementMap::xChannelSelector):
2885 (WebCore::FEDisplacementMap::setXChannelSelector):
2886 (WebCore::FEDisplacementMap::yChannelSelector):
2887 (WebCore::FEDisplacementMap::setYChannelSelector):
2888 (WebCore::FEDisplacementMap::scale):
2889 (WebCore::FEDisplacementMap::setScale):
2890 (WebCore::FEDisplacementMap::apply):
2891 (WebCore::FEDisplacementMap::dump):
2892 (WebCore::operator<<):
2893 (WebCore::FEDisplacementMap::externalRepresentation):
2894 * svg/graphics/filters/SVGFEDisplacementMap.h:
2896 * svg/graphics/filters/SVGFEFlood.cpp:
2897 (WebCore::FEFlood::FEFlood):
2898 (WebCore::FEFlood::create):
2899 (WebCore::FEFlood::floodColor):
2900 (WebCore::FEFlood::setFloodColor):
2901 (WebCore::FEFlood::floodOpacity):
2902 (WebCore::FEFlood::setFloodOpacity):
2903 (WebCore::FEFlood::apply):
2904 (WebCore::FEFlood::dump):
2905 (WebCore::FEFlood::externalRepresentation):
2906 * svg/graphics/filters/SVGFEFlood.h:
2907 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2908 (WebCore::FEGaussianBlur::FEGaussianBlur):
2909 (WebCore::FEGaussianBlur::create):
2910 (WebCore::FEGaussianBlur::stdDeviationX):
2911 (WebCore::FEGaussianBlur::setStdDeviationX):
2912 (WebCore::FEGaussianBlur::stdDeviationY):
2913 (WebCore::FEGaussianBlur::setStdDeviationY):
2914 (WebCore::FEGaussianBlur::apply):
2915 (WebCore::FEGaussianBlur::dump):
2916 (WebCore::FEGaussianBlur::externalRepresentation):
2917 * svg/graphics/filters/SVGFEGaussianBlur.h:
2918 * svg/graphics/filters/SVGFEImage.cpp:
2919 (WebCore::FEImage::FEImage):
2920 (WebCore::FEImage::create):
2921 (WebCore::FEImage::~FEImage):
2922 (WebCore::FEImage::cachedImage):
2923 (WebCore::FEImage::apply):
2924 (WebCore::FEImage::dump):
2925 (WebCore::FEImage::externalRepresentation):
2926 * svg/graphics/filters/SVGFEImage.h:
2927 * svg/graphics/filters/SVGFEMerge.cpp:
2928 (WebCore::FEMerge::FEMerge):
2929 (WebCore::FEMerge::create):
2930 (WebCore::FEMerge::mergeInputs):
2931 (WebCore::FEMerge::setMergeInputs):
2932 (WebCore::FEMerge::apply):
2933 (WebCore::FEMerge::dump):
2934 (WebCore::FEMerge::externalRepresentation):
2935 * svg/graphics/filters/SVGFEMerge.h:
2936 * svg/graphics/filters/SVGFEMorphology.cpp:
2937 (WebCore::FEMorphology::FEMorphology):
2938 (WebCore::FEMorphology::create):
2939 (WebCore::FEMorphology::morphologyOperator):
2940 (WebCore::FEMorphology::setMorphologyOperator):
2941 (WebCore::FEMorphology::radiusX):
2942 (WebCore::FEMorphology::setRadiusX):
2943 (WebCore::FEMorphology::radiusY):
2944 (WebCore::FEMorphology::setRadiusY):
2945 (WebCore::FEMorphology::apply):
2946 (WebCore::FEMorphology::dump):
2947 (WebCore::operator<<):
2948 (WebCore::FEMorphology::externalRepresentation):
2949 * svg/graphics/filters/SVGFEMorphology.h:
2951 * svg/graphics/filters/SVGFEOffset.cpp:
2952 (WebCore::FEOffset::FEOffset):
2953 (WebCore::FEOffset::create):
2954 (WebCore::FEOffset::dx):
2955 (WebCore::FEOffset::setDx):
2956 (WebCore::FEOffset::dy):
2957 (WebCore::FEOffset::setDy):
2958 (WebCore::FEOffset::apply):
2959 (WebCore::FEOffset::dump):
2960 (WebCore::FEOffset::externalRepresentation):
2961 * svg/graphics/filters/SVGFEOffset.h:
2962 * svg/graphics/filters/SVGFESpecularLighting.cpp:
2963 (WebCore::FESpecularLighting::FESpecularLighting):
2964 (WebCore::FESpecularLighting::create):
2965 (WebCore::FESpecularLighting::~FESpecularLighting):
2966 (WebCore::FESpecularLighting::lightingColor):
2967 (WebCore::FESpecularLighting::setLightingColor):
2968 (WebCore::FESpecularLighting::surfaceScale):
2969 (WebCore::FESpecularLighting::setSurfaceScale):
2970 (WebCore::FESpecularLighting::specularConstant):
2971 (WebCore::FESpecularLighting::setSpecularConstant):
2972 (WebCore::FESpecularLighting::specularExponent):
2973 (WebCore::FESpecularLighting::setSpecularExponent):
2974 (WebCore::FESpecularLighting::kernelUnitLengthX):
2975 (WebCore::FESpecularLighting::setKernelUnitLengthX):
2976 (WebCore::FESpecularLighting::kernelUnitLengthY):
2977 (WebCore::FESpecularLighting::setKernelUnitLengthY):
2978 (WebCore::FESpecularLighting::lightSource):
2979 (WebCore::FESpecularLighting::setLightSource):
2980 (WebCore::FESpecularLighting::apply):
2981 (WebCore::FESpecularLighting::dump):
2982 (WebCore::FESpecularLighting::externalRepresentation):
2983 * svg/graphics/filters/SVGFESpecularLighting.h:
2984 * svg/graphics/filters/SVGFETile.cpp:
2985 (WebCore::FETile::FETile):
2986 (WebCore::FETile::create):
2987 (WebCore::FETile::apply):
2988 (WebCore::FETile::dump):
2989 (WebCore::FETile::externalRepresentation):
2990 * svg/graphics/filters/SVGFETile.h:
2991 * svg/graphics/filters/SVGFETurbulence.cpp:
2992 (WebCore::FETurbulence::FETurbulence):
2993 (WebCore::FETurbulence::create):
2994 (WebCore::FETurbulence::type):
2995 (WebCore::FETurbulence::setType):
2996 (WebCore::FETurbulence::baseFrequencyY):
2997 (WebCore::FETurbulence::setBaseFrequencyY):
2998 (WebCore::FETurbulence::baseFrequencyX):
2999 (WebCore::FETurbulence::setBaseFrequencyX):
3000 (WebCore::FETurbulence::seed):
3001 (WebCore::FETurbulence::setSeed):
3002 (WebCore::FETurbulence::numOctaves):
3003 (WebCore::FETurbulence::setNumOctaves):
3004 (WebCore::FETurbulence::stitchTiles):
3005 (WebCore::FETurbulence::setStitchTiles):
3006 (WebCore::FETurbulence::apply):
3007 (WebCore::FETurbulence::dump):
3008 (WebCore::operator<<):
3009 (WebCore::FETurbulence::externalRepresentation):
3010 * svg/graphics/filters/SVGFETurbulence.h:
3012 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3013 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3014 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3015 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3016 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3017 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3018 (WebCore::getVectorForChannel):
3019 * svg/graphics/filters/cg/SVGFEImageCg.mm:
3020 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3021 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3022 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3023 * svg/graphics/filters/cg/SVGFETileCg.mm:
3025 2008-07-09 Mark Rowe <mrowe@apple.com>
3027 Reviewed by Geoff Garen.
3029 Don't warn about deprecated functions in production builds.
3031 * Configurations/Base.xcconfig:
3032 * Configurations/DebugRelease.xcconfig:
3034 2008-07-09 Brady Eidson <beidson@apple.com>
3038 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
3039 has been installed in a frame tree.
3041 The root of this problem was that calling init() on a new frame could end up calling arbitrary
3042 javascript that might end up removing the frame from the tree. This opened up a small can of worms
3043 such as the frame not having yet been installed in its frame tree, and other assumed behavior while
3044 destroying the frame.
3046 Test: fast/loader/frame-creation-removal.html
3048 * loader/FrameLoader.cpp:
3049 (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up
3050 the document and parser because they don't exist, and this frame is on its way out.
3051 (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?"
3052 because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be
3053 false if the Frame is being destroyed.
3055 2008-07-09 Dean Jackson <dino@apple.com>
3057 Changed to use the correct license in header comment (via Darin)
3059 * css/WebKitCSSTransformValue.idl:
3061 2008-07-09 Dean Jackson <dino@apple.com>
3063 Add DOM interface for WebKitCSSTransformValue.
3064 https://bugs.webkit.org/show_bug.cgi?id=19863
3068 * bindings/objc/DOMInternal.h:
3069 * css/WebKitCSSTransformValue.idl: Added.
3071 * bindings/scripts/CodeGeneratorObjC.pm:
3072 make sure new class inherits from CSSValue not Node
3074 * DerivedSources.make:
3077 * WebCore.vcproj/WebCore.vcproj:
3078 * WebCore.xcodeproj/project.pbxproj:
3079 * WebCoreSources.bkl:
3080 Adding new generated files
3082 2008-07-09 Maxime Britto <britto@apple.com>
3086 http://bugs.webkit.org/show_bug.cgi?id=14227
3087 Add the middle click panning feature to the windows release.
3088 Details on almost each method below.
3089 Manual test is included in the patch.
3092 * WebCore.vcproj/WebCore.vcproj:
3093 * manual-tests/panScroll.html: Added.
3094 * manual-tests/resources/big-page.html: Added.
3095 * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
3096 (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
3097 (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
3098 (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
3099 (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
3100 (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
3101 (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
3102 (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
3103 * page/EventHandler.h:
3104 (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
3105 (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
3106 * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
3107 * platform/gtk/ScrollViewGtk.cpp:
3108 (WebCore::ScrollView::isScrollable): Not implemented : returns true
3109 * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
3110 (WebCore::ScrollView::isScrollable):
3111 * platform/qt/ScrollViewQt.cpp:
3112 (WebCore::ScrollView::isScrollable): Not implemented : returns true
3113 * platform/win/ScrollViewWin.cpp:
3114 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
3115 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
3116 (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method
3117 (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
3118 (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
3119 (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
3120 (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
3121 (WebCore::ScrollView::paint): Modified to draw the icon if needed.
3122 * platform/wx/ScrollViewWx.cpp:
3123 (WebCore::ScrollView::isScrollable): Not implemented : returns true
3124 * rendering/RenderLayer.cpp:
3125 (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
3126 * rendering/RenderLayer.h:
3127 * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
3128 (WebCore::RenderListBox::panScroll):
3129 (WebCore::RenderListBox::scrollToward):
3130 (WebCore::RenderListBox::autoscroll):
3131 * rendering/RenderListBox.h:
3132 (WebCore::RenderListBox::shouldPanScroll):
3133 * rendering/RenderObject.cpp:
3134 (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
3135 (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
3136 * rendering/RenderObject.h:
3137 (WebCore::RenderObject::stopPanScroll):
3139 2008-07-09 Dean Jackson <dino@apple.com>
3141 Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
3142 the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
3143 https://bugs.webkit.org/show_bug.cgi?id=19861
3147 * css/CSSParser.cpp:
3148 * css/CSSStyleSelector.cpp:
3149 * css/CSSTransformValue.cpp: Removed.
3150 * css/CSSTransformValue.h: Removed.
3151 * css/CSSValueList.h:
3152 * css/WebKitCSSTransformValue.cpp: Added.
3153 * css/WebKitCSSTransformValue.h: Added.
3158 * WebCore.vcproj/WebCore.vcproj:
3159 * WebCore.xcodeproj/project.pbxproj:
3160 * WebCoreSources.bkl:
3161 updated for new file names
3164 2008-07-09 David Hyatt <hyatt@apple.com>
3166 Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
3167 change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
3172 * manual-tests/transitions.html:
3173 * manual-tests/transitions2.html:
3174 * page/AnimationController.cpp:
3175 (WebCore::ImplicitAnimation::reset):
3176 (WebCore::CompositeImplicitAnimation::animate):
3177 (WebCore::AnimationControllerPrivate::get):
3178 (WebCore::AnimationController::updateImplicitAnimations):
3180 2008-07-09 Michelangelo De Simone <m.des@mac.com>
3184 Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
3186 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3187 Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
3188 * dom/Node.h: Added base isTextControl().
3189 * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
3190 * html/HTMLTextAreaElement.h: Added isTextControl().
3192 2008-07-09 Rob Buis <buis@kde.org>
3196 https://bugs.webkit.org/show_bug.cgi?id=15431
3197 SVGRenderStyle should store pre-modified resource URIs
3199 Store pre-modified resource URIs to decrease string
3200 operations during layout/rendering.
3202 * css/SVGCSSStyleSelector.cpp:
3203 (WebCore::CSSStyleSelector::applySVGProperty):
3204 * rendering/RenderPath.cpp:
3205 (WebCore::RenderPath::absoluteClippedOverflowRect):
3206 (WebCore::RenderPath::drawMarkersIfNeeded):
3207 * rendering/RenderSVGContainer.cpp:
3208 (WebCore::RenderSVGContainer::selfWillPaint):
3209 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
3210 * rendering/RenderSVGImage.cpp:
3211 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3212 * rendering/RenderSVGRoot.cpp:
3213 (WebCore::RenderSVGRoot::paint):
3214 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
3215 * rendering/RenderSVGText.cpp:
3216 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
3217 * rendering/SVGRenderSupport.cpp:
3218 (WebCore::prepareToRenderSVGContent):
3220 2008-07-09 Anders Carlsson <andersca@apple.com>
3224 Remove an unused instance variable.
3226 * loader/DocumentLoader.h:
3228 2008-07-09 Dan Bernstein <mitz@apple.com>
3230 Reviewed by Anders Carlsson.
3232 - remove unused #includes
3234 * dom/XMLTokenizer.cpp:
3235 * html/PreloadScanner.cpp:
3236 * loader/CachedCSSStyleSheet.cpp:
3237 * loader/CachedScript.cpp:
3238 * loader/CachedXBLDocument.cpp:
3239 * loader/CachedXSLStyleSheet.cpp:
3240 * page/mac/FrameMac.mm:
3241 * xml/XSLTProcessor.cpp:
3243 2008-07-08 Geoffrey Garen <ggaren@apple.com>
3245 Reviewed by Oliver Hunt.
3247 Only artificially mark JS DOM wrappers if they have custom properties.
3249 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
3251 No, that is not a typo.
3253 * bindings/js/JSDOMBinding.cpp:
3254 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3256 2008-07-08 Kevin Watters <kevinwatters@gmail.com>
3258 Reviewed by Kevin Ollivier.
3260 Fix to previous patch for handling mouse up events.
3262 https://bugs.webkit.org/show_bug.cgi?id=18464
3264 * platform/wx/MouseEventWx.cpp:
3265 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3267 2008-07-08 Dan Bernstein <mitz@apple.com>
3269 Reviewed by Brady Eidson.
3271 - initialize the Archives log channel's state
3273 * platform/mac/LoggingMac.mm:
3274 (WebCore::InitializeLoggingChannelsIfNecessary):
3276 2008-07-08 Kevin McCullough <kmccullough@apple.com>
3278 Added manual test for the new heavy view.
3280 * manual-tests/inspector/profiler-test-heavy-view.html: Added.
3282 2008-07-08 Darin Adler <darin@apple.com>
3286 - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
3287 looks wrong due to OpenCube QuickMenu appVersion check
3289 * page/Navigator.cpp:
3290 (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
3292 2008-07-08 Dan Bernstein <mitz@apple.com>
3294 Reviewed by John Sullivan.
3296 - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
3298 Added a setting, updatesWhenOffscreen(), which controls whether an
3299 offscreen web view gets marked as needing update when its contents
3300 change (the existing behavior) or not (a new behavior), in which case it
3301 will be marked as needing update just before it goes on screen. The
3302 existing behavior (updating while offscreen) remains the default.
3304 * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
3305 * page/FrameView.cpp:
3306 (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
3307 value from settings.
3309 * page/Settings.cpp:
3310 (WebCore::Settings::setUpdatesWhenOffscreen): Added.
3312 (WebCore::Settings::updatesWhenOffscreen): Added.
3313 * platform/ScrollView.h:
3314 * platform/mac/ScrollViewMac.mm:
3315 (WebCore::ScrollView::updateContents): Added code to return early and
3316 not call -setNeedsDisplayInRect: if the view is not in a visible window
3317 and the setting is not to update when offscreen.
3319 2008-07-08 Simon Hausmann <hausmann@webkit.org>
3321 Fix the build with enabled SVG filters.
3323 * svg/SVGFESpecularLightingElement.cpp: The last argument to
3324 ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
3327 2008-07-07 Sam Weinig <sam@webkit.org>
3329 Reviewed by Anders Carlsson.
3331 Remove extraneous null check.
3334 (WebCore::Node::querySelector):
3335 (WebCore::Node::querySelectorAll):
3337 2008-07-07 Sam Weinig <sam@webkit.org>
3339 Reviewed by Anders Carlsson.
3341 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3342 Use of CSS3 Namespaces syntax in Selectors API should throw an exception
3344 - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
3345 used in a selector passed to querySelector or querySelectorAll.
3347 Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
3350 (WebCore::selectorNeedsNamespaceResolution):
3351 (WebCore::Node::querySelector):
3352 (WebCore::Node::querySelectorAll):
3354 2008-07-07 Simon Fraser <simon.fraser@apple.com>
3358 Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
3359 nodeIterator with filter fails on documents not in a frame
3361 Tests: traversal/node-iterator-009.html
3362 traversal/tree-walker-006.html
3364 * bindings/js/JSNodeFilterCondition.cpp:
3365 * bindings/js/JSNodeFilterCondition.h:
3366 * bindings/js/JSNodeFilterCustom.cpp:
3367 * bindings/js/JSNodeIteratorCustom.cpp:
3368 * bindings/js/JSTreeWalkerCustom.cpp:
3369 * bindings/objc/DOM.mm:
3370 * dom/NodeFilter.cpp:
3372 * dom/NodeFilterCondition.cpp:
3373 * dom/NodeFilterCondition.h:
3374 * dom/NodeIterator.cpp:
3375 * dom/NodeIterator.h:
3376 * dom/Traversal.cpp:
3378 * dom/TreeWalker.cpp:
3381 2008-07-07 Adele Peterson <adele@apple.com>
3383 Reviewed by Dan Bernstein.
3385 Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
3386 <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
3388 * page/DragController.cpp: (WebCore::DragController::concludeDrag):
3389 Check that the file control is enabled before taking dropped files.
3391 2008-07-07 Adele Peterson <adele@apple.com>
3395 Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
3397 Change default volume setting to 1.0.
3399 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
3400 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
3402 2008-07-07 Darin Adler <darin@apple.com>
3404 Reviewed by Mark Rowe.
3406 - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
3408 The old version of the OpenCube QuickMenu library used on this site still has code
3409 that detects Netscape 4 by checking appVersion to see if it has the substring "4."
3410 in it. We decided to special-case the filename of the script and tweak the appVersion
3411 for files with that name.
3413 * bindings/js/ScriptController.cpp:
3414 (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
3415 m_sourceURL. Use false instead of 0 to initialize a boolean.
3416 (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
3417 Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
3418 maintained the value of m_processingInlineCode, since the old code set it to
3419 false rather than restoring it. Renamed a local variable named sourceURL to
3420 exceptionSourceURL for clarity.
3421 (WebCore::ScriptController::processingUserGesture): Code that formerly used
3422 m_processingInlineCode to detect that it was evaluating code with no URL now
3423 uses m_sourceURL to do the same check.
3425 * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
3426 been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
3427 removed m_processingInlineCode.
3429 * page/Navigator.cpp:
3430 (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
3431 a source URL ending in "/dqm_script.js" and if the settings say we should do
3432 site-specific quirks (really JavaScript-library-specific in this case).
3433 (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
3435 2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
3439 Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
3440 <https://bugs.webkit.org/show_bug.cgi?id=19907>
3442 Clear exceptions set on ExecStates before returning from NPAPI
3443 callbacks, in order to avoid causing problems for the next script that
3446 While fixing this bug, the question was raised of whether we are
3447 correctly propagating exception information back to the caller:
3449 Bug 19936: Correctly propagate exception information from NPAPI callbacks
3450 <https://bugs.webkit.org/show_bug.cgi?id=19936>
3452 * bridge/NP_jsobject.cpp:
3453 (_NPN_InvokeDefault):
3458 (_NPN_RemoveProperty):
3463 2008-07-07 Dan Bernstein <mitz@apple.com>
3465 Reviewed by Darin Adler.
3467 - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
3469 * css/CSSFontFaceSource.cpp:
3470 (WebCore::CSSFontFaceSource::getFontData): Added a null check because
3471 docLoader() can return 0 now.
3472 * css/CSSFontSelector.cpp:
3473 (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
3474 (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
3475 (WebCore::CSSFontSelector::fontLoaded): Ditto.
3476 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
3477 (WebCore::fontDataForGenericFamily): Added a null check of document.
3478 * css/CSSFontSelector.h:
3479 (WebCore::CSSFontSelector::clearDocument): Added.
3480 * css/CSSStyleSelector.cpp:
3481 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
3482 CSSFontSelector::clearDocument(). When the style selector is destroyed,
3483 there is no guarantee that the document will continue to exist.
3485 2008-07-07 Julien Chaffraix <jchaffraix@webkit.org>
3491 * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
3492 * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
3494 2008-07-07 Michelangelo De Simone <m.des@mac.com>
3498 Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
3500 URL: http://www.w3.org/TR/web-forms-2/#relation
3502 Tests: fast/css/readonly-pseudoclass-opera-001.html
3503 fast/css/readonly-pseudoclass-opera-002.html
3504 fast/css/readonly-pseudoclass-opera-003.html
3505 fast/css/readonly-pseudoclass-opera-004.html
3506 fast/css/readonly-pseudoclass-opera-005.html
3508 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3509 Added "read-only" and "read-write" values for PseudoType extraction.
3510 * css/CSSSelector.h: (WebCore::CSSSelector::):
3511 Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
3512 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3513 Checks to determine whether to match :read-only and :read-write pseudoclasses on
3516 2008-07-07 Sam Weinig <sam@webkit.org>
3518 Reviewed by Geoffrey Garen.
3520 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3521 querySelectorAll should throw an exception if a NSResolver is passed in.
3523 - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
3524 as the second argument to querySelector or querySelectorAll.
3526 Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
3528 * bindings/js/JSDocumentCustom.cpp:
3529 (WebCore::JSDocument::querySelector):
3530 (WebCore::JSDocument::querySelectorAll):
3531 * bindings/js/JSElementCustom.cpp:
3532 (WebCore::JSElement::querySelector):
3533 (WebCore::JSElement::querySelectorAll):
3537 2008-07-07 Brady Eidson <beidson@apple.com>
3539 Reviewed by Mitz and Geoff
3541 Test: fast/loader/empty-ref-versus-no-ref.html
3543 Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
3544 "all DOM operations stop working when location.hash set to '#'"
3546 The underlying problem is that KURL didn't really know the difference between "empty ref"
3547 and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up
3548 affecting removal of the ref, which ended up causing an infinite load load, also killing
3551 * platform/KURL.cpp:
3552 (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special
3553 meaning of "no ref at all" while empty means "empty ref"
3555 2008-07-07 Kevin McCullough <kmccullough@apple.com>
3559 Because profiler.h no longer #includes profile.h we need to explicitly
3560 include it in console.cpp.
3564 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3566 Not reviewed. Build fix.
3568 Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
3570 * svg/SVGFEColorMatrixElement.cpp:
3571 * svg/SVGFEDiffuseLightingElement.cpp:
3572 * svg/SVGFEImageElement.cpp:
3573 * svg/SVGFELightElement.cpp:
3574 * svg/SVGFESpecularLightingElement.cpp:
3576 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3580 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)