1 2008-07-25 Simon Hausmann <hausmann@webkit.org>
3 Fix linking of QtWebKit against the statically built JavaScriptCore
4 library, under Windows/Mac we may need _d/_debug suffixes.
8 2008-07-25 Simon Hausmann <hausmann@webkit.org>
10 Rubber-stamped by Lars.
12 Fix the Qt build by adapting to the latest ArgList API changes and
13 replacing the inclusion of npapi.h in MainThreadScheduler with a forward
14 declaration of NPP to avoid an include conflict. npapi.h on X11 includes
15 X headers, which include wonderful defines such as "#define Status" that
18 * bridge/qt/qt_runtime.cpp:
19 (KJS::Bindings::findMethodIndex):
20 (KJS::Bindings::QtRuntimeConnectionMethod::call):
21 * plugins/PluginMainThreadScheduler.h:
23 2008-07-25 Simon Hausmann <hausmann@webkit.org>
25 Discussed with and rubber-stamped by Lars.
27 Fix the build system for the Qt port.
29 Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
30 include search path. With a build process that combines JavaScriptCore and
31 WebCore in one build process/Makefile the existance of
32 JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
34 This commit solves this by introducing a separate build of JavaScriptCore into
37 As a result of the split-up a race-condition due to broken dependencies of
38 regular source files to header files of generated sources showed up very
39 frequently when doing parallel builds (which the buildbot does). This commit at
40 the same time tries to address the dependency problem by making the
41 addExtraCompiler() function also generate a pseudo extra compiler that
42 represents the header file output, so that qmake is aware of the creation of
43 the header file for dependency calculation.
45 At the same time I removed a lot of cruft from the pro files to ease maintenance.
49 2008-07-24 kevino <kevino@theolliviers.com>
51 wx build fix on Win for plugins coode.
53 * plugins/PluginDatabase.cpp:
54 * plugins/PluginView.cpp:
55 (WebCore::PluginView::PluginView):
56 * plugins/PluginView.h:
58 2008-07-24 Sam Weinig <sam@webkit.org>
60 Reviewed by Anders Carlsson.
62 Make isElementNode() non-virtual for a speedup on many benchmarks
63 including 20% on http://ejohn.org/apps/fragment/.
65 - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in
66 Element and Attr where space was available. Use the new free bit
67 to represent if an node is an element or not.
70 (WebCore::Attr::Attr):
72 (WebCore::Attr::specified):
73 (WebCore::Attr::setSpecified):
74 * dom/ContainerNode.cpp:
75 (WebCore::ContainerNode::ContainerNode):
76 * dom/ContainerNode.h:
78 (WebCore::Element::Element):
80 (WebCore::Element::hasRareData):
81 (WebCore::Element::setHasRareData):
82 * dom/EventTargetNode.cpp:
83 (WebCore::EventTargetNode::EventTargetNode):
84 * dom/EventTargetNode.h:
86 (WebCore::Node::Node):
88 (WebCore::Node::isElementNode):
90 2008-07-24 Dan Bernstein <mitz@apple.com>
92 Reviewed by Dave Hyatt.
94 - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
96 Not testable in DumpRenderTree
98 * rendering/RenderView.cpp:
99 (WebCore::RenderView::layout): Ensured that all children with percentage
100 heights get laid out again if the height changes.
102 2008-07-24 kevino <kevino@theolliviers.com>
104 Windows build fix for wx. wx doesn't implement pan scrolling yet.
106 * page/EventHandler.cpp:
107 (WebCore::EventHandler::handleAutoscroll):
108 (WebCore::EventHandler::autoscrollTimerFired):
109 (WebCore::EventHandler::stopAutoscrollTimer):
110 (WebCore::EventHandler::handleMousePressEvent):
112 2008-07-24 David Hyatt <hyatt@apple.com>
114 Fix for bug 18673, crash when using full page zoom on generated content. Don't call
115 intrinsicSizeChanged when we are first setting our style.
120 * rendering/RenderReplaced.cpp:
121 (WebCore::RenderReplaced::setStyle):
123 2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
127 Bug 20053: .in files should use a custom format instead of XML
129 - Remove our XML parser perl module (XML::Tiny)
131 - Add a custom perl parser
133 - Move XML files to the new format
135 * bindings/scripts/InFilesParser.pm: Added.
136 * bindings/scripts/XMLTiny.pm: Removed.
137 * dom/make_names.pl: Switched to our new
140 * html/HTMLAttributeNames.in: Switched to
142 * html/HTMLTagNames.in: Ditto.
143 * svg/svgattrs.in: Ditto.
144 * svg/svgtags.in: Ditto.
145 * svg/xlinkattrs.in: Ditto.
146 * xml/xmlattrs.in: Ditto.
148 2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
152 Bug 19588: CRASH doing open() on destroyed window
153 https://bugs.webkit.org/show_bug.cgi?id=19588
155 Add frame's page null check as it could have been
156 detached from the page.
158 Test: fast/frames/crash-removed-iframe.html
160 * bindings/js/JSDOMWindowBase.cpp:
161 (WebCore::windowProtoFuncOpen):
162 * page/FrameTree.cpp:
163 (WebCore::FrameTree::find):
165 2008-07-23 Dan Bernstein <mitz@apple.com>
167 Reviewed by Alexey Proskuryakov.
169 - fix a leak when using hex color values in CSS variables
171 - fix CSSOM access to hex color values in variables declarations
173 Test: fast/css/variables/color-hex-test.html
175 Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
176 CSSParserValues coming from colors in hex notation. CSSParserValues can
177 no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
178 used as the type for CSSValues in CSS variables declarations where the
179 parser value was a hex color. However the type of all other color
180 CSSValues remains CSS_RGBCOLOR.
182 * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
183 for color values in hex notation.
185 (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
186 * css/CSSParserValues.cpp:
187 (WebCore::CSSParserValue::createCSSValue): Ditto.
188 * css/CSSPrimitiveValue.cpp:
189 (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
190 string containing the color.
191 (WebCore::CSSPrimitiveValue::cssText): Added support for
192 CSS_PARSER_HEXCOLOR for when serializing variable values.
193 (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
194 * css/CSSPrimitiveValue.h:
195 (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
197 2008-07-23 Beth Dakin <bdakin@apple.com>
199 Reviewed by Dan Bernstein.
201 Fix for <rdar://problem/5997215> display: table-row-group
202 for :before content causes a crash
204 The actual bug fix here is to ddd the generated content container
205 as a child before adding any of the generated content to the
206 container. There are two correctness fixes as well that deal with
207 style changes and correctly.
209 This patch also makes Node::diff() a static function.
212 (WebCore::Node::diff):
215 (WebCore::Node::recalcStyle):
216 * rendering/RenderContainer.cpp:
217 (WebCore::findBeforeAfterParent):
218 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
219 * svg/SVGUseElement.cpp:
220 (WebCore::SVGUseElement::recalcStyle):
222 2008-07-23 Timothy Hatcher <timothy@apple.com>
224 Updates the elements DOM tree when nodes are added or removed from
225 the inspected document.
227 https://bugs.webkit.org/show_bug.cgi?id=6590
228 <rdar://problem/5712921>
230 Reviewed by Adam Roben.
232 * loader/FrameLoader.cpp:
233 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
234 InspectorController::inspectedWindowScriptObjectCleared.
235 * page/InspectorController.cpp:
236 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
237 Calls the WebInspector.inspectedWindowCleared script function.
238 * page/InspectorController.h:
239 * page/inspector/ElementsPanel.js:
240 (WebInspector.ElementsPanel): Create the event listener callback wrappers.
241 (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
242 there are any recently modified nodes.
243 (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
244 Adds a check for InspectorController.isWindowVisible to prevent adding
245 event listeners when the window isn't visible.
246 (WebInspector.ElementsPanel.prototype.inspectedWindowCleared):
247 (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
248 DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
249 (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
250 added in _addMutationEventListeners.
251 (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
252 again to reinstate the listners if the document changed or window cleared them.
253 (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
254 _mutationMonitoredWindows and call _addMutationEventListeners.
255 (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
256 _mutationMonitoredWindows and call _removeMutationEventListeners.
257 (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
258 _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
259 clear _mutationMonitoredWindows.
260 (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
261 to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
262 (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
263 (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
264 (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
265 _updateModifiedNodes on a zero timeout.
266 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
267 the recentlyModifiedNodes array and call updateChildren on all the parent
268 elements that had changes. Only calls updateChildren once per parent element.
269 (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
270 false if the nodes are the same. Return true if the nodes are the same while
271 looking at ancestor frame elements. THis use to return false, which was incorrect.
272 (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
273 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
274 onpopulate and changed to rebuild the children elements by adding new children,
275 moving existing children and removed old children.
276 (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
277 call registerMutationEventListeners to track any mutations.
278 * page/inspector/inspector.js:
279 (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
280 * page/inspector/treeoutline.js:
281 (TreeElement.prototype.get hasChildren): Return _hasChildren.
282 (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
283 (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
284 (TreeElement.prototype.expand): Fix an exception that can happen if expand is
285 called before _attach.
286 * WebCore/manual-tests/inspector/dom-mutation.html: Added.
287 * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
288 * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
290 2008-07-22 Timothy Hatcher <timothy@apple.com>
292 Fix an exception that occurred when double clicking the closing tag
293 of an element in the DOM tree.
295 Reviewed by Anders Carlsson.
297 * page/inspector/ElementsPanel.js:
298 (WebInspector.ElementsPanel.prototype._ondblclick): Null check
301 2008-07-22 Timothy Hatcher <timothy@apple.com>
303 Fix a regression where elements in subframes would not be revealed
304 or selected when inspected from the context menu. This was caused by
305 JavaScript equality is not being true for JSInspectedObjectWrappers
306 of the same node wrapped with different global ExecStates. This change
307 adds a helper function that uses isSameNode to compare wrapped nodes.
309 https://bugs.webkit.org/show_bug.cgi?id=19377
311 Reviewed by Adam Roben.
313 * page/inspector/ElementsPanel.js:
314 (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
316 (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
317 (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto.
318 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
319 (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
320 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
321 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
322 * page/inspector/treeoutline.js:
323 (TreeOutline.prototype.findTreeElement): Add an equal argument
324 to accept a functions to compare two representedObjects. Defaults
325 to strict equal if not supplied. All current clients pass objectsAreSame.
326 * page/inspector/utilities.js:
327 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
329 (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
330 (Element.prototype.query): Use the ownerDocument of the node, not document.
331 (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
332 it exists on both objects.
333 (isAncestorNode): Use objectsAreSame to compare nodes.
334 (firstCommonNodeAncestor): Ditto.
335 (traverseNextNode): Ditto.
337 2008-07-21 Timothy Hatcher <timothy@apple.com>
339 Added InspectorController.isWindowVisible to the JavaScript class
340 for use in an upcoming change. This will allow the Inspector to not
341 perform selective actions while the window is hidden.
343 Reviewed by Adam Roben.
345 * page/InspectorController.cpp:
346 (WebCore::isWindowVisible): Call InspectorController::windowVisible.
347 (WebCore::InspectorController::windowScriptObjectAvailable): Add
348 the isWindowVisible function to the JavaScript class.
350 2008-07-21 Timothy Hatcher <timothy@apple.com>
352 Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
353 for efficiency of callers that know the index of the child. This
354 will be used in an upcoming change.
356 Reviewed by Adam Roben.
358 * page/inspector/treeoutline.js:
359 (TreeOutline._removeChildAtIndex): Renamed from _removeChild
360 and modified to take an index.
361 (TreeOutline._removeChild): Call _removeChildAtIndex with the
362 child index found using indexOf.
363 (TreeOutline.prototype.removeChildAtIndex): Added. Calls
364 TreeOutline._removeChildAtIndex.
365 (TreeElement.prototype.removeChildAtIndex): Ditto.
367 2008-07-21 Timothy Hatcher <timothy@apple.com>
369 Fixes a regression where TreeOutline.findTreeElement would
370 return the parent TreeElement of the representedObject instead
371 of the TreeElement for the representedObject. Regressed with the
374 Reviewed by Adam Roben.
376 * page/inspector/treeoutline.js:
377 (TreeOutline.prototype.findTreeElement): When performing a slow search,
378 do a final search for representedObject instead of returning item, which
379 is the parent of representedObject.
381 2008-07-23 Adele Peterson <adele@apple.com>
385 WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
387 * WebCore.base.exp: Added symbols.
389 (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
390 (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
391 * page/ChromeClient.h:
393 (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
394 (WebCore::Settings::setShouldPaintCustomScrollbars):
395 * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
396 * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
397 * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
398 * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
399 * platform/win/PlatformScrollBarSafari.cpp:
400 (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
401 (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
402 (WebCore::ScrollbarControlStateFromThemeState): ditto.
403 (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
404 Added new code to paint the custom scrollbars if necessary.
405 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
407 2008-07-23 Sam Weinig <sam@webkit.org>
409 Reviewed by Anders Carlsson.
411 Cleanup and pack the member variables in Node.
413 * bindings/js/JSNodeCustom.cpp:
414 (WebCore::JSNode::mark):
416 (WebCore::Attr::Attr):
418 (WebCore::Attr::specified):
419 (WebCore::Attr::setSpecified):
420 * dom/ContainerNode.cpp:
421 (WebCore::ContainerNode::setFocus):
423 (WebCore::Document::adoptNode):
425 (WebCore::Element::~Element):
426 (WebCore::Element::rareData):
427 (WebCore::Element::createRareData):
429 (WebCore::Element::hasRareData):
430 (WebCore::Element::setHasRareData):
432 (WebCore::Node::setIsLink):
433 (WebCore::Node::inSubtreeMark):
434 (WebCore::Node::setInSubtreeMark):
435 (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
436 (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
437 * html/HTMLAnchorElement.cpp:
438 (WebCore::HTMLAnchorElement::supportsFocus):
439 (WebCore::HTMLAnchorElement::isFocusable):
440 (WebCore::HTMLAnchorElement::defaultEventHandler):
441 (WebCore::HTMLAnchorElement::parseMappedAttribute):
442 (WebCore::HTMLAnchorElement::isLiveLink):
443 * html/HTMLImageElement.cpp:
444 (WebCore::HTMLImageElement::parseMappedAttribute):
445 * html/HTMLInputElement.cpp:
446 (WebCore::HTMLInputElement::setInputType):
447 * html/HTMLTableElement.cpp:
448 (WebCore::HTMLTableElement::attach):
449 * svg/SVGAElement.cpp:
450 (WebCore::SVGAElement::svgAttributeChanged):
451 (WebCore::SVGAElement::defaultEventHandler):
453 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
457 Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
459 Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
461 * platform/graphics/win/QTMovieWin.cpp:
462 (QTMovieWinPrivate::QTMovieWinPrivate):
463 (QTMovieWinPrivate::~QTMovieWinPrivate):
464 (QTMovieWinPrivate::task):
465 (QTMovieWinPrivate::createMovieController):
466 (QTMovieWinPrivate::createGWorld):
467 (QTMovieWinPrivate::setSize):
468 (QTMovieWinPrivate::deleteGWorld):
471 (QTMovieWin::setRate):
472 (QTMovieWin::setCurrentTime):
475 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
479 Added a debug mode for viewing frames per second for videos. This is controlled by two
480 independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
481 Unless either flags is turned on there is no change to the code for video frame drawing.
483 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
484 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
485 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
486 (WebCore::MediaPlayerPrivate::play):
487 (WebCore::MediaPlayerPrivate::pause):
488 (WebCore::MediaPlayerPrivate::didEnd):
489 (WebCore::MediaPlayerPrivate::repaint):
490 (WebCore::MediaPlayerPrivate::paint):
491 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
492 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
493 (WebCore::MediaPlayerPrivate::play):
494 (WebCore::MediaPlayerPrivate::pause):
495 (WebCore::MediaPlayerPrivate::didEnd):
496 (WebCore::MediaPlayerPrivate::paint):
497 (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
498 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
500 2008-07-23 Adele Peterson <adele@apple.com>
504 Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
506 * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
507 Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
508 * platform/graphics/GraphicsContext.h:
509 (WebCore::): Added InterpolationQuality enum.
510 (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
511 The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
512 (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
513 * platform/graphics/cg/GraphicsContextCG.cpp:
514 (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
515 (WebCore::GraphicsContext::imageInterpolationQuality): Added.
516 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
517 Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
519 2008-07-23 Sam Weinig <sam@webkit.org>
521 Reviewed by Anders Carlsson.
523 Remove extraneous allocations by using equalIgnoringCase rather than
526 * dom/StyledElement.cpp:
527 (WebCore::StyledElement::addCSSColor):
528 * html/HTMLCollection.cpp:
529 (WebCore::HTMLCollection::checkForNameMatch):
530 * html/HTMLFormCollection.cpp:
531 (WebCore::HTMLFormCollection::getNamedFormItem):
532 * html/HTMLLinkElement.cpp:
533 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
534 * html/HTMLObjectElement.cpp:
535 (WebCore::HTMLObjectElement::containsJavaApplet):
536 * html/PreloadScanner.cpp:
537 (WebCore::PreloadScanner::emitCSSRule):
538 * loader/FrameLoader.cpp:
539 (WebCore::FrameLoader::createJavaAppletWidget):
540 * page/DOMSelection.cpp:
541 (WebCore::DOMSelection::modify):
542 * rendering/RenderPartObject.cpp:
543 (WebCore::RenderPartObject::updateWidget):
545 2008-07-23 Maxime Britto <britto@apple.com>
547 Reviewed by Adam Roben.
549 <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
550 Add a check for the m_page member value before asking for page()->mainFrame()
552 * page/EventHandler.cpp:
553 (WebCore::EventHandler::stopAutoscrollTimer):
555 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
559 Fix for <rdar://problem/5710065> QT movies should be inactive when opened
561 Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
562 until after movie tracks of unsupported types have been disabled, to make sure they never draw.
564 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
565 (WebCore::MediaPlayerPrivate::load):
566 (WebCore::MediaPlayerPrivate::updateStates):
567 (WebCore::MediaPlayerPrivate::setVisible):
569 2008-07-22 Maxime Britto <britto@apple.com>
571 Reviewed by John Sullivan.
573 <rdar://problem/6083116>
574 When pan-scrolling, Back then Forward causes pan-scrolling to start again
577 (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
578 * loader/FrameLoader.cpp:
579 (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.
581 2008-07-22 Geoffrey Garen <ggaren@apple.com>
583 Reviewed by Oliver Hunt and Sam Weinig.
585 Next step toward putting doubles in registers: Prepare the Register class
586 and its clients for registers that don't contain JSValue*s.
588 2008-07-22 Sam Weinig <sam@webkit.org>
590 Reviewed by Mark Rowe.
592 <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
593 Add additional support for JPEG and GIF for toDataURL encoding canvases.
595 * platform/MIMETypeRegistry.cpp:
596 (WebCore::initializeSupportedImageMIMETypesForEncoding):
597 * platform/graphics/cg/ImageBufferCG.cpp:
598 (WebCore::utiFromMIMEType):
600 2008-07-22 Chris Fleizach <cfleizach@apple.com>
602 Reviewed by Dave Hyatt.
604 <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
605 Test: accessibility/internal-link-anchors2.html
607 * page/AccessibilityRenderObject.cpp:
608 (WebCore::AccessibilityRenderObject::internalLinkElement):
610 2008-07-22 Anders Carlsson <andersca@apple.com>
614 Allocate the empty StringImpl from the heap.
616 * platform/text/StringImpl.cpp:
617 (WebCore::StringImpl::empty):
619 2008-07-21 Kevin McCullough <kmccullough@apple.com>
623 <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
625 - Implement UI for Heavy (Bottom Up) view.
627 * English.lproj/localizedStrings.js:
628 * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
629 profile from a profile to the Web Inspector's JavaScript.
630 (WebCore::getHeavyProfileCallback):
631 (WebCore::getTreeProfileCallback):
632 (WebCore::ProfileClass):
633 * page/inspector/ProfileView.js: Implement the dropdown for changing
635 * page/inspector/inspector.css:
637 2008-07-22 Alexey Proskuryakov <ap@webkit.org>
639 Reviewed by Adam Roben.
641 <rdar://problem/5955602> WebKit should support charset name x-windows-949
643 Test: fast/encoding/char-decoding.html
645 * platform/text/TextCodecICU.cpp:
646 (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
647 Firefox compatibility.
649 2008-07-22 Gavin Barraclough <barraclough@apple.com>
651 Reviewed by Alexey Proskuryakov.
653 New test to check that arrays fail gracefully (throw an out of memory exception)
654 when the vector grows to large.
656 * manual-tests/array-out-of-memory.html: Added.
658 2008-07-21 Alexey Proskuryakov <ap@webkit.org>
660 Reviewed by Dan Bernstein.
662 https://bugs.webkit.org/show_bug.cgi?id=20117
663 setBaseAndExtent fails to reverse the current selection
665 Test: editing/selection/setBaseAndExtent-revert-selection.html
667 * editing/Selection.h: (WebCore::operator==): Compare direction, too.
669 2008-07-21 Julien Chaffraix <jchaffraix@webkit.org>
671 Reviewed by Sam Weinig.
673 Bug 19919: Add selectors' string parsing in CSSParser
674 https://bugs.webkit.org/show_bug.cgi?id=19919
676 No functional change.
678 * css/CSSGrammar.y: Added entry for parsing only a selector.
680 (WebCore::CSSParser::CSSParser):
681 (WebCore::CSSParser::parseSelector):
682 * css/CSSParser.h: Added m_floatingSelector to hold the
683 Selector parsed in parseSelector.
685 * css/tokenizer.flex: Added "@-webkit-selector" token.
687 (WebCore::Node::querySelector):
688 (WebCore::Node::querySelectorAll): Switched to parseSelector
691 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
695 Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
697 * platform/graphics/win/QTMovieWin.cpp:
698 (initializeSupportedTypes): Do a Quicktime version minimum version check.
699 (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
701 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
705 Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
707 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
708 so that everything starts back up normally when the page is retrieved from the cache.
710 2008-07-21 Sam Weinig <sam@webkit.org>
712 Reviewed by Mark Rowe.
714 Remove unused interface declaration.
716 * platform/network/mac/ResourceHandleMac.mm:
718 2008-07-21 Mark Rowe <mrowe@apple.com>
720 Reviewed by Sam Weinig.
722 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
724 * Configurations/Version.xcconfig:
727 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
731 Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
733 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
734 * platform/graphics/MediaPlayer.h:
735 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
736 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
738 2008-07-21 Anders Carlsson <andersca@apple.com>
742 Don't allow requests to be made when the document loader is stopping all loaders.
744 * plugins/PluginView.cpp:
745 (WebCore::PluginView::load):
747 2008-07-20 Maxime Britto <britto@apple.com>
749 Reviewed by John Sullivan.
751 [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
752 Accelerate and enhance the smoothness of the pan scrollling.
754 * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
755 * rendering/RenderLayer.cpp:
756 (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.
758 2008-07-18 David Hyatt <hyatt@apple.com>
760 Change the cached clip rects to not assume they should be infinite when the root layer has been
761 shifted as the result of a transformation.
765 Added fast/transforms/overflow-with-transform.html
767 * rendering/RenderLayer.cpp:
768 (WebCore::RenderLayer::calculateClipRects):
770 2008-07-21 Rob Buis <buis@kde.org>
774 https://bugs.webkit.org/show_bug.cgi?id=19966
775 CSS variables crash when using hex notation for colors
777 Support hex colors as values for the css variables.
779 Test: fast/css/variables/color-hex-test.html
781 * css/CSSParserValues.cpp:
782 (WebCore::CSSParserValue::createCSSValue):
783 * css/CSSPrimitiveValue.cpp:
784 (WebCore::CSSPrimitiveValue::parserValue):
785 * css/CSSVariablesRule.cpp:
787 2008-07-21 Simon Hausmann <hausmann@webkit.org>
791 Fix drawing of windowless plugins on Windows with the Qt port by
792 avoiding the reset of the translation of the HDC to 0, 0.
794 * plugins/win/PluginViewWin.cpp:
795 (WebCore::PluginView::paint):
797 2008-07-21 Simon Hausmann <hausmann@webkit.org>
801 Fix rendering of transparent windowless netscape plugins by passing
802 the right conversion parameter to QPixmap::fromWinHBITMAP when
803 converting from HBITMAP to QPixmap.
805 * platform/graphics/qt/GraphicsContextQt.cpp:
806 (WebCore::GraphicsContext::releaseWindowsContext):
808 2008-07-21 Simon Hausmann <hausmann@webkit.org>
812 In the implementation of getValue for NPNVnetscapeWindow treat
813 windowHandleForPlatformWidget on the return value of
814 containingWindow() to receive the correct HWND for the Qt port.
816 * plugins/win/PluginViewWin.cpp:
817 (WebCore::PluginView::getValue):
819 2008-07-21 Simon Hausmann <hausmann@webkit.org>
823 Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
824 a QWidget. This can happen on page/view destruction for example.
826 * plugins/win/PluginViewWin.cpp:
827 (windowHandleForPlatformWidget):
829 2008-07-20 Steve Falkenburg <sfalken@apple.com>
831 Touch file to force rebuild for vsprops change.
835 2008-07-20 Sam Weinig <sam@webkit.org>
837 Remove extra space Oliver Hunt left in.
840 (WebCore::Console::reportException):
841 (WebCore::Console::reportCurrentException):
843 2008-07-20 Oliver Hunt <oliver@apple.com>
845 Reviewed by Dan Bernstein.
847 Bug 19757: Crash when an ondragstart handler hides the element
848 <https://bugs.webkit.org/show_bug.cgi?id=19757>
850 The solution to this is problem is just to null check the renderer
851 immediately before launching the system drag, and terminate the
852 drag if the renderer is gone.
854 * page/EventHandler.cpp:
855 (WebCore::EventHandler::handleDrag):
857 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
861 Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
863 Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
864 Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
866 * svg/SVGPointList.cpp:
867 (WebCore::SVGPointList::valueAsString):
868 * svg/SVGPointList.h:
869 (WebCore::SVGPointList::create):
870 * svg/SVGPolyElement.cpp:
871 (WebCore::SVGPolyElement::SVGPolyElement):
872 (WebCore::SVGPolyElement::svgAttributeChanged):
873 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
874 * svg/SVGPolyElement.h:
876 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
880 Cleanup JSSVGPODTypeWrapper code.
882 Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
883 JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper
884 JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache
886 No functional changes.
888 * bindings/js/JSSVGMatrixCustom.cpp:
889 (WebCore::JSSVGMatrix::multiply):
890 (WebCore::JSSVGMatrix::inverse):
891 (WebCore::JSSVGMatrix::translate):
892 (WebCore::JSSVGMatrix::scale):
893 (WebCore::JSSVGMatrix::scaleNonUniform):
894 (WebCore::JSSVGMatrix::rotate):
895 (WebCore::JSSVGMatrix::rotateFromVector):
896 (WebCore::JSSVGMatrix::flipX):
897 (WebCore::JSSVGMatrix::flipY):
898 (WebCore::JSSVGMatrix::skewX):
899 (WebCore::JSSVGMatrix::skewY):
900 * bindings/js/JSSVGPODTypeWrapper.h:
901 (WebCore::JSSVGDynamicPODTypeWrapper::create):
902 (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
903 (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
904 (WebCore::JSSVGStaticPODTypeWrapper::create):
905 (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
906 (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
907 (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
908 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
909 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
910 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
911 (WebCore::PODTypeWrapperCacheInfo::operator==):
912 (WebCore::PODTypeWrapperCacheInfoHash::hash):
913 (WebCore::PODTypeWrapperCacheInfoHash::equal):
914 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
915 (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
916 (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
917 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
918 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
919 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
920 * bindings/js/JSSVGPointListCustom.cpp:
921 (WebCore::finishGetter):
922 (WebCore::finishSetter):
923 (WebCore::finishSetterReadOnlyResult):
924 (WebCore::JSSVGPointList::initialize):
925 (WebCore::JSSVGPointList::insertItemBefore):
926 (WebCore::JSSVGPointList::replaceItem):
927 (WebCore::JSSVGPointList::appendItem):
928 * bindings/js/JSSVGTransformListCustom.cpp:
929 (WebCore::finishGetter):
930 (WebCore::finishSetter):
931 (WebCore::finishSetterReadOnlyResult):
932 (WebCore::JSSVGTransformList::initialize):
933 (WebCore::JSSVGTransformList::getItem):
934 (WebCore::JSSVGTransformList::insertItemBefore):
935 (WebCore::JSSVGTransformList::replaceItem):
936 (WebCore::JSSVGTransformList::removeItem):
937 (WebCore::JSSVGTransformList::appendItem):
938 * bindings/scripts/CodeGeneratorJS.pm:
940 2008-07-19 Oliver Hunt <oliver@apple.com>
942 Reviewed by Mark Rowe.
944 Bug 15979: Console logs in a database callback lose line number information
945 <https://bugs.webkit.org/show_bug.cgi?id=15979>
947 The problem was that there were multiple versions of the logic to
948 log an exception to the console, many of which were incorrect. We
949 resolve this by making one single shared reportException method,
950 which handles the exceptions correctly.
952 This improves fidelity of callback errors, and ensures that
953 exceptions thrown in timer callbacks correctly report line numbers,
956 Test: fast/js/exceptions-thrown-in-callbacks.html
958 * bindings/js/JSCustomSQLStatementCallback.cpp:
959 (WebCore::JSCustomSQLStatementCallback::handleEvent):
960 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
961 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
962 * bindings/js/JSCustomSQLTransactionCallback.cpp:
963 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
964 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
965 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
966 * bindings/js/JSCustomVoidCallback.cpp:
967 (WebCore::JSCustomVoidCallback::handleEvent):
968 * bindings/js/JSCustomXPathNSResolver.cpp:
969 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
970 * bindings/js/JSEventListener.cpp:
971 (WebCore::JSAbstractEventListener::handleEvent):
972 * bindings/js/ScheduledAction.cpp:
973 (WebCore::ScheduledAction::execute):
974 * bindings/js/ScriptController.cpp:
975 (WebCore::ScriptController::evaluate):
976 * bindings/objc/WebScriptObject.mm:
977 (WebCore::addExceptionToConsole):
979 (WebCore::Console::reportException):
982 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
984 Rubber stamped by Oliver.
986 Another attempt to fix the win build.
988 * svg/SVGAnimatedProperty.h:
990 2008-07-20 Alexey Proskuryakov <ap@webkit.org>
992 Reviewed by David Kilzer.
994 Fix high CPU usage on testmyiphone.com.
996 - Made the logic for determining when to stop looking for meta charset more strainghtforward.
997 Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
998 bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
999 offending tag was seen at any point before).
1001 - The above change made one of our regression tests fail, because it had its <meta>
1002 declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
1004 - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
1006 - Moved a check for XML content type out of the loop.
1008 * loader/TextResourceDecoder.cpp:
1009 (WebCore::TextResourceDecoder::checkForHeadCharset):
1011 2008-07-20 Oliver Hunt <oliver@apple.com>
1013 Reviewed by NOBODY (build fix).
1015 Attempt to fix windows build
1017 * svg/SVGAnimatedProperty.h:
1019 2008-07-19 Nikolas Zimmermann <zimmermann@kde.org>
1021 Reviewed by Oliver & parts by Eric.
1023 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
1025 Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
1026 Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
1029 (WebCore::Element::attributes):
1030 (WebCore::Element::getAttribute):
1031 (WebCore::Element::hasAttributes):
1033 (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
1034 * svg/SVGAElement.cpp:
1035 (WebCore::SVGAElement::SVGAElement):
1036 * svg/SVGAElement.h:
1037 * svg/SVGAltGlyphElement.h:
1038 * svg/SVGAnimatedProperty.h: Added.
1039 * svg/SVGAnimatedTemplate.h:
1040 (WebCore::lookupOrCreateWrapper):
1041 * svg/SVGAnimationElement.h:
1042 * svg/SVGCircleElement.cpp:
1043 (WebCore::SVGCircleElement::SVGCircleElement):
1044 * svg/SVGCircleElement.h:
1045 * svg/SVGClipPathElement.cpp:
1046 (WebCore::SVGClipPathElement::SVGClipPathElement):
1047 * svg/SVGClipPathElement.h:
1048 * svg/SVGComponentTransferFunctionElement.cpp:
1049 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
1050 * svg/SVGComponentTransferFunctionElement.h:
1051 * svg/SVGCursorElement.cpp:
1052 (WebCore::SVGCursorElement::SVGCursorElement):
1053 * svg/SVGCursorElement.h:
1054 * svg/SVGDefsElement.h:
1055 (WebCore::SVGDefsElement::contextElement):
1056 * svg/SVGElement.cpp:
1057 (WebCore::SVGElement::updateAnimatedSVGAttribute):
1059 (WebCore::SVGElement::supplementalTransform):
1060 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
1061 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
1062 (WebCore::SVGElement::addSVGPropertySynchronizer):
1063 * svg/SVGEllipseElement.cpp:
1064 (WebCore::SVGEllipseElement::SVGEllipseElement):
1065 * svg/SVGEllipseElement.h:
1066 * svg/SVGExternalResourcesRequired.cpp:
1067 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
1068 * svg/SVGExternalResourcesRequired.h:
1069 * svg/SVGFEBlendElement.cpp:
1070 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1071 * svg/SVGFEBlendElement.h:
1072 * svg/SVGFEColorMatrixElement.cpp:
1073 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1074 * svg/SVGFEColorMatrixElement.h:
1075 * svg/SVGFEComponentTransferElement.cpp:
1076 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1077 * svg/SVGFEComponentTransferElement.h:
1078 * svg/SVGFECompositeElement.cpp:
1079 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1080 * svg/SVGFECompositeElement.h:
1081 * svg/SVGFEDiffuseLightingElement.cpp:
1082 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1083 * svg/SVGFEDiffuseLightingElement.h:
1084 * svg/SVGFEDisplacementMapElement.cpp:
1085 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1086 * svg/SVGFEDisplacementMapElement.h:
1087 * svg/SVGFEFloodElement.h:
1088 * svg/SVGFEGaussianBlurElement.cpp:
1089 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1090 * svg/SVGFEGaussianBlurElement.h:
1091 * svg/SVGFEImageElement.cpp:
1092 (WebCore::SVGFEImageElement::SVGFEImageElement):
1093 * svg/SVGFEImageElement.h:
1094 * svg/SVGFELightElement.cpp:
1095 (WebCore::SVGFELightElement::SVGFELightElement):
1096 * svg/SVGFELightElement.h:
1097 (WebCore::SVGFELightElement::contextElement):
1098 * svg/SVGFEMergeElement.h:
1099 * svg/SVGFEMergeNodeElement.cpp:
1100 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
1101 * svg/SVGFEMergeNodeElement.h:
1102 * svg/SVGFEOffsetElement.cpp:
1103 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1104 * svg/SVGFEOffsetElement.h:
1105 * svg/SVGFESpecularLightingElement.cpp:
1106 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1107 * svg/SVGFESpecularLightingElement.h:
1108 * svg/SVGFETileElement.cpp:
1109 (WebCore::SVGFETileElement::SVGFETileElement):
1110 * svg/SVGFETileElement.h:
1111 * svg/SVGFETurbulenceElement.cpp:
1112 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1113 * svg/SVGFETurbulenceElement.h:
1114 * svg/SVGFilterElement.cpp:
1115 (WebCore::SVGFilterElement::SVGFilterElement):
1116 * svg/SVGFilterElement.h:
1117 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1118 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1119 * svg/SVGFilterPrimitiveStandardAttributes.h:
1120 * svg/SVGFitToViewBox.cpp:
1121 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1122 * svg/SVGFitToViewBox.h:
1123 * svg/SVGFontElement.h:
1124 (WebCore::SVGFontElement::rendererIsNeeded):
1125 (WebCore::SVGFontElement::contextElement):
1126 * svg/SVGForeignObjectElement.cpp:
1127 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1128 * svg/SVGForeignObjectElement.h:
1129 * svg/SVGGElement.h:
1130 * svg/SVGGradientElement.cpp:
1131 (WebCore::SVGGradientElement::SVGGradientElement):
1132 * svg/SVGGradientElement.h:
1133 (WebCore::SVGGradientElement::contextElement):
1134 * svg/SVGImageElement.cpp:
1135 (WebCore::SVGImageElement::SVGImageElement):
1136 * svg/SVGImageElement.h:
1137 * svg/SVGLineElement.cpp:
1138 (WebCore::SVGLineElement::SVGLineElement):
1139 * svg/SVGLineElement.h:
1140 * svg/SVGLinearGradientElement.cpp:
1141 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1142 * svg/SVGLinearGradientElement.h:
1143 * svg/SVGMarkerElement.cpp:
1144 (WebCore::SVGMarkerElement::SVGMarkerElement):
1145 (WebCore::SVGMarkerElement::canvasResource):
1146 * svg/SVGMarkerElement.h:
1147 * svg/SVGMaskElement.cpp:
1148 (WebCore::SVGMaskElement::SVGMaskElement):
1149 * svg/SVGMaskElement.h:
1150 * svg/SVGPathElement.cpp:
1151 (WebCore::SVGPathElement::SVGPathElement):
1152 (WebCore::SVGPathElement::parseMappedAttribute):
1153 * svg/SVGPathElement.h:
1154 * svg/SVGPatternElement.cpp:
1155 (WebCore::SVGPatternElement::SVGPatternElement):
1156 * svg/SVGPatternElement.h:
1157 (WebCore::SVGPatternElement::contextElement):
1158 * svg/SVGPolyElement.h:
1159 * svg/SVGPreserveAspectRatio.cpp:
1160 * svg/SVGRadialGradientElement.cpp:
1161 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1162 * svg/SVGRadialGradientElement.h:
1163 * svg/SVGRectElement.cpp:
1164 (WebCore::SVGRectElement::SVGRectElement):
1165 * svg/SVGRectElement.h:
1166 * svg/SVGSVGElement.cpp:
1167 (WebCore::SVGSVGElement::SVGSVGElement):
1168 * svg/SVGSVGElement.h:
1169 * svg/SVGScriptElement.cpp:
1170 * svg/SVGScriptElement.h:
1171 * svg/SVGStopElement.cpp:
1172 (WebCore::SVGStopElement::SVGStopElement):
1173 * svg/SVGStopElement.h:
1174 * svg/SVGStyledElement.cpp:
1175 (WebCore::SVGStyledElement::SVGStyledElement):
1176 * svg/SVGStyledElement.h:
1177 * svg/SVGStyledTransformableElement.cpp:
1178 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1179 * svg/SVGStyledTransformableElement.h:
1180 * svg/SVGSwitchElement.h:
1181 * svg/SVGSymbolElement.h:
1182 (WebCore::SVGSymbolElement::contextElement):
1183 * svg/SVGTRefElement.h:
1184 * svg/SVGTSpanElement.h:
1185 * svg/SVGTextContentElement.cpp:
1186 (WebCore::SVGTextContentElement::SVGTextContentElement):
1187 * svg/SVGTextContentElement.h:
1188 (WebCore::SVGTextContentElement::contextElement):
1189 * svg/SVGTextElement.cpp:
1190 (WebCore::SVGTextElement::SVGTextElement):
1191 * svg/SVGTextElement.h:
1192 * svg/SVGTextPathElement.cpp:
1193 (WebCore::SVGTextPathElement::SVGTextPathElement):
1194 * svg/SVGTextPathElement.h:
1195 * svg/SVGTextPositioningElement.cpp:
1196 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1197 * svg/SVGTextPositioningElement.h:
1198 * svg/SVGTransformable.h:
1199 * svg/SVGURIReference.cpp:
1200 (WebCore::SVGURIReference::SVGURIReference):
1201 * svg/SVGURIReference.h:
1202 * svg/SVGUseElement.cpp:
1203 (WebCore::SVGUseElement::SVGUseElement):
1204 * svg/SVGUseElement.h:
1205 * svg/SVGViewElement.h:
1206 * svg/SVGViewSpec.h:
1208 2008-07-18 Maxime Britto <britto@apple.com>
1212 Fixed <rdar://problem/6049803>
1213 Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
1215 Test: fast/events/autoscroll-with-non-scrollable-parent.html
1218 * page/EventHandler.cpp: Edited
1219 (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
1220 (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
1221 * rendering/RenderLayer.cpp:
1222 (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
1223 * rendering/RenderListBox.h:
1224 (WebCore::RenderListBox::canBeProgramaticallyScrolled):
1225 * rendering/RenderObject.cpp:
1226 (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer
1227 (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
1228 * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
1229 * rendering/RenderTextControl.h:
1230 (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
1232 2008-07-18 Sam Weinig <sam@webkit.org>
1234 Reviewed by Anders Carlsson.
1236 <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
1238 - Overload XMLHttpRequests send() method to accept File tokens.
1240 * bindings/js/JSXMLHttpRequestCustom.cpp:
1241 (WebCore::JSXMLHttpRequest::send):
1242 * xml/XMLHttpRequest.cpp:
1243 (WebCore::XMLHttpRequest::send):
1244 * xml/XMLHttpRequest.h:
1246 2008-07-18 Geoffrey Garen <ggaren@apple.com>
1248 Reviewed by Cameron Zwarich.
1252 "CallTypeNative" => "CallTypeHost"
1253 "code" => "byteCode"
1254 "generatedCode" => "generatedByteCode"
1256 2008-07-18 Adele Peterson <adele@apple.com>
1258 Reviewed by Dan Bernstein.
1260 I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
1261 which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
1262 This change will now check both the media element and the player to decide whether or not to make the controls persistent.
1264 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
1266 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1270 Remove braces around single-line conditional.
1272 * css/CSSComputedStyleDeclaration.cpp:
1273 (WebCore::computedTransform):
1275 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1277 Reviewed by Dave Hyatt
1279 getComputedStyle() for -webkit-transform should return
1280 'none' for elements with no renderer, or those with no
1283 https://bugs.webkit.org/show_bug.cgi?id=20008
1285 Testcase: LayoutTests/fast/css/computed-style-without-renderer
1286 LayoutTests/fast/css/computed-style-expected.txt
1288 * css/CSSComputedStyleDeclaration.cpp:
1289 (WebCore::computedTransform):
1291 2008-07-18 Simon Fraser <simon.fraser@apple.com>
1293 Reviewed by Dave Hyatt
1295 Fix assertion about creating Length values with percentage types
1296 when blending transforms.
1297 https://bugs.webkit.org/show_bug.cgi?id=20086
1299 * rendering/style/RenderStyle.cpp:
1300 (WebCore::TranslateTransformOperation::blend):
1302 2008-07-17 Jacob Refstrup <jacob.refstrup@hp.com>
1304 Reviewed by rwlbuis@gmail.com
1306 https://bugs.webkit.org/show_bug.cgi?id=19965
1308 - Added "@"{ident} rule (below other @-rules) to use flex for longest match
1309 (if an earlier rule - e.g. @media - also matches then flex chooses that one
1310 however, if a longer match - e.g. @mediaall matches flex will choose that)
1311 - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
1312 in the error recovery grammar.
1314 Test: css2.1/atrule_longest_match.html
1318 * css/tokenizer.flex:
1320 2008-07-17 David Hyatt <hyatt@apple.com>
1322 Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
1323 recursive (and checks for transparency layers all the way up the ancestor document chain back to
1324 the top-level frame).
1328 * rendering/RenderView.cpp:
1329 (WebCore::RenderView::paintBoxDecorations):
1331 2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>
1333 REGRESSION: Can't create windowless plug-in with Flash 9
1334 https://bugs.webkit.org/show_bug.cgi?id=20070
1336 Reviewed by Mark Rowe.
1338 * plugins/win/PluginPackageWin.cpp:
1339 (WebCore::PluginPackage::determineQuirks): Reverse argument order;
1340 PlatformModuleVersion constructor takes leastSig, mostSig.
1342 2008-07-16 Eric Seidel <eric@webkit.org>
1346 Attempt to make initializeATSUStyle human-readable by
1347 splitting it out into better-named static inline functions.
1349 No functional changes, thus no tests.
1351 * platform/graphics/mac/FontMac.mm:
1352 (WebCore::fontHasMirroringInfo):
1353 (WebCore::disableLigatures):
1354 (WebCore::initializeATSUStyle):
1356 2008-07-16 Eric Seidel <eric@webkit.org>
1358 No review, build fix only.
1360 Attempt to fix Mac build
1362 * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
1364 2008-07-16 Eric Seidel <eric@webkit.org>
1368 Make ATSULayoutParameters a real C++ class
1369 (Give it a destructor to clean up after itself)
1370 (Also use OwnArrayPtr instead of manual member cleanup)
1372 * platform/graphics/mac/FontMac.mm:
1373 (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1374 (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
1375 (WebCore::overrideLayoutOperation):
1376 (WebCore::ATSULayoutParameters::initialize):
1377 (WebCore::Font::selectionRectForComplexText):
1378 (WebCore::Font::drawComplexText):
1379 (WebCore::Font::floatWidthForComplexText):
1380 (WebCore::Font::offsetForPositionForComplexText):
1382 2008-07-16 Eric Seidel <eric@webkit.org>
1386 Make ownership of copied UChar buffer clearer
1387 (and more leak-proof) by using a OwnArrayPtr.
1389 No functional changes, thus no tests.
1391 * platform/graphics/mac/FontMac.mm:
1392 (WebCore::copyRunForDirectionalOverrideIfNecessary):
1393 (WebCore::Font::selectionRectForComplexText):
1394 (WebCore::Font::drawComplexText):
1395 (WebCore::Font::offsetForPositionForComplexText):
1397 2008-07-16 Eric Seidel <eric@webkit.org>
1401 Split out TextRun into its own header file.
1402 Re-order members to place all bools together
1403 (to allow compilers to better pack the struct)
1405 No functional changes, thus no tests.
1407 * WebCore.vcproj/WebCore.vcproj:
1408 * WebCore.xcodeproj/project.pbxproj:
1409 * platform/graphics/Font.h: Moved TextRun into its own file.
1410 * platform/graphics/TextRun.h: Split out from Font.h
1412 2008-07-16 Simon Fraser <simon.fraser@apple.com>
1414 Reviewed by Dave Hyatt
1416 AnimationController needs to adjust z-index in the blended
1417 style in case opacity or transform were changed by blending.
1419 https://bugs.webkit.org/show_bug.cgi?id=20047
1421 Test: transitions/opacity-transition-zindex.html
1423 * page/AnimationController.cpp:
1424 (WebCore::AnimationController::updateImplicitAnimations):
1426 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1430 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
1431 Prepare SVGAnimatedProperty introduction.
1433 Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
1434 contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
1435 See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
1437 * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
1438 * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
1439 * svg/svgattrs.in: Export all SVG attributes as strings.
1440 * svg/svgtags.in: Export all SVG tags as strings.
1441 * svg/xlinkattrs.in: Expose all XLink attributes as strings.
1443 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
1447 Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
1448 Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
1450 Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1454 * WebCore.vcproj/WebCore.vcproj:
1455 * WebCore.xcodeproj/project.pbxproj:
1456 * bindings/js/JSSVGLengthCustom.cpp: Added.
1457 (WebCore::JSSVGLength::value):
1458 (WebCore::JSSVGLength::convertToSpecifiedUnits):
1459 * bindings/scripts/CodeGeneratorObjC.pm:
1460 * css/CSSCursorImageValue.cpp:
1461 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1462 * rendering/RenderForeignObject.cpp:
1463 (WebCore::RenderForeignObject::translationForAttributes):
1464 * rendering/RenderSVGImage.cpp:
1465 (WebCore::RenderSVGImage::layout):
1466 * rendering/RenderSVGRoot.cpp:
1467 (WebCore::RenderSVGRoot::calcViewport):
1468 * rendering/RenderSVGText.cpp:
1469 (WebCore::RenderSVGText::layout):
1470 * rendering/RenderSVGViewportContainer.cpp:
1471 (WebCore::RenderSVGViewportContainer::calcViewport):
1472 * rendering/SVGCharacterLayoutInfo.cpp:
1473 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
1474 (WebCore::SVGCharacterLayoutInfo::addStackContent):
1475 * rendering/SVGCharacterLayoutInfo.h:
1476 * rendering/SVGRootInlineBox.cpp:
1477 (WebCore::SVGRootInlineBox::buildTextChunks):
1478 * svg/SVGAnimateElement.h:
1479 * svg/SVGAnimateMotionElement.h:
1480 * svg/SVGAnimateTransformElement.h:
1481 * svg/SVGAnimationElement.h:
1482 (WebCore::SVGAnimationElement::contextElement):
1483 * svg/SVGCircleElement.cpp:
1484 (WebCore::SVGCircleElement::SVGCircleElement):
1485 (WebCore::SVGCircleElement::parseMappedAttribute):
1486 (WebCore::SVGCircleElement::toPathData):
1487 * svg/SVGCursorElement.cpp:
1488 (WebCore::SVGCursorElement::SVGCursorElement):
1489 (WebCore::SVGCursorElement::parseMappedAttribute):
1490 * svg/SVGEllipseElement.cpp:
1491 (WebCore::SVGEllipseElement::SVGEllipseElement):
1492 (WebCore::SVGEllipseElement::parseMappedAttribute):
1493 (WebCore::SVGEllipseElement::toPathData):
1494 * svg/SVGFilterElement.cpp:
1495 (WebCore::SVGFilterElement::SVGFilterElement):
1496 (WebCore::SVGFilterElement::parseMappedAttribute):
1497 (WebCore::SVGFilterElement::canvasResource):
1498 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1499 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1500 (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1501 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1502 * svg/SVGForeignObjectElement.cpp:
1503 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1504 (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1505 * svg/SVGImageElement.cpp:
1506 (WebCore::SVGImageElement::SVGImageElement):
1507 (WebCore::SVGImageElement::parseMappedAttribute):
1508 * svg/SVGLength.cpp:
1509 (WebCore::SVGLength::SVGLength):
1510 (WebCore::SVGLength::value):
1511 (WebCore::SVGLength::convertToSpecifiedUnits):
1512 (WebCore::SVGLength::PercentageOfViewport):
1514 * svg/SVGLength.idl:
1515 * svg/SVGLengthList.cpp:
1516 (WebCore::SVGLengthList::parse):
1517 * svg/SVGLengthList.h:
1518 * svg/SVGLineElement.cpp:
1519 (WebCore::SVGLineElement::SVGLineElement):
1520 (WebCore::SVGLineElement::parseMappedAttribute):
1521 (WebCore::SVGLineElement::toPathData):
1522 * svg/SVGLinearGradientElement.cpp:
1523 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1524 (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1525 * svg/SVGMarkerElement.cpp:
1526 (WebCore::SVGMarkerElement::SVGMarkerElement):
1527 (WebCore::SVGMarkerElement::parseMappedAttribute):
1528 (WebCore::SVGMarkerElement::canvasResource):
1529 * svg/SVGMaskElement.cpp:
1530 (WebCore::SVGMaskElement::SVGMaskElement):
1531 (WebCore::SVGMaskElement::parseMappedAttribute):
1532 (WebCore::SVGMaskElement::drawMaskerContent):
1533 * svg/SVGPatternElement.cpp:
1534 (WebCore::SVGPatternElement::SVGPatternElement):
1535 (WebCore::SVGPatternElement::parseMappedAttribute):
1536 (WebCore::SVGPatternElement::buildPattern):
1537 * svg/SVGRadialGradientElement.cpp:
1538 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1539 (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1540 * svg/SVGRectElement.cpp:
1541 (WebCore::SVGRectElement::SVGRectElement):
1542 (WebCore::SVGRectElement::parseMappedAttribute):
1543 (WebCore::SVGRectElement::toPathData):
1544 * svg/SVGSVGElement.cpp:
1545 (WebCore::SVGSVGElement::SVGSVGElement):
1546 (WebCore::SVGSVGElement::viewport):
1547 (WebCore::SVGSVGElement::parseMappedAttribute):
1548 (WebCore::SVGSVGElement::getCTM):
1549 (WebCore::SVGSVGElement::getScreenCTM):
1550 * svg/SVGTextContentElement.cpp:
1551 (WebCore::SVGTextContentElement::SVGTextContentElement):
1552 (WebCore::SVGTextContentElement::parseMappedAttribute):
1553 * svg/SVGTextPathElement.cpp:
1554 (WebCore::SVGTextPathElement::SVGTextPathElement):
1555 (WebCore::SVGTextPathElement::parseMappedAttribute):
1556 * svg/SVGTextPositioningElement.cpp:
1557 (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1558 * svg/SVGUseElement.cpp:
1559 (WebCore::SVGUseElement::SVGUseElement):
1560 (WebCore::SVGUseElement::parseMappedAttribute):
1561 (WebCore::SVGUseElement::buildPendingResource):
1562 (WebCore::SVGUseElement::buildInstanceTree):
1563 (WebCore::SVGUseElement::handleDeepUseReferencing):
1564 (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1565 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1566 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1567 * svg/SVGUseElement.h:
1568 * svg/SynchronizableTypeWrapper.h:
1569 * svg/graphics/SVGImage.cpp:
1570 (WebCore::SVGImage::size):
1572 2008-07-16 Geoffrey Garen <ggaren@apple.com>
1574 Reviewed by Oliver Hunt.
1576 Support for JavaScriptCore's first step toward putting doubles in
1577 registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1579 * bindings/js/ScheduledAction.cpp:
1580 (WebCore::ScheduledAction::ScheduledAction):
1582 2008-07-15 Maxime Britto <britto@apple.com>
1586 https://bugs.webkit.org/show_bug.cgi?id=17589
1587 <rdar://problem/5770893>
1588 Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
1589 Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
1590 For the other platforms, nothing is changed but if someone want to activate this feature
1591 he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
1594 * page/EventHandler.cpp:
1595 (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
1596 (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters
1597 * platform/PlatformWheelEvent.h:
1598 (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
1599 (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
1600 (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
1601 (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
1602 * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1603 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1604 * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1605 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1606 * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1607 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1608 * 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
1609 (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
1610 (WebCore::ScrollView::updateScrollbars):
1611 (WebCore::ScrollView::wheelEvent):
1612 * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
1613 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1614 * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1615 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1617 2008-07-15 Kevin Ollivier <kevino@theolliviers.com>
1619 wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1621 * WebCoreSources.bkl:
1623 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1627 <rdar://problem/5620273> REGRESSION: Apparent caching between form
1628 submits twice (on Maconomy) (18401)
1630 Frames did not set the createdByParser flag even when they were.
1632 * html/HTMLElementFactory.cpp:
1633 (WebCore::frameConstructor):
1634 (WebCore::iframeConstructor):
1636 2008-07-15 Dan Bernstein <mitz@apple.com>
1638 Reviewed by Dave Hyatt.
1640 - fix https://bugs.webkit.org/show_bug.cgi?id=19525
1641 <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
1643 Test: fast/reflections/inline-crash.html
1645 * rendering/RenderInline.cpp:
1646 (WebCore::RenderInline::setStyle): Added setHasReflection(false).
1647 Inline flows never have reflections.
1649 2008-07-14 David Hyatt <hyatt@apple.com>
1651 Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if
1652 no <body> exists yet though.
1656 Added fast/css/style-parsed-outside-of-head.html
1658 * html/HTMLElement.cpp:
1659 (WebCore::inlineTagList):
1661 2008-07-15 Kevin McCullough <kmccullough@apple.com>
1665 Rename pageGroupIdentifier to profileGroup to keep mention of a
1666 pageGroup out of JavaScriptCore.
1668 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1669 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
1670 * bindings/js/ScriptController.cpp:
1671 (WebCore::ScriptController::clear):
1672 (WebCore::ScriptController::initScript):
1673 * history/CachedPage.cpp:
1674 (WebCore::CachedPage::restore):
1676 2008-07-15 Adam Roben <aroben@apple.com>
1678 WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
1682 Reviewed by John Sullivan.
1684 * platform/graphics/win/FontCGWin.cpp:
1685 (WebCore::Font::drawGlyphs): Pass the result of
1686 WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
1687 * platform/win/WebCoreTextRenderer.cpp:
1688 (WebCore::WebCoreSetShouldUseFontSmoothing):
1689 (WebCore::WebCoreShouldUseFontSmoothing):
1691 * platform/win/WebCoreTextRenderer.h:
1693 2008-07-15 Adam Roben <aroben@apple.com>
1697 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
1700 2008-07-15 Holger Hans Peter Freyther <zecke@selfish.org>
1702 Build fix for the Gtk+ and Qt platform.
1704 * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
1705 * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
1707 2008-07-14 Dan Bernstein <mitz@apple.com>
1711 * platform/mac/WidgetMac.mm:
1712 (WebCore::Widget::paint):
1714 2008-07-14 Dan Bernstein <mitz@apple.com>
1716 Reviewed by John Sullivan.
1718 - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1720 * platform/mac/WidgetMac.mm:
1721 (WebCore::Widget::paint): Changed to account for the case of drawing
1722 into a bitmap context that is not a window's backing store. In that
1723 case, -displayRectIgnoringOpacity:inContext: is used to redirect the
1724 drawing to the correct context, after setting up the right transform
1725 on it. For subframes, additional code ensures that the scroll view will
1726 not paint the background behind a transparent frame.
1728 2008-07-14 chris fleizach <cfleizach@apple.com>
1730 Reviewed by Beth Dakin
1732 <rdar://problem/6038106> AXChildren returned for this web area is null
1733 Accessibility of image maps needed to be updated
1735 Tests: accessibility/image-map1.html
1736 accessibility/image-map2.html
1738 * WebCore.xcodeproj/project.pbxproj:
1739 * page/AXObjectCache.cpp:
1740 (WebCore::AXObjectCache::get):
1741 * page/AccessibilityImageMapLink.cpp: Added.
1742 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
1743 (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
1744 (WebCore::AccessibilityImageMapLink::create):
1745 (WebCore::AccessibilityImageMapLink::parentObject):
1746 (WebCore::AccessibilityImageMapLink::anchorElement):
1747 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
1748 (WebCore::AccessibilityImageMapLink::title):
1749 (WebCore::AccessibilityImageMapLink::elementRect):
1750 (WebCore::AccessibilityImageMapLink::size):
1751 * page/AccessibilityImageMapLink.h: Added.
1752 (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
1753 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1754 (WebCore::AccessibilityImageMapLink::roleValue):
1755 (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
1756 (WebCore::AccessibilityImageMapLink::isLink):
1757 * page/AccessibilityListBoxOption.h:
1758 * page/AccessibilityObject.cpp:
1759 (WebCore::AccessibilityObject::selectedChildren):
1760 (WebCore::AccessibilityObject::visibleChildren):
1761 * page/AccessibilityObject.h:
1763 * page/AccessibilityRenderObject.cpp:
1764 (WebCore::AccessibilityRenderObject::parentObject):
1765 (WebCore::AccessibilityRenderObject::isAnchor):
1766 (WebCore::AccessibilityRenderObject::anchorElement):
1767 (WebCore::AccessibilityRenderObject::helpText):
1768 (WebCore::AccessibilityRenderObject::intValue):
1769 (WebCore::AccessibilityRenderObject::stringValue):
1770 (WebCore::AccessibilityRenderObject::title):
1771 (WebCore::AccessibilityRenderObject::accessibilityDescription):
1772 (WebCore::AccessibilityRenderObject::elementRect):
1773 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1774 (WebCore::AccessibilityRenderObject::roleValue):
1775 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1776 (WebCore::AccessibilityRenderObject::addChildren):
1777 * page/AccessibilityRenderObject.h:
1778 * page/mac/AccessibilityObjectWrapper.mm:
1782 2008-07-14 Sam Weinig <sam@webkit.org>
1784 Rubber-stamped by David Hyatt.
1786 Remove unused ExceptionCode parameter from compareDocumentPosition.
1789 (WebCore::Document::addStyleSheetCandidateNode):
1791 (WebCore::Node::compareDocumentPosition):
1795 2008-07-14 David Hyatt <hyatt@apple.com>
1797 Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
1801 Added fast/css/style-outside-head.html
1802 Added fast/css/link-outside-head.html
1805 (WebCore::Document::addStyleSheetCandidateNode):
1806 (WebCore::Document::removeStyleSheetCandidateNode):
1807 (WebCore::Document::recalcStyleSelector):
1810 (WebCore::Node::compareDocumentPosition):
1811 * dom/ProcessingInstruction.cpp:
1812 (WebCore::ProcessingInstruction::checkStyleSheet):
1813 (WebCore::ProcessingInstruction::insertedIntoDocument):
1814 (WebCore::ProcessingInstruction::removedFromDocument):
1815 (WebCore::ProcessingInstruction::finishParsingChildren):
1816 * dom/ProcessingInstruction.h:
1817 (WebCore::ProcessingInstruction::setCreatedByParser):
1818 * dom/StyleElement.cpp:
1819 (WebCore::StyleElement::removedFromDocument):
1820 * dom/XMLTokenizer.cpp:
1821 (WebCore::XMLTokenizer::startElementNs):
1822 (WebCore::XMLTokenizer::processingInstruction):
1824 * html/HTMLElementFactory.cpp:
1825 (WebCore::linkConstructor):
1826 * html/HTMLLinkElement.cpp:
1827 (WebCore::HTMLLinkElement::HTMLLinkElement):
1828 (WebCore::HTMLLinkElement::insertedIntoDocument):
1829 (WebCore::HTMLLinkElement::removedFromDocument):
1830 (WebCore::HTMLLinkElement::finishParsingChildren):
1831 * html/HTMLLinkElement.h:
1832 (WebCore::HTMLLinkElement::setCreatedByParser):
1833 * html/HTMLStyleElement.cpp:
1834 (WebCore::HTMLStyleElement::insertedIntoDocument):
1835 (WebCore::HTMLStyleElement::removedFromDocument):
1836 * svg/SVGStyleElement.cpp:
1837 (WebCore::SVGStyleElement::insertedIntoDocument):
1838 (WebCore::SVGStyleElement::removedFromDocument):
1840 2008-07-14 Sam Weinig <sam@webkit.org>
1842 Reviewed by Mark Rowe.
1844 Sort interface extended attributes to appease *the* Mark Rowe.
1846 * page/DOMWindow.idl:
1848 2008-07-14 Anders Carlsson <andersca@apple.com>
1852 <rdar://problem/6073974>
1853 https://bugs.webkit.org/show_bug.cgi?id=18106
1854 The "onscroll" event bubbles, which is inconsistent with Firefox and IE
1856 Don't bubble the scroll event.
1858 * rendering/RenderLayer.cpp:
1859 (WebCore::RenderLayer::scrollToOffset):
1860 * rendering/RenderListBox.cpp:
1861 (WebCore::RenderListBox::valueChanged):
1863 2008-07-14 Adele Peterson <adele@apple.com>
1867 Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
1869 The web server on this particular piece of hardware doesn't handle "text/xml" in the
1870 Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in
1871 the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web
1872 server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it
1873 is being deprecated in favor of "application/xml". We decided that the best solution is
1874 to match Firefox 3 and stop sending "text/xml" in the Accept header.
1876 No test. There appears to be no way to get the raw headers in the original order in perl/php.
1878 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
1880 2008-07-14 Sam Weinig <sam@webkit.org>
1882 Reviewed by Adele Peterson.
1884 Fix for <rdar://problem/5769819>
1886 Test: http/tests/security/cross-frame-access-object-prototype.html
1888 * bindings/js/JSDOMWindowCustom.cpp:
1889 (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
1890 (WebCore::JSDOMWindow::defineGetter): Ditto.
1891 (WebCore::JSDOMWindow::defineSetter): Ditto.
1892 (WebCore::JSDOMWindow::lookupGetter): Ditto.
1893 (WebCore::JSDOMWindow::lookupSetter): Ditto.
1894 * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
1895 of all the core JSObject functionality.
1896 * page/DOMWindow.idl: Override remaining core JSObject functionality,
1897 to inject security checks.
1899 2008-07-14 Adam Roben <aroben@apple.com>
1903 * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
1905 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
1906 bindings to regenerate.
1907 * loader/FTPDirectoryDocument.cpp:
1908 * loader/FTPDirectoryParser.cpp:
1909 Fixed some duplicate macro definitions now that we're including
1912 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1914 Reviewed by Kevin McCullough.
1916 Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
1919 * bindings/js/JSDOMWindowBase.cpp:
1920 (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
1922 2008-07-14 Simon Hausmann <hausmann@webkit.org>
1926 Make listDirectory() in the Qt port work with empty namefilters.
1927 Don't include . and .. to avoid scanning the parent directory.
1929 * platform/qt/FileSystemQt.cpp:
1930 (WebCore::listDirectory):
1932 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1934 Reviewed by Geoff Garen.
1936 Eliminate per-thread JavaScript global data instance support and make arbitrary
1937 global data/global object combinations possible.
1939 * bindings/js/JSDOMWindowBase.h:
1940 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
1941 WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
1943 * bindings/js/JSDOMWindowShell.cpp:
1944 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1945 (WebCore::JSDOMWindowShell::operator new):
1946 * bindings/js/ScriptController.cpp:
1947 (WebCore::ScriptController::clear):
1948 * bindings/scripts/CodeGeneratorJS.pm:
1949 Pass commonJSGlobalData() as an allocator.
1951 * bridge/c/c_utility.cpp:
1952 (KJS::Bindings::identifierFromNPIdentifier):
1953 * bridge/jni/jni_class.cpp:
1954 (JavaClass::JavaClass):
1955 * history/CachedPage.cpp:
1956 (WebCore::CachedPage::restore):
1957 * storage/Database.cpp:
1958 (WebCore::Database::Database):
1959 * bindings/js/GCController.cpp:
1961 (WebCore::GCController::gcTimerFired):
1962 (WebCore::GCController::garbageCollectNow):
1963 Use JSDOMWindow::commonJSGlobalData().
1965 * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
1966 it need to be accesible outside of JSC).
1968 * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
1970 2008-07-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
1976 * plugins/win/PluginDatabaseWin.cpp:
1977 * plugins/win/PluginViewWin.cpp:
1978 (WebCore::PluginView::handleKeyboardEvent):
1979 (WebCore::PluginView::handleMouseEvent):
1980 * svg/SynchronizableTypeWrapper.h:
1981 (WebCore::::SynchronizableTypeWrapper):
1983 2008-07-13 Sam Weinig <sam@webkit.org>
1985 Reviewed by Oliver Hunt and Dan Bernstein.
1987 Fix for <rdar://problem/5888127>
1988 https://bugs.webkit.org/show_bug.cgi?id=18699
1990 - Match Firefox in restricting the size of custom cursor to images to
1992 - Restrict custom cursor hotspots to values within the bounds of the
1995 * manual-tests/cursor-max-size.html: Added.
1996 * page/EventHandler.cpp:
1997 (WebCore::EventHandler::selectCursor):
1999 2008-07-13 Kevin Ollivier <kevino@theolliviers.com>
2003 * platform/graphics/wx/AffineTransformWx.cpp:
2004 (WebCore::AffineTransform::a):
2005 (WebCore::AffineTransform::b):
2006 (WebCore::AffineTransform::c):
2007 (WebCore::AffineTransform::d):
2008 (WebCore::AffineTransform::e):
2009 (WebCore::AffineTransform::f):
2011 2008-07-12 Dan Bernstein <mitz@apple.com>
2013 Reviewed by Oliver Hunt.
2015 - fix https://bugs.webkit.org/show_bug.cgi?id=18088
2016 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
2018 Test: fast/block/basic/min-pref-width-nowrap-floats.html
2020 * rendering/RenderBlock.cpp:
2021 (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
2022 float's width was added to the minimum preferred widths instead of just
2023 acting as a lower bound on the minimum preferred width (since the float
2024 can always be pushed down to be the only thing on the line).
2026 2008-07-12 David D. Kilzer <ddkilzer@webkit.org>
2028 Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
2030 <https://bugs.webkit.org/show_bug.cgi?id=13067>
2034 Test: WebCore/manual-tests/hash-ref.html
2036 * loader/FrameLoader.cpp:
2037 (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
2038 FrameLoadType newLoadType, const String& frameName, Event* event,
2039 PassRefPtr<FormState> formState)): Extracted logic into
2040 shouldScrollToAnchor() for determining when to scroll to an anchor.
2042 (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
2043 PassRefPtr<FormState> formState)): Added check for
2044 shouldScrollToAnchor() to catch cases when the user manually added a
2045 hash ref to the URL in the address bar. This is the bug fix.
2047 (WebCore::FrameLoader::shouldReload): Simplified early return logic.
2048 We only need to check if the destinationURL has a hash ref, not the
2049 currentURL, per the comment in the method.
2051 (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted
2052 from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order
2053 of arguments to shouldReload() since they were backwards, although the
2054 previous logic in the method made this irrelevant.
2056 (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since
2057 we're navigating to a HistoryItem, it doesn't make sense to ask whether
2058 we need to reload the page or not. Additionally, the logic at the end
2059 of shouldReload() is also checked in urlsMatchItem(), so there's no need
2060 to call the method. This fixed the fast/css/target-fragment-match.html
2061 test from continuously reloading after the other changes.
2063 * loader/FrameLoader.h:
2064 (WebCore::FrameLoader::shouldScrollToAnchor): Added.
2066 * manual-tests/hash-ref.html: Added.
2067 * manual-tests/resources/hash-ref-test.html: Added.
2069 2008-07-11 Stephanie Lewis <slewis@apple.com>
2071 Reviewed by Darin Adler.
2073 No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.
2075 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2076 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2077 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
2078 * bindings/js/JSEventListener.cpp:
2079 (WebCore::JSEventListener::JSEventListener):
2080 (WebCore::JSEventListener::~JSEventListener):
2082 (WebCore::Node::Node):
2083 (WebCore::Node::~Node):
2085 (WebCore::Range::Range):
2086 (WebCore::Range::~Range):
2087 * history/CachedPage.cpp:
2088 (WebCore::CachedPage::CachedPage):
2089 (WebCore::CachedPage::~CachedPage):
2090 * loader/SubresourceLoader.cpp:
2091 (WebCore::SubresourceLoader::SubresourceLoader):
2092 (WebCore::SubresourceLoader::~SubresourceLoader):
2094 (WebCore::Frame::Frame):
2095 (WebCore::Frame::~Frame):
2097 (WebCore::Page::Page):
2098 (WebCore::Page::~Page):
2099 * rendering/RenderObject.cpp:
2100 (WebCore::RenderObject::RenderObject):
2101 (WebCore::RenderObject::~RenderObject):
2102 * rendering/bidi.cpp:
2104 (WebCore::BidiRun::operator delete):
2106 2008-07-11 Sam Weinig <sam@webkit.org>
2108 Reviewed by Mark Rowe.
2110 Update getSubStringLength and selectSubString methods exception throwing conditions
2111 based on SVG working group errata.
2113 Test: svg/custom/selectSubString.html
2115 * svg/SVGTextContentElement.cpp:
2116 (WebCore::SVGTextContentElement::getSubStringLength):
2117 (WebCore::SVGTextContentElement::selectSubString):
2119 2008-07-11 Sam Weinig <sam@webkit.org>
2121 Reviewed by Mark Rowe.
2123 We can only use the Id fast path for querySelector and querySelectorAll
2124 if the selector is purely an Id selector.
2126 Test: fast/dom/SelectorAPI/id-fastpath.html
2129 (WebCore::Node::querySelector):
2130 * dom/SelectorNodeList.cpp:
2131 (WebCore::createSelectorNodeList):
2133 2008-07-11 David Hyatt <hyatt@apple.com>
2135 Implement the DOM level 3 compareDocumentPosition method on Node.
2140 (WebCore::Node::compareDocumentPosition):
2144 2008-07-11 Brady Eidson <beidson@apple.com>
2146 Rubberstamped by Sam
2148 Removed unneeded export
2152 2008-07-11 Kevin McCullough <kmccullough@apple.com>
2156 <rdar://problem/6067178> REGRESSION: Start profile button in profiler
2157 now profiles inspector rather than actual page (19833)
2158 - The JSQuarantinedObjectWrapper should use the wrapped exec state
2159 so that calls to it execute in its quarantined world.
2161 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2162 (WebCore::JSQuarantinedObjectWrapper::construct):
2163 (WebCore::JSQuarantinedObjectWrapper::call):
2165 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2167 Reviewed by Dave Hyatt
2169 StyleRareNonInheritedData needs to initialize and compare
2171 <https://bugs.webkit.org/show_bug.cgi?id=20005>
2173 * rendering/style/RenderStyle.cpp:
2174 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2175 (WebCore::StyleRareNonInheritedData::operator==):
2177 2008-07-11 Simon Fraser <simon.fraser@apple.com>
2179 Reviewed by Dave Hyatt
2181 Bug 18885: RenderLayer::enclosingPositionedAncestor() should
2182 look for transforms, since transforms create containing
2184 <https://bugs.webkit.org/show_bug.cgi?id=18885>
2186 Test: fast/transforms/transform-positioned-ancestor.html
2188 * rendering/RenderLayer.cpp:
2189 (WebCore::RenderLayer::stackingContext):
2190 (WebCore::RenderLayer::enclosingPositionedAncestor):
2191 (WebCore::RenderLayer::enclosingTransformedAncestor):
2193 2008-07-11 Jacob Refstrup <jacob.refstrup@hp.com>
2195 Reviewed by Darin Adler
2197 http://bugs.webkit.org/show_bug.cgi?id=19978
2198 GTK port always ends up with # at the end of resource URLs (and hence can't load files)
2200 - Optimized KURL::removeRef() and used it rather than setRef("")
2201 which after r35040 does the wrong thing.
2203 * platform/KURL.cpp:
2204 (WebCore::KURL::removeRef):
2205 * platform/network/curl/ResourceHandleManager.cpp:
2206 (WebCore::ResourceHandleManager::initializeHandle):
2208 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2210 Fix the Qt/Windows build, include windows.h for HWND directly
2211 instead of implicit inclusion through Timer.h.
2213 * plugins/win/PluginMessageThrottlerWin.h:
2215 2008-07-11 Dan Bernstein <mitz@apple.com>
2217 Reviewed by Darin Adler.
2219 - fix popularity tracking for cached resources, which regressed in r23923
2222 (WebCore::Cache::requestResource): Changed to increase the access count
2223 whenever this function returns a CachedResource and the cache is
2224 enabled, instead of only when creating a new CachedResources. The
2225 incorrect behavior resulted in all resources in the cache having an
2226 access count of exactly 1 at all times.
2227 (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
2229 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2233 Enable Netscape plugins for the Qt/Windows build.
2235 This required various smaller fixes across a wider set of
2236 files described below.
2238 * WebCore.pro: Add various windows specific files to the build.
2239 * page/Page.h: Extend the #ifdeffery for windows types to include the
2241 * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
2242 the Qt port, as PluginViewWin.cpp uses it.
2243 * platform/graphics/qt/GraphicsContextQt.cpp:
2244 (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
2245 * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
2246 are now implemented through *Win.cpp files.
2247 * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
2248 * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
2249 (WebCore::PluginView::setFrameGeometry): Ditto.
2250 (WebCore::PluginView::PluginView): Ditto.
2251 * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
2252 which expands to HWND directly for the Qt/Windows build and
2253 PlatformWidget for the remaining platforms. That is because
2254 PlatformWidget is QWidget* for the Qt build but for the plugin
2255 window we need a native window, aka HWND.
2256 * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
2258 * plugins/win/PluginViewWin.cpp:
2259 (windowHandleForPlatformWidget): Added a little helper function to
2260 determine the HWND from a PlatformWidget.
2261 (WebCore::registerPluginView): For the Qt port we need to set the
2262 global application instance handle here in the library, as the
2263 browser doesn't do it.
2264 (WebCore::PluginView::handleMouseEvent): Mask out
2265 ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
2266 (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
2267 manually just here to avoid compiling in IntRectWin.cpp.
2268 (WebCore::PluginView::invalidateRegion): Ditto.
2269 (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
2270 on containingWindow() to get the correct HWND for the Qt port.
2271 (WebCore::PluginView::init): Determine the parent HWND for m_window
2272 using windowHandleForPlatformWidget.
2274 2008-07-11 Simon Hausmann <hausmann@webkit.org>
2276 Rubber-stamped by Holger.
2278 Enable Database and Icondatabase functionality for the Qt/Windows
2279 build when building inside Qt, as we can use the builtin copy of
2284 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2286 Reviewed by Adam Roben.
2288 Fix compile with MinGW since it does not like friend static function.
2290 * plugins/PluginView.h:
2291 * plugins/win/PluginViewWin.cpp:
2293 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
2299 * platform/graphics/qt/GraphicsContextQt.cpp:
2301 2008-07-10 Sam Weinig <sam@webkit.org>
2303 Reviewed by Oliver Hunt.
2305 Add support for NSResolver to resolve namespaces for querySelector
2306 and querySelectorAll.
2308 - Namespace resolution is done after parsing by iterating over all the
2309 parts of the CSSSelector.
2311 Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
2312 fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
2314 * GNUmakefile.am: Updated with new files.
2315 * WebCore.pro: Ditto.
2316 * WebCore.vcproj/WebCore.vcproj: Ditto.
2317 * WebCore.xcodeproj/project.pbxproj: Ditto.
2318 * WebCoreSources.bkl: Ditto.
2320 * bindings/js/JSDOMBinding.cpp:
2321 (WebCore::execStateFromNode):
2322 * bindings/js/JSDOMBinding.h:
2323 Move execStateFromNode here from NodeFilter.
2325 * bindings/js/JSDocumentCustom.cpp:
2326 (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
2327 and instead create one if the argument is not undefined or null.
2328 (WebCore::JSDocument::querySelectorAll): Ditto.
2329 * bindings/js/JSDocumentFragmentCustom.cpp:
2330 (WebCore::JSDocumentFragment::querySelector): Ditto.
2331 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2332 * bindings/js/JSElementCustom.cpp:
2333 (WebCore::JSElement::querySelector): Ditto.
2334 (WebCore::JSElement::querySelectorAll): Ditto.
2336 * bindings/js/JSNSResolver.cpp: Added.
2337 (WebCore::JSNSResolver::JSNSResolver):
2338 (WebCore::JSNSResolver::mark):
2339 (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
2340 from the passed in argument, either the value itself, or the result of
2341 getting the lookupNamespaceURI property, and call it.
2342 (WebCore::toNSResolver):
2343 * bindings/js/JSNSResolver.h: Added.
2344 (WebCore::JSNSResolver::create):
2346 * dom/Document.idl: Update with NSResolver parameter.
2347 * dom/DocumentFragment.idl: Ditto.
2348 * dom/Element.idl: Ditto.
2350 * dom/NSResolver.h: Added.
2351 (WebCore::NSResolver::~NSResolver):
2352 (WebCore::NSResolver::mark):
2353 Abstract base class.
2355 * dom/NSResolver.idl: Added.
2358 (WebCore::forEachTagSelector):
2359 (WebCore::forEachSelector):
2360 Functions to iterate over all parts of the selector.
2362 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2363 Functor to be passed to forEachSelector to determine if a selector
2364 needs namespace resolution, for the case when no NSResolver is passed
2365 and we need to determine whether to throw a NAMESPACE_ERR.
2367 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2368 (WebCore::ResolveNamespaceFunctor::operator()):
2369 Functor to resolve namespaces for the selector.
2371 (WebCore::selectorNeedsNamespaceResolution):
2372 (WebCore::resolveNamespacesForSelector):
2373 (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
2374 if a NSResolver is passed in.
2375 (WebCore::Node::querySelectorAll): Ditto.
2378 * dom/NodeFilter.cpp:
2380 * dom/NodeIterator.h:
2381 (WebCore::NodeIterator::nextNode):
2382 (WebCore::NodeIterator::previousNode):
2384 (WebCore::TreeWalker::parentNode):
2385 (WebCore::TreeWalker::firstChild):
2386 (WebCore::TreeWalker::lastChild):
2387 (WebCore::TreeWalker::previousSibling):
2388 (WebCore::TreeWalker::nextSibling):
2389 (WebCore::TreeWalker::previousNode):
2390 (WebCore::TreeWalker::nextNode):
2391 Use the version of execStateFromNode in JSDOMBinding.
2393 2008-07-10 Mark Rowe <mrowe@apple.com>
2395 Reviewed by Sam Weinig.
2397 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2399 * Configurations/WebCore.xcconfig:
2401 2008-07-10 Dean Jackson <dino@apple.com>
2405 Calculate computed style for -webkit-transform property
2406 https://bugs.webkit.org/show_bug.cgi?id=19864
2408 Test: css3/transform-computed-style-001.html
2410 * css/CSSComputedStyleDeclaration.cpp:
2411 (WebCore::computedTransform):
2412 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2413 handles -webkit-transform property now
2414 * manual-tests/computed-transform-value.html: Added.
2416 2008-07-10 Dan Bernstein <mitz@apple.com>
2418 Reviewed by Adam Roben.
2420 - fix a parse error in inspector.js
2422 * page/inspector/inspector.js: Added missing brace.
2424 2008-07-10 Adam Roben <aroben@apple.com>
2428 * WebCore.vcproj/QTMovieWin.vcproj: Add
2429 OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2431 2008-07-10 Chris Fleizach <cfleizach@apple.com>
2433 Reviewed by Dan Bernstein
2435 <rdar://problem/6067408> AX: internal anchors broken
2437 * page/AccessibilityRenderObject.cpp:
2438 (WebCore::AccessibilityRenderObject::internalLinkElement):
2439 * platform/KURL.cpp:
2440 (WebCore::KURL::removeRef):
2443 2008-07-10 Mark Rowe <mrowe@apple.com>
2447 * bridge/npapi.h: Remove extra comma.
2449 2008-07-10 Sam Weinig <sam@webkit.org>
2451 Reviewed by Mark Rowe.
2453 Remove no-op debug method.
2455 * css/CSSSelector.cpp:
2456 * css/CSSSelector.h:
2458 2008-07-10 Sam Weinig <sam@webkit.org>
2460 Reviewed by Dave Hyatt and Darin Adler.
2462 Add support for calling querySelector and querySelectorAll on DocumentFragments
2464 - Fixes bug where nodes not in the document tree would not match based on ID due
2465 to over optimization.
2467 Test: fast/dom/SelectorAPI/detached-element.html
2471 * WebCore.vcproj/WebCore.vcproj:
2472 * WebCore.xcodeproj/project.pbxproj:
2473 * WebCoreSources.bkl:
2474 * bindings/js/JSDocumentFragmentCustom.cpp: Added.
2475 (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
2476 and JSDocument that checks for a 2nd arguments and throws an exception indicating
2477 we do not currently support the optional NSResolver part of the Selectors API spec.
2478 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2479 * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
2482 (WebCore::Node::querySelector): Make the CSS parser parse the selector
2483 according to the strictness of the document so that mixed case ID selectors
2484 match in quirks mode. Also, don't use the fast ID path if the root is not
2485 in the DOM tree, as it won't work.
2486 (WebCore::Node::querySelectorAll): Ditto.
2487 * dom/SelectorNodeList.cpp:
2488 (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
2489 in the DOM tree, as it won't work.
2491 2008-07-10 Anthony Ricaud <rik24d@gmail.com>
2493 Bug 19389: querySelectorAll exception while searching invalid CSS selector
2494 <https://bugs.webkit.org/show_bug.cgi?id=19389>
2496 Reviewed by Tim Hatcher.
2498 * page/inspector/inspector.js: Added a try/catch block.
2500 2008-07-10 Brent Fulgham <bfulgham@gmail.com>
2502 Correct a build regression due to an uninitialized variable.
2504 <https://bugs.webkit.org/show_bug.cgi?id=19976>
2508 * platform/graphics/cairo/FontCairo.cpp:
2509 (WebCore::Font::drawGlyphs):
2511 2008-07-10 Adam Roben <aroben@apple.com>
2513 Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2514 HTMLCollection::resetCollectionInfo (codegen issue?)
2516 <https://bugs.webkit.org/show_bug.cgi?id=19580>
2519 Reviewed by Cameron Zwarich.
2521 * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
2522 which was causing some bad codegen in HTMLFormElement::elements.
2523 * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
2525 2008-07-10 Anders Carlsson <andersca@apple.com>
2529 <rdar://problem/6067135>
2530 WebKit should respond true to a query for NPNVSupportsWindowless.
2532 Handle NPNVSupportsWindowless and return true.
2535 * plugins/win/PluginViewWin.cpp:
2536 (WebCore::PluginView::getValue):
2538 2008-07-10 Kevin McCullough <kmccullough@apple.com>
2542 -Minor cleanup. Renamed callTree() to head() and no longer use m_head
2543 directly but instead keep it private and access via a method().
2545 * page/JavaScriptProfile.cpp:
2546 (WebCore::getHeadCallback):
2548 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2550 When a mask image changes, ensure that elements
2551 that use that mask image are repainted correctly.
2553 <https://bugs.webkit.org/show_bug.cgi?id=19954>
2555 Reviewed by Dave Hyatt
2557 * manual-tests/canvas-mask-redraw.html
2559 * rendering/RenderBox.cpp:
2560 (WebCore::RenderBox::imageChanged):
2561 (WebCore::RenderBox::repaintLayerRectsForImage):
2562 * rendering/RenderBox.h:
2563 Loop through background layers and mask layers, and
2564 if this image is used in a layer, compute a repaint
2566 * rendering/RenderImage.cpp:
2567 (WebCore::RenderImage::imageChanged):
2568 If this image has a mask, call the base class method.
2569 * rendering/RenderObject.cpp:
2570 Remove a bogus 'return'.
2572 2008-07-10 Simon Fraser <simon.fraser@apple.com>
2574 Transforms create a containing block, so
2575 RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
2576 <https://bugs.webkit.org/show_bug.cgi?id=18886>
2578 Reviewed by Dave Hyatt
2580 Test: fast/transforms/transform-overflow.html
2582 * rendering/RenderLayer.cpp:
2583 (WebCore::RenderLayer::shouldBeOverflowOnly):
2585 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com>
2587 Reviewed by Oliver Hunt.
2589 bug 19835: WebKit needs cross-platform filter system
2590 <https://bugs.webkit.org/show_bug.cgi?id=19835>
2592 More class refactoring in preparation for cross-platform filter
2595 * WebCore.xcodeproj/project.pbxproj:
2596 * rendering/SVGRenderTreeAsText.h:
2597 (WebCore::operator<<):
2598 * svg/FilterEffect.cpp:
2599 (WebCore::FilterEffect::externalRepresentation):
2600 * svg/FilterEffect.h:
2601 * svg/SVGFEBlendElement.cpp:
2602 (WebCore::SVGFEBlendElement::build):
2603 * svg/SVGFEBlendElement.h:
2604 * svg/SVGFEColorMatrixElement.cpp:
2605 (WebCore::SVGFEColorMatrixElement::build):
2606 * svg/SVGFEColorMatrixElement.h:
2607 * svg/SVGFEComponentTransferElement.cpp:
2608 (WebCore::SVGFEComponentTransferElement::build):
2609 * svg/SVGFEComponentTransferElement.h:
2610 * svg/SVGFECompositeElement.cpp:
2611 (WebCore::SVGFECompositeElement::build):
2612 * svg/SVGFECompositeElement.h:
2613 * svg/SVGFEDiffuseLightingElement.cpp:
2614 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2615 (WebCore::SVGFEDiffuseLightingElement::build):
2616 (WebCore::SVGFEDiffuseLightingElement::findLights):
2617 * svg/SVGFEDiffuseLightingElement.h:
2618 * svg/SVGFEDisplacementMapElement.cpp:
2619 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2620 (WebCore::SVGFEDisplacementMapElement::stringToChannel):
2621 (WebCore::SVGFEDisplacementMapElement::filterEffect):
2622 (WebCore::SVGFEDisplacementMapElement::build):
2623 * svg/SVGFEDisplacementMapElement.h:
2624 * svg/SVGFEFloodElement.cpp:
2625 (WebCore::SVGFEFloodElement::filterEffect):
2626 (WebCore::SVGFEFloodElement::build):
2627 * svg/SVGFEFloodElement.h:
2628 (WebCore::SVGFEFloodElement::contextElement):
2629 * svg/SVGFEGaussianBlurElement.cpp:
2630 (WebCore::SVGFEGaussianBlurElement::filterEffect):
2631 (WebCore::SVGFEGaussianBlurElement::build):
2632 * svg/SVGFEGaussianBlurElement.h:
2633 * svg/SVGFEImageElement.cpp:
2634 (WebCore::SVGFEImageElement::filterEffect):
2635 (WebCore::SVGFEImageElement::build):
2636 * svg/SVGFEImageElement.h:
2637 * svg/SVGFEMergeElement.cpp:
2638 (WebCore::SVGFEMergeElement::filterEffect):
2639 (WebCore::SVGFEMergeElement::build):
2640 * svg/SVGFEMergeElement.h:
2641 (WebCore::SVGFEMergeElement::contextElement):
2642 * svg/SVGFEOffsetElement.cpp:
2643 (WebCore::SVGFEOffsetElement::filterEffect):
2644 (WebCore::SVGFEOffsetElement::build):
2645 * svg/SVGFEOffsetElement.h:
2646 * svg/SVGFESpecularLightingElement.cpp:
2647 (WebCore::SVGFESpecularLightingElement::filterEffect):
2648 (WebCore::SVGFESpecularLightingElement::findLights):
2649 (WebCore::SVGFESpecularLightingElement::build):
2650 * svg/SVGFESpecularLightingElement.h:
2651 * svg/SVGFETileElement.cpp:
2652 (WebCore::SVGFETileElement::filterEffect):
2653 (WebCore::SVGFETileElement::build):
2654 * svg/SVGFETileElement.h:
2655 * svg/SVGFETurbulenceElement.cpp:
2656 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2657 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2658 (WebCore::SVGFETurbulenceElement::filterEffect):
2659 (WebCore::SVGFETurbulenceElement::build):
2660 * svg/SVGFETurbulenceElement.h:
2661 * svg/SVGFilterPrimitiveStandardAttributes.h:
2662 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2663 (WebCore::FEConvolveMatrix::FEConvolveMatrix):
2664 (WebCore::FEConvolveMatrix::create):
2665 (WebCore::FEConvolveMatrix::kernelSize):
2666 (WebCore::FEConvolveMatrix::setKernelSize):
2667 (WebCore::FEConvolveMatrix::kernel):
2668 (WebCore::FEConvolveMatrix::setKernel):
2669 (WebCore::FEConvolveMatrix::divisor):
2670 (WebCore::FEConvolveMatrix::setDivisor):
2671 (WebCore::FEConvolveMatrix::bias):
2672 (WebCore::FEConvolveMatrix::setBias):
2673 (WebCore::FEConvolveMatrix::targetOffset):
2674 (WebCore::FEConvolveMatrix::setTargetOffset):
2675 (WebCore::FEConvolveMatrix::edgeMode):
2676 (WebCore::FEConvolveMatrix::setEdgeMode):
2677 (WebCore::FEConvolveMatrix::kernelUnitLength):
2678 (WebCore::FEConvolveMatrix::setKernelUnitLength):
2679 (WebCore::FEConvolveMatrix::preserveAlpha):
2680 (WebCore::FEConvolveMatrix::setPreserveAlpha):
2681 (WebCore::FEConvolveMatrix::apply):
2682 (WebCore::FEConvolveMatrix::dump):
2683 (WebCore::operator<<):
2684 (WebCore::FEConvolveMatrix::externalRepresentation):
2685 * svg/graphics/filters/SVGFEConvolveMatrix.h:
2687 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2688 (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2689 (WebCore::FEDiffuseLighting::create):
2690 (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
2691 (WebCore::FEDiffuseLighting::lightingColor):
2692 (WebCore::FEDiffuseLighting::setLightingColor):
2693 (WebCore::FEDiffuseLighting::surfaceScale):
2694 (WebCore::FEDiffuseLighting::setSurfaceScale):
2695 (WebCore::FEDiffuseLighting::diffuseConstant):
2696 (WebCore::FEDiffuseLighting::setDiffuseConstant):
2697 (WebCore::FEDiffuseLighting::kernelUnitLengthX):
2698 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2699 (WebCore::FEDiffuseLighting::kernelUnitLengthY):
2700 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2701 (WebCore::FEDiffuseLighting::lightSource):
2702 (WebCore::FEDiffuseLighting::setLightSource):
2703 (WebCore::FEDiffuseLighting::apply):
2704 (WebCore::FEDiffuseLighting::dump):
2705 (WebCore::FEDiffuseLighting::externalRepresentation):
2706 * svg/graphics/filters/SVGFEDiffuseLighting.h:
2707 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2708 (WebCore::FEDisplacementMap::FEDisplacementMap):
2709 (WebCore::FEDisplacementMap::create):
2710 (WebCore::FEDisplacementMap::xChannelSelector):
2711 (WebCore::FEDisplacementMap::setXChannelSelector):
2712 (WebCore::FEDisplacementMap::yChannelSelector):
2713 (WebCore::FEDisplacementMap::setYChannelSelector):
2714 (WebCore::FEDisplacementMap::scale):
2715 (WebCore::FEDisplacementMap::setScale):
2716 (WebCore::FEDisplacementMap::apply):
2717 (WebCore::FEDisplacementMap::dump):
2718 (WebCore::operator<<):
2719 (WebCore::FEDisplacementMap::externalRepresentation):
2720 * svg/graphics/filters/SVGFEDisplacementMap.h:
2722 * svg/graphics/filters/SVGFEFlood.cpp:
2723 (WebCore::FEFlood::FEFlood):
2724 (WebCore::FEFlood::create):
2725 (WebCore::FEFlood::floodColor):
2726 (WebCore::FEFlood::setFloodColor):
2727 (WebCore::FEFlood::floodOpacity):
2728 (WebCore::FEFlood::setFloodOpacity):
2729 (WebCore::FEFlood::apply):
2730 (WebCore::FEFlood::dump):
2731 (WebCore::FEFlood::externalRepresentation):
2732 * svg/graphics/filters/SVGFEFlood.h:
2733 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2734 (WebCore::FEGaussianBlur::FEGaussianBlur):
2735 (WebCore::FEGaussianBlur::create):
2736 (WebCore::FEGaussianBlur::stdDeviationX):
2737 (WebCore::FEGaussianBlur::setStdDeviationX):
2738 (WebCore::FEGaussianBlur::stdDeviationY):
2739 (WebCore::FEGaussianBlur::setStdDeviationY):
2740 (WebCore::FEGaussianBlur::apply):
2741 (WebCore::FEGaussianBlur::dump):
2742 (WebCore::FEGaussianBlur::externalRepresentation):
2743 * svg/graphics/filters/SVGFEGaussianBlur.h:
2744 * svg/graphics/filters/SVGFEImage.cpp:
2745 (WebCore::FEImage::FEImage):
2746 (WebCore::FEImage::create):
2747 (WebCore::FEImage::~FEImage):
2748 (WebCore::FEImage::cachedImage):
2749 (WebCore::FEImage::apply):
2750 (WebCore::FEImage::dump):
2751 (WebCore::FEImage::externalRepresentation):
2752 * svg/graphics/filters/SVGFEImage.h:
2753 * svg/graphics/filters/SVGFEMerge.cpp:
2754 (WebCore::FEMerge::FEMerge):
2755 (WebCore::FEMerge::create):
2756 (WebCore::FEMerge::mergeInputs):
2757 (WebCore::FEMerge::setMergeInputs):
2758 (WebCore::FEMerge::apply):
2759 (WebCore::FEMerge::dump):
2760 (WebCore::FEMerge::externalRepresentation):
2761 * svg/graphics/filters/SVGFEMerge.h:
2762 * svg/graphics/filters/SVGFEMorphology.cpp:
2763 (WebCore::FEMorphology::FEMorphology):
2764 (WebCore::FEMorphology::create):
2765 (WebCore::FEMorphology::morphologyOperator):
2766 (WebCore::FEMorphology::setMorphologyOperator):
2767 (WebCore::FEMorphology::radiusX):
2768 (WebCore::FEMorphology::setRadiusX):
2769 (WebCore::FEMorphology::radiusY):
2770 (WebCore::FEMorphology::setRadiusY):
2771 (WebCore::FEMorphology::apply):
2772 (WebCore::FEMorphology::dump):
2773 (WebCore::operator<<):
2774 (WebCore::FEMorphology::externalRepresentation):
2775 * svg/graphics/filters/SVGFEMorphology.h:
2777 * svg/graphics/filters/SVGFEOffset.cpp:
2778 (WebCore::FEOffset::FEOffset):
2779 (WebCore::FEOffset::create):
2780 (WebCore::FEOffset::dx):
2781 (WebCore::FEOffset::setDx):
2782 (WebCore::FEOffset::dy):
2783 (WebCore::FEOffset::setDy):
2784 (WebCore::FEOffset::apply):
2785 (WebCore::FEOffset::dump):
2786 (WebCore::FEOffset::externalRepresentation):
2787 * svg/graphics/filters/SVGFEOffset.h:
2788 * svg/graphics/filters/SVGFESpecularLighting.cpp:
2789 (WebCore::FESpecularLighting::FESpecularLighting):
2790 (WebCore::FESpecularLighting::create):
2791 (WebCore::FESpecularLighting::~FESpecularLighting):
2792 (WebCore::FESpecularLighting::lightingColor):
2793 (WebCore::FESpecularLighting::setLightingColor):
2794 (WebCore::FESpecularLighting::surfaceScale):
2795 (WebCore::FESpecularLighting::setSurfaceScale):
2796 (WebCore::FESpecularLighting::specularConstant):
2797 (WebCore::FESpecularLighting::setSpecularConstant):
2798 (WebCore::FESpecularLighting::specularExponent):
2799 (WebCore::FESpecularLighting::setSpecularExponent):
2800 (WebCore::FESpecularLighting::kernelUnitLengthX):
2801 (WebCore::FESpecularLighting::setKernelUnitLengthX):
2802 (WebCore::FESpecularLighting::kernelUnitLengthY):
2803 (WebCore::FESpecularLighting::setKernelUnitLengthY):
2804 (WebCore::FESpecularLighting::lightSource):
2805 (WebCore::FESpecularLighting::setLightSource):
2806 (WebCore::FESpecularLighting::apply):
2807 (WebCore::FESpecularLighting::dump):
2808 (WebCore::FESpecularLighting::externalRepresentation):
2809 * svg/graphics/filters/SVGFESpecularLighting.h:
2810 * svg/graphics/filters/SVGFETile.cpp:
2811 (WebCore::FETile::FETile):
2812 (WebCore::FETile::create):
2813 (WebCore::FETile::apply):
2814 (WebCore::FETile::dump):
2815 (WebCore::FETile::externalRepresentation):
2816 * svg/graphics/filters/SVGFETile.h:
2817 * svg/graphics/filters/SVGFETurbulence.cpp:
2818 (WebCore::FETurbulence::FETurbulence):
2819 (WebCore::FETurbulence::create):
2820 (WebCore::FETurbulence::type):
2821 (WebCore::FETurbulence::setType):
2822 (WebCore::FETurbulence::baseFrequencyY):
2823 (WebCore::FETurbulence::setBaseFrequencyY):
2824 (WebCore::FETurbulence::baseFrequencyX):
2825 (WebCore::FETurbulence::setBaseFrequencyX):
2826 (WebCore::FETurbulence::seed):
2827 (WebCore::FETurbulence::setSeed):
2828 (WebCore::FETurbulence::numOctaves):
2829 (WebCore::FETurbulence::setNumOctaves):
2830 (WebCore::FETurbulence::stitchTiles):
2831 (WebCore::FETurbulence::setStitchTiles):
2832 (WebCore::FETurbulence::apply):
2833 (WebCore::FETurbulence::dump):
2834 (WebCore::operator<<):
2835 (WebCore::FETurbulence::externalRepresentation):
2836 * svg/graphics/filters/SVGFETurbulence.h:
2838 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
2839 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
2840 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
2841 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
2842 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2843 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2844 (WebCore::getVectorForChannel):
2845 * svg/graphics/filters/cg/SVGFEImageCg.mm:
2846 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
2847 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
2848 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
2849 * svg/graphics/filters/cg/SVGFETileCg.mm:
2851 2008-07-09 Mark Rowe <mrowe@apple.com>
2853 Reviewed by Geoff Garen.
2855 Don't warn about deprecated functions in production builds.
2857 * Configurations/Base.xcconfig:
2858 * Configurations/DebugRelease.xcconfig:
2860 2008-07-09 Brady Eidson <beidson@apple.com>
2864 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2865 has been installed in a frame tree.
2867 The root of this problem was that calling init() on a new frame could end up calling arbitrary
2868 javascript that might end up removing the frame from the tree. This opened up a small can of worms
2869 such as the frame not having yet been installed in its frame tree, and other assumed behavior while
2870 destroying the frame.
2872 Test: fast/loader/frame-creation-removal.html
2874 * loader/FrameLoader.cpp:
2875 (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up
2876 the document and parser because they don't exist, and this frame is on its way out.
2877 (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?"
2878 because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be
2879 false if the Frame is being destroyed.
2881 2008-07-09 Dean Jackson <dino@apple.com>
2883 Changed to use the correct license in header comment (via Darin)
2885 * css/WebKitCSSTransformValue.idl:
2887 2008-07-09 Dean Jackson <dino@apple.com>
2889 Add DOM interface for WebKitCSSTransformValue.
2890 https://bugs.webkit.org/show_bug.cgi?id=19863
2894 * bindings/objc/DOMInternal.h:
2895 * css/WebKitCSSTransformValue.idl: Added.
2897 * bindings/scripts/CodeGeneratorObjC.pm:
2898 make sure new class inherits from CSSValue not Node
2900 * DerivedSources.make:
2903 * WebCore.vcproj/WebCore.vcproj:
2904 * WebCore.xcodeproj/project.pbxproj:
2905 * WebCoreSources.bkl:
2906 Adding new generated files
2908 2008-07-09 Maxime Britto <britto@apple.com>
2912 http://bugs.webkit.org/show_bug.cgi?id=14227
2913 Add the middle click panning feature to the windows release.
2914 Details on almost each method below.
2915 Manual test is included in the patch.
2918 * WebCore.vcproj/WebCore.vcproj:
2919 * manual-tests/panScroll.html: Added.
2920 * manual-tests/resources/big-page.html: Added.
2921 * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
2922 (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
2923 (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
2924 (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
2925 (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
2926 (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
2927 (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
2928 (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.
2929 * page/EventHandler.h:
2930 (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
2931 (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
2932 * 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
2933 * platform/gtk/ScrollViewGtk.cpp:
2934 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2935 * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
2936 (WebCore::ScrollView::isScrollable):
2937 * platform/qt/ScrollViewQt.cpp:
2938 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2939 * platform/win/ScrollViewWin.cpp:
2940 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
2941 (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.
2942 (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
2943 (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
2944 (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
2945 (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
2946 (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
2947 (WebCore::ScrollView::paint): Modified to draw the icon if needed.
2948 * platform/wx/ScrollViewWx.cpp:
2949 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2950 * rendering/RenderLayer.cpp:
2951 (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.
2952 * rendering/RenderLayer.h:
2953 * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
2954 (WebCore::RenderListBox::panScroll):
2955 (WebCore::RenderListBox::scrollToward):
2956 (WebCore::RenderListBox::autoscroll):
2957 * rendering/RenderListBox.h:
2958 (WebCore::RenderListBox::shouldPanScroll):
2959 * rendering/RenderObject.cpp:
2960 (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
2961 (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
2962 * rendering/RenderObject.h:
2963 (WebCore::RenderObject::stopPanScroll):
2965 2008-07-09 Dean Jackson <dino@apple.com>
2967 Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
2968 the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
2969 https://bugs.webkit.org/show_bug.cgi?id=19861
2973 * css/CSSParser.cpp:
2974 * css/CSSStyleSelector.cpp:
2975 * css/CSSTransformValue.cpp: Removed.
2976 * css/CSSTransformValue.h: Removed.
2977 * css/CSSValueList.h:
2978 * css/WebKitCSSTransformValue.cpp: Added.
2979 * css/WebKitCSSTransformValue.h: Added.
2984 * WebCore.vcproj/WebCore.vcproj:
2985 * WebCore.xcodeproj/project.pbxproj:
2986 * WebCoreSources.bkl:
2987 updated for new file names
2990 2008-07-09 David Hyatt <hyatt@apple.com>
2992 Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
2993 change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
2998 * manual-tests/transitions.html:
2999 * manual-tests/transitions2.html:
3000 * page/AnimationController.cpp:
3001 (WebCore::ImplicitAnimation::reset):
3002 (WebCore::CompositeImplicitAnimation::animate):
3003 (WebCore::AnimationControllerPrivate::get):
3004 (WebCore::AnimationController::updateImplicitAnimations):
3006 2008-07-09 Michelangelo De Simone <m.des@mac.com>
3010 Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
3012 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3013 Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
3014 * dom/Node.h: Added base isTextControl().
3015 * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
3016 * html/HTMLTextAreaElement.h: Added isTextControl().
3018 2008-07-09 Rob Buis <buis@kde.org>
3022 https://bugs.webkit.org/show_bug.cgi?id=15431
3023 SVGRenderStyle should store pre-modified resource URIs
3025 Store pre-modified resource URIs to decrease string
3026 operations during layout/rendering.
3028 * css/SVGCSSStyleSelector.cpp:
3029 (WebCore::CSSStyleSelector::applySVGProperty):
3030 * rendering/RenderPath.cpp:
3031 (WebCore::RenderPath::absoluteClippedOverflowRect):
3032 (WebCore::RenderPath::drawMarkersIfNeeded):
3033 * rendering/RenderSVGContainer.cpp:
3034 (WebCore::RenderSVGContainer::selfWillPaint):
3035 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
3036 * rendering/RenderSVGImage.cpp:
3037 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3038 * rendering/RenderSVGRoot.cpp:
3039 (WebCore::RenderSVGRoot::paint):
3040 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
3041 * rendering/RenderSVGText.cpp:
3042 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
3043 * rendering/SVGRenderSupport.cpp:
3044 (WebCore::prepareToRenderSVGContent):
3046 2008-07-09 Anders Carlsson <andersca@apple.com>
3050 Remove an unused instance variable.
3052 * loader/DocumentLoader.h:
3054 2008-07-09 Dan Bernstein <mitz@apple.com>
3056 Reviewed by Anders Carlsson.
3058 - remove unused #includes
3060 * dom/XMLTokenizer.cpp:
3061 * html/PreloadScanner.cpp:
3062 * loader/CachedCSSStyleSheet.cpp:
3063 * loader/CachedScript.cpp:
3064 * loader/CachedXBLDocument.cpp:
3065 * loader/CachedXSLStyleSheet.cpp:
3066 * page/mac/FrameMac.mm:
3067 * xml/XSLTProcessor.cpp:
3069 2008-07-08 Geoffrey Garen <ggaren@apple.com>
3071 Reviewed by Oliver Hunt.
3073 Only artificially mark JS DOM wrappers if they have custom properties.
3075 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
3077 No, that is not a typo.
3079 * bindings/js/JSDOMBinding.cpp:
3080 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
3082 2008-07-08 Kevin Watters <kevinwatters@gmail.com>
3084 Reviewed by Kevin Ollivier.
3086 Fix to previous patch for handling mouse up events.
3088 https://bugs.webkit.org/show_bug.cgi?id=18464
3090 * platform/wx/MouseEventWx.cpp:
3091 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3093 2008-07-08 Dan Bernstein <mitz@apple.com>
3095 Reviewed by Brady Eidson.
3097 - initialize the Archives log channel's state
3099 * platform/mac/LoggingMac.mm:
3100 (WebCore::InitializeLoggingChannelsIfNecessary):
3102 2008-07-08 Kevin McCullough <kmccullough@apple.com>
3104 Added manual test for the new heavy view.
3106 * manual-tests/inspector/profiler-test-heavy-view.html: Added.
3108 2008-07-08 Darin Adler <darin@apple.com>
3112 - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
3113 looks wrong due to OpenCube QuickMenu appVersion check
3115 * page/Navigator.cpp:
3116 (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
3118 2008-07-08 Dan Bernstein <mitz@apple.com>
3120 Reviewed by John Sullivan.
3122 - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
3124 Added a setting, updatesWhenOffscreen(), which controls whether an
3125 offscreen web view gets marked as needing update when its contents
3126 change (the existing behavior) or not (a new behavior), in which case it
3127 will be marked as needing update just before it goes on screen. The
3128 existing behavior (updating while offscreen) remains the default.
3130 * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
3131 * page/FrameView.cpp:
3132 (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
3133 value from settings.
3135 * page/Settings.cpp:
3136 (WebCore::Settings::setUpdatesWhenOffscreen): Added.
3138 (WebCore::Settings::updatesWhenOffscreen): Added.
3139 * platform/ScrollView.h:
3140 * platform/mac/ScrollViewMac.mm:
3141 (WebCore::ScrollView::updateContents): Added code to return early and
3142 not call -setNeedsDisplayInRect: if the view is not in a visible window
3143 and the setting is not to update when offscreen.
3145 2008-07-08 Simon Hausmann <hausmann@webkit.org>
3147 Fix the build with enabled SVG filters.
3149 * svg/SVGFESpecularLightingElement.cpp: The last argument to
3150 ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
3153 2008-07-07 Sam Weinig <sam@webkit.org>
3155 Reviewed by Anders Carlsson.
3157 Remove extraneous null check.
3160 (WebCore::Node::querySelector):
3161 (WebCore::Node::querySelectorAll):
3163 2008-07-07 Sam Weinig <sam@webkit.org>
3165 Reviewed by Anders Carlsson.
3167 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3168 Use of CSS3 Namespaces syntax in Selectors API should throw an exception
3170 - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
3171 used in a selector passed to querySelector or querySelectorAll.
3173 Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
3176 (WebCore::selectorNeedsNamespaceResolution):
3177 (WebCore::Node::querySelector):
3178 (WebCore::Node::querySelectorAll):
3180 2008-07-07 Simon Fraser <simon.fraser@apple.com>
3184 Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
3185 nodeIterator with filter fails on documents not in a frame
3187 Tests: traversal/node-iterator-009.html
3188 traversal/tree-walker-006.html
3190 * bindings/js/JSNodeFilterCondition.cpp:
3191 * bindings/js/JSNodeFilterCondition.h:
3192 * bindings/js/JSNodeFilterCustom.cpp:
3193 * bindings/js/JSNodeIteratorCustom.cpp:
3194 * bindings/js/JSTreeWalkerCustom.cpp:
3195 * bindings/objc/DOM.mm:
3196 * dom/NodeFilter.cpp:
3198 * dom/NodeFilterCondition.cpp:
3199 * dom/NodeFilterCondition.h:
3200 * dom/NodeIterator.cpp:
3201 * dom/NodeIterator.h:
3202 * dom/Traversal.cpp:
3204 * dom/TreeWalker.cpp:
3207 2008-07-07 Adele Peterson <adele@apple.com>
3209 Reviewed by Dan Bernstein.
3211 Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
3212 <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
3214 * page/DragController.cpp: (WebCore::DragController::concludeDrag):
3215 Check that the file control is enabled before taking dropped files.
3217 2008-07-07 Adele Peterson <adele@apple.com>
3221 Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
3223 Change default volume setting to 1.0.
3225 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
3226 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
3228 2008-07-07 Darin Adler <darin@apple.com>
3230 Reviewed by Mark Rowe.
3232 - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
3234 The old version of the OpenCube QuickMenu library used on this site still has code
3235 that detects Netscape 4 by checking appVersion to see if it has the substring "4."
3236 in it. We decided to special-case the filename of the script and tweak the appVersion
3237 for files with that name.
3239 * bindings/js/ScriptController.cpp:
3240 (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
3241 m_sourceURL. Use false instead of 0 to initialize a boolean.
3242 (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
3243 Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
3244 maintained the value of m_processingInlineCode, since the old code set it to
3245 false rather than restoring it. Renamed a local variable named sourceURL to
3246 exceptionSourceURL for clarity.
3247 (WebCore::ScriptController::processingUserGesture): Code that formerly used
3248 m_processingInlineCode to detect that it was evaluating code with no URL now
3249 uses m_sourceURL to do the same check.
3251 * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
3252 been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
3253 removed m_processingInlineCode.
3255 * page/Navigator.cpp:
3256 (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
3257 a source URL ending in "/dqm_script.js" and if the settings say we should do
3258 site-specific quirks (really JavaScript-library-specific in this case).
3259 (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
3261 2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
3265 Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
3266 <https://bugs.webkit.org/show_bug.cgi?id=19907>
3268 Clear exceptions set on ExecStates before returning from NPAPI
3269 callbacks, in order to avoid causing problems for the next script that
3272 While fixing this bug, the question was raised of whether we are
3273 correctly propagating exception information back to the caller:
3275 Bug 19936: Correctly propagate exception information from NPAPI callbacks
3276 <https://bugs.webkit.org/show_bug.cgi?id=19936>
3278 * bridge/NP_jsobject.cpp:
3279 (_NPN_InvokeDefault):
3284 (_NPN_RemoveProperty):
3289 2008-07-07 Dan Bernstein <mitz@apple.com>
3291 Reviewed by Darin Adler.
3293 - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
3295 * css/CSSFontFaceSource.cpp:
3296 (WebCore::CSSFontFaceSource::getFontData): Added a null check because
3297 docLoader() can return 0 now.
3298 * css/CSSFontSelector.cpp:
3299 (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
3300 (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
3301 (WebCore::CSSFontSelector::fontLoaded): Ditto.
3302 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
3303 (WebCore::fontDataForGenericFamily): Added a null check of document.
3304 * css/CSSFontSelector.h:
3305 (WebCore::CSSFontSelector::clearDocument): Added.
3306 * css/CSSStyleSelector.cpp:
3307 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
3308 CSSFontSelector::clearDocument(). When the style selector is destroyed,
3309 there is no guarantee that the document will continue to exist.
3311 2008-07-07 Julien Chaffraix <jchaffraix@webkit.org>
3317 * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
3318 * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
3320 2008-07-07 Michelangelo De Simone <m.des@mac.com>
3324 Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
3326 URL: http://www.w3.org/TR/web-forms-2/#relation
3328 Tests: fast/css/readonly-pseudoclass-opera-001.html
3329 fast/css/readonly-pseudoclass-opera-002.html
3330 fast/css/readonly-pseudoclass-opera-003.html
3331 fast/css/readonly-pseudoclass-opera-004.html
3332 fast/css/readonly-pseudoclass-opera-005.html
3334 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3335 Added "read-only" and "read-write" values for PseudoType extraction.
3336 * css/CSSSelector.h: (WebCore::CSSSelector::):
3337 Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
3338 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3339 Checks to determine whether to match :read-only and :read-write pseudoclasses on
3342 2008-07-07 Sam Weinig <sam@webkit.org>
3344 Reviewed by Geoffrey Garen.
3346 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
3347 querySelectorAll should throw an exception if a NSResolver is passed in.
3349 - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
3350 as the second argument to querySelector or querySelectorAll.
3352 Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
3354 * bindings/js/JSDocumentCustom.cpp:
3355 (WebCore::JSDocument::querySelector):
3356 (WebCore::JSDocument::querySelectorAll):
3357 * bindings/js/JSElementCustom.cpp:
3358 (WebCore::JSElement::querySelector):
3359 (WebCore::JSElement::querySelectorAll):
3363 2008-07-07 Brady Eidson <beidson@apple.com>
3365 Reviewed by Mitz and Geoff
3367 Test: fast/loader/empty-ref-versus-no-ref.html
3369 Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
3370 "all DOM operations stop working when location.hash set to '#'"
3372 The underlying problem is that KURL didn't really know the difference between "empty ref"
3373 and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up
3374 affecting removal of the ref, which ended up causing an infinite load load, also killing
3377 * platform/KURL.cpp:
3378 (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special
3379 meaning of "no ref at all" while empty means "empty ref"
3381 2008-07-07 Kevin McCullough <kmccullough@apple.com>
3385 Because profiler.h no longer #includes profile.h we need to explicitly
3386 include it in console.cpp.
3390 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3392 Not reviewed. Build fix.
3394 Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
3396 * svg/SVGFEColorMatrixElement.cpp:
3397 * svg/SVGFEDiffuseLightingElement.cpp:
3398 * svg/SVGFEImageElement.cpp:
3399 * svg/SVGFELightElement.cpp:
3400 * svg/SVGFESpecularLightingElement.cpp:
3402 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3406 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3408 Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
3409 Remove unneccessary parameters of all macros.
3411 SVG Errata states: "All SVG DOM objects that directly correspond to an
3412 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
3413 means that any changes made to the attribute are immediately reflected in the
3414 corresponding SVG DOM object." (see linked URL on bug report)
3416 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
3417 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
3419 Add a new synchronization layer to handle SVG DOM -> XML changes.
3421 Added test: svg/custom/svg-xml-dom-sync.html
3422 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3425 (WebCore::Element::Element): Initialize the two new bits.
3426 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
3427 (WebCore::Element::getAttribute): Ditto.
3428 (WebCore::Element::hasAttributes): Ditto.
3429 * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
3430 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
3431 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
3432 * svg/SVGAElement.cpp:
3433 * svg/SVGAElement.h:
3434 * svg/SVGAnimatedTemplate.h:
3435 (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
3436 * svg/SVGCircleElement.cpp:
3437 (WebCore::SVGCircleElement::SVGCircleElement):
3438 * svg/SVGCircleElement.h:
3439 * svg/SVGClipPathElement.cpp:
3440 * svg/SVGClipPathElement.h:
3441 * svg/SVGComponentTransferFunctionElement.cpp:
3442 * svg/SVGComponentTransferFunctionElement.h:
3443 * svg/SVGCursorElement.cpp:
3444 (WebCore::SVGCursorElement::SVGCursorElement):
3445 * svg/SVGCursorElement.h:
3446 * svg/SVGElement.cpp:
3447 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
3448 (WebCore::SVGElement::setSynchronizedSVGAttributes):
3450 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
3451 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
3452 (WebCore::SVGElement::addSVGPropertySynchronizer):
3453 * svg/SVGEllipseElement.cpp:
3454 * svg/SVGEllipseElement.h:
3455 * svg/SVGExternalResourcesRequired.cpp:
3456 * svg/SVGExternalResourcesRequired.h:
3457 * svg/SVGFEBlendElement.cpp:
3458 * svg/SVGFEBlendElement.h:
3459 * svg/SVGFEColorMatrixElement.cpp:
3460 * svg/SVGFEColorMatrixElement.h:
3461 * svg/SVGFEComponentTransferElement.cpp:
3462 * svg/SVGFEComponentTransferElement.h:
3463 * svg/SVGFECompositeElement.cpp:
3464 * svg/SVGFECompositeElement.h:
3465 * svg/SVGFEDiffuseLightingElement.cpp:
3466 * svg/SVGFEDiffuseLightingElement.h:
3467 * svg/SVGFEDisplacementMapElement.cpp:
3468 * svg/SVGFEDisplacementMapElement.h:
3469 * svg/SVGFEGaussianBlurElement.cpp:
3470 * svg/SVGFEGaussianBlurElement.h:
3471 * svg/SVGFEImageElement.cpp:
3472 * svg/SVGFEImageElement.h:
3473 * svg/SVGFELightElement.cpp:
3474 * svg/SVGFELightElement.h:
3475 * svg/SVGFEMergeNodeElement.cpp:
3476 * svg/SVGFEMergeNodeElement.h:
3477 * svg/SVGFEOffsetElement.cpp:
3478 * svg/SVGFEOffsetElement.h:
3479 * svg/SVGFESpecularLightingElement.cpp:
3480 * svg/SVGFESpecularLightingElement.h:
3481 * svg/SVGFETileElement.cpp:
3482 * svg/SVGFETileElement.h:
3483 * svg/SVGFETurbulenceElement.cpp:
3484 * svg/SVGFETurbulenceElement.h:
3485 * svg/SVGFilterElement.cpp:
3486 * svg/SVGFilterElement.h:
3487 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3488 * svg/SVGFilterPrimitiveStandardAttributes.h:
3489 * svg/SVGFitToViewBox.cpp:
3490 * svg/SVGFitToViewBox.h:
3491 * svg/SVGForeignObjectElement.cpp:
3492 * svg/SVGForeignObjectElement.h:
3493 * svg/SVGGradientElement.cpp:
3494 * svg/SVGGradientElement.h:
3495 * svg/SVGImageElement.cpp:
3496 * svg/SVGImageElement.h:
3497 * svg/SVGLineElement.cpp:
3498 * svg/SVGLineElement.h:
3499 * svg/SVGLinearGradientElement.cpp:
3500 * svg/SVGLinearGradientElement.h:
3501 * svg/SVGMarkerElement.cpp:
3502 * svg/SVGMarkerElement.h:
3503 * svg/SVGMaskElement.cpp:
3504 * svg/SVGMaskElement.h:
3505 * svg/SVGPathElement.cpp:
3506 * svg/SVGPathElement.h:
3507 * svg/SVGPatternElement.cpp:
3508 * svg/SVGPatternElement.h:
3509 * svg/SVGRadialGradientElement.cpp:
3510 * svg/SVGRadialGradientElement.h:
3511 * svg/SVGRectElement.cpp:
3512 * svg/SVGRectElement.h:
3513 * svg/SVGSVGElement.cpp:
3514 * svg/SVGSVGElement.h:
3515 * svg/SVGScriptElement.h:
3516 * svg/SVGStopElement.cpp:
3517 * svg/SVGStopElement.h:
3518 * svg/SVGStyledElement.cpp:
3519 * svg/SVGStyledElement.h:
3520 * svg/SVGStyledTransformableElement.cpp:
3521 * svg/SVGStyledTransformableElement.h:
3522 * svg/SVGSymbolElement.h:
3523 * svg/SVGTextContentElement.cpp:
3524 * svg/SVGTextContentElement.h:
3525 * svg/SVGTextElement.cpp:
3526 * svg/SVGTextElement.h:
3527 * svg/SVGTextPathElement.cpp:
3528 * svg/SVGTextPathElement.h:
3529 * svg/SVGTextPositioningElement.cpp:
3530 * svg/SVGTextPositioningElement.h:
3531 * svg/SVGURIReference.cpp:
3532 * svg/SVGURIReference.h:
3533 * svg/SVGUseElement.cpp:
3534 * svg/SVGUseElement.h:
3535 * svg/SVGViewElement.h:
3536 * svg/SynchronizableTypeWrapper.h: Added.
3538 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
3542 Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3544 Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
3546 Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
3547 Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
3548 in SVGAnimatedTemplate.
3550 * svg/SVGAnimatedTemplate.h:
3551 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3552 (WebCore::lookupOrCreateWrapper):
3553 (WebCore::SVGAnimatedTypeValue::null):
3554 (WebCore::SVGAnimatedTypeValue::toString):
3556 * svg/SVGDocumentExtensions.h:
3557 (WebCore::SVGDocumentExtensions::baseValue):
3558 * svg/SVGLengthList.cpp:
3559 (WebCore::SVGLengthList::valueAsString):
3560 * svg/SVGLengthList.h:
3561 * svg/SVGNumberList.cpp:
3562 (WebCore::SVGNumberList::valueAsString):
3563 * svg/SVGNumberList.h:
3564 * svg/SVGPreserveAspectRatio.cpp:
3565 (WebCore::SVGPreserveAspectRatio::valueAsString):
3566 * svg/SVGPreserveAspectRatio.h:
3567 * svg/SVGTransformList.cpp:
3568 (SVGTransformList::valueAsString):
3569 * svg/SVGTransformList.h:
3571 2008-07-06 Sam Weinig <sam@webkit.org>
3573 Reviewed by Dan Bernstein.
3575 Rename "Access-Contol-Origin" to "Origin" to match the latest
3576 Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)