Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 116666) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,1788 @@ |
+2012-05-07 Michal Mocny <mmocny@google.com> |
+ |
+ [chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit. |
+ https://bugs.webkit.org/show_bug.cgi?id=85801 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory |
+ limits, so that we push a new frame. In particular, when returning from non visibile state, we adjust |
+ memory allocation from 0 to non 0, and we need to push a non blank frame. |
+ |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::setVisible): |
+ (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes): |
+ |
+2012-05-07 Christophe Dumez <christophe.dumez@intel.com> |
+ |
+ [EFL] media/track/track-cue-rendering-snap-to-lines-not-set.html fails |
+ https://bugs.webkit.org/show_bug.cgi?id=85602 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Fix positioning of the controls panel back to relative, as it is |
+ in the parent CSS. |
+ |
+ * css/mediaControlsEfl.css: |
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): |
+ |
+2012-05-07 Adam Bergkvist <adam.bergkvist@ericsson.com> |
+ |
+ MediaStream should not be an ActiveDOMObject |
+ https://bugs.webkit.org/show_bug.cgi?id=85191 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ The model with MediaStreamDescriptor and MediaStream (and LocalMediaStream) |
+ allows the JavaScript objects (MediaStream and LocalMediaStream) to be |
+ cleaned up while the MediaStreamDescriptor lives on to manage the stream in |
+ the platform. This happens for example when a URL is created to represent |
+ a MediaStream (using createObjectURL()). In that case, the MediaStreamDescriptor |
+ is put into the MediaStreamRegistry and even though the MediaStream object is |
+ lost, the URL still works since the descriptor is kept in the registry. |
+ |
+ The changes introduced in r113460 (http://webkit.org/b/83143) turned |
+ MediaStream and LocalMediaStream into ActiveDOMObjects. For example on page |
+ reload, LocalMediaStream calls MediaStreamCenter::didStopLocalMediaStream() |
+ via its ActiveDOMObject::stop() method. However, when a page reload occurs, |
+ the LocalMediaStream object may have been cleaned up already and |
+ MediaStreamCenter::didStopLocalMediaStream() will not be called. |
+ |
+ One way to make the behavior consistent would be to call |
+ MediaStreamCenter::didStopLocalMediaStream() when the descriptor is cleaned up, |
+ cause then we wouldn't be dependent on the LocalMediaStream object being alive. |
+ However, calling MediaStreamCenter::didStopLocalMediaStream() might not be the |
+ correct thing to do when all references to the descriptor are lost since there |
+ can be MediaStream objects constructed from the tracks of the LocalMediaStream |
+ that should continue to work. MediaStreamCenter::didStopLocalMediaStream() was |
+ intended for LocalMediaStream.stop() which is used to revoke access to devices; |
+ that should not necessarily happen when the descriptor of a LocalMediaStream is |
+ cleaned up. If it's necessary for some ports to signal to the platform that a |
+ MediaStreamDescriptor is cleaned up, then I would suggest adding a new function, |
+ willDestroyMediaStreamDescriptor(), to the MediaStreamCenter interface. |
+ |
+ The current resolution is to make MediaStream a ContextDestructionObserver |
+ instead of an ActiveDOMObject. |
+ |
+ Currently not testable. |
+ |
+ * Modules/mediastream/LocalMediaStream.cpp: |
+ (WebCore::LocalMediaStream::create): |
+ * Modules/mediastream/LocalMediaStream.h: |
+ (LocalMediaStream): |
+ * Modules/mediastream/LocalMediaStream.idl: |
+ * Modules/mediastream/MediaStream.cpp: |
+ (WebCore::MediaStream::create): |
+ (WebCore::MediaStream::MediaStream): |
+ (WebCore::MediaStream::scriptExecutionContext): |
+ * Modules/mediastream/MediaStream.h: |
+ |
+2012-05-07 Liam Quinn <lquinn@rim.com> |
+ |
+ [BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog |
+ https://bugs.webkit.org/show_bug.cgi?id=85643 |
+ |
+ Reviewed by George Staikos. |
+ |
+ RIM PR: 151992 |
+ Ignore WWW-Authenticate header if the response code is not 401. |
+ Ignore Proxy-Authenticate header if the response code is not 407. |
+ |
+ Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate. |
+ |
+ * platform/network/blackberry/NetworkJob.cpp: |
+ (WebCore::NetworkJob::handleNotifyHeaderReceived): |
+ |
+2012-05-07 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment |
+ https://bugs.webkit.org/show_bug.cgi?id=85789 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/TextPrompt.js: |
+ (WebInspector.TextPrompt.prototype._attachInternal): |
+ (WebInspector.TextPrompt.prototype.detach): |
+ |
+2012-05-07 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ Buildfix for buggy GCC |
+ https://bugs.webkit.org/show_bug.cgi?id=85781 |
+ |
+ Reviewed by Zoltan Herczeg. |
+ |
+ * rendering/RenderBlock.h: |
+ (WebCore::RenderBlock::MarginInfo::clearMargin): |
+ |
+2012-05-07 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken |
+ https://bugs.webkit.org/show_bug.cgi?id=85785 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save. |
+ |
+ * inspector/front-end/NetworkPanel.js: |
+ (WebInspector.NetworkLogView.prototype._exportAll): |
+ (WebInspector.NetworkLogView.prototype._exportRequest): |
+ * inspector/front-end/ResourcesPanel.js: |
+ (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave): |
+ (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave): |
+ * inspector/front-end/TextViewer.js: |
+ (WebInspector.TextViewer.prototype._contextMenu): |
+ |
+ |
+2012-05-07 Antti Koivisto <antti@apple.com> |
+ |
+ Share stylesheet data structures between documents |
+ https://bugs.webkit.org/show_bug.cgi?id=85598 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share |
+ the data until someone uses a mutating CSSOM API to modify the sheet. |
+ |
+ The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is |
+ invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the |
+ internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied |
+ tree is mutated while the other clients stay attached to the original tree. |
+ |
+ Sharing can save significant amount of memory on sites with large stylesheets. For example if you have |
+ multiple articles open on wsj.com this saves ~2.6MB per tab. |
+ |
+ Test: http/tests/css/shared-stylesheet-mutation.html |
+ http/tests/css/shared-stylesheet-mutation-preconstruct.html |
+ |
+ * css/CSSFontFaceRule.cpp: |
+ (WebCore::CSSFontFaceRule::reattach): |
+ (WebCore): |
+ * css/CSSFontFaceRule.h: |
+ (CSSFontFaceRule): |
+ * css/CSSMediaRule.cpp: |
+ (WebCore::CSSMediaRule::insertRule): |
+ (WebCore::CSSMediaRule::deleteRule): |
+ (WebCore::CSSMediaRule::reattach): |
+ (WebCore): |
+ * css/CSSMediaRule.h: |
+ (CSSMediaRule): |
+ * css/CSSPageRule.cpp: |
+ (WebCore::CSSPageRule::setSelectorText): |
+ (WebCore::CSSPageRule::reattach): |
+ (WebCore): |
+ * css/CSSPageRule.h: |
+ (CSSPageRule): |
+ * css/CSSRule.cpp: |
+ (WebCore::CSSRule::reattach): |
+ |
+ After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function. |
+ |
+ * css/CSSRule.h: |
+ (WebCore): |
+ (CSSRule): |
+ * css/CSSStyleRule.cpp: |
+ (WebCore::CSSStyleRule::setSelectorText): |
+ (WebCore::CSSStyleRule::reattach): |
+ (WebCore): |
+ * css/CSSStyleRule.h: |
+ (CSSStyleRule): |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::isCacheable): |
+ (WebCore::StyleSheetInternal::ruleAt): |
+ |
+ Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper . |
+ |
+ (WebCore): |
+ (WebCore::StyleSheetInternal::wrapperInsertRule): |
+ (WebCore::StyleSheetInternal::wrapperDeleteRule): |
+ |
+ Invalidation moves to the calling wrapper. |
+ |
+ (WebCore::StyleSheetInternal::addedToMemoryCache): |
+ (WebCore::StyleSheetInternal::removedFromMemoryCache): |
+ (WebCore::CSSStyleSheet::willMutateRules): |
+ |
+ This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed. |
+ |
+ Usually invoked by CSSStyleSheet::RuleMutation RAII type. |
+ |
+ (WebCore::CSSStyleSheet::didMutateRules): |
+ |
+ This is called after the mutation is complete and will trigger the style recalc in the document. |
+ |
+ (WebCore::CSSStyleSheet::didMutate): |
+ |
+ This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write. |
+ |
+ (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers): |
+ (WebCore::CSSStyleSheet::setDisabled): |
+ (WebCore::CSSStyleSheet::insertRule): |
+ (WebCore::CSSStyleSheet::deleteRule): |
+ * css/CSSStyleSheet.h: |
+ (StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::hasOneClient): |
+ (WebCore::StyleSheetInternal::isMutable): |
+ (WebCore::StyleSheetInternal::setMutable): |
+ |
+ Track mutability. Mutation is allowed only after willMutate call. |
+ |
+ (WebCore::StyleSheetInternal::isInMemoryCache): |
+ |
+ Track if the object is in memory cache. |
+ |
+ (WebCore::CSSStyleSheet::clearOwnerRule): |
+ (CSSStyleSheet): |
+ * css/MediaList.cpp: |
+ (WebCore::MediaList::setMediaText): |
+ (WebCore::MediaList::deleteMedium): |
+ (WebCore::MediaList::appendMedium): |
+ (WebCore::MediaList::didMutate): |
+ (WebCore): |
+ (WebCore::MediaList::reattach): |
+ * css/MediaList.h: |
+ (MediaList): |
+ * css/PropertySetCSSStyleDeclaration.cpp: |
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText): |
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): |
+ (WebCore): |
+ (WebCore::StyleRuleCSSStyleDeclaration::willMutate): |
+ (WebCore::StyleRuleCSSStyleDeclaration::didMutate): |
+ (WebCore::StyleRuleCSSStyleDeclaration::reattach): |
+ (WebCore::InlineCSSStyleDeclaration::didMutate): |
+ * css/PropertySetCSSStyleDeclaration.h: |
+ (WebCore::PropertySetCSSStyleDeclaration::willMutate): |
+ (WebCore::PropertySetCSSStyleDeclaration::didMutate): |
+ (StyleRuleCSSStyleDeclaration): |
+ * css/WebKitCSSKeyframesRule.cpp: |
+ (WebCore::WebKitCSSKeyframesRule::setName): |
+ (WebCore::WebKitCSSKeyframesRule::insertRule): |
+ (WebCore::WebKitCSSKeyframesRule::deleteRule): |
+ (WebCore::WebKitCSSKeyframesRule::reattach): |
+ (WebCore): |
+ * css/WebKitCSSKeyframesRule.h: |
+ (WebKitCSSKeyframesRule): |
+ * css/WebKitCSSRegionRule.cpp: |
+ (WebCore::WebKitCSSRegionRule::reattach): |
+ * css/WebKitCSSRegionRule.h: |
+ (WebKitCSSRegionRule): |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyleSheet::reparseStyleSheet): |
+ * loader/cache/CachedCSSStyleSheet.cpp: |
+ (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet): |
+ (WebCore::CachedCSSStyleSheet::destroyDecodedData): |
+ (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet): |
+ |
+ Don't copy when restoring. It is no longer necessary. |
+ Set the cache bit on the stylesheet. |
+ |
+ (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): |
+ |
+2012-05-06 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code |
+ https://bugs.webkit.org/show_bug.cgi?id=85741 |
+ |
+ Reviewed by David Levin. |
+ |
+ No new tests as this change has no functional effects. |
+ |
+ * Modules/filesystem/DOMWindowFileSystem.cpp: |
+ (WebCore::DOMWindowFileSystem::webkitRequestFileSystem): |
+ * Modules/filesystem/LocalFileSystem.cpp: |
+ (WebCore::LocalFileSystem::requestFileSystem): |
+ * Modules/filesystem/LocalFileSystem.h: |
+ (LocalFileSystem): |
+ * Modules/filesystem/WorkerContextFileSystem.cpp: |
+ (WebCore::WorkerContextFileSystem::webkitRequestFileSystem): |
+ (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync): |
+ (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL): |
+ * platform/FileSystemType.h: Added FileSystemSynchronousType enum. |
+ |
+2012-05-07 Antti Koivisto <antti@apple.com> |
+ |
+ Revert the previous. |
+ |
+ Not reviewed. |
+ |
+ Apparently r116235 was already rolled out. |
+ |
+ * css/StyleResolver.cpp: |
+ (WebCore::StyleResolver::determineScope): |
+ |
+2012-05-07 Antti Koivisto <antti@apple.com> |
+ |
+ REGRESSION(r116235): broke a lot of tests on all chromium debug bots |
+ https://bugs.webkit.org/show_bug.cgi?id=85773 |
+ |
+ Not reviewed. |
+ |
+ Try to fix assert when scoped stylesheets are enabled. |
+ |
+ * css/StyleResolver.cpp: |
+ (WebCore::StyleResolver::determineScope): |
+ |
+2012-05-06 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Cleanup: Move FileSystem API type definitions into a separate header file |
+ https://bugs.webkit.org/show_bug.cgi?id=85738 |
+ |
+ Reviewed by David Levin. |
+ |
+ Move FileSystem API type definitions from AsyncFileSystem.h and |
+ AsyncFileSystemChromium.cpp for chromium port into a single separate |
+ header file: FileSystemType.h |
+ |
+ By doing this we make it clearer that every filesystem type can be |
+ found in the header file and also can save including entire |
+ AsyncFileSystem definition just for referring type enum value. |
+ |
+ No new tests as this change has no visible or functional changes. |
+ |
+ * Modules/filesystem/DOMFileSystemBase.cpp: |
+ (WebCore::pathToAbsolutePath): |
+ * Modules/filesystem/DOMWindowFileSystem.cpp: |
+ (WebCore::DOMWindowFileSystem::webkitRequestFileSystem): |
+ (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL): |
+ (WebCore): |
+ * Modules/filesystem/DOMWindowFileSystem.h: |
+ * Modules/filesystem/LocalFileSystem.h: |
+ (LocalFileSystem): |
+ * Modules/filesystem/WorkerContextFileSystem.cpp: |
+ (WebCore::WorkerContextFileSystem::webkitRequestFileSystem): |
+ (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync): |
+ (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL): |
+ (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL): |
+ (WebCore): |
+ * Modules/filesystem/WorkerContextFileSystem.h: |
+ * platform/AsyncFileSystem.cpp: |
+ (WebCore::AsyncFileSystem::isValidType): |
+ (WebCore::AsyncFileSystem::create): |
+ (WebCore::AsyncFileSystem::openFileSystem): |
+ * platform/AsyncFileSystem.h: |
+ (AsyncFileSystem): |
+ (WebCore::AsyncFileSystem::type): |
+ (WebCore::AsyncFileSystem::AsyncFileSystem): |
+ * platform/FileSystemType.h: Added. |
+ (WebCore): |
+ * platform/blackberry/AsyncFileSystemBlackBerry.cpp: |
+ (WebCore::AsyncFileSystem::isValidType): |
+ (WebCore::AsyncFileSystem::create): |
+ (WebCore::AsyncFileSystem::openFileSystem): |
+ (WebCore::AsyncFileSystem::crackFileSystemURL): |
+ (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry): |
+ * platform/blackberry/AsyncFileSystemBlackBerry.h: |
+ (AsyncFileSystemBlackBerry): |
+ * platform/gtk/AsyncFileSystemGtk.cpp: |
+ (WebCore::AsyncFileSystem::isValidType): |
+ (WebCore::AsyncFileSystem::create): |
+ (WebCore::AsyncFileSystem::openFileSystem): |
+ (WebCore::AsyncFileSystem::crackFileSystemURL): |
+ (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk): |
+ * platform/gtk/AsyncFileSystemGtk.h: |
+ (AsyncFileSystemGtk): |
+ |
+2012-05-06 MORITA Hajime <morrita@google.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=85265 |
+ [Shadow DOM] ShadowTree needs a better name |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Renamed ShadowTree to ElementShadow, The ElementShadow class is |
+ going to be a facade of Shadow related APIs. |
+ |
+ Following renames follow: |
+ - Element::shadowTree() to Element::shadow() |
+ - ShadowRoot::tree() to ShadowRoot::owner() |
+ - ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle() |
+ |
+ No new tests. Just renames. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * dom/ComposedShadowTreeWalker.cpp: |
+ (WebCore::shadowFor): |
+ (WebCore::shadowOfParent): |
+ (WebCore::ComposedShadowTreeWalker::traverseChild): |
+ (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint): |
+ (WebCore::ComposedShadowTreeWalker::traverseParent): |
+ * dom/ContainerNodeAlgorithms.cpp: |
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument): |
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree): |
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument): |
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree): |
+ * dom/DOMAllInOne.cpp: |
+ * dom/Document.cpp: |
+ (WebCore::Document::buildAccessKeyMap): |
+ * dom/Element.cpp: |
+ (WebCore::Element::~Element): |
+ (WebCore::Element::willRemove): |
+ (WebCore::Element::attach): |
+ (WebCore::Element::detach): |
+ (WebCore::Element::recalcStyle): |
+ (WebCore::Element::hasShadowRoot): |
+ (WebCore::Element::shadow): |
+ (WebCore::Element::ensureShadow): |
+ (WebCore::Element::ensureShadowRoot): |
+ (WebCore::Element::childrenChanged): |
+ * dom/Element.h: |
+ (WebCore): |
+ (Element): |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ (WebCore::ElementRareData::~ElementRareData): |
+ * dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp. |
+ (WebCore): |
+ (WebCore::ElementShadow::ElementShadow): |
+ (WebCore::ElementShadow::~ElementShadow): |
+ (WebCore::validateShadowRoot): |
+ (WebCore::ElementShadow::addShadowRoot): |
+ (WebCore::ElementShadow::removeAllShadowRoots): |
+ (WebCore::ElementShadow::willRemove): |
+ (WebCore::ElementShadow::setParentTreeScope): |
+ (WebCore::ElementShadow::attach): |
+ (WebCore::ElementShadow::attachHost): |
+ (WebCore::ElementShadow::detach): |
+ (WebCore::ElementShadow::detachHost): |
+ (WebCore::ElementShadow::insertionPointFor): |
+ (WebCore::ElementShadow::selectionFor): |
+ (WebCore::ElementShadow::reattach): |
+ (WebCore::ElementShadow::childNeedsStyleRecalc): |
+ (WebCore::ElementShadow::needsStyleRecalc): |
+ (WebCore::ElementShadow::recalcStyle): |
+ (WebCore::ElementShadow::needsReattachHostChildrenAndShadow): |
+ (WebCore::ElementShadow::hostChildrenChanged): |
+ (WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow): |
+ (WebCore::ElementShadow::reattachHostChildrenAndShadow): |
+ * dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h. |
+ (WebCore): |
+ (ElementShadow): |
+ (WebCore::ElementShadow::hasShadowRoot): |
+ (WebCore::ElementShadow::youngestShadowRoot): |
+ (WebCore::ElementShadow::oldestShadowRoot): |
+ (WebCore::ElementShadow::selector): |
+ (WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow): |
+ (WebCore::ElementShadow::host): |
+ (ShadowRootVector): |
+ (WebCore::ShadowRootVector::ShadowRootVector): |
+ * dom/Node.cpp: |
+ (WebCore::oldestShadowRootFor): |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::NodeRenderingContext): |
+ (WebCore::NodeRenderingContext::hostChildrenChanged): |
+ * dom/NodeRenderingContext.h: |
+ (WebCore): |
+ * dom/ShadowRoot.cpp: |
+ (WebCore::ShadowRoot::create): |
+ (WebCore::ShadowRoot::owner): |
+ * dom/ShadowRoot.h: |
+ (WebCore): |
+ (ShadowRoot): |
+ * dom/TreeScopeAdopter.cpp: |
+ (WebCore::shadowFor): |
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope): |
+ (WebCore::TreeScopeAdopter::moveTreeToNewDocument): |
+ (WebCore::TreeScopeAdopter::moveShadowToNewDocument): |
+ * dom/TreeScopeAdopter.h: |
+ (TreeScopeAdopter): |
+ * html/ColorInputType.cpp: |
+ (WebCore::ColorInputType::createShadowSubtree): |
+ (WebCore::ColorInputType::shadowColorSwatch): |
+ * html/FileInputType.cpp: |
+ (WebCore::FileInputType::createShadowSubtree): |
+ (WebCore::FileInputType::multipleAttributeChanged): |
+ * html/HTMLDetailsElement.cpp: |
+ (WebCore::HTMLDetailsElement::findMainSummary): |
+ * html/HTMLKeygenElement.cpp: |
+ (WebCore::HTMLKeygenElement::shadowSelect): |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::mediaControls): |
+ (WebCore::HTMLMediaElement::hasMediaControls): |
+ * html/HTMLSummaryElement.cpp: |
+ * html/HTMLTextAreaElement.cpp: |
+ (WebCore::HTMLTextAreaElement::innerTextElement): |
+ (WebCore::HTMLTextAreaElement::updatePlaceholderText): |
+ * html/InputType.cpp: |
+ (WebCore::InputType::destroyShadowSubtree): |
+ * html/RangeInputType.cpp: |
+ (WebCore::RangeInputType::handleMouseDownEvent): |
+ (WebCore::RangeInputType::createShadowSubtree): |
+ * html/TextFieldInputType.cpp: |
+ (WebCore::TextFieldInputType::createShadowSubtree): |
+ (WebCore::TextFieldInputType::updatePlaceholderText): |
+ * html/ValidationMessage.cpp: |
+ (WebCore::ValidationMessage::deleteBubbleTree): |
+ * html/shadow/HTMLContentElement.cpp: |
+ (WebCore::HTMLContentElement::parseAttribute): |
+ * html/shadow/InsertionPoint.cpp: |
+ (WebCore::InsertionPoint::attach): |
+ (WebCore::InsertionPoint::detach): |
+ (WebCore::InsertionPoint::distributeHostChildren): |
+ (WebCore::InsertionPoint::clearDistribution): |
+ * html/shadow/InsertionPoint.h: |
+ * html/shadow/SliderThumbElement.cpp: |
+ (WebCore::sliderThumbElementOf): |
+ (WebCore::RenderSliderContainer::layout): |
+ (WebCore::trackLimiterElementOf): |
+ * html/shadow/TextFieldDecorationElement.cpp: |
+ (WebCore::getDecorationRootAndDecoratedRoot): |
+ * inspector/InspectorDOMAgent.cpp: |
+ (WebCore::InspectorDOMAgent::unbind): |
+ (WebCore::InspectorDOMAgent::buildObjectForNode): |
+ * page/FocusController.cpp: |
+ (WebCore::FocusScope::focusScopeOf): |
+ (WebCore::FocusScope::focusScopeOwnedByShadowHost): |
+ * rendering/RenderFileUploadControl.cpp: |
+ (WebCore::RenderFileUploadControl::uploadButton): |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::updateReferencedText): |
+ (WebCore::SVGTRefElement::detachTarget): |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::clearResourceReferences): |
+ (WebCore::SVGUseElement::buildShadowAndInstanceTree): |
+ (WebCore::SVGUseElement::buildShadowTree): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::ensureShadowRoot): |
+ (WebCore::Internals::youngestShadowRoot): |
+ (WebCore::Internals::oldestShadowRoot): |
+ (WebCore::Internals::removeShadowRoot): |
+ |
+2012-05-06 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r116235. |
+ http://trac.webkit.org/changeset/116235 |
+ https://bugs.webkit.org/show_bug.cgi?id=85773 |
+ |
+ broke a lot of tests on all chromium debug bots (Requested by |
+ caseq_ on #webkit). |
+ |
+ * bindings/objc/DOMCSS.mm: |
+ * css/CSSFontFaceRule.cpp: |
+ * css/CSSFontFaceRule.h: |
+ (CSSFontFaceRule): |
+ * css/CSSImportRule.cpp: |
+ * css/CSSMediaRule.cpp: |
+ (WebCore::CSSMediaRule::insertRule): |
+ (WebCore::CSSMediaRule::deleteRule): |
+ * css/CSSMediaRule.h: |
+ (CSSMediaRule): |
+ * css/CSSPageRule.cpp: |
+ (WebCore::CSSPageRule::setSelectorText): |
+ * css/CSSPageRule.h: |
+ (CSSPageRule): |
+ * css/CSSRule.cpp: |
+ * css/CSSRule.h: |
+ (CSSRule): |
+ (WebCore::CSSRule::parserContext): |
+ * css/CSSStyleRule.cpp: |
+ (WebCore::CSSStyleRule::setSelectorText): |
+ * css/CSSStyleRule.h: |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::isCacheable): |
+ (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper): |
+ (WebCore::StyleSheetInternal::wrapperInsertRule): |
+ (WebCore::StyleSheetInternal::wrapperDeleteRule): |
+ (WebCore::StyleSheetInternal::styleSheetChanged): |
+ (WebCore): |
+ (WebCore::CSSStyleSheet::setDisabled): |
+ (WebCore::CSSStyleSheet::item): |
+ (WebCore::CSSStyleSheet::insertRule): |
+ (WebCore::CSSStyleSheet::deleteRule): |
+ * css/CSSStyleSheet.h: |
+ (StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::hasCharsetRule): |
+ (WebCore::CSSStyleSheet::styleSheetChanged): |
+ (CSSStyleSheet): |
+ * css/MediaList.cpp: |
+ (WebCore::MediaList::setMediaText): |
+ (WebCore::MediaList::deleteMedium): |
+ (WebCore::MediaList::appendMedium): |
+ (WebCore::MediaList::notifyChanged): |
+ * css/MediaList.h: |
+ (MediaList): |
+ * css/PropertySetCSSStyleDeclaration.cpp: |
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText): |
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): |
+ (WebCore::PropertySetCSSStyleDeclaration::didMutate): |
+ (WebCore): |
+ (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc): |
+ (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc): |
+ * css/PropertySetCSSStyleDeclaration.h: |
+ (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc): |
+ (PropertySetCSSStyleDeclaration): |
+ (StyleRuleCSSStyleDeclaration): |
+ * css/StylePropertySet.cpp: |
+ * css/WebKitCSSKeyframesRule.cpp: |
+ (WebCore::WebKitCSSKeyframesRule::setName): |
+ (WebCore::WebKitCSSKeyframesRule::insertRule): |
+ (WebCore::WebKitCSSKeyframesRule::deleteRule): |
+ * css/WebKitCSSKeyframesRule.h: |
+ (WebKitCSSKeyframesRule): |
+ * css/WebKitCSSRegionRule.cpp: |
+ * css/WebKitCSSRegionRule.h: |
+ (WebKitCSSRegionRule): |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyleSheet::reparseStyleSheet): |
+ * loader/cache/CachedCSSStyleSheet.cpp: |
+ (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet): |
+ (WebCore::CachedCSSStyleSheet::destroyDecodedData): |
+ (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet): |
+ (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): |
+ |
+2012-05-06 Adam Barth <abarth@webkit.org> |
+ |
+ Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues |
+ available unconditionally. We should probably rename these classes to |
+ JSONValues and move them into WebCore/platform. |
+ |
+ * inspector/InspectorValues.cpp: |
+ * inspector/InspectorValues.h: |
+ |
+2012-05-06 Adam Barth <abarth@webkit.org> |
+ |
+ CSP violation reports should have all the fields required by the spec |
+ https://bugs.webkit.org/show_bug.cgi?id=85682 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ This patch updates our CSP violation reports to include all the fields |
+ in the spec. We've discussed all these fields in the working group, |
+ and we have fairly high confidence that these are safe to expose. |
+ |
+ Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html |
+ http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html |
+ http/tests/security/contentSecurityPolicy/report-blocked-uri.html |
+ http/tests/security/contentSecurityPolicy/report-only-from-header.html |
+ http/tests/security/contentSecurityPolicy/report-only.html |
+ http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html |
+ http/tests/security/contentSecurityPolicy/report-uri.html |
+ |
+ * page/ContentSecurityPolicy.cpp: |
+ (CSPDirectiveList): |
+ (WebCore::CSPDirectiveList::reportViolation): |
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation): |
+ |
+2012-05-06 Kinuko Yasuda <kinuko@chromium.org> |
+ |
+ Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String |
+ https://bugs.webkit.org/show_bug.cgi?id=85736 |
+ |
+ Change the return type of Entry::toURL() from String to KURL. |
+ |
+ Reviewed by David Levin. |
+ |
+ No new tests as this change should not have any visible impact in the javascript layer. |
+ |
+ * Modules/filesystem/EntryBase.cpp: |
+ (WebCore::EntryBase::toURL): |
+ * Modules/filesystem/EntryBase.h: |
+ * platform/AsyncFileSystem.h: |
+ * platform/blackberry/AsyncFileSystemBlackberry.cpp: |
+ (AsyncFileSystemBlackberry::toURL): |
+ * platform/blackberry/AsyncFileSystemBlackberry.h: |
+ * platform/gtk/AsyncFileSystemGtk.cpp: |
+ (AsyncFileSystemGtk::toURL): |
+ * platform/gtk/AsyncFileSystemGtk.h: |
+ |
+2012-05-06 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8][Performance] Remove Isolate lookup from the call path |
+ to get a cached JS wrapper object by getDOMXXXXMap(). |
+ https://bugs.webkit.org/show_bug.cgi?id=85205 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ The patch improves the performance of getting a cached JS wrapper |
+ by getDOMXXXXMap(). For example, it improves the performance |
+ of toV8(NodeList*) in getElementsByTagName(), getElementsByName(), |
+ getElementsByClassName() by 7 ~ 9%. |
+ |
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468 |
+ |
+ The performance test results in my Linux desktop: |
+ |
+ getElementsByTagName : 40.76 ms => 37.52ms (+8.6%) |
+ getElementsByName : 41.02 ms => 37.42ms (+9.6%) |
+ getElementsByClassName : 40.32 ms => 37.68ms (+7.0%) |
+ |
+ Unfortunately we cannot observe performance improvement in |
+ Dromaeo/dom-query.html, which are testing getElementsByTagName(), |
+ getElementsByName(), getElementsByClassName(). This is because |
+ the bottleneck of these Dromaeo tests is not toV8(NodeList*) but |
+ .length and .nodeType accesses. The patch for optimizing them |
+ will be coming soon. |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: Modified as described above. |
+ (GenerateHeader): |
+ (GenerateNormalAttrGetter): |
+ (GetDomMapFunction): |
+ (NativeToJSValue): |
+ * bindings/v8/DOMData.cpp: |
+ (WebCore::DOMData::getCurrentStore): |
+ |
+ * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results. |
+ (WebCore::V8Float64Array::wrap): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
+ (WebCore::V8TestActiveDOMObject::wrap): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
+ (WebCore::V8TestCustomNamedGetter::wrap): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.h: |
+ (WebCore::V8TestEventConstructor::wrap): |
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
+ (WebCore::TestEventTargetV8Internal::itemCallback): |
+ * bindings/scripts/test/V8/V8TestEventTarget.h: |
+ (WebCore::V8TestEventTarget::wrap): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): |
+ * bindings/scripts/test/V8/V8TestInterface.h: |
+ (WebCore::V8TestInterface::wrap): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
+ (WebCore::V8TestMediaQueryListListener::wrap): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
+ (WebCore::V8TestNamedConstructor::wrap): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter): |
+ (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter): |
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter): |
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback): |
+ * bindings/scripts/test/V8/V8TestObj.h: |
+ (WebCore::V8TestObj::wrap): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
+ (WebCore::V8TestSerializedScriptValueInterface::wrap): |
+ |
+2012-05-06 Adam Barth <abarth@webkit.org> |
+ |
+ Content Security Policy reports should be reported with content-type application/json, should contain all required fields |
+ https://bugs.webkit.org/show_bug.cgi?id=61360 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This patch changes ContentSecurityPolicy to use JSON format for sending |
+ violation reports rather than wwwform-encoding. This patch aligns our |
+ behavior with the specification and with Mozilla. A follow up patch |
+ will update the list of fields in the report to match the spec. |
+ |
+ * loader/PingLoader.cpp: |
+ (WebCore::PingLoader::reportContentSecurityPolicyViolation): |
+ * page/ContentSecurityPolicy.cpp: |
+ (WebCore::CSPDirectiveList::reportViolation): |
+ |
+2012-05-06 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ [BlackBerry] Support html5 download attribute. |
+ https://bugs.webkit.org/show_bug.cgi?id=85044 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Pass download attribute filename to networkJob and it could be |
+ overridden by the Content-Disposition HTTP header's filename parameter. |
+ |
+ * platform/network/blackberry/NetworkJob.cpp: |
+ (WebCore::NetworkJob::initialize): |
+ * platform/network/blackberry/ResourceRequest.h: |
+ (WebCore::ResourceRequest::setSuggestSaveName): |
+ (WebCore::ResourceRequest::suggestSaveName): |
+ (ResourceRequest): |
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
+ (WebCore::ResourceRequest::initializePlatformRequest): |
+ |
+2012-05-06 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ Disallow unquoted -webkit-font-feature-settings tags |
+ https://bugs.webkit.org/show_bug.cgi?id=85362 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Disallow unquoted tags to follow the current draft. |
+ http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop |
+ |
+ No new tests. css3/font-feature-settings-parsing.html was updated. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string. |
+ |
+2012-05-06 Raphael Kubo da Costa <rakuco@webkit.org> |
+ |
+ Unreviewed build fix for r116260. |
+ |
+ COMPILE_ASSERT() does not expect a string in its second parameter. |
+ |
+ * platform/graphics/TextRun.cpp: |
+ (WebCore): |
+ |
+2012-05-06 Rob Buis <rbuis@rim.com> |
+ |
+ Shrink TextRun object size |
+ https://bugs.webkit.org/show_bug.cgi?id=85751 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important |
+ for SVG, since RenderSVGText shrinks because of this. |
+ |
+ Also add a compile assert for the expected object size. |
+ |
+ * platform/graphics/TextRun.cpp: |
+ (ExpectedTextRunSize): |
+ (WebCore): |
+ * platform/graphics/TextRun.h: |
+ (WebCore::TextRun::TextRun): |
+ (WebCore::TextRun::direction): |
+ (TextRun): |
+ |
+2012-05-06 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
+ |
+ [BlackBerry] Autofill backing store implementation upstream |
+ https://bugs.webkit.org/show_bug.cgi?id=85575 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Implemented class AutofillBackingStore which is responsible |
+ for handling interaction with autofill database. |
+ |
+ Replaced static function |
+ CredentialBackingStore* CredentialBackingStore::instance() |
+ with a helper function |
+ CredentialBackingStore& credentialBackingStore(), |
+ and used DEFINE_STATIC_LOCAL to construct the singleton |
+ object. |
+ Also removed unnecessary function close() and combined with |
+ the destructor of class CredentialBackingStore. |
+ |
+ Initial upstream, No new tests. |
+ |
+ * PlatformBlackBerry.cmake: |
+ * platform/network/blackberry/AutofillBackingStore.cpp: Added. |
+ (WebCore): |
+ (WebCore::autofillBackingStore): |
+ (WebCore::AutofillBackingStore::AutofillBackingStore): |
+ (WebCore::AutofillBackingStore::~AutofillBackingStore): |
+ (WebCore::AutofillBackingStore::open): |
+ (WebCore::AutofillBackingStore::add): |
+ (WebCore::AutofillBackingStore::update): |
+ (WebCore::AutofillBackingStore::contains): |
+ (WebCore::AutofillBackingStore::get): |
+ (WebCore::AutofillBackingStore::clear): |
+ * platform/network/blackberry/AutofillBackingStore.h: Added. |
+ (WebCore): |
+ (AutofillBackingStore): |
+ * platform/network/blackberry/CredentialBackingStore.cpp: |
+ (WebCore::credentialBackingStore): |
+ (WebCore::CredentialBackingStore::~CredentialBackingStore): |
+ * platform/network/blackberry/CredentialBackingStore.h: |
+ (CredentialBackingStore): |
+ (WebCore): |
+ * platform/network/blackberry/CredentialStorageBlackBerry.cpp: |
+ (WebCore::CredentialStorage::getFromPersistentStorage): |
+ |
+2012-05-06 MORITA Hajime <morrita@google.com> |
+ |
+ [Shadow DOM] Node distribution should be refreshed before style recalc. |
+ https://bugs.webkit.org/show_bug.cgi?id=85259 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Element::recalcStyle() calls child element's recalcStyle() |
+ recursively, following ShadowTree::recalcShadowTreeStyle(). But |
+ recalcShadowTreeStyle() should be called before such recursion if |
+ necessary. |
+ |
+ This is because style calculation and following renderer attachment |
+ of each child element depends on up-to-date node distribution result |
+ which is computed during the recalcShadowTreeStyle(). |
+ |
+ Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html |
+ |
+ * dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals. |
+ (WebCore::Element::recalcStyle): |
+ |
+2012-05-06 Adam Barth <abarth@webkit.org> |
+ |
+ CSP should let sites both enforce one policy and monitor another |
+ https://bugs.webkit.org/show_bug.cgi?id=85561 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This patch lets us enforce and/or monitor multiple CSP policies. |
+ Rather than having a single directive list, we now have a vector of |
+ directive lists. |
+ |
+ Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html |
+ http/tests/security/contentSecurityPolicy/report-and-enforce.html |
+ |
+ * page/ContentSecurityPolicy.cpp: |
+ (WebCore::ContentSecurityPolicy::copyStateFrom): |
+ (WebCore::ContentSecurityPolicy::didReceiveHeader): |
+ (WebCore::ContentSecurityPolicy::deprecatedHeader): |
+ (WebCore::ContentSecurityPolicy::deprecatedHeaderType): |
+ - Even after this patch, workers aren't smart enough to enforce |
+ multiple policies. They just use the first header, like they did |
+ before. We'll need to teach workers how to enforce multiple |
+ policies in a future patch. |
+ (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): |
+ (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): |
+ (WebCore::ContentSecurityPolicy::allowInlineScript): |
+ (WebCore::ContentSecurityPolicy::allowInlineStyle): |
+ (WebCore::ContentSecurityPolicy::allowEval): |
+ (WebCore::ContentSecurityPolicy::allowScriptFromSource): |
+ (WebCore::ContentSecurityPolicy::allowObjectFromSource): |
+ (WebCore::ContentSecurityPolicy::allowChildFrameFromSource): |
+ (WebCore::ContentSecurityPolicy::allowImageFromSource): |
+ (WebCore::ContentSecurityPolicy::allowStyleFromSource): |
+ (WebCore::ContentSecurityPolicy::allowFontFromSource): |
+ (WebCore::ContentSecurityPolicy::allowMediaFromSource): |
+ (WebCore::ContentSecurityPolicy::allowConnectFromSource): |
+ * page/ContentSecurityPolicy.h: |
+ * workers/DefaultSharedWorkerRepository.cpp: |
+ (WebCore::SharedWorkerScriptLoader::notifyFinished): |
+ * workers/WorkerMessagingProxy.cpp: |
+ (WebCore::WorkerMessagingProxy::startWorkerContext): |
+ |
+2012-05-06 Rob Buis <rbuis@rim.com> |
+ |
+ InlineBox::setHasBadParent should be debug only |
+ https://bugs.webkit.org/show_bug.cgi?id=85748 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Do not provide InlineBox::setHasBadParent in release builds. |
+ |
+ * rendering/InlineBox.h: |
+ (InlineBox): |
+ (WebCore): |
+ (WebCore::InlineBox::setHasBadParent): |
+ |
+2012-05-06 Mike West <mkwst@chromium.org> |
+ |
+ KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about") |
+ https://bugs.webkit.org/show_bug.cgi?id=85641 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::shouldInheritSecurityOriginFromOwner): |
+ * page/ContentSecurityPolicy.cpp: |
+ (WebCore::CSPDirectiveList::allowObjectFromSource): |
+ (WebCore::CSPDirectiveList::allowChildFrameFromSource): |
+ * page/PageSerializer.cpp: |
+ (WebCore::SerializerMarkupAccumulator::appendCustomAttributes): |
+ (WebCore::PageSerializer::serializeFrame): |
+ * platform/KURL.cpp: |
+ (WebCore::KURL::isBlankURL): |
+ (WebCore): |
+ * platform/KURL.h: |
+ (KURL): |
+ (WebCore): |
+ |
+2012-05-06 Martin Robinson <mrobinson@igalia.com> |
+ |
+ [TextureMapper] Layer images is uploaded to the GPU for each sync |
+ https://bugs.webkit.org/show_bug.cgi?id=85727 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ No new tests. This does not change functionality, |
+ it only improves performance. |
+ |
+ * platform/graphics/texmap/TextureMapperLayer.cpp: |
+ (WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay |
+ and needsDisplayRect variables after uploading the layer image. |
+ |
+2012-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ Convert isPageBoxVisible to use Internals interface. |
+ https://bugs.webkit.org/show_bug.cgi?id=85692 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Add isPageBoxVisible functions, because it is able to work in the |
+ cross-port way through the Internals interface. |
+ |
+ No new tests, since we are improving here the infra-structure for testing |
+ a specific method. |
+ |
+ * testing/Internals.cpp: |
+ (WebCore): |
+ (WebCore::Internals::isPageBoxVisible): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-05-06 Eugene Klyuchnikov <eustas.bug@gmail.com> |
+ |
+ Web Inspector: "Goto Function" filtering should be less restrictive. |
+ https://bugs.webkit.org/show_bug.cgi?id=85586 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Added tests for generated regex. |
+ |
+ Changes: |
+ 1) Avoid asterisks in filtering queue. |
+ 2) Optimization: do not create regexp for each item. |
+ |
+ * inspector/front-end/FilteredItemSelectionDialog.js: |
+ (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded): |
+ Applied new filtering workflow. |
+ (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt): |
+ Removed. |
+ (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp): |
+ Removed unused "suffix" logic; changed the way regexp is composed from query. |
+ (WebInspector.FilteredItemSelectionDialog.prototype._filterItems): |
+ Applied new filtering workflow. |
+ (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown): |
+ Removed unused var. |
+ |
+2012-05-06 Kent Tamura <tkent@chromium.org> |
+ |
+ Rename ICULocale to LocaleICU, part 2 |
+ https://bugs.webkit.org/show_bug.cgi?id=85695 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ No behavior change |
+ |
+ * platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU. |
+ * platform/text/LocaleICU.h: ditto. |
+ Also, update obsolete comments. |
+ * platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU. |
+ (WebCore::parseLocalizedDate): |
+ (WebCore::formatLocalizedDate): |
+ (WebCore::localizedDateFormatText): |
+ (WebCore::monthLabels): |
+ (WebCore::weekDayShortLabels): |
+ (WebCore::firstDayOfWeek): |
+ * platform/text/LocalizedNumberICU.cpp: ditto. |
+ (WebCore::convertToLocalizedNumber): |
+ (WebCore::convertFromLocalizedNumber): |
+ |
+2012-05-06 Kevin Ollivier <kevino@theolliviers.com> |
+ |
+ [wx] Unreviewed. Build fixes for recent trunk changes. |
+ |
+ * platform/graphics/SimpleFontData.h: |
+ (SimpleFontData): |
+ * platform/graphics/wx/FontPlatformData.h: |
+ (FontPlatformData): |
+ (WebCore::FontPlatformData::isCompositeFontReference): |
+ * platform/graphics/wx/SimpleFontDataWx.cpp: |
+ (WebCore): |
+ (WebCore::SimpleFontData::getCompositeFontReferenceFontData): |
+ * plugins/mac/PluginViewMac.mm: |
+ * rendering/RenderObject.h: |
+ |
+2012-05-06 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: take timeline frame mode out of experimental |
+ https://bugs.webkit.org/show_bug.cgi?id=85707 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - remove "Vertical timeline overview" experiment; |
+ - add supportsFrameInstrumentation capability to InspectorTimelineAgent; |
+ - show frame mode selector conditionally on supportsFrameInstrumentation capability. |
+ |
+ * inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability; |
+ * inspector/InspectorClient.h: Add supportsFrameInstrumentation(); |
+ (InspectorClient): |
+ (WebCore::InspectorClient::supportsFrameInstrumentation): |
+ * inspector/InspectorController.cpp: |
+ (WebCore::InspectorController::InspectorController): |
+ * inspector/InspectorTimelineAgent.cpp: |
+ (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation): |
+ (WebCore): |
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter. |
+ * inspector/InspectorTimelineAgent.h: |
+ (WebCore): |
+ (WebCore::InspectorTimelineAgent::create): ditto. |
+ (InspectorTimelineAgent): |
+ * inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported. |
+ (WebCore::WorkerInspectorController::WorkerInspectorController): |
+ * inspector/front-end/Settings.js: |
+ (WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment. |
+ * inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment. |
+ (WebInspector.TimelineOverviewPane): |
+ * inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation; |
+ (WebInspector.doLoadedDone): |
+ |
+2012-05-06 Antti Koivisto <antti@apple.com> |
+ |
+ Build fix. |
+ |
+ Not reviewed. |
+ |
+ * css/PropertySetCSSStyleDeclaration.cpp: |
+ |
+2012-05-04 Antti Koivisto <antti@apple.com> |
+ |
+ Share stylesheet data structures between documents |
+ https://bugs.webkit.org/show_bug.cgi?id=85598 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share |
+ the data until someone uses CSSOM to modify the sheet. |
+ |
+ The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is |
+ invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not |
+ then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree. |
+ |
+ Sharing can save significant amount of memory on sites with large stylesheets. For example if you have |
+ multiple articles open on wsj.com this saves ~2.6MB per tab. |
+ |
+ Test: http/tests/css/shared-stylesheet-mutation.html |
+ http/tests/css/shared-stylesheet-mutation-preconstruct.html |
+ |
+ * css/CSSFontFaceRule.cpp: |
+ (WebCore::CSSFontFaceRule::reattach): |
+ (WebCore): |
+ * css/CSSFontFaceRule.h: |
+ (CSSFontFaceRule): |
+ * css/CSSMediaRule.cpp: |
+ (WebCore::CSSMediaRule::insertRule): |
+ (WebCore::CSSMediaRule::deleteRule): |
+ (WebCore::CSSMediaRule::reattach): |
+ (WebCore): |
+ * css/CSSMediaRule.h: |
+ (CSSMediaRule): |
+ * css/CSSPageRule.cpp: |
+ (WebCore::CSSPageRule::setSelectorText): |
+ (WebCore::CSSPageRule::reattach): |
+ (WebCore): |
+ * css/CSSPageRule.h: |
+ (CSSPageRule): |
+ * css/CSSRule.cpp: |
+ (WebCore::CSSRule::reattach): |
+ |
+ After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function. |
+ |
+ * css/CSSRule.h: |
+ (WebCore): |
+ (CSSRule): |
+ * css/CSSStyleRule.cpp: |
+ (WebCore::CSSStyleRule::setSelectorText): |
+ (WebCore::CSSStyleRule::reattach): |
+ (WebCore): |
+ * css/CSSStyleRule.h: |
+ (CSSStyleRule): |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::isCacheable): |
+ (WebCore::StyleSheetInternal::ruleAt): |
+ |
+ Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper . |
+ |
+ (WebCore): |
+ (WebCore::StyleSheetInternal::wrapperInsertRule): |
+ (WebCore::StyleSheetInternal::wrapperDeleteRule): |
+ |
+ Invalidation moves to the calling wrapper. |
+ |
+ (WebCore::StyleSheetInternal::addedToMemoryCache): |
+ (WebCore::StyleSheetInternal::removedFromMemoryCache): |
+ (WebCore::CSSStyleSheet::willMutateRules): |
+ |
+ This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed. |
+ |
+ Usually invoked by CSSStyleSheet::RuleMutation RAII type. |
+ |
+ (WebCore::CSSStyleSheet::didMutateRules): |
+ |
+ This is called after the mutation is complete and will trigger the style recalc in the document. |
+ |
+ (WebCore::CSSStyleSheet::didMutate): |
+ |
+ This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write. |
+ |
+ (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers): |
+ (WebCore::CSSStyleSheet::setDisabled): |
+ (WebCore::CSSStyleSheet::insertRule): |
+ (WebCore::CSSStyleSheet::deleteRule): |
+ * css/CSSStyleSheet.h: |
+ (StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::hasOneClient): |
+ (WebCore::StyleSheetInternal::isMutable): |
+ (WebCore::StyleSheetInternal::setMutable): |
+ |
+ Track mutability. Mutation is allowed only after willMutate call. |
+ |
+ (WebCore::StyleSheetInternal::isInMemoryCache): |
+ |
+ Track if the object is in memory cache. |
+ |
+ (WebCore::CSSStyleSheet::clearOwnerRule): |
+ (CSSStyleSheet): |
+ * css/MediaList.cpp: |
+ (WebCore::MediaList::setMediaText): |
+ (WebCore::MediaList::deleteMedium): |
+ (WebCore::MediaList::appendMedium): |
+ (WebCore::MediaList::didMutate): |
+ (WebCore): |
+ (WebCore::MediaList::reattach): |
+ * css/MediaList.h: |
+ (MediaList): |
+ * css/PropertySetCSSStyleDeclaration.cpp: |
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText): |
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty): |
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): |
+ (WebCore): |
+ (WebCore::StyleRuleCSSStyleDeclaration::willMutate): |
+ (WebCore::StyleRuleCSSStyleDeclaration::didMutate): |
+ (WebCore::StyleRuleCSSStyleDeclaration::reattach): |
+ (WebCore::InlineCSSStyleDeclaration::didMutate): |
+ * css/PropertySetCSSStyleDeclaration.h: |
+ (WebCore::PropertySetCSSStyleDeclaration::willMutate): |
+ (WebCore::PropertySetCSSStyleDeclaration::didMutate): |
+ (StyleRuleCSSStyleDeclaration): |
+ * css/WebKitCSSKeyframesRule.cpp: |
+ (WebCore::WebKitCSSKeyframesRule::setName): |
+ (WebCore::WebKitCSSKeyframesRule::insertRule): |
+ (WebCore::WebKitCSSKeyframesRule::deleteRule): |
+ (WebCore::WebKitCSSKeyframesRule::reattach): |
+ (WebCore): |
+ * css/WebKitCSSKeyframesRule.h: |
+ (WebKitCSSKeyframesRule): |
+ * css/WebKitCSSRegionRule.cpp: |
+ (WebCore::WebKitCSSRegionRule::reattach): |
+ * css/WebKitCSSRegionRule.h: |
+ (WebKitCSSRegionRule): |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyleSheet::reparseStyleSheet): |
+ * loader/cache/CachedCSSStyleSheet.cpp: |
+ (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet): |
+ (WebCore::CachedCSSStyleSheet::destroyDecodedData): |
+ (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet): |
+ |
+ Don't copy when restoring. It is no longer necessary. |
+ Set the cache bit on the stylesheet. |
+ |
+ (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): |
+ |
+2012-05-05 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r116221. |
+ http://trac.webkit.org/changeset/116221 |
+ https://bugs.webkit.org/show_bug.cgi?id=85722 |
+ |
+ broke builds that use -Wshorten-64-to-32 (Requested by pizlo |
+ on #webkit). |
+ |
+ * html/canvas/WebGLRenderingContext.cpp: |
+ (WebCore): |
+ (WebCore::WebGLRenderingContext::bufferData): |
+ (WebCore::WebGLRenderingContext::bufferSubData): |
+ (WebCore::WebGLRenderingContext::drawElements): |
+ (WebCore::WebGLRenderingContext::getVertexAttribOffset): |
+ (WebCore::WebGLRenderingContext::vertexAttribPointer): |
+ * html/canvas/WebGLRenderingContext.h: |
+ (WebGLRenderingContext): |
+ * html/canvas/WebGLRenderingContext.idl: |
+ |
+2012-05-05 Martin Robinson <mrobinson@igalia.com> |
+ |
+ [GTK] WebKit should properly set the input method context window location |
+ https://bugs.webkit.org/show_bug.cgi?id=84981 |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ * platform/gtk/GtkInputMethodFilter.cpp: |
+ (WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the |
+ cursor rect through to the input method. |
+ * platform/gtk/GtkInputMethodFilter.h: Add the new method declaration. |
+ |
+2012-05-05 Dean Jackson <dino@apple.com> |
+ |
+ Add new Setting/Preference to disable requestAnimationFrame |
+ https://bugs.webkit.org/show_bug.cgi?id=85693 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Hook up the new WebPreference for disabling requestAnimationFrame |
+ to Settings. This isn't disabling the feature in the typical |
+ WebKit ENABLE() way - it's still available in the DOM, it's |
+ just that the animations will never be serviced. This allows a client |
+ to disable the machinery without breaking content (other than the |
+ animations). |
+ |
+ The new test is currently skipped on all platforms because toggling |
+ the preference interferes with the other tests that are running |
+ at the same time (and expect a working requestAnimationFrame). |
+ https://bugs.webkit.org/show_bug.cgi?id=85689 |
+ |
+ Test: fast/animation/request-animation-frame-disabled.html |
+ |
+ * dom/ScriptedAnimationController.cpp: |
+ (WebCore::ScriptedAnimationController::serviceScriptedAnimations): |
+ (WebCore::ScriptedAnimationController::windowScreenDidChange): |
+ (WebCore::ScriptedAnimationController::scheduleAnimation): |
+ Check the setting before deciding to act. |
+ * page/Settings.cpp: |
+ (WebCore::Settings::Settings): |
+ * page/Settings.h: |
+ (WebCore::Settings::setRequestAnimationFrameEnabled): |
+ (WebCore::Settings::requestAnimationFrameEnabled): |
+ (Settings): |
+ |
+2012-05-05 Gustavo Noronha Silva <gns@gnome.org> |
+ |
+ Unreviewed, make distcheck fix. |
+ |
+ * GNUmakefile.list.am: Add missing headers to the sources list. |
+ |
+2012-05-05 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object. |
+ https://bugs.webkit.org/show_bug.cgi?id=85710 |
+ |
+ The idea is to have an object and be able to add/remove event listeners from it. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * English.lproj/localizedStrings.js: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js. |
+ (WebInspector.FileManager): |
+ (WebInspector.FileManager.prototype.canSave): |
+ (WebInspector.FileManager.prototype.canAppend): |
+ (WebInspector.FileManager.prototype.append): |
+ (WebInspector.FileManager.prototype.appendedToURL): |
+ * inspector/front-end/HeapSnapshotView.js: |
+ (WebInspector.HeapProfileHeader.prototype.canSave): |
+ (WebInspector.HeapProfileHeader.prototype.save): |
+ * inspector/front-end/InspectorFrontendHostStub.js: |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2012-05-05 Zhenyao Mo <zmo@google.com> |
+ |
+ vertexAttribPointer needs to reject large negative offsets |
+ https://bugs.webkit.org/show_bug.cgi?id=85117 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr |
+ (WebCore): |
+ (WebCore::WebGLRenderingContext::bufferData): |
+ (WebCore::WebGLRenderingContext::bufferSubData): |
+ (WebCore::WebGLRenderingContext::drawElements): |
+ (WebCore::WebGLRenderingContext::getVertexAttribOffset): |
+ (WebCore::WebGLRenderingContext::vertexAttribPointer): |
+ * html/canvas/WebGLRenderingContext.h: Ditto |
+ (WebGLRenderingContext): |
+ * html/canvas/WebGLRenderingContext.idl: Ditto |
+ |
+2012-05-05 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: add separate timeline overview item for the frame mode |
+ https://bugs.webkit.org/show_bug.cgi?id=85706 |
+ |
+ - remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu; |
+ - rename "Timeline" into "Events"; |
+ - add "Frames" item; |
+ - replace overview sidebar icons with smaller, monochrome ones. |
+ |
+ * English.lproj/localizedStrings.js: Added "Frames" and "Events". |
+ * inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory". |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineOverviewPane): |
+ (WebInspector.TimelineOverviewPane.prototype._showEvents): |
+ (WebInspector.TimelineOverviewPane.prototype._showFrames): |
+ (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): |
+ (WebInspector.TimelineOverviewPane.prototype._setMode): |
+ * inspector/front-end/timelinePanel.css: |
+ (#timeline-overview-sidebar .sidebar-tree-item): |
+ (#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle): |
+ (#timeline-overview-sidebar .icon): |
+ (.timeline-overview-sidebar-events .icon): |
+ (.timeline-overview-sidebar-frames .icon): |
+ (.timeline-overview-sidebar-memory .icon): |
+ |
+2012-05-05 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: save HeapSnapshot implementation. |
+ https://bugs.webkit.org/show_bug.cgi?id=85595 |
+ |
+ HeapSnapshot specific implementation for loading was moved |
+ from ProfilesPanel to HeapProfileHeader class. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/HeapSnapshotView.js: |
+ (WebInspector.HeapSnapshotView.prototype.get profileWrapper): |
+ (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper): |
+ (WebInspector.HeapProfileHeader): |
+ (WebInspector.HeapProfileHeader.prototype.load.setProfileWait): |
+ (WebInspector.HeapProfileHeader.prototype.load.done): |
+ (WebInspector.HeapProfileHeader.prototype.load): |
+ (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): |
+ (WebInspector.HeapProfileHeader.prototype.pushJSONChunk): |
+ (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot): |
+ (WebInspector.HeapProfileHeader.prototype.canSave): |
+ (WebInspector.HeapProfileHeader.prototype.save): |
+ * inspector/front-end/InspectorFrontendAPI.js: |
+ (InspectorFrontendAPI.appendedToURL): |
+ * inspector/front-end/ProfilesPanel.js: |
+ (WebInspector.ProfilesPanel.prototype._registerProfileType): |
+ (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent): |
+ (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): |
+ (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): |
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): |
+ (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): |
+ (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent): |
+ * inspector/front-end/inspector.js: |
+ (WebInspector.append): |
+ (WebInspector.appendedToURL): |
+ |
+2012-05-05 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: allow overriding the script mapping on the UI level |
+ https://bugs.webkit.org/show_bug.cgi?id=85702 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ This allows formatting update live locations all over the place automatically. |
+ |
+ * inspector/front-end/Script.js: |
+ (WebInspector.Script.prototype.rawLocationToUILocation): |
+ (WebInspector.Script.Location): |
+ (WebInspector.Script.Location.prototype.update): |
+ (WebInspector.Script.Location.prototype.dispose): |
+ * inspector/front-end/UISourceCode.js: |
+ (WebInspector.UISourceCode): |
+ (WebInspector.UISourceCode.prototype.addLiveLocation): |
+ (WebInspector.UISourceCode.prototype.removeLiveLocation): |
+ (WebInspector.UISourceCode.prototype.updateLiveLocations): |
+ (WebInspector.UISourceCode.prototype.overrideLocation): |
+ |
+2012-05-05 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: simplify the JavaScriptOutline dialog interaction. |
+ https://bugs.webkit.org/show_bug.cgi?id=85701 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Removed bidirectional dependency between scripts panel and outline dialog. |
+ |
+ * inspector/front-end/FilteredItemSelectionDialog.js: |
+ (WebInspector.JavaScriptOutlineDialog): |
+ (WebInspector.JavaScriptOutlineDialog.show): |
+ (WebInspector.JavaScriptOutlineDialog.prototype.requestItems): |
+ (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk): |
+ (WebInspector.JavaScriptOutlineDialog.prototype.selectItem): |
+ * inspector/front-end/ScriptFormatterWorker.js: |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype.addToWatch): |
+ (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog): |
+ |
+2012-05-04 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: annotate ProfilerAgent. |
+ https://bugs.webkit.org/show_bug.cgi?id=85630 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * inspector/Inspector.json: |
+ * inspector/InspectorProfilerAgent.cpp: |
+ (WebCore::InspectorProfilerAgent::createProfileHeader): |
+ (WebCore::InspectorProfilerAgent::createSnapshotHeader): |
+ (WebCore::InspectorProfilerAgent::getProfileHeaders): |
+ (WebCore): |
+ (WebCore::InspectorProfilerAgent::getProfile): |
+ * inspector/InspectorProfilerAgent.h: |
+ (InspectorProfilerAgent): |
+ * inspector/front-end/CSSSelectorProfileView.js: |
+ * inspector/front-end/HeapSnapshotView.js: |
+ (WebInspector.HeapSnapshotProfileType.prototype.createProfile): |
+ * inspector/front-end/ProfileView.js: |
+ * inspector/front-end/ProfilesPanel.js: |
+ (WebInspector.ProfilesPanel.prototype.addProfileHeader): |
+ (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): |
+ (WebInspector.ProfilerDispatcher.prototype.resetProfiles): |
+ |
+2012-05-04 Gustavo Noronha Silva <gns@gnome.org> |
+ |
+ [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build |
+ https://bugs.webkit.org/show_bug.cgi?id=85691 |
+ |
+ * GNUmakefile.am: link libWebCoreModules into libWebCore. |
+ |
+2012-05-04 Kent Tamura <tkent@chromium.org> |
+ |
+ Rename ICULocale to LocaleICU, part 1 |
+ https://bugs.webkit.org/show_bug.cgi?id=85688 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}. |
+ This patch changes only file names. We'll rename ICULocale class |
+ by a following patch. |
+ |
+ No behavior changes. |
+ |
+ * WebCore.gypi: |
+ * platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp. |
+ * platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h. |
+ * platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h. |
+ * platform/text/LocalizedNumberICU.cpp: ditto. |
+ |
+2012-05-04 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Leaf non self-painting layers should bail out early in RenderLayer::paintLayer |
+ https://bugs.webkit.org/show_bug.cgi?id=85678 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Performance optimization, no expected change in behavior. |
+ |
+ The gist of the change is that leaf non self-painting layers don't need to be painted as their |
+ associated RenderBoxModelObject should properly paint itself without any help. |
+ |
+ For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for |
+ each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real |
+ painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On |
+ my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup). |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintLayer): |
+ |
+2012-05-04 Rob Buis <rbuis@rim.com> |
+ |
+ Remove InlineBox::next() |
+ https://bugs.webkit.org/show_bug.cgi?id=85668 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ InlineBox::next() not needed since nextOnLine() does the same. |
+ |
+ * rendering/InlineBox.h: |
+ (InlineBox): |
+ * rendering/InlineFlowBox.h: |
+ (WebCore::InlineFlowBox::setConstructed): |
+ |
+2012-05-04 Chris Rogers <crogers@google.com> |
+ |
+ Oscillator must implement noteOn() and noteOff() |
+ https://bugs.webkit.org/show_bug.cgi?id=85236 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Test: webaudio/oscillator-scheduling.html |
+ to be landed separately to get proper platform baselines |
+ |
+ * Modules/webaudio/AudioBufferSourceNode.cpp: |
+ (WebCore::AudioBufferSourceNode::process): |
+ Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo(). |
+ |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::createBufferSource): |
+ Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode. |
+ |
+ (WebCore::AudioContext::createOscillator): |
+ AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode, |
+ when it has finished playing. |
+ |
+ * Modules/webaudio/AudioScheduledSourceNode.h: |
+ * Modules/webaudio/AudioScheduledSourceNode.cpp: |
+ (WebCore::AudioScheduledSourceNode::updateSchedulingInfo): |
+ updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts) |
+ and the very end (after note ends) of the output AudioBus. We've also simplified the number |
+ of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE. |
+ |
+ * Modules/webaudio/Oscillator.cpp: |
+ (WebCore::Oscillator::Oscillator): |
+ (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements): |
+ The frequency value needs to snap immediately to its correct value the very first time. |
+ This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly. |
+ |
+ (WebCore::Oscillator::process): |
+ Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo() |
+ to handle playbackState for us. |
+ |
+ (WebCore::Oscillator::propagatesSilence): |
+ Add scheduling logic for propagatesSilence(). |
+ |
+ (Oscillator): |
+ * Modules/webaudio/Oscillator.idl: |
+ Add noteOn(), noteOff() methods and playbackState according to specification. |
+ |
+2012-05-04 Andy Estes <aestes@apple.com> |
+ |
+ Remove uses of ASSERT(false) |
+ https://bugs.webkit.org/show_bug.cgi?id=85686 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like: |
+ |
+ if (expr) { |
+ // do something |
+ } else { |
+ ASSERT(false); |
+ } |
+ |
+ Replace this with: |
+ |
+ ASSERT(expr); |
+ if (!expr) |
+ return; |
+ |
+ // do something |
+ |
+ * Modules/webdatabase/DatabaseTracker.cpp: |
+ (WebCore::DatabaseTracker::deleteOrigin): |
+ (WebCore::DatabaseTracker::doneCreatingDatabase): |
+ (WebCore::DatabaseTracker::doneDeletingDatabase): |
+ (WebCore::DatabaseTracker::deleteDatabase): |
+ * bridge/objc/objc_instance.mm: |
+ (ObjcInstance::invokeObjcMethod): |
+ * bridge/objc/objc_utility.mm: |
+ (JSC::Bindings::convertObjcValueToValue): |
+ (JSC::Bindings::objcValueTypeForType): |
+ * dom/Node.cpp: |
+ (WebCore::Node::createRenderer): |
+ * loader/icon/IconDatabase.cpp: |
+ (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase): |
+ (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): |
+ * platform/graphics/GraphicsContext3D.cpp: |
+ (WebCore::doPacking): |
+ * platform/text/BidiResolver.h: |
+ (WebCore::::createBidiRunsForLine): |
+ |
+2012-05-04 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers |
+ https://bugs.webkit.org/show_bug.cgi?id=85280 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ This patch means to simplify the diff of an upcoming patch. Refactoring |
+ here in preparation for that patch. |
+ |
+ No new tests. No behavioral change. Covered by canvas 2d and 3d tests: |
+ canvas/philip/tests/*toDataURL*.html |
+ fast/canvas/webgl/premultiplyalpha-test.html |
+ |
+ * platform/graphics/cg/ImageBufferCG.cpp: |
+ (WebCore::CGImageToDataURL): Move the invalid image (!image) test here. |
+ The comments are about JPEG images; say that. Rename out to base64Data. |
+ (WebCore::ImageBuffer::toDataURL): Remove the !image test. |
+ (WebCore::ImageDataToDataURL): Move and define variables where used and |
+ make the code flow read similarly to toDataURL. Remove the !image test. |
+ |
+2012-05-04 Shawn Singh <shawnsingh@chromium.org> |
+ |
+ [chromium] Changes to layer tree structure need to be tracked properly |
+ https://bugs.webkit.org/show_bug.cgi?id=85421 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange |
+ |
+ Earlier, we were relying on WebCore behavior that always called |
+ setNeedsDisplay whenever the layer tree structure changed. |
+ However, in general it is more correct to consider layer tree |
+ changes even when things don't need repainting; for example Aura |
+ code is encountring this bug now. This patch corrects the |
+ compositor so that layer tree structural changes are considered |
+ property changes, without requiring that layers needed to be |
+ repainted. |
+ |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::LayerChromium): |
+ (WebCore::LayerChromium::insertChild): |
+ (WebCore::LayerChromium::pushPropertiesTo): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (LayerChromium): |
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
+ (WebCore::CCLayerImpl::setStackingOrderChanged): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCLayerImpl.h: |
+ (CCLayerImpl): |
+ |
+2012-05-04 Jeffrey Pfau <jpfau@apple.com> |
+ |
+ Unreviewed; build fix after r116191. |
+ |
+ * bindings/js/JSEventListener.h: |
+ |
+2012-05-04 Enrica Casucci <enrica@apple.com> |
+ |
+ REGRESSION: Cursor jumps to the first line after deleting the last word. |
+ https://bugs.webkit.org/show_bug.cgi?id=85334 |
+ <rdar://problem/11210059> |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ This regression was introduced with the work to remove redundant divs. |
+ When we decide to remove a DIV, we need to adjust the selection, if it is |
+ expressed in terms of the node being removed. The new position was computed |
+ using updatePositionForNodeRemoval that was not designed for the case where we |
+ remove preserving children. |
+ This patch adds a new method to CompositeEditCommand to do this properly. |
+ |
+ Test: editing/deleting/delete-word-from-unstyled-div.html |
+ |
+ * editing/CompositeEditCommand.cpp: |
+ (WebCore::CompositeEditCommand::isRemovableBlock): Code clenup. |
+ (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added. |
+ * editing/CompositeEditCommand.h: |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren. |
+ |
+2012-05-04 Jeffrey Pfau <jpfau@apple.com> |
+ |
+ Prevent early EventListener deletion |
+ https://bugs.webkit.org/show_bug.cgi?id=73970 |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ Test: fast/events/attribute-listener-deletion-crash.html |
+ |
+ * bindings/js/JSEventListener.h: |
+ (WebCore::JSEventListener::jsFunction): |
+ |
+2012-05-04 Yongjun Zhang <yongjun_zhang@apple.com> |
+ |
+ Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist. |
+ https://bugs.webkit.org/show_bug.cgi?id=85440 |
+ |
+ Reviewed by David Kilzer. |
+ |
+ We should add u0335 to the characters blacklist. |
+ |
+ * platform/mac/WebCoreNSURLExtras.mm: |
+ (WebCore::isLookalikeCharacter): |
+ |
+2012-05-04 Satoru Takabayashi <satorux@chromium.org> |
+ |
+ [chromium] Add plumbing for file display names for drag and drop |
+ https://bugs.webkit.org/show_bug.cgi?id=85673 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ No new tests: this change itself shouldn't change existing behavior. |
+ |
+ * platform/chromium/ChromiumDataObject.cpp: |
+ (WebCore::ChromiumDataObject::addFilename): |
+ * platform/chromium/ChromiumDataObject.h: |
+ (ChromiumDataObject): |
+ |
2012-05-04 Levi Weintraub <leviw@chromium.org> |
Correct pixel snapping in RenderSVGRoot::paintReplaced |