Timeline
Jul 24, 2008:
- 11:40 PM Changeset in webkit [35334] by
-
- 3 edits in trunk/JavaScriptCore
2008-07-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
Fixed a strict aliasing violation, which caused hash tables with floating
point keys not to find items that were indeed in the tables
(intermittently, and only in release builds, of course).
SunSpider reports no change.
This bug doesn't seem to affect any existing code, but it causes obvious
crashes in some new code I'm working on.
- wtf/HashFunctions.h: (WTF::FloatHash::hash): Use a union when punning between a float / double and an unsigned (bucket of bits). With strict aliasing enabled, unions are the only safe way to do this kind of type punning.
- wtf/HashTable.h: When rehashing, ASSERT that the item we just added to the table is indeed in the table. In the buggy case described above, this ASSERT fires.
- 3:57 PM Changeset in webkit [35333] by
-
- 4 edits in trunk/WebCore
wx build fix on Win for plugins coode.
- 2:55 PM Changeset in webkit [35332] by
-
- 11 edits in trunk/WebCore
2008-07-24 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Make isElementNode() non-virtual for a speedup on many benchmarks
including 20% on http://ejohn.org/apps/fragment/.
- Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in Element and Attr where space was available. Use the new free bit to represent if an node is an element or not.
- dom/Attr.cpp: (WebCore::Attr::Attr):
- dom/Attr.h: (WebCore::Attr::specified): (WebCore::Attr::setSpecified):
- dom/ContainerNode.cpp: (WebCore::ContainerNode::ContainerNode):
- dom/ContainerNode.h:
- dom/Element.cpp: (WebCore::Element::Element):
- dom/Element.h: (WebCore::Element::hasRareData): (WebCore::Element::setHasRareData):
- dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode):
- dom/EventTargetNode.h:
- dom/Node.cpp: (WebCore::Node::Node):
- dom/Node.h: (WebCore::Node::isElementNode):
- 2:38 PM Changeset in webkit [35331] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave Hyatt.
- fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
Not testable in DumpRenderTree
- rendering/RenderView.cpp: (WebCore::RenderView::layout): Ensured that all children with percentage heights get laid out again if the height changes.
- 2:27 PM Changeset in webkit [35330] by
-
- 2 edits in trunk/WebCore
Windows build fix for wx. wx doesn't implement pan scrolling yet.
- 1:38 PM Changeset in webkit [35329] by
-
- 2 edits in trunk/WebKitSite
Remove some redundant text accidentally checked in
- building/tools.html:
- 1:36 PM Changeset in webkit [35328] by
-
- 2 edits in trunk/WebKitSite
Fix a dead link to the Windows Platform SDK and related instructions
Rubberstamped by Alexey Proskuryakov.
- building/tools.html: Fixed a dead link.
- 1:24 PM Changeset in webkit [35327] by
-
- 2 edits in trunk/WebCore
2008-07-24 David Hyatt <hyatt@apple.com>
Fix for bug 18673, crash when using full page zoom on generated content. Don't call
intrinsicSizeChanged when we are first setting our style.
Reviewed by olliej
- ChangeLog:
- rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::setStyle):
- 10:34 AM Changeset in webkit [35326] by
-
- 9 edits5 adds in branches/XBL2
WebKitTools:
2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Ap.
Add XBL detection to run-webkit-test.
- Scripts/build-drawtest:
- Scripts/run-drawtest:
- Scripts/run-webkit-tests: Detect if WebKit was compiled with XBL support and enable or disable XBL test.
- Scripts/webkitdirs.pm: Renamed checkWebKitSVGSupport to checkWebKitSupportFor taking a string parameter for the standard to test to share the code between SVG and XBL.
LayoutTest:
2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Ap.
- Add test for bug 19917: [XBL] We need the ability to manage bindings
- Updated some tests' results.
Note: the 2 updated test in fast/dom will fail when XBL is disabled
because they depend on Element's number of properties. It is
fine for now but it will need to be properly fixed.
- fast/dom/Window/window-properties-expected.txt: Updated as we have added the 3 new methods to Element.
- fast/dom/domListEnumeration-expected.txt: Ditto.
- fast/dom/resources/domListEnumeration.js: Ditto.
- fast/xbl: Added.
- fast/xbl/resources: Added.
- fast/xbl/resources/xbl-empty-binding.xbl: Added.
- fast/xbl/xbl-ElementXBL-Interface-expected.txt: Added.
- fast/xbl/xbl-ElementXBL-Interface.html: Added.
- 7:19 AM Changeset in webkit [35325] by
-
- 5 edits2 adds in branches/XBL2/WebCore
2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Bug 20029: [XBL] Add more tags
Add <binding> and <template> classes.
Add <div> tag.
The two classes are stubs for the moment.
These tags are required to have a simple XBL example
running.
XBLElement now inherits from StyledElement as <div>
is a placeholder for CSS style information.
- WebCore.xcodeproj/project.pbxproj:
- dom/make_names.pl: Add 'generateNameOnly' attribute used for <div> as we do not want to add a specialized class.
- xbl/XBLBindingElement.h: Added. (WebCore::XBLBindingElement::XBLBindingElement):
- xbl/XBLElement.h: (WebCore::XBLElement::XBLElement): Now XBLElement inherits from styledElement.
- xbl/XBLTemplateElement.h: Added. (WebCore::XBLTemplateElement::XBLTemplateElement):
- xbl/xbltags.in: Add tags.
- 3:58 AM Changeset in webkit [35324] by
-
- 9 edits3 adds in branches/XBL2/WebCore
2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Bug 19917: [XBL] We need the ability to manage bindings
- Move XBLBindingManager from per-document to global.
- Implement part of ElementXBL interface (to add bindings, remove bindings and check if an element has a binding).
- GNUmakefile.am: Add compilation information.
- WebCore.pro: Ditto.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- dom/Document.cpp: (WebCore::Document::Document): Remove per-document XBLBindingManager instance. (WebCore::Document::~Document): Ditto.
- dom/Document.h: Ditto.
- dom/Element.cpp: (WebCore::Element::~Element): Remove associated bindings to avoid leaks. (WebCore::Element::addBinding): Part of ElementXBL interface to manage bindings. (WebCore::Element::removeBinding): Ditto. (WebCore::Element::hasBinding): Ditto.
- dom/Element.h: Add ElementXBL interface.
- dom/Element.idl: Ditto.
- xbl/XBLBinding.h: Added. (WebCore::XBLBinding::XBLBinding): (WebCore::XBLBinding::uri):
- xbl/XBLBindingManager.cpp: Added. (WebCore::XBLBindingManager::sharedInstance): (WebCore::XBLBindingManager::XBLBindingManager): (WebCore::XBLBindingManager::addBinding): (WebCore::XBLBindingManager::removeBinding): (WebCore::XBLBindingManager::hasBinding): (WebCore::XBLBindingManager::removeAllBindings): Used in Element destructor to remove all the bindings associated with the Element.
- xbl/XBLBindingManager.h: Added.
- 3:16 AM Changeset in webkit [35323] by
-
- 3 edits3 adds in trunk
Bug 20142: REGRESSION(r35245): /=/ weirdness
<https://bugs.webkit.org/show_bug.cgi?id=20142>
Reviewed by Alexey Proskuryakov.
When adding all the meta data needed for exception error messages
I accidentally clobbered the handling of regex beginning with /=.
- 1:44 AM Changeset in webkit [35322] by
-
- 8 edits1 add1 delete in trunk/WebCore
2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Bug 20053: .in files should use a custom format instead of XML
- Remove our XML parser perl module (XML::Tiny)
- Add a custom perl parser
- Move XML files to the new format
- bindings/scripts/InFilesParser.pm: Added.
- bindings/scripts/XMLTiny.pm: Removed.
- dom/make_names.pl: Switched to our new parser.
- html/HTMLAttributeNames.in: Switched to our custom format.
- html/HTMLTagNames.in: Ditto.
- svg/svgattrs.in: Ditto.
- svg/svgtags.in: Ditto.
- svg/xlinkattrs.in: Ditto.
- xml/xmlattrs.in: Ditto.
- 12:45 AM Changeset in webkit [35321] by
-
- 4 edits2 adds in trunk
WebCore:
2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Bug 19588: CRASH doing open() on destroyed window
https://bugs.webkit.org/show_bug.cgi?id=19588
Add frame's page null check as it could have been
detached from the page.
Test: fast/frames/crash-removed-iframe.html
- bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncOpen):
- page/FrameTree.cpp: (WebCore::FrameTree::find):
LayoutTest:
2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Test for bug 19588: CRASH doing open() on destroyed window
https://bugs.webkit.org/show_bug.cgi?id=19588
Test case from Eric Roman.
- fast/frames/crash-removed-iframe-expected.txt: Added.
- fast/frames/crash-removed-iframe.html: Added.
Jul 23, 2008:
- 11:55 PM Changeset in webkit [35320] by
-
- 8 edits in trunk
WebCore:
Reviewed by Alexey Proskuryakov.
- fix a leak when using hex color values in CSS variables
- fix CSSOM access to hex color values in variables declarations
Test: fast/css/variables/color-hex-test.html
Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
CSSParserValues coming from colors in hex notation. CSSParserValues can
no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
used as the type for CSSValues in CSS variables declarations where the
parser value was a hex color. However the type of all other color
CSSValues remains CSS_RGBCOLOR.
- css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value for color values in hex notation.
- css/CSSParser.cpp: (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
- css/CSSParserValues.cpp: (WebCore::CSSParserValue::createCSSValue): Ditto.
- css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the string containing the color. (WebCore::CSSPrimitiveValue::cssText): Added support for CSS_PARSER_HEXCOLOR for when serializing variable values. (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
- css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
LayoutTests:
Reviewed by Alexey Proskuryakov.
- updated test to cover serializing variable values which are colors in hex notation
- fast/css/variables/color-hex-test.html:
- 11:16 PM Changeset in webkit [35319] by
-
- 2 edits in trunk/JavaScriptCore
2008-07-23 Alp Toker <alp@nuanti.com>
Build fix after r35293: Add API/ to the include path.
- GNUmakefile.am:
- 8:43 PM Changeset in webkit [35318] by
-
- 6 edits16 adds in trunk
WebCore:
2008-07-23 Beth Dakin <Beth Dakin>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/5997215> display: table-row-group
for :before content causes a crash
The actual bug fix here is to ddd the generated content container
as a child before adding any of the generated content to the
container. There are two correctness fixes as well that deal with
style changes and correctly.
This patch also makes Node::diff() a static function.
- dom/Node.cpp: (WebCore::Node::diff):
- dom/Node.h: (WebCore::Node::): (WebCore::Node::recalcStyle):
- rendering/RenderContainer.cpp: (WebCore::findBeforeAfterParent): (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
- svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle):
LayoutTests:
2008-07-23 Beth Dakin <Beth Dakin>
Reviewed by Dan Bernstein.
Tests for <rdar://problem/5997215> display: table-row-group
for :before content causes a crash
- fast/css-generated-content/table-row-group-to-inline.html: Added.
- fast/css-generated-content/table-row-group-with-before.html: Added.
- fast/css-generated-content/table-row-with-before.html: Added.
- fast/css-generated-content/table-with-before.html: Added.
- platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.checksum: Added.
- platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.png: Added.
- platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt: Added.
- platform/mac/fast/css-generated-content/table-row-group-with-before-expected.checksum: Added.
- platform/mac/fast/css-generated-content/table-row-group-with-before-expected.png: Added.
- platform/mac/fast/css-generated-content/table-row-group-with-before-expected.txt: Added.
- platform/mac/fast/css-generated-content/table-row-with-before-expected.checksum: Added.
- platform/mac/fast/css-generated-content/table-row-with-before-expected.png: Added.
- platform/mac/fast/css-generated-content/table-row-with-before-expected.txt: Added.
- platform/mac/fast/css-generated-content/table-with-before-expected.checksum: Added.
- platform/mac/fast/css-generated-content/table-with-before-expected.png: Added.
- platform/mac/fast/css-generated-content/table-with-before-expected.txt: Added.
- 7:48 PM Changeset in webkit [35317] by
-
- 7 edits3 adds in trunk/WebCore
Updates the elements DOM tree when nodes are added or removed from
the inspected document.
https://bugs.webkit.org/show_bug.cgi?id=6590
<rdar://problem/5712921>
Reviewed by Adam Roben.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to InspectorController::inspectedWindowScriptObjectCleared.
- page/InspectorController.cpp: (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Calls the WebInspector.inspectedWindowCleared script function.
- page/InspectorController.h:
- page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Create the event listener callback wrappers. (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if there are any recently modified nodes. (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners. Adds a check for InspectorController.isWindowVisible to prevent adding event listeners when the window isn't visible. (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted, DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document. (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners added in _addMutationEventListeners. (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners again to reinstate the listners if the document changed or window cleared them. (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to _mutationMonitoredWindows and call _addMutationEventListeners. (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from _mutationMonitoredWindows and call _removeMutationEventListeners. (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call _removeMutationEventListeners for all windows in _mutationMonitoredWindows and clear _mutationMonitoredWindows. (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible. (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto. (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto. (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call _updateModifiedNodes on a zero timeout. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over the recentlyModifiedNodes array and call updateChildren on all the parent elements that had changes. Only calls updateChildren once per parent element. (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return false if the nodes are the same. Return true if the nodes are the same while looking at ancestor frame elements. THis use to return false, which was incorrect. (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from onpopulate and changed to rebuild the children elements by adding new children, moving existing children and removed old children. (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument call registerMutationEventListeners to track any mutations.
- page/inspector/inspector.js: (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
- page/inspector/treeoutline.js: (TreeElement.prototype.get hasChildren): Return _hasChildren. (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className. (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor. (TreeElement.prototype.expand): Fix an exception that can happen if expand is called before _attach.
- WebCore/manual-tests/inspector/dom-mutation.html: Added.
- WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
- WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
- 7:48 PM Changeset in webkit [35316] by
-
- 2 edits in trunk/WebCore
Fix an exception that occurred when double clicking the closing tag
of an element in the DOM tree.
Reviewed by Anders Carlsson.
- page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype._ondblclick): Null check element.ondblclick.
- 7:48 PM Changeset in webkit [35315] by
-
- 4 edits in trunk/WebCore
Fix a regression where elements in subframes would not be revealed
or selected when inspected from the context menu. This was caused by
JavaScript equality is not being true for JSInspectedObjectWrappers
of the same node wrapped with different global ExecStates. This change
adds a helper function that uses isSameNode to compare wrapped nodes.
Reviewed by Adam Roben.
- page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame to compare nodes. (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto. (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto. (WebInspector.ElementsPanel.prototype.revealNode): Ditto. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
- page/inspector/treeoutline.js: (TreeOutline.prototype.findTreeElement): Add an equal argument to accept a functions to compare two representedObjects. Defaults to strict equal if not supplied. All current clients pass objectsAreSame.
- page/inspector/utilities.js: (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame to compare nodes. (Node.prototype.enclosingNodeOrSelfWithClass): Ditto. (Element.prototype.query): Use the ownerDocument of the node, not document. (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if it exists on both objects. (isAncestorNode): Use objectsAreSame to compare nodes. (firstCommonNodeAncestor): Ditto. (traverseNextNode): Ditto.
- 7:47 PM Changeset in webkit [35314] by
-
- 2 edits in trunk/WebCore
Added InspectorController.isWindowVisible to the JavaScript class
for use in an upcoming change. This will allow the Inspector to not
perform selective actions while the window is hidden.
Reviewed by Adam Roben.
- page/InspectorController.cpp: (WebCore::isWindowVisible): Call InspectorController::windowVisible. (WebCore::InspectorController::windowScriptObjectAvailable): Add the isWindowVisible function to the JavaScript class.
- 7:47 PM Changeset in webkit [35313] by
-
- 2 edits in trunk/WebCore
Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
for efficiency of callers that know the index of the child. This
will be used in an upcoming change.
Reviewed by Adam Roben.
- page/inspector/treeoutline.js: (TreeOutline._removeChildAtIndex): Renamed from _removeChild and modified to take an index. (TreeOutline._removeChild): Call _removeChildAtIndex with the child index found using indexOf. (TreeOutline.prototype.removeChildAtIndex): Added. Calls TreeOutline._removeChildAtIndex. (TreeElement.prototype.removeChildAtIndex): Ditto.
- 7:46 PM Changeset in webkit [35312] by
-
- 2 edits in trunk/WebCore
Fixes a regression where TreeOutline.findTreeElement would
return the parent TreeElement of the representedObject instead
of the TreeElement for the representedObject. Regressed with the
fix for bug 19164.
Reviewed by Adam Roben.
- page/inspector/treeoutline.js: (TreeOutline.prototype.findTreeElement): When performing a slow search, do a final search for representedObject instead of returning item, which is the parent of representedObject.
- 7:45 PM Changeset in webkit [35311] by
-
- 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp
speculative build fix
- 6:00 PM Changeset in webkit [35310] by
-
- 6 edits in trunk/JavaScriptCore
Windows build fixes
Build fix after r35293:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add API/ to the include path.
Build fix after r35305:
- VM/Machine.cpp:
- VM/Machine.h:
- VM/Opcode.cpp:
- VM/Opcode.h: Completely compile out all sampler-related code when SAMPLING_TOOL_ENABLED is 0. The sampler code can't be compiled 1) on non-AllInOne configurations due to circular header dependencies, and 2) on platforms that don't have a usleep() function, such as Windows.
- 5:49 PM Changeset in webkit [35309] by
-
- 12 edits3 adds in trunk
Improve switch performance.
Reviewed by Geoff Garen and Sam Weinig.
Improve switch performance by converting to a hashmap based jump
table to avoid the sequence of dispatches that would otherwise be
needed. This results in a 9-19x performance win for string switches
based on ad hoc testing, and a 6x improvement for integer switch
statements. SunSpider reports a 1.2% progression.
- 5:35 PM Changeset in webkit [35308] by
-
- 22 edits1 add in trunk
WebCore:
2008-07-23 Adele Peterson <adele@apple.com>
Reviewed by Adam.
WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
- WebCore.base.exp: Added symbols.
- page/Chrome.cpp: (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method. (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
- page/ChromeClient.h:
- page/Settings.cpp: (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars. (WebCore::Settings::setShouldPaintCustomScrollbars):
- page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
- platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
- platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
- platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
- platform/win/PlatformScrollBarSafari.cpp: (WebCore::ScrollbarPartToScrollBarPiece): Added helper function. (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto. (WebCore::ScrollbarControlStateFromThemeState): ditto. (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place. Added new code to paint the custom scrollbars if necessary.
- platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
WebKit/win:
2008-07-17 Adele Peterson <adele@apple.com>
Reviewed by Adam.
WebKit part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
Added a setting so an application can tell WebKit its going to draw custom scrollbars. Also added delegate methods for the actual painting.
- Interfaces/IWebPreferences.idl: Added setShouldPaintCustomScrollbars and shouldPaintCustomScrollbars.
- Interfaces/IWebScrollBarPrivate.idl: Moved types to WebScrollbarTypes.idl
- Interfaces/IWebUIDelegate.idl: Added WebUIDelegate4 with new delegate methods, paintCustomScrollbar and paintCustomScrollCorner
- Interfaces/WebKit.idl: Include new WebScrollbarTypes.idl
- Interfaces/WebScrollbarTypes.idl: Added. Has types that the new delegate methods use.
- WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Added. Calls new delegate method and converts between WebCore types and types exported in WebScrollbarTypes.idl (WebChromeClient::paintCustomScrollCorner): Added. Calls new delegate method. (WebChromeClient::uiDelegate4): Added.
- WebCoreSupport/WebChromeClient.h:
- WebPreferenceKeysPrivate.h: Added WebKitPaintCustomScrollbarsPreferenceKey
- WebPreferences.cpp: (WebPreferences::): Added. (WebPreferences::shouldPaintCustomScrollbars): Added.
- WebPreferences.h:
- WebView.cpp: (WebView::notifyPreferencesChanged):
- 5:33 PM Changeset in webkit [35307] by
-
- 2 edits in trunk/LayoutTests
2008-07-23 Dean Jackson <dino@apple.com>
Reviewed by Dan Bernstein.
Update computed style test for transform to reflect that
we return "none" rather than identity matrix.
- svg/css/getComputedStyle-basic-expected.txt:
- 4:15 PM Changeset in webkit [35306] by
-
- 1 edit in trunk/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
build fix.
- 3:36 PM Changeset in webkit [35305] by
-
- 8 edits in trunk/JavaScriptCore
2008-07-23 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
Sampling tool to analyze cost of instruction execution and identify hot regions of JS code.
Enable Switches by setting SAMPLING_TOOL_ENABLED in Opcode.h.
- JavaScriptCore.exp: Export symbols for Shell.cpp.
- VM/Machine.cpp: Added sampling hooks.
- VM/Machine.h: Machine contains a pointer to a sampler, when sampling.
- VM/Opcode.cpp: Tool implementation.
- VM/Opcode.h: Tool declaration.
- kjs/Shell.cpp: Initialize the sampler, if enabled.
- kjs/nodes.cpp: Added sampling hooks.
- 3:32 PM Changeset in webkit [35304] by
-
- 14 edits in trunk/WebCore
2008-07-23 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Cleanup and pack the member variables in Node.
- bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
- dom/Attr.cpp: (WebCore::Attr::Attr):
- dom/Attr.h: (WebCore::Attr::specified): (WebCore::Attr::setSpecified):
- dom/ContainerNode.cpp: (WebCore::ContainerNode::setFocus):
- dom/Document.cpp: (WebCore::Document::adoptNode):
- dom/Element.cpp: (WebCore::Element::~Element): (WebCore::Element::rareData): (WebCore::Element::createRareData):
- dom/Element.h: (WebCore::Element::hasRareData): (WebCore::Element::setHasRareData):
- dom/Node.h: (WebCore::Node::setIsLink): (WebCore::Node::inSubtreeMark): (WebCore::Node::setInSubtreeMark): (WebCore::Node::attrWasSpecifiedOrElementHasRareData): (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
- html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): (WebCore::HTMLAnchorElement::isFocusable): (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::parseMappedAttribute): (WebCore::HTMLAnchorElement::isLiveLink):
- html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute):
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType):
- html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::attach):
- svg/SVGAElement.cpp: (WebCore::SVGAElement::svgAttributeChanged): (WebCore::SVGAElement::defaultEventHandler):
- 2:45 PM Changeset in webkit [35303] by
-
- 2 edits in trunk/WebCore
2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
Reviewed by Adele.
Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
- platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::QTMovieWinPrivate): (QTMovieWinPrivate::~QTMovieWinPrivate): (QTMovieWinPrivate::task): (QTMovieWinPrivate::createMovieController): (QTMovieWinPrivate::createGWorld): (QTMovieWinPrivate::setSize): (QTMovieWinPrivate::deleteGWorld): (QTMovieWin::play): (QTMovieWin::pause): (QTMovieWin::setRate): (QTMovieWin::setCurrentTime): (QTMovieWin::load):
- 2:40 PM Changeset in webkit [35302] by
-
- 5 edits in trunk/WebCore
2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
Reviewed by Adele.
Added a debug mode for viewing frames per second for videos. This is controlled by two
independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
Unless either flags is turned on there is no change to the code for video frame drawing.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause): (WebCore::MediaPlayerPrivate::didEnd): (WebCore::MediaPlayerPrivate::repaint): (WebCore::MediaPlayerPrivate::paint):
- platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause): (WebCore::MediaPlayerPrivate::didEnd): (WebCore::MediaPlayerPrivate::paint): (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
- platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
- 2:30 PM Changeset in webkit [35301] by
-
- 5 edits in trunk/WebCore
2008-07-23 Adele Peterson <adele@apple.com>
Reviewed by Sam.
Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
- platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage): Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
- platform/graphics/GraphicsContext.h: (WebCore::): Added InterpolationQuality enum. (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation. The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low". (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
- platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setImageInterpolationQuality): Added. (WebCore::GraphicsContext::imageInterpolationQuality): Added.
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint): Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
- 2:28 PM Changeset in webkit [35300] by
-
- 1 edit1 delete in trunk/LayoutTests
2008-07-23 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Remove tiger specific result for toDataURL-supportedTypes.html as it should have the
same results on all platforms.
- platform/mac-tiger/fast/canvas: Removed.
- platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Removed.
- 1:15 PM Changeset in webkit [35299] by
-
- 9 edits in branches/XBL2/WebCore
WebCore:
2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Eric.
Bug 20056: [XBL] XBLCachedDocument cleanup
https://bugs.webkit.org/show_bug.cgi?id=20056
- Changed XBLDocument::create return to XBLDocument to match SVGDocument.
- Updated CachedXBLDocument methods to behave as the other CachedResourceClients.
- Fixed some coding style violation and variable names.
- XBL -> XBLDocument in CachedResource::Type enum.
- loader/Cache.cpp: (WebCore::createResource): (WebCore::Cache::getStatistics):
- loader/Cache.h:
- loader/CachedResource.h: (WebCore::CachedResource::): XBL -> XBLDocument as XBL was ambiguous.
- loader/CachedResourceClient.h: (WebCore::CachedResourceClient::setXBLDocument):
- loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::CachedXBLDocument): (WebCore::CachedXBLDocument::~CachedXBLDocument): Removed deref() call as we use a RefPtr now.
(WebCore::CachedXBLDocument::addClient): Removed ref()
call replaced with addClient.
(WebCore::CachedXBLDocument::setEncoding):
(WebCore::CachedXBLDocument::data): Changed signature
and method to match other CachedResourceClients.
(WebCore::CachedXBLDocument::checkNotify):
- loader/CachedXBLDocument.h: Use a RefPtr<XBLDocument> instead of a raw XBLDocument.
(WebCore::CachedXBLDocument::document): Return a PassRefPtr.
- loader/loader.cpp: (WebCore::Loader::determinePriority):
- xbl/XBLDocument.h: (WebCore::XBLDocument::create): return an XBLDocument instead of a Document to match SVGDocument::create.
- 1:13 PM Changeset in webkit [35298] by
-
- 10 edits in trunk/WebCore
2008-07-23 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove extraneous allocations by using equalIgnoringCase rather than
String::lower.
- dom/StyledElement.cpp: (WebCore::StyledElement::addCSSColor):
- html/HTMLCollection.cpp: (WebCore::HTMLCollection::checkForNameMatch):
- html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::getNamedFormItem):
- html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute):
- html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::containsJavaApplet):
- html/PreloadScanner.cpp: (WebCore::PreloadScanner::emitCSSRule):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::createJavaAppletWidget):
- page/DOMSelection.cpp: (WebCore::DOMSelection::modify):
- rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):
- 1:12 PM Changeset in webkit [35297] by
-
- 2 edits in trunk/WebCore
2008-07-23 Maxime Britto <britto@apple.com>
Reviewed by Adam Roben.
<rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
Add a check for the m_page member value before asking for page()->mainFrame()
- page/EventHandler.cpp: (WebCore::EventHandler::stopAutoscrollTimer):
- 11:16 AM Changeset in webkit [35296] by
-
- 2 edits in trunk/WebCore
2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
Reviewed by Adele.
Fix for <rdar://problem/5710065> QT movies should be inactive when opened
Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
until after movie tracks of unsupported types have been disabled, to make sure they never draw.
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::setVisible):
- 9:48 AM Changeset in webkit [35295] by
-
- 3 edits in trunk/WebCore
2008-07-22 Maxime Britto <britto@apple.com>
Reviewed by John Sullivan.
<rdar://problem/6083116>
When pan-scrolling, Back then Forward causes pan-scrolling to start again
- page/Frame.cpp: (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
- loader/FrameLoader.cpp: (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.
- 8:00 AM Changeset in webkit [35294] by
-
- 2 edits in trunk/JavaScriptCore
2008-07-23 Gabor Loki <loki@inf.u-szeged.hu>
Bug 20097: [Qt] 20% Sunspider slow-down
Reviewed by Simon Hausmann.
- kjs/jsc.pro: Added missing NDEBUG define for release builds.
- 3:15 AM Changeset in webkit [35293] by
-
- 9 edits1 add in trunk
Reviewed by Geoff Garen.
JSClassRef is created context-free, but gets infatuated with the first context it sees.
The implicit API contract is that JSClassRef can be used with any context on any thread.
This no longer worked, because UStrings in the class were turned into per-context
identifiers, and the cached JSObject prototype was tied to JSGlobalData, too.
- 1:21 AM Changeset in webkit [35292] by
-
- 2 edits in trunk/JavaScriptCore
Build fix.
- kjs/ArgList.h: (KJS::ArgList::operator new): removed an extraneous "ArgList::" inside the class definition.