1 2012-03-02 Kentaro Hara <haraken@chromium.org>
3 Revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl
4 https://bugs.webkit.org/show_bug.cgi?id=80140
6 Reviewed by Adam Barth.
8 Based on the discussion on webkit-dev@
9 (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
10 we should revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl.
12 No tests. No change in behavior.
15 * DerivedSources.make:
17 * GNUmakefile.list.am:
19 * WebCore.xcodeproj/project.pbxproj:
20 * html/DOMWindowHTML.idl: Removed.
23 2012-03-02 Kentaro Hara <haraken@chromium.org>
25 Revert XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl
26 https://bugs.webkit.org/show_bug.cgi?id=80148
28 Reviewed by Adam Barth.
30 Based on the discussion on webkit-dev@
31 (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
32 this patch reverts XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl.
34 No tests. No change in behavior.
37 * DerivedSources.make:
39 * GNUmakefile.list.am:
41 * WebCore.xcodeproj/project.pbxproj:
43 * xml/DOMWindowXML.idl: Removed.
45 2012-03-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
47 Implement NamedNodeMap::setNamedItem() in terms of Element::setAttributeNode() instead of the other way round
48 https://bugs.webkit.org/show_bug.cgi?id=80188
50 Reviewed by Ryosuke Niwa.
52 Using setNamedItem() in setAttributeNode() implementation made us do unnecessary
53 checks like whether the element existed or whether the given node was an
54 attribute. So now setAttributeNode() do less work.
56 No new tests were added, functionality should be unchanged.
59 (WebCore::Element::setAttributeNode):
60 (WebCore::Element::setAttributeNodeNS):
63 (WebCore::Element::attributes): We got rid of ensureUpdatedAttributes(), next in
64 line will be updatedAttributes().
65 * dom/NamedNodeMap.cpp:
66 (WebCore::NamedNodeMap::setNamedItem):
68 2012-03-02 SravanKumar Sandela <ssandela@innominds.com>
70 Layout issue with fieldset legend element
71 https://bugs.webkit.org/show_bug.cgi?id=78684
73 Reviewed by Dirk Pranke.
75 The clipping logic for legend element was incorrect and now it has been corrected by taking correct offset in to consideration.
77 Test: fast/forms/fieldset-legend-padding-unclipped-fieldset-border.html
79 * rendering/RenderFieldset.cpp:
80 (WebCore::RenderFieldset::paintBoxDecorations):
82 2012-03-02 Erik Arvidsson <arv@chromium.org>
84 [V8] Bindings for node always check if they are a Document.
85 https://bugs.webkit.org/show_bug.cgi?id=79947
87 Reviewed by Adam Barth.
89 This changes the generated bindings code to only generate the Document code for the Document wrappers.
91 No new tests. Covered by existing tests.
93 * bindings/scripts/CodeGeneratorV8.pm:
94 (GenerateToV8Converters):
95 * bindings/scripts/test/V8/V8Float64Array.cpp:
96 (WebCore::V8Float64Array::wrapSlow):
97 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
98 (WebCore::V8TestActiveDOMObject::wrapSlow):
99 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
100 (WebCore::V8TestCustomNamedGetter::wrapSlow):
101 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
102 (WebCore::V8TestEventConstructor::wrapSlow):
103 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
104 (WebCore::V8TestEventTarget::wrapSlow):
105 * bindings/scripts/test/V8/V8TestInterface.cpp:
106 (WebCore::V8TestInterface::wrapSlow):
107 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
108 (WebCore::V8TestMediaQueryListListener::wrapSlow):
109 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
110 (WebCore::V8TestNamedConstructor::wrapSlow):
111 * bindings/scripts/test/V8/V8TestObj.cpp:
112 (WebCore::V8TestObj::wrapSlow):
113 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
114 (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
116 2012-03-02 Igor Oliveira <igor.o@sisa.samsung.com>
118 animation-timing-function falls back to ease when overriding animation-name
119 https://bugs.webkit.org/show_bug.cgi?id=71623
121 In this patch the animation name needs to be the first value declared, if
122 a different value is found, we do not check for the animation name again.
124 Reviewed by Dean Jackson.
126 Test: animations/animation-shorthand-overriding.html
129 (WebCore::CSSParser::parseAnimationShorthand):
131 2012-03-02 Martin Robinson <mrobinson@igalia.com>
133 [GTK] [AC] Connect WebGL to the TextureMapperGL code
134 https://bugs.webkit.org/show_bug.cgi?id=78968
136 Reviewed by Gustavo Noronha Silva.
138 No new tests. This is covered by existing accelerated compositing and
141 Rely on the shared version of GL acquisition from GLContext. This reduces
142 a lot of code and now allows us to connect WebGL into the accelerated compositing
145 * GNUmakefile.list.am: GLContext should be included for all X11 builds now.
146 There are no longer GTK+ specific versions of GraphicsContext3D.
147 * platform/graphics/GraphicsContext3D.h: Add a default argument for
148 resolveMultisamplingIfNecessary. This will resolve the entire texture.
149 * platform/graphics/cairo/GraphicsContext3DCairo.cpp: GraphicsContext3D is
150 now responsible for creating GraphicsContext3DPrivate in the constructor.
151 (WebCore::GraphicsContext3D::platformLayer): Now return m_private.
152 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Added.
153 * platform/graphics/cairo/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/glx/GraphicsContext3DPrivate.h.
154 * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Removed.
155 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
156 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Properly
157 handle the default argument.
158 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
159 (WebCore::GraphicsContext3D::prepareTexture): Use the new default argument now.
160 (WebCore::GraphicsContext3D::readRenderingResults): Ditto.
162 2012-02-18 Martin Robinson <mrobinson@igalia.com>
164 [GTK] [AC] Generalize WindowContextGL
165 https://bugs.webkit.org/show_bug.cgi?id=78969
167 Reviewed by Gustavo Noronha Silva.
169 No new tests. This should not change functionality.
171 * GNUmakefile.list.am: Added new files to source list.
172 * platform/graphics/cairo/GLContext.h: Added. An abstraction for all GL contexts.
173 * platform/graphics/glx/GLContextGLX.cpp: Added. This file is composed of very little
174 new code, as the logic for instantiating offscreen GL contexts is copied from
175 GraphicsContext3DPrivate. The code duplication will be removed in a followup patch.
176 (WebCore::GLContext::platformContext):
177 * platform/graphics/gtk/GLContextGtk.cpp: Added. This includes some helper factories
178 for creating and caching GL contexts for GTK+ widgets.
180 2012-03-02 W. James MacLean <wjmaclean@chromium.org>
182 [chromium] Remove TRACE_EVENT from CCQuadCuller::cullOccludedQuads.
183 https://bugs.webkit.org/show_bug.cgi?id=80174
185 Reviewed by James Robinson.
187 Covered by existing chromium unit tests.
189 Firing TRACE_EVENT once per draw quad is overwhelming.
191 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
192 (WebCore::CCQuadCuller::cullOccludedQuads):
194 2012-03-02 Erik Arvidsson <arv@chromium.org>
196 [V8] Make inline event attributes use evt for SVG and event otherwise
197 https://bugs.webkit.org/show_bug.cgi?id=80167
199 Reviewed by Ojan Vafai.
201 Test: fast/dom/inline-event-attributes-event-param-name.html
203 * bindings/v8/V8LazyEventListener.cpp:
204 (WebCore::V8LazyEventListener::prepareListenerObject):
206 2012-03-02 Gavin Peters <gavinp@chromium.org>
208 Sync PageCache debugging with PageCache behaviour
209 https://bugs.webkit.org/show_bug.cgi?id=79943
211 Sync up the debug printing code in PageCache with the actual logic,
212 and clean up the debug printing at the same time.
214 Reviewed by Brady Eidson.
216 No new tests, as this is a refactor of debug only code.
218 * history/PageCache.cpp:
220 (WebCore::logCanCacheFrameDecision):
221 (WebCore::logCanCachePageDecision):
223 2012-03-02 Maciej Stachowiak <mjs@apple.com>
225 REGRESSION(r97353): Crash when accessing location or history properties inside a navigated window
226 https://bugs.webkit.org/show_bug.cgi?id=80133
227 <rdar://problem/10432233>
229 Reviewed by Antti Koivisto.
231 Test: fast/dom/Window/navigated-window-properties.html
233 * bindings/js/JSDOMWindowCustom.cpp:
234 (WebCore): Remove custom getters for window.location and window.history; they
235 were unnecessary and did the wrong thing when DOMWindow returned null values
237 * page/DOMWindow.idl: ditto
238 * bindings/js/JSDOMBinding.cpp:
239 (WebCore::reportException): Remove assert about null values and update comment,
240 since this is now an expected state for navigated inner windows.
242 2012-03-02 Ryosuke Niwa <rniwa@webkit.org>
244 REGRESSION(r74971): Can't select a line of RTL text on Facebook
245 https://bugs.webkit.org/show_bug.cgi?id=59435
247 Reviewed by Eric Seidel.
249 The bug was caused by inline text boxes created by BRs being placed at the end of the line
250 according to the block's direction regardless of its unicode bidi-level. e.g. if we have
251 <div dir="rtl"><span dir="ltr">hello<br>world</span></div>
252 the inline box generated by the br has the bidi-level of 2 like the rest of text in the span.
253 This inline text box gives an illusion of having text on the left of "hello" to hit testing
254 and editing code and causes all sorts of problems.
256 Fixed the bug by replacing calls to nextLeafChild and prevLeafChild by newly introduced
257 nextLeafChildIgnoringLineBreak and prevLeafChildIgnoringLineBreak. These two functions will
258 return 0 when they hit the end of a line or inline text box that's a line break. In effect,
259 hit testing and editing code can ignore inline boxes generated by br's.
261 In the long term, we should move these two functions into RenderedPosition along with the rest
262 of code that converts a Position and an inline box, offset pair.
264 Test: editing/selection/select-line-break-with-opposite-directionality.html
267 (WebCore::Position::getInlineBoxAndOffset):
268 * editing/RenderedPosition.cpp:
269 (WebCore::RenderedPosition::prevLeafChild):
270 (WebCore::RenderedPosition::nextLeafChild):
271 * rendering/InlineBox.cpp:
272 (WebCore::InlineBox::nextLeafChildIgnoringLineBreak):
273 (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
274 * rendering/InlineBox.h:
275 * rendering/RenderBlock.cpp:
276 (WebCore::RenderBlock::positionForPointWithInlineChildren):
277 * rendering/RenderText.cpp:
278 (WebCore::lineDirectionPointFitsInBox): If we're on the left of a RTL line, we should stay at
279 upstream position since we're at the end of a line.
280 (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): Merge the two special cases into
281 the general loop as the comment suggests. Skip an inline text box for a line break at the left
282 edge when there are more line boxes on the line.
283 (WebCore::RenderText::positionForPoint):
284 * rendering/RootInlineBox.cpp:
285 (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition): Ignore line boxes created for
286 line boxes when there are other boxes on the line.
288 2012-03-02 Adam Treat <atreat@rim.com>
290 https://bugs.webkit.org/show_bug.cgi?id=80161
293 BlackBerryPlatformScreen.h API has been updated. Reflect those
294 changes in our usage.
296 Reviewed by Antonio Gomes.
297 Internally reviewed by Jakob Petsovits
299 * platform/blackberry/PlatformScreenBlackBerry.cpp:
300 (WebCore::screenAvailableRect):
301 (WebCore::screenRect):
303 2012-03-02 Julien Chaffraix <jchaffraix@webkit.org>
305 Move the 'overflow' event dispatching logic out of RenderLayer
306 https://bugs.webkit.org/show_bug.cgi?id=80090
308 Unreviewed build fix.
310 * rendering/RenderBlock.cpp:
311 (OverflowEventDispatcher): Removed the unused function.
313 2012-03-02 Julien Chaffraix <jchaffraix@webkit.org>
315 Move the 'overflow' event dispatching logic out of RenderLayer
316 https://bugs.webkit.org/show_bug.cgi?id=80090
318 Reviewed by Simon Fraser.
320 Test: fast/events/overflow-events-writing-mode.html
322 This moves the 'overflow' event dispatch from RenderLayer to an helper class
323 OverflowEventDispatcher. For now, the class lives in RenderBlock as it matches
324 the existing code but it may be moved later to its own class as FrameView could
325 benefit from it too or if we need to support 'overflow' events on RenderBoxes.
327 * rendering/RenderBlock.cpp:
329 (OverflowEventDispatcher):
330 (WebCore::OverflowEventDispatcher::OverflowEventDispatcher):
331 (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
332 (WebCore::OverflowEventDispatcher::computeOverflowStatus):
333 RAII dispatcher class that stores the information before layout and compare
334 them after to dispatch the right information.
336 (WebCore::RenderBlock::layout): Added an instance of OverflowEventDispatcher.
338 * rendering/RenderBox.h:
339 (WebCore::RenderBox::hasHorizontalLayoutOverflow):
340 (WebCore::RenderBox::hasVerticalLayoutOverflow):
341 Helper method to know if we have an horizontal / vertical layout overflow.
343 * rendering/RenderLayer.cpp:
344 (WebCore::RenderLayer::RenderLayer):
345 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
346 * rendering/RenderLayer.h:
347 Removed the scroll tracking logic as we don't need it anymore. This removes
348 3 booleans from RenderLayer.
350 2012-03-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
352 Create a method in Element to compare attributes with other Element
353 https://bugs.webkit.org/show_bug.cgi?id=80169
355 Reviewed by Ryosuke Niwa.
357 Avoid manually peeking at attribute storage to get this information. This
358 simplify the callsites. The actual implementation of comparison was moved to
359 ElementAttributeData. The mapsEquivalent() function still exists for the sake
360 of DocumentType nodes.
363 (WebCore::Element::hasEquivalentAttributes):
367 * dom/ElementAttributeData.cpp:
368 (WebCore::ElementAttributeData::isEquivalent):
370 * dom/ElementAttributeData.h:
371 (ElementAttributeData):
372 * dom/NamedNodeMap.cpp:
373 (WebCore::NamedNodeMap::mapsEquivalent):
375 (WebCore::Node::isEqualNode):
376 * editing/htmlediting.cpp:
377 (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
378 directly to make code a bit clearer.
380 2012-03-02 Zan Dobersek <zandobersek@gmail.com>
382 [GTK] Smooth scrolling support
383 https://bugs.webkit.org/show_bug.cgi?id=16123
385 Reviewed by Martin Robinson.
387 No new tests - no new functionality.
389 Add the ScrollAnimatorNone class to compilation and enable
390 the smooth scrolling feature by default at compilation time.
393 * GNUmakefile.list.am:
395 2012-03-02 Philippe Normand <pnormand@igalia.com>
397 [GStreamer] media/media-can-play-flac-audio.html fails
398 https://bugs.webkit.org/show_bug.cgi?id=80124
400 Reviewed by Martin Robinson.
402 Handle audio/x-flac in the mimeTypeCache() function so that we
403 advertize both audio/flac and audio/x-flac.
405 No new tests, this is covered already by media/media-can-play-flac-audio.html.
407 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
409 2012-03-02 Pavel Podivilov <podivilov@chromium.org>
411 Web Inspector: fix fronted compilation.
412 https://bugs.webkit.org/show_bug.cgi?id=80154
414 Reviewed by Yury Semikhatsky.
416 * inspector/front-end/DebuggerModel.js:
417 (WebInspector.DebuggerModel.prototype.scriptForSourceID):
418 * inspector/front-end/DebuggerPresentationModel.js:
419 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
420 * inspector/front-end/ScriptsSearchScope.js:
421 (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
423 2012-03-02 Kaustubh Atrawalkar <kaustubh@motorola.com>
425 Rename DOMURL to URL in the bindings
426 https://bugs.webkit.org/show_bug.cgi?id=78214
428 Reviewed by Kentaro Hara.
430 No new tests. Interface name change.
432 * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.
434 2012-03-02 Roland Steiner <rolandsteiner@chromium.org>
436 Add :scope pseudo-class
437 https://bugs.webkit.org/show_bug.cgi?id=79077
439 Add :scope pseudo class name & pseudoId
440 Add selector check for the new pseudo-class
442 Reviewed by Antti Koivisto.
444 Test: fast/css/style-scoped/scope-pseudo.html
446 * css/CSSSelector.cpp:
447 (WebCore::CSSSelector::pseudoId):
448 (WebCore::nameToPseudoTypeMap):
449 (WebCore::CSSSelector::extractPseudoType):
451 * css/SelectorChecker.cpp:
452 (WebCore::SelectorChecker::checkOneSelector):
454 2012-03-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
456 Make parser code not depend on NamedNodeMap
457 https://bugs.webkit.org/show_bug.cgi?id=79963
459 Reviewed by Adam Barth.
461 Instead of creating Element-less NamedNodeMaps, the parsing code now creates
462 AttributeVectors, that are used to fill Element via the parserSetAttributes()
463 method. This allows us to remove even more methods from the NamedNodeMap.
465 The AttributeVector class contains convenience methods that take the attribute's
466 QualifiedName as parameter. This class is also used inside ElementAttributeData.
471 (WebCore::Element::getAttribute):
472 (WebCore::Element::parserSetAttributes): Now we have to create the attribute
473 storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
474 early return to reduce indentation.
475 (WebCore::Element::insertedIntoDocument):
476 (WebCore::Element::removedFromDocument):
477 (WebCore::Element::getURLAttribute):
478 (WebCore::Element::getNonEmptyURLAttribute):
481 (WebCore::Element::fastHasAttribute):
482 (WebCore::Element::fastGetAttribute):
483 (WebCore::Element::hasAttributesWithoutUpdate):
484 (WebCore::Element::attributeItem):
485 (WebCore::Element::getAttributeItem):
486 * dom/ElementAttributeData.cpp:
487 (WebCore::AttributeVector::removeAttribute):
489 * dom/ElementAttributeData.h:
491 (WebCore::AttributeVector::create):
492 (WebCore::AttributeVector::attributeItem):
493 (WebCore::AttributeVector::AttributeVector):
495 (WebCore::AttributeVector::getAttributeItem):
496 (WebCore::AttributeVector::getAttributeItemIndex):
497 (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
498 since all the callers used 'false', indicating that duplicates were not allowed.
499 (WebCore::ElementAttributeData::attributeItem):
500 (WebCore::ElementAttributeData::getAttributeItem):
501 (WebCore::ElementAttributeData::getAttributeItemIndex):
502 (ElementAttributeData):
503 * dom/NamedNodeMap.cpp:
504 (WebCore::NamedNodeMap::getNamedItem):
505 (WebCore::NamedNodeMap::setNamedItem):
506 (WebCore::NamedNodeMap::removeNamedItem):
507 (WebCore::NamedNodeMap::mapsEquivalent):
508 * dom/NamedNodeMap.h:
509 * html/parser/HTMLConstructionSite.cpp:
510 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
511 (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
512 (WebCore::HTMLConstructionSite::insertScriptElement):
513 (WebCore::HTMLConstructionSite::createElement):
514 (WebCore::HTMLConstructionSite::createHTMLElement):
516 * html/parser/HTMLToken.h:
517 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
518 * html/parser/HTMLTreeBuilder.cpp:
519 (WebCore::HTMLTreeBuilder::processFakeStartTag):
520 (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
522 * html/parser/HTMLTreeBuilder.h:
523 * html/parser/TextDocumentParser.cpp:
524 (WebCore::TextDocumentParser::insertFakePreElement):
525 * xml/parser/MarkupTokenBase.h:
526 (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
527 (WebCore::AtomicMarkupTokenBase::attributes):
528 (WebCore::AtomicMarkupTokenBase::takeAttributes):
529 (AtomicMarkupTokenBase):
530 (WebCore::::initializeAttributes):
531 * xml/parser/XMLToken.h:
532 (WebCore::AtomicXMLToken::AtomicXMLToken):
533 * xml/parser/XMLTreeBuilder.cpp:
534 (WebCore::XMLTreeBuilder::processNamespaces):
535 (WebCore::XMLTreeBuilder::processAttributes):
537 2012-03-02 Yury Semikhatsky <yurys@chromium.org>
539 Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
540 https://bugs.webkit.org/show_bug.cgi?id=80152
542 Extracted common code of JS call instrumentation into instrumentFunctionCall method
543 and call it directly where the instrumentation is needed instead of calling
544 JSMainThreadExecState::instrumentedCall which works on the main thread only.
546 Reviewed by Pavel Feldman.
548 * bindings/js/JSCallbackData.cpp:
549 (WebCore::JSCallbackData::invokeCallback):
550 * bindings/js/JSEventListener.cpp:
551 (WebCore::JSEventListener::handleEvent):
552 * bindings/js/JSMainThreadExecState.h:
553 (WebCore::JSMainThreadExecState::instrumentFunctionCall):
555 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
557 [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
558 https://bugs.webkit.org/show_bug.cgi?id=80101
560 Reviewed by Kent Tamura.
562 No new tests. No behavior changes.
564 * html/HTMLTextAreaElement.idl: Reorder attribute/method position.
566 2012-03-02 Patrick Gansterer <paroga@webkit.org>
568 Build fix after r109538.
571 * Modules/websockets/WebSocketDeflater.cpp:
573 2012-03-02 Roland Steiner <rolandsteiner@chromium.org>
575 Scoped stylesheets don't appear to work in Shadow DOM
576 https://bugs.webkit.org/show_bug.cgi?id=79549
578 Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
579 Adapt using sites accordingly.
580 Push the ShadowRoot to the scope stack in the same way that elements are pushed.
581 Fix an issue with removedFromDocument() on destruction.
583 Reviewed by Antti Koivisto.
585 Test: fast/css/style-scoped/style-scoped-in-shadow.html
587 * css/CSSStyleSelector.cpp:
589 (WebCore::CSSStyleSelector::CSSStyleSelector):
590 (WebCore::CSSStyleSelector::determineScope):
591 (WebCore::CSSStyleSelector::ruleSetForScope):
592 (WebCore::CSSStyleSelector::appendAuthorStylesheets):
593 (WebCore::CSSStyleSelector::setupScopeStack):
594 (WebCore::CSSStyleSelector::pushScope):
596 (WebCore::CSSStyleSelector::popScope):
597 (WebCore::CSSStyleSelector::pushParentElement):
598 (WebCore::CSSStyleSelector::popParentElement):
599 (WebCore::CSSStyleSelector::pushParentShadowRoot):
600 (WebCore::CSSStyleSelector::popParentShadowRoot):
601 (WebCore::CSSStyleSelector::matchScopedAuthorRules):
602 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
603 * css/CSSStyleSelector.h:
605 (WebCore::CSSStyleSelector::pushScope):
606 (WebCore::CSSStyleSelector::popScope):
607 (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
609 (WebCore::CSSStyleSelector::scopeStackIsConsistent):
610 (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
612 * css/SelectorChecker.h:
613 (SelectorCheckingContext):
615 (WebCore::StyleSelectorParentPusher::push):
616 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
617 (WebCore::Element::beginParsingChildren):
618 (WebCore::Element::finishParsingChildren):
619 * dom/ShadowRoot.cpp:
620 (WebCore::ShadowRoot::attach):
624 * dom/ShadowTree.cpp:
625 (WebCore::ShadowTree::recalcShadowTreeStyle):
626 * html/HTMLStyleElement.cpp:
627 (WebCore::HTMLStyleElement::removedFromDocument):
629 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
631 [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
632 https://bugs.webkit.org/show_bug.cgi?id=80097
634 Reviewed by Kent Tamura.
636 No new tests. No behavior changes.
638 * html/HTMLSelectElement.idl: Reorder attribute/method position.
640 2012-03-02 Pavel Podivilov <podivilov@chromium.org>
642 Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
643 https://bugs.webkit.org/show_bug.cgi?id=80146
645 Reviewed by Vsevolod Vlasov.
647 * inspector/front-end/DebuggerPresentationModel.js:
648 (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
649 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
650 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
651 * inspector/front-end/ObjectPopoverHelper.js:
652 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
653 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
654 * inspector/front-end/ScriptsSearchScope.js:
655 (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
657 2012-03-02 Pavel Podivilov <podivilov@chromium.org>
659 Web Inspector: update execution line using LiveLocation.
660 https://bugs.webkit.org/show_bug.cgi?id=80143
662 Reviewed by Vsevolod Vlasov.
664 * inspector/front-end/DebuggerPresentationModel.js:
665 (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
666 (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
667 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
668 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
670 2012-03-02 Leo Yang <leo.yang@torchmobile.com.cn>
672 [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
673 https://bugs.webkit.org/show_bug.cgi?id=80099
675 Unreviewed build fix.
677 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
679 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
681 Fix build on AppleWebKit after 109548.
685 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
687 [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
688 https://bugs.webkit.org/show_bug.cgi?id=80095
690 Reviewed by Kentaro Hara.
692 No new tests. No behavior changes.
694 * html/HTMLOptionElement.idl: Reorder attribute/method position.
696 2012-03-02 Adam Barth <abarth@webkit.org>
698 WorkerContext shouldn't know about IndexedDB
699 https://bugs.webkit.org/show_bug.cgi?id=80094
701 Reviewed by Kentaro Hara.
703 There are still a couple IndexedDB stragglers we should clean up in
704 WebCore proper. This patch moves some IndexedDB logic from
705 WorkerContext into the indexeddb module.
707 In the process of writing this patch, I noticed that some IndexedDB
708 files were missing from various build systems, so I added them. I
709 suspect that means IndexedDB is only enabled by default on Chromium.
712 * DerivedSources.make:
713 * DerivedSources.pri:
714 * GNUmakefile.list.am:
715 * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
717 (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
718 (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
719 (WebCore::WorkerContextIndexedDatabase::from):
720 (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
721 * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
723 (WorkerContextIndexedDatabase):
724 * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
727 * WebCore.vcproj/WebCore.vcproj:
728 * WebCore.xcodeproj/project.pbxproj:
729 * workers/WorkerContext.cpp:
731 * workers/WorkerContext.h:
734 * workers/WorkerContext.idl:
736 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
738 [Qt] Compile WebCore without QtWidgets
739 https://bugs.webkit.org/show_bug.cgi?id=80141
741 Reviewed by Tor Arne Vestbø.
743 * Target.pri: Don't add widgets to QT.
744 * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
745 dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).
747 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
749 [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
750 https://bugs.webkit.org/show_bug.cgi?id=80093
752 Reviewed by Kentaro Hara.
754 No new tests. No behavior changes
756 * html/HTMLFormElement.idl: Reorder attribute/method position.
758 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
760 [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
761 https://bugs.webkit.org/show_bug.cgi?id=80091
763 Reviewed by Kentaro Hara.
765 No new tests. No behavior changes.
767 * html/HTMLButtonElement.idl: Reorder attribute/method position.
769 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
771 Suspend/Resume API for pausing timers and animations.
772 https://bugs.webkit.org/show_bug.cgi?id=76063
774 Reviewed by Kenneth Rohde Christiansen.
776 * dom/ActiveDOMObject.h:
777 New ReasonForSuspension: PageWillBePaused.
778 * html/HTMLMediaElement.cpp:
779 (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
781 (WebCore::Frame::Frame):
782 (WebCore::Frame::setDocument):
783 (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
784 (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
786 (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
787 Frame now maintains a state of suspending animation and ActiveDOMObjects,
788 which is inherited to all child-frames.
790 (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
791 (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
793 Functions for suspending and resuming active DOM objects and animations in all frames.
794 * rendering/RenderObject.cpp:
795 (WebCore::RenderObject::willRenderImage):
796 WillRenderImage now checks for suspension. This causes animated images to pause
797 together with all other types of animations.
799 2012-03-02 Yoshifumi Inoue <yosin@chromium.org>
801 [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
802 https://bugs.webkit.org/show_bug.cgi?id=80092
804 Reviewed by Kentaro Hara.
806 No new tests. No behavior changes.
808 * html/HTMLFieldSetElement.idl: Reorder attribute/method position.
810 2012-03-02 Antti Koivisto <antti@apple.com>
812 possible regression: r104060 maybe causing crashes
813 https://bugs.webkit.org/show_bug.cgi?id=75676
815 Rubber-stamped by Simon Hausmann.
817 Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).
819 Also remove the debugging code added for this bug.
822 (WebCore::Document::Document):
823 (WebCore::Document::clearStyleSelector):
824 (WebCore::Document::updateActiveStylesheets):
828 2012-03-01 Alexander Pavlov <apavlov@chromium.org>
830 Web Inspector: Implement suggestions in Watch Expressions
831 https://bugs.webkit.org/show_bug.cgi?id=79912
833 Drive-by: make subproperties in ObjectPropertySections editable
835 Reviewed by Pavel Feldman.
837 * inspector/front-end/ConsoleView.js:
838 (WebInspector.ConsoleView):
839 (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
840 * inspector/front-end/DatabaseQueryView.js:
841 * inspector/front-end/ObjectPropertiesSection.js:
842 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
843 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
844 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
845 (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
846 (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
847 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
848 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
849 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
850 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
851 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
852 (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
853 (WebInspector.ObjectPropertyPrompt):
854 * inspector/front-end/StylesSidebarPane.js:
855 * inspector/front-end/TextPrompt.js:
856 (WebInspector.TextPrompt.prototype.complete):
857 * inspector/front-end/WatchExpressionsSidebarPane.js:
858 (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
859 (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
860 (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
861 * inspector/front-end/inspector.css:
862 (.watch-expressions > li.editing-sub-part .text-prompt):
864 2012-03-02 Antti Koivisto <antti@apple.com>
866 REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
867 https://bugs.webkit.org/show_bug.cgi?id=76590
869 Reviewed by Maciej Stachowiak.
871 Test: fast/css/pending-stylesheet-repaint.html
873 If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
874 if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.
877 (WebCore::Document::styleSelectorChanged):
879 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
881 [Qt] Move QStyle theming code out of WebCore into WebKit1
882 https://bugs.webkit.org/show_bug.cgi?id=80128
884 Reviewed by Kenneth Rohde Christiansen.
886 Moved QStyle dependant code into WebKit1, where it's okay to depend on
887 QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
888 the default "mobile" style to QStyle on start-up.
891 * platform/qt/RenderThemeQt.cpp:
893 (WebCore::RenderThemeQt::setCustomTheme):
894 (WebCore::RenderThemeQt::customScrollbarTheme):
895 (WebCore::createTheme):
896 (WebCore::RenderTheme::themeForPage):
897 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
898 * platform/qt/RenderThemeQt.h:
901 * platform/qt/RenderThemeQtMobile.cpp:
902 * platform/qt/ScrollbarThemeQt.cpp:
903 (WebCore::ScrollbarTheme::nativeTheme):
905 2012-03-02 Luke Macpherson <macpherson@chromium.org>
907 Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
908 https://bugs.webkit.org/show_bug.cgi?id=80085
910 Reviewed by Eric Seidel.
912 No new tests / refactoring only.
914 * css/CSSStyleApplyProperty.cpp:
915 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
916 * css/CSSStyleSelector.cpp:
917 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
919 2012-03-02 Yury Semikhatsky <yurys@chromium.org>
921 Web Inspector: enable Timeline panel for workers
922 https://bugs.webkit.org/show_bug.cgi?id=80130
924 Enabled Timeline panel for worker inspector. Refactored
925 JS function calls instrumentation to work for both
926 worker contexts and documents.
928 Reviewed by Pavel Feldman.
930 * bindings/js/JSCallbackData.cpp:
931 (WebCore::JSCallbackData::invokeCallback):
932 * bindings/js/JSEventListener.cpp:
933 (WebCore::JSEventListener::handleEvent):
934 * bindings/js/JSMainThreadExecState.h:
936 (WebCore::JSMainThreadExecState::instrumentedCall):
937 * bindings/js/ScriptState.cpp:
938 (WebCore::scriptExecutionContextFromScriptState):
940 * bindings/js/ScriptState.h:
942 * bindings/v8/ScriptState.cpp:
943 (WebCore::ScriptState::scriptExecutionContext):
945 (WebCore::scriptExecutionContextFromScriptState):
946 * bindings/v8/ScriptState.h:
949 * bindings/v8/V8Proxy.cpp:
950 (WebCore::V8Proxy::instrumentedCallFunction):
951 * bindings/v8/V8WorkerContextEventListener.cpp:
952 (WebCore::V8WorkerContextEventListener::callListenerFunction):
953 * inspector/InjectedScript.cpp:
954 (WebCore::InjectedScript::callFunctionWithEvalEnabled):
955 * inspector/InspectorInstrumentation.cpp:
957 (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
958 * inspector/InspectorInstrumentation.h:
959 (InspectorInstrumentation):
960 (WebCore::InspectorInstrumentation::willCallFunction):
962 (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
963 * inspector/WorkerInspectorController.cpp:
964 (WebCore::WorkerInspectorController::WorkerInspectorController):
965 (WebCore::WorkerInspectorController::connectFrontend):
966 (WebCore::WorkerInspectorController::disconnectFrontend):
967 (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
968 * inspector/WorkerInspectorController.h:
970 (WorkerInspectorController):
971 * inspector/front-end/inspector.js:
972 (WebInspector._createPanels):
974 2012-03-02 Kenichi Ishibashi <bashi@chromium.org>
976 Adding WebSocket per-frame DEFLATE extension
977 https://bugs.webkit.org/show_bug.cgi?id=77522
979 Add WebSocketDeflateFramer class which handles deflate-frame extension.
980 This class encapsulates WebSocketDeflater and WebSocketInflater classes,
981 which depend on zlib, so that WebSocketChannel is not necessary to aware
984 Reviewed by Kent Tamura.
986 Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
987 http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
988 http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
989 http/tests/websocket/tests/hybi/deflate-frame-parameter.html
991 * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
992 * GNUmakefile.list.am: Ditto.
994 * WebCore.gypi: Ditto.
995 * WebCore.gyp/WebCore.gyp: Added zlib dependency.
996 * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
997 * WebCore.xcodeproj/project.pbxproj: Ditto.
998 * websockets/WebSocket.cpp:
999 (WebCore::WebSocket::didConnect): Set m_extensions.
1000 * websockets/WebSocketChannel.cpp:
1001 (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
1002 (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
1003 (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
1004 (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
1005 * websockets/WebSocketChannel.h:
1006 * websockets/WebSocketDeflateFramer.cpp: Added.
1008 (WebSocketExtensionDeflateFrame):
1009 (WebCore::WebSocketExtensionDeflateFrame::create):
1010 (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
1011 (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
1012 (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
1013 (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1014 (WebCore::DeflateResultHolder::DeflateResultHolder):
1015 (WebCore::DeflateResultHolder::~DeflateResultHolder):
1016 (WebCore::DeflateResultHolder::fail):
1017 (WebCore::InflateResultHolder::InflateResultHolder):
1018 (WebCore::InflateResultHolder::~InflateResultHolder):
1019 (WebCore::InflateResultHolder::fail):
1020 (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
1021 (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
1022 (WebCore::WebSocketDeflateFramer::canDeflate):
1023 (WebCore::WebSocketDeflateFramer::enableDeflate):
1024 (WebCore::WebSocketDeflateFramer::deflate):
1025 (WebCore::WebSocketDeflateFramer::resetDeflateContext):
1026 (WebCore::WebSocketDeflateFramer::inflate):
1027 (WebCore::WebSocketDeflateFramer::resetInflateContext):
1028 (WebCore::WebSocketDeflateFramer::didFail):
1029 * websockets/WebSocketDeflateFramer.h: Added.
1031 (DeflateResultHolder):
1032 (WebCore::DeflateResultHolder::succeeded):
1033 (WebCore::DeflateResultHolder::failureReason):
1034 (InflateResultHolder):
1035 (WebCore::InflateResultHolder::succeeded):
1036 (WebCore::InflateResultHolder::failureReason):
1037 (WebSocketDeflateFramer):
1038 (WebCore::WebSocketDeflateFramer::enabled):
1040 2012-03-01 Vsevolod Vlasov <vsevik@chromium.org>
1042 Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
1043 https://bugs.webkit.org/show_bug.cgi?id=79691
1045 Reviewed by Pavel Feldman.
1047 * inspector/front-end/IndexedDBModel.js:
1048 (WebInspector.IndexedDBModel.idbKeyFromKey):
1049 * inspector/front-end/IndexedDBViews.js:
1050 (WebInspector.IDBDataView.prototype._updateData.callback):
1051 (WebInspector.IDBDataView.prototype._updateData):
1052 (WebInspector.IDBDataGridNode.prototype.createCell):
1053 (WebInspector.IDBDataGridNode.prototype._formatValue):
1054 * inspector/front-end/ObjectPropertiesSection.js:
1055 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
1056 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1057 * inspector/front-end/RemoteObject.js:
1058 (WebInspector.LocalJSONObject.prototype.get subtype):
1059 * inspector/front-end/indexedDBViews.css:
1060 (.indexed-db-data-view .data-grid .data-container td):
1061 (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
1062 (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
1063 (.indexed-db-data-view .data-grid .data-container td .section .header .title):
1065 2012-03-02 Wei James <james.wei@intel.com>
1067 [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
1068 https://bugs.webkit.org/show_bug.cgi?id=79765
1070 Reviewed by Chris Rogers.
1072 * webaudio/AudioBuffer.cpp:
1073 (WebCore::AudioBuffer::create):
1074 * webaudio/AudioBufferSourceNode.cpp:
1075 (WebCore::AudioBufferSourceNode::setBuffer):
1076 * webaudio/AudioContext.h:
1079 (WebCore::AudioContext::maxNumberOfChannels):
1080 * webaudio/AudioNodeOutput.cpp:
1081 (WebCore::AudioNodeOutput::AudioNodeOutput):
1082 (WebCore::AudioNodeOutput::setNumberOfChannels):
1084 2012-03-02 Luke Macpherson <macpherson@chromium.org>
1086 Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
1087 https://bugs.webkit.org/show_bug.cgi?id=80066
1089 Reviewed by Eric Seidel.
1091 No new tests / refactoring only.
1093 * css/CSSStyleApplyProperty.cpp:
1094 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1095 * css/CSSStyleSelector.cpp:
1096 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1098 2012-03-02 Pablo Flouret <pablof@motorola.com>
1100 Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
1101 https://bugs.webkit.org/show_bug.cgi?id=59961
1103 Reviewed by Ryosuke Niwa.
1105 http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command
1107 Test: editing/execCommand/default-paragraph-separator.html
1109 * editing/Editor.cpp:
1110 (WebCore::Editor::Editor):
1112 (WebCore::Editor::defaultParagraphSeparator):
1113 (WebCore::Editor::setDefaultParagraphSeparator):
1115 * editing/EditorCommand.cpp:
1116 (WebCore::executeDefaultParagraphSeparator):
1118 (WebCore::valueDefaultParagraphSeparator):
1119 (WebCore::createCommandMap):
1120 * editing/htmlediting.cpp:
1121 (WebCore::createDefaultParagraphElement):
1123 * html/HTMLParagraphElement.cpp:
1124 (WebCore::HTMLParagraphElement::create):
1126 * html/HTMLParagraphElement.h:
1127 (HTMLParagraphElement):
1128 Added create(Document*) method that defaults to pTag as the QualifiedName.
1130 2012-03-02 Kenneth Russell <kbr@google.com>
1132 [chromium] Fix errors in LayerRendererChromium cleanup
1133 https://bugs.webkit.org/show_bug.cgi?id=80064
1135 Reviewed by James Robinson.
1137 Tested manually by forcing lost context while rendering Flash on
1138 Mac OS in a Debug build.
1140 * platform/graphics/chromium/LayerRendererChromium.cpp:
1141 (WebCore::LayerRendererChromium::cleanupSharedObjects):
1143 2012-03-02 Andy Estes <aestes@apple.com>
1145 Fix errors found when building the Mac port with ICONDATABASE disabled.
1146 https://bugs.webkit.org/show_bug.cgi?id=80059
1148 Reviewed by Brady Eidson.
1150 * WebCore.exp.in: Only export IconDatabase symbols when the feature is
1152 * loader/icon/IconDatabase.h:
1153 (WebCore::IconDatabase::create): WebKit calls this static method, so it
1154 should be defined on the stub class.
1155 (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
1156 (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.
1158 2012-03-02 Luke Macpherson <macpherson@chromium.org>
1160 Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
1161 https://bugs.webkit.org/show_bug.cgi?id=80056
1163 Reviewed by Eric Seidel.
1165 No new tests / refactoring only.
1167 * css/CSSStyleApplyProperty.cpp:
1168 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1169 * css/CSSStyleSelector.cpp:
1170 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1172 2012-03-02 John Bauman <jbauman@chromium.org>
1174 [chromium] Send didCommitAndDrawFrame after swap
1175 https://bugs.webkit.org/show_bug.cgi?id=80052
1177 Reviewed by James Robinson.
1179 Sending didCommitAndDrawFrame before the swap was causing plugins to
1180 redraw themselves between compositing and the swap, which reduces
1181 opportunities for optimization.
1183 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1184 (WebCore::CCSingleThreadProxy::compositeAndReadback):
1185 (WebCore::CCSingleThreadProxy::compositeImmediately):
1186 (WebCore::CCSingleThreadProxy::doComposite):
1188 (WebCore::CCSingleThreadProxy::didSwapFrame):
1189 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1190 (CCSingleThreadProxy):
1192 2012-03-02 Raymond Toy <rtoy@google.com>
1194 AudioParam needs tests for the parameter automation routines.
1195 https://bugs.webkit.org/show_bug.cgi?id=77666
1197 Reviewed by Chris Rogers.
1199 Tests: webaudio/audioparam-linearRampToValueAtTime.html
1200 webaudio/audioparam-setTargetValueAtTime.html
1201 webaudio/audioparam-setValueAtTime.html
1202 webaudio/audioparam-setValueCurveAtTime.html
1204 * webaudio/AudioParamTimeline.cpp:
1205 (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
1206 curveIndex to fix timing issue in setValueCurveAtTime.
1208 2012-03-01 Pablo Flouret <pablof@motorola.com>
1210 Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
1211 https://bugs.webkit.org/show_bug.cgi?id=79375
1213 Reviewed by Kentaro Hara.
1215 In most cases code generators weren't checking the Conditional attribute
1216 when generating code in headers for function/attribute/constants, they
1217 were just guarding against the Conditional for the whole interface.
1219 * bindings/scripts/CodeGeneratorCPP.pm:
1221 * bindings/scripts/CodeGeneratorJS.pm:
1223 * bindings/scripts/CodeGeneratorObjC.pm:
1225 * bindings/scripts/CodeGeneratorV8.pm:
1227 * bindings/scripts/test/CPP/WebDOMTestInterface.h:
1228 * bindings/scripts/test/CPP/WebDOMTestObj.h:
1229 * bindings/scripts/test/JS/JSTestInterface.h:
1232 * bindings/scripts/test/JS/JSTestObj.h:
1234 * bindings/scripts/test/ObjC/DOMTestInterface.h:
1235 * bindings/scripts/test/ObjC/DOMTestObj.h:
1238 2012-03-01 Dana Jansens <danakj@chromium.org>
1240 [chromium] Make opaque paint tracker aware of SkCanvas layers
1241 https://bugs.webkit.org/show_bug.cgi?id=79145
1243 Reviewed by Stephen White.
1245 The current opaque paint tracker ignored SkCanvas layers entirely. But
1246 SkCanvas layers can be used to apply things like alpha. So we make it
1247 know about layers, and apply any clipping and SkPaint objects for layers
1248 when tracking a paint.
1250 Image clipping is done via a layer, so we can now also remove the
1251 special-case code around image clipping in PlatformContextSkia and
1254 Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest
1256 Test: compositing/culling/clear-fixed-iframe.html
1258 * platform/graphics/skia/OpaqueRegionSkia.cpp:
1259 (WebCore::OpaqueRegionSkia::didDrawRect):
1260 (WebCore::OpaqueRegionSkia::didDrawPath):
1261 (WebCore::OpaqueRegionSkia::didDrawPoints):
1262 (WebCore::OpaqueRegionSkia::didDrawBounded):
1263 (WebCore::OpaqueRegionSkia::didDraw):
1265 * platform/graphics/skia/OpaqueRegionSkia.h:
1267 * platform/graphics/skia/PlatformContextSkia.cpp:
1268 * platform/graphics/skia/PlatformContextSkia.h:
1269 (PlatformContextSkia):
1271 2012-03-02 Kent Tamura <tkent@chromium.org>
1273 Add HTML-capable popup API to ChromeClient
1274 https://bugs.webkit.org/show_bug.cgi?id=79078
1276 Reviewed by Dimitri Glazkov.
1278 This API will be used to implement a calendar picker of <input type=date>.
1279 The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
1282 * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
1283 * loader/EmptyClients.h:
1284 (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
1285 * page/PagePopup.h: Added.
1286 (PagePopup): Define an empty interface
1287 * page/PagePopupClient.h: Added.
1288 (PagePopupClient): Define an interface to provide various information to HTMLPopup.
1290 2012-03-01 Hironori Bono <hbono@chromium.org>
1292 Render overflow controls of an RTL element to its left-side.
1293 https://bugs.webkit.org/show_bug.cgi?id=54623
1295 This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
1296 vertical scrollbars and resizers of RTL elements to their left side if
1297 this new flag is enabled.
1299 Reviewed by Ryosuke Niwa.
1301 Test: platform/chromium/fast/events/rtl-scrollbar.html
1303 * rendering/RenderBlock.cpp:
1304 (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
1305 (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
1306 * rendering/RenderBox.cpp:
1307 (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
1308 * rendering/RenderLayer.cpp:
1309 (WebCore::cornerStart): Added a function that calculates the X position of a resizer.
1311 (WebCore::cornerRect): Use cornerStart to move a resizer.
1312 (WebCore::RenderLayer::verticalScrollbarStart): Added a function that calculates
1313 the X position of a vertical scrollbar.
1314 (WebCore::RenderLayer::horizontalScrollbarStart): Added a function that calculates
1315 the X position of a horizontal scrollbar.
1316 (WebCore::RenderLayer::scrollbarOffset): Render a vertical scrollbar to the left side
1317 and move a horizontal scrollbar right by the width of the vertical scrollbar.
1318 (WebCore::RenderLayer::invalidateScrollbarRect): ditto.
1319 (WebCore::RenderLayer::positionOverflowControls): ditto.
1320 (WebCore::RenderLayer::hitTestOverflowControls): ditto.
1321 * rendering/RenderLayer.h:
1323 * rendering/style/RenderStyle.h: Added shouldPlaceBlockDirectionScrollbarOnLogicalLeft,
1324 which returns if we need to move a left scrollbar to its right side.
1326 2012-03-01 Kent Tamura <tkent@chromium.org>
1328 REGRESSION(90089): Input type='search' text shakes up and down when the style is changed.
1329 https://bugs.webkit.org/show_bug.cgi?id=79445
1331 Reviewed by Dimitri Glazkov.
1333 If the inner text height of a search field is smaller than the
1334 content box height of the <input>, the height of the container
1335 element should be same as the content box height.
1337 When the element style is changed, the RenderStyle height of the
1338 container element is cleared, but the renderer height of the
1339 container element remains. We had a bug that layout() didn't set
1340 the RenderStyle height in a case that the renderer height was the
1341 desired height. It shrunk the renderer height as the result of
1342 layout for children.
1344 Tests: fast/forms/search/search-shaking-text.html
1346 * rendering/RenderTextControlSingleLine.cpp:
1347 (WebCore::RenderTextControlSingleLine::layout):
1348 Always set the RenderStyle height explicitly.
1350 2012-03-01 Kentaro Hara <haraken@chromium.org>
1352 Unreviewed, rebaselined run-bindings-tests results.
1354 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1355 * bindings/scripts/test/CPP/WebDOMTestObj.h:
1357 2012-03-01 Dan Bernstein <mitz@apple.com>
1359 <rdar://problem/10942540> REGRESSION (r108956): Safari Webpage Preview Fetcher crashes in WebCore::localizedString() when using a WebKit nightly build
1360 https://bugs.webkit.org/show_bug.cgi?id=80034
1362 Reviewed by Benjamin Poulain.
1364 Safari Webpage Preview Fetcher can’t access the WebCore framework when launched from a WebKit
1365 nightly build. After r108956, this causes it to crash.
1367 * platform/mac/LocalizedStringsMac.cpp:
1368 (WebCore::localizedString): Added a null-check for the value returned from
1369 CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebCore")).
1371 2012-03-01 Jason Liu <jason.liu@torchmobile.com.cn>
1373 [BlackBerry]Array of Cookies in HTTP request header are not in order.
1374 https://bugs.webkit.org/show_bug.cgi?id=79870
1376 Std::sort and HashMap are not stable. So cookies with the same creating
1377 time sometimes are sent disorder.
1378 Change std::sort with std::stable-sort.
1379 We don't need using HashMap to save so few cookies for one domain.
1380 It is a wast of time to create HashMap, too.
1381 So change it with vector.
1383 Reviewed by George Staikos.
1385 Test: http/tests/cookies/resources/setArraycookies.php
1387 * platform/blackberry/CookieManager.cpp:
1388 (WebCore::cookieSorter):
1389 (WebCore::CookieManager::getRawCookies):
1390 (WebCore::CookieManager::checkAndTreatCookie):
1391 (WebCore::CookieManager::addCookieToMap):
1392 * platform/blackberry/CookieManager.h:
1393 * platform/blackberry/CookieMap.cpp:
1394 (WebCore::CookieMap::addOrReplaceCookie):
1395 (WebCore::CookieMap::removeCookieAtIndex):
1396 (WebCore::CookieMap::removeCookie):
1398 (WebCore::CookieMap::getAllCookies):
1399 (WebCore::CookieMap::updateOldestCookie):
1400 (WebCore::CookieMap::deleteAllCookiesAndDomains):
1401 * platform/blackberry/CookieMap.h:
1402 (WebCore::CookieMap::count):
1405 2012-03-01 Adam Barth <abarth@webkit.org>
1407 Move WebCore/storage/IDB* files into WebCore/Modules/indexeddb
1408 https://bugs.webkit.org/show_bug.cgi?id=80071
1410 Reviewed by Kentaro Hara.
1412 Now that we've removed all the ENABLE(INDEXED_DATABASE) ifdefs from
1413 WebCore proper, we can move IndexedDB into its own module.
1416 * DerivedSources.make:
1417 * DerivedSources.pri:
1418 * GNUmakefile.list.am:
1419 * Modules/indexeddb/IDBAny.cpp: Copied from Source/WebCore/storage/IDBAny.cpp.
1420 * Modules/indexeddb/IDBAny.h: Copied from Source/WebCore/storage/IDBAny.h.
1421 * Modules/indexeddb/IDBAny.idl: Copied from Source/WebCore/storage/IDBAny.idl.
1422 * Modules/indexeddb/IDBBackingStore.h: Copied from Source/WebCore/storage/IDBBackingStore.h.
1423 * Modules/indexeddb/IDBCallbacks.h: Copied from Source/WebCore/storage/IDBCallbacks.h.
1424 * Modules/indexeddb/IDBCursor.cpp: Copied from Source/WebCore/storage/IDBCursor.cpp.
1425 * Modules/indexeddb/IDBCursor.h: Copied from Source/WebCore/storage/IDBCursor.h.
1426 * Modules/indexeddb/IDBCursor.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
1427 * Modules/indexeddb/IDBCursorBackendImpl.cpp: Copied from Source/WebCore/storage/IDBCursorBackendImpl.cpp.
1428 * Modules/indexeddb/IDBCursorBackendImpl.h: Copied from Source/WebCore/storage/IDBCursorBackendImpl.h.
1429 * Modules/indexeddb/IDBCursorBackendInterface.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
1430 * Modules/indexeddb/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursorWithValue.cpp.
1431 * Modules/indexeddb/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorWithValue.h.
1432 * Modules/indexeddb/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursorWithValue.idl.
1433 * Modules/indexeddb/IDBDatabase.cpp: Copied from Source/WebCore/storage/IDBDatabase.cpp.
1434 * Modules/indexeddb/IDBDatabase.h: Copied from Source/WebCore/storage/IDBDatabase.h.
1435 * Modules/indexeddb/IDBDatabase.idl: Copied from Source/WebCore/storage/IDBDatabase.idl.
1436 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.cpp.
1437 * Modules/indexeddb/IDBDatabaseBackendImpl.h: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.h.
1438 * Modules/indexeddb/IDBDatabaseBackendInterface.h: Copied from Source/WebCore/storage/IDBDatabaseBackendInterface.h.
1439 * Modules/indexeddb/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
1440 * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.cpp.
1441 * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.h.
1442 * Modules/indexeddb/IDBDatabaseError.h: Copied from Source/WebCore/storage/IDBDatabaseError.h.
1443 * Modules/indexeddb/IDBDatabaseError.idl: Copied from Source/WebCore/storage/IDBDatabaseError.idl.
1444 * Modules/indexeddb/IDBDatabaseException.cpp: Copied from Source/WebCore/storage/IDBDatabaseException.cpp.
1445 * Modules/indexeddb/IDBDatabaseException.h: Copied from Source/WebCore/storage/IDBDatabaseException.h.
1446 * Modules/indexeddb/IDBDatabaseException.idl: Copied from Source/WebCore/storage/IDBDatabaseException.idl.
1447 * Modules/indexeddb/IDBEventDispatcher.cpp: Copied from Source/WebCore/storage/IDBEventDispatcher.cpp.
1448 * Modules/indexeddb/IDBEventDispatcher.h: Copied from Source/WebCore/storage/IDBEventDispatcher.h.
1449 * Modules/indexeddb/IDBFactory.cpp: Copied from Source/WebCore/storage/IDBFactory.cpp.
1450 * Modules/indexeddb/IDBFactory.h: Copied from Source/WebCore/storage/IDBFactory.h.
1451 * Modules/indexeddb/IDBFactory.idl: Copied from Source/WebCore/storage/IDBFactory.idl.
1452 * Modules/indexeddb/IDBFactoryBackendImpl.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.cpp.
1453 * Modules/indexeddb/IDBFactoryBackendImpl.h: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.h.
1454 * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.cpp.
1455 * Modules/indexeddb/IDBFactoryBackendInterface.h: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.h.
1456 * Modules/indexeddb/IDBIndex.cpp: Copied from Source/WebCore/storage/IDBIndex.cpp.
1457 * Modules/indexeddb/IDBIndex.h: Copied from Source/WebCore/storage/IDBIndex.h.
1458 * Modules/indexeddb/IDBIndex.idl: Copied from Source/WebCore/storage/IDBIndex.idl.
1459 * Modules/indexeddb/IDBIndexBackendImpl.cpp: Copied from Source/WebCore/storage/IDBIndexBackendImpl.cpp.
1460 * Modules/indexeddb/IDBIndexBackendImpl.h: Copied from Source/WebCore/storage/IDBIndexBackendImpl.h.
1461 * Modules/indexeddb/IDBIndexBackendInterface.h: Copied from Source/WebCore/storage/IDBIndexBackendInterface.h.
1462 * Modules/indexeddb/IDBKey.cpp: Copied from Source/WebCore/storage/IDBKey.cpp.
1463 * Modules/indexeddb/IDBKey.h: Copied from Source/WebCore/storage/IDBKey.h.
1464 * Modules/indexeddb/IDBKey.idl: Copied from Source/WebCore/storage/IDBKey.idl.
1465 * Modules/indexeddb/IDBKeyPath.cpp: Copied from Source/WebCore/storage/IDBKeyPath.cpp.
1466 * Modules/indexeddb/IDBKeyPath.h: Copied from Source/WebCore/storage/IDBKeyPath.h.
1467 * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.cpp.
1468 * Modules/indexeddb/IDBKeyPathBackendImpl.h: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.h.
1469 * Modules/indexeddb/IDBKeyRange.cpp: Copied from Source/WebCore/storage/IDBKeyRange.cpp.
1470 * Modules/indexeddb/IDBKeyRange.h: Copied from Source/WebCore/storage/IDBKeyRange.h.
1471 * Modules/indexeddb/IDBKeyRange.idl: Copied from Source/WebCore/storage/IDBKeyRange.idl.
1472 * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.cpp.
1473 * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.h.
1474 * Modules/indexeddb/IDBLevelDBCoding.cpp: Copied from Source/WebCore/storage/IDBLevelDBCoding.cpp.
1475 * Modules/indexeddb/IDBLevelDBCoding.h: Copied from Source/WebCore/storage/IDBLevelDBCoding.h.
1476 * Modules/indexeddb/IDBObjectStore.cpp: Copied from Source/WebCore/storage/IDBObjectStore.cpp.
1477 * Modules/indexeddb/IDBObjectStore.h: Copied from Source/WebCore/storage/IDBObjectStore.h.
1478 * Modules/indexeddb/IDBObjectStore.idl: Copied from Source/WebCore/storage/IDBObjectStore.idl.
1479 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp.
1480 * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.h.
1481 * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendInterface.h.
1482 * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.cpp.
1483 * Modules/indexeddb/IDBPendingTransactionMonitor.h: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.h.
1484 * Modules/indexeddb/IDBRequest.cpp: Copied from Source/WebCore/storage/IDBRequest.cpp.
1485 * Modules/indexeddb/IDBRequest.h: Copied from Source/WebCore/storage/IDBRequest.h.
1486 * Modules/indexeddb/IDBRequest.idl: Copied from Source/WebCore/storage/IDBRequest.idl.
1487 * Modules/indexeddb/IDBTracing.h: Copied from Source/WebCore/storage/IDBTracing.h.
1488 * Modules/indexeddb/IDBTransaction.cpp: Copied from Source/WebCore/storage/IDBTransaction.cpp.
1489 * Modules/indexeddb/IDBTransaction.h: Copied from Source/WebCore/storage/IDBTransaction.h.
1490 * Modules/indexeddb/IDBTransaction.idl: Copied from Source/WebCore/storage/IDBTransaction.idl.
1491 * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.cpp.
1492 * Modules/indexeddb/IDBTransactionBackendImpl.h: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.h.
1493 * Modules/indexeddb/IDBTransactionBackendInterface.h: Copied from Source/WebCore/storage/IDBTransactionBackendInterface.h.
1494 * Modules/indexeddb/IDBTransactionCallbacks.h: Copied from Source/WebCore/storage/IDBTransactionCallbacks.h.
1495 * Modules/indexeddb/IDBTransactionCoordinator.cpp: Copied from Source/WebCore/storage/IDBTransactionCoordinator.cpp.
1496 * Modules/indexeddb/IDBTransactionCoordinator.h: Copied from Source/WebCore/storage/IDBTransactionCoordinator.h.
1497 * Modules/indexeddb/IDBVersionChangeEvent.cpp: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
1498 * Modules/indexeddb/IDBVersionChangeEvent.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.h.
1499 * Modules/indexeddb/IDBVersionChangeEvent.idl: Copied from Source/WebCore/storage/IDBVersionChangeEvent.idl.
1500 * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebCore/storage/IDBVersionChangeRequest.cpp.
1501 * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/storage/IDBVersionChangeRequest.h.
1502 * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/storage/IDBVersionChangeRequest.idl.
1505 * WebCore.vcproj/WebCore.vcproj:
1506 * WebCore.xcodeproj/project.pbxproj:
1507 * storage/IDBAny.cpp: Removed.
1508 * storage/IDBAny.h: Removed.
1509 * storage/IDBAny.idl: Removed.
1510 * storage/IDBBackingStore.h: Removed.
1511 * storage/IDBCallbacks.h: Removed.
1512 * storage/IDBCursor.cpp: Removed.
1513 * storage/IDBCursor.h: Removed.
1514 * storage/IDBCursor.idl: Removed.
1515 * storage/IDBCursorBackendImpl.cpp: Removed.
1516 * storage/IDBCursorBackendImpl.h: Removed.
1517 * storage/IDBCursorBackendInterface.h: Removed.
1518 * storage/IDBCursorWithValue.cpp: Removed.
1519 * storage/IDBCursorWithValue.h: Removed.
1520 * storage/IDBCursorWithValue.idl: Removed.
1521 * storage/IDBDatabase.cpp: Removed.
1522 * storage/IDBDatabase.h: Removed.
1523 * storage/IDBDatabase.idl: Removed.
1524 * storage/IDBDatabaseBackendImpl.cpp: Removed.
1525 * storage/IDBDatabaseBackendImpl.h: Removed.
1526 * storage/IDBDatabaseBackendInterface.h: Removed.
1527 * storage/IDBDatabaseCallbacks.h: Removed.
1528 * storage/IDBDatabaseCallbacksImpl.cpp: Removed.
1529 * storage/IDBDatabaseCallbacksImpl.h: Removed.
1530 * storage/IDBDatabaseError.h: Removed.
1531 * storage/IDBDatabaseError.idl: Removed.
1532 * storage/IDBDatabaseException.cpp: Removed.
1533 * storage/IDBDatabaseException.h: Removed.
1534 * storage/IDBDatabaseException.idl: Removed.
1535 * storage/IDBEventDispatcher.cpp: Removed.
1536 * storage/IDBEventDispatcher.h: Removed.
1537 * storage/IDBFactory.cpp: Removed.
1538 * storage/IDBFactory.h: Removed.
1539 * storage/IDBFactory.idl: Removed.
1540 * storage/IDBFactoryBackendImpl.cpp: Removed.
1541 * storage/IDBFactoryBackendImpl.h: Removed.
1542 * storage/IDBFactoryBackendInterface.cpp: Removed.
1543 * storage/IDBFactoryBackendInterface.h: Removed.
1544 * storage/IDBIndex.cpp: Removed.
1545 * storage/IDBIndex.h: Removed.
1546 * storage/IDBIndex.idl: Removed.
1547 * storage/IDBIndexBackendImpl.cpp: Removed.
1548 * storage/IDBIndexBackendImpl.h: Removed.
1549 * storage/IDBIndexBackendInterface.h: Removed.
1550 * storage/IDBKey.cpp: Removed.
1551 * storage/IDBKey.h: Removed.
1552 * storage/IDBKey.idl: Removed.
1553 * storage/IDBKeyPath.cpp: Removed.
1554 * storage/IDBKeyPath.h: Removed.
1555 * storage/IDBKeyPathBackendImpl.cpp: Removed.
1556 * storage/IDBKeyPathBackendImpl.h: Removed.
1557 * storage/IDBKeyRange.cpp: Removed.
1558 * storage/IDBKeyRange.h: Removed.
1559 * storage/IDBKeyRange.idl: Removed.
1560 * storage/IDBLevelDBBackingStore.cpp: Removed.
1561 * storage/IDBLevelDBBackingStore.h: Removed.
1562 * storage/IDBLevelDBCoding.cpp: Removed.
1563 * storage/IDBLevelDBCoding.h: Removed.
1564 * storage/IDBObjectStore.cpp: Removed.
1565 * storage/IDBObjectStore.h: Removed.
1566 * storage/IDBObjectStore.idl: Removed.
1567 * storage/IDBObjectStoreBackendImpl.cpp: Removed.
1568 * storage/IDBObjectStoreBackendImpl.h: Removed.
1569 * storage/IDBObjectStoreBackendInterface.h: Removed.
1570 * storage/IDBPendingTransactionMonitor.cpp: Removed.
1571 * storage/IDBPendingTransactionMonitor.h: Removed.
1572 * storage/IDBRequest.cpp: Removed.
1573 * storage/IDBRequest.h: Removed.
1574 * storage/IDBRequest.idl: Removed.
1575 * storage/IDBTracing.h: Removed.
1576 * storage/IDBTransaction.cpp: Removed.
1577 * storage/IDBTransaction.h: Removed.
1578 * storage/IDBTransaction.idl: Removed.
1579 * storage/IDBTransactionBackendImpl.cpp: Removed.
1580 * storage/IDBTransactionBackendImpl.h: Removed.
1581 * storage/IDBTransactionBackendInterface.h: Removed.
1582 * storage/IDBTransactionCallbacks.h: Removed.
1583 * storage/IDBTransactionCoordinator.cpp: Removed.
1584 * storage/IDBTransactionCoordinator.h: Removed.
1585 * storage/IDBVersionChangeEvent.cpp: Removed.
1586 * storage/IDBVersionChangeEvent.h: Removed.
1587 * storage/IDBVersionChangeEvent.idl: Removed.
1588 * storage/IDBVersionChangeRequest.cpp: Removed.
1589 * storage/IDBVersionChangeRequest.h: Removed.
1590 * storage/IDBVersionChangeRequest.idl: Removed.
1592 2012-03-01 Luke Macpherson <macpherson@chromium.org>
1594 Handle CSSPropertyWebkitBorderFit in CSSStyleApplyProperty.
1595 https://bugs.webkit.org/show_bug.cgi?id=79998
1597 Reviewed by Andreas Kling.
1599 No new tests / refactoring only.
1601 * css/CSSStyleApplyProperty.cpp:
1602 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1603 * css/CSSStyleSelector.cpp:
1604 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1606 2012-03-01 Anders Carlsson <andersca@apple.com>
1608 Crash when doing repeated double-tap-to-zoom gesture on apple startpage
1609 https://bugs.webkit.org/show_bug.cgi?id=80081
1610 <rdar://problem/10966391>
1612 Reviewed by Sam Weinig.
1614 Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.
1616 Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.
1618 * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1619 (-[WebTileCacheLayer initWithLayer:]):
1620 Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.
1622 (-[WebTileCacheLayer actionForKey:]):
1623 Implement this and always return nil.
1625 2012-03-01 Hajime Morrita <morrita@chromium.org>
1627 Custom scrollbars do not support transparency
1628 https://bugs.webkit.org/show_bug.cgi?id=50547
1630 Reviewed by James Robinson.
1632 RenderScrollbar, which is used even for outermost frame when
1633 -webkit-scrollbar is specified, assumes that its background is
1634 painted by the enclosing container. But there is no such container
1635 for outermost frame. This causes visual glitches when the
1636 scrollbar has transparency.
1638 This change clears background region for custom
1639 outermostscrollbars to erase such glitches.
1641 Test: fast/frames/transparent-scrollbar.html
1643 * page/FrameView.cpp:
1644 (WebCore::FrameView::paintScrollbar): The background is cleared here.
1648 * platform/ScrollView.cpp:
1649 (WebCore::ScrollView::paintScrollbar): Added to hook in FrameView
1651 (WebCore::ScrollView::paintScrollbars):
1652 * platform/ScrollView.h:
1655 2012-03-01 Kent Tamura <tkent@chromium.org>
1657 REGRESSION(r106388): Form state is restored to a wrong document.
1658 https://bugs.webkit.org/show_bug.cgi?id=79206
1660 Reviewed by Brady Eidson.
1662 In some cases, the URL of the current HistoryItem and the document
1664 A form state should be restored only if the document was loaded
1665 with a HistoryItem and the document is not loaded as a
1668 Test: fast/loader/form-state-restore-with-locked-back-forward-list.html
1670 * loader/FrameLoader.cpp:
1671 (WebCore::FrameLoader::checkCompleted): Clear m_requestedHistoryItem.
1672 (WebCore::FrameLoader::loadItem):
1673 Save the requested HistoryItem for didLoadWithLodItem().
1674 * loader/FrameLoader.h:
1675 (WebCore::FrameLoader::requestedHistoryItem):
1676 Added. Accessor for m_requestedHistoryItem.
1677 * loader/HistoryController.cpp:
1678 (WebCore::HistoryController::restoreDocumentState):
1679 Restore a form state only if the current document was loaded with
1680 FrameLoader::loadItem() and not redirection.
1682 2012-03-01 Xingnan Wang <xingnan.wang@intel.com>
1684 SSE optimization for vsvesq and vmaxmgv
1685 https://bugs.webkit.org/show_bug.cgi?id=77950
1687 Reviewed by Chris Rogers.
1689 Achieved the performance of 3.7x on vsvesq and 4.1x on vmaxmgv.
1691 * platform/audio/VectorMath.cpp:
1692 (WebCore::VectorMath::vsvesq):
1693 (WebCore::VectorMath::vmaxmgv):
1695 2012-03-01 Luke Macpherson <macpherson@chromium.org>
1697 Handle CSSPropertyBoxSizing in CSSStyleApplyProperty.
1698 https://bugs.webkit.org/show_bug.cgi?id=80001
1700 Reviewed by Andreas Kling.
1702 No new tests / refactoring only.
1704 * css/CSSStyleApplyProperty.cpp:
1705 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1706 * css/CSSStyleSelector.cpp:
1707 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1709 2012-03-01 James Robinson <jamesr@chromium.org>
1711 [chromium] LayerChromium::contentChanged is redundant with setNeedsDisplay
1712 https://bugs.webkit.org/show_bug.cgi?id=79708
1714 Reviewed by Adrienne Walker.
1716 Some layer types need special handling when they receive damage. WebGL layers need to know if their texture is
1717 updated for clear-on-swap behavior and both WebGL and canvas 2d layers have rate limiting mechanisms tied to
1718 receiving invalidations. This mechanism was implemented by LayerChromium::contentChanged(), but this is
1719 redundant with setNeedsDisplay().
1721 Covered by existing tests.
1723 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1724 (WebCore::Canvas2DLayerChromium::setNeedsDisplay):
1725 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1726 (Canvas2DLayerChromium):
1727 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1728 (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1729 * platform/graphics/chromium/LayerChromium.cpp:
1730 (WebCore::LayerChromium::setNeedsDisplay):
1731 * platform/graphics/chromium/LayerChromium.h:
1733 * platform/graphics/chromium/VideoLayerChromium.cpp:
1734 (WebCore::VideoLayerChromium::setNeedsDisplay):
1735 * platform/graphics/chromium/VideoLayerChromium.h:
1736 (VideoLayerChromium):
1737 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1738 (WebCore::WebGLLayerChromium::setNeedsDisplay):
1739 * platform/graphics/chromium/WebGLLayerChromium.h:
1740 (WebGLLayerChromium):
1742 2012-03-01 James Robinson <jamesr@chromium.org>
1744 [chromium] Rename LayerChromium::name to debugName to be more consistent with other debug properties, make threadsafe
1745 https://bugs.webkit.org/show_bug.cgi?id=79723
1747 Reviewed by Adrienne Walker.
1749 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1750 (WebCore::GraphicsLayerChromium::updateNames):
1751 * platform/graphics/chromium/LayerChromium.cpp:
1752 (WebCore::LayerChromium::pushPropertiesTo):
1753 (WebCore::LayerChromium::setDebugName):
1755 * platform/graphics/chromium/LayerChromium.h:
1757 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1758 (WebCore::CCLayerImpl::dumpLayer):
1759 * platform/graphics/chromium/cc/CCLayerImpl.h:
1761 (WebCore::CCLayerImpl::setDebugName):
1762 (WebCore::CCLayerImpl::debugName):
1763 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1764 (WebCore::CCRenderSurface::name):
1766 2012-03-01 Adam Barth <abarth@webkit.org>
1768 Remove last ENABLED(INDEXED_DATABASE) ifdef from WebCore proper
1769 https://bugs.webkit.org/show_bug.cgi?id=80061
1771 Reviewed by Dimitri Glazkov.
1773 This patch removes the last ENABLED(INDEXED_DATABASE) ifdef from
1774 WebCore proper by moving the backend factory out of PageGroup and into
1775 a supplement for PageGroup. After this patch, we're ready to move the
1776 IDB code into Modules.
1778 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1779 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1781 * inspector/InspectorIndexedDBAgent.cpp:
1782 (WebCore::assertIDBFactory):
1783 * page/PageGroup.cpp:
1788 2012-03-01 Dale Curtis <dalecurtis@chromium.org>
1790 Remove deprecated FFmpeg build directories.
1791 https://bugs.webkit.org/show_bug.cgi?id=79282
1793 We've switched the layout of the FFmpeg repo in Chrome and these paths
1794 are no longer needed or valid.
1796 Reviewed by Dirk Pranke.
1798 No new tests. It either compiles or not.
1800 * WebCore.gyp/WebCore.gyp:
1802 2012-03-01 Xingnan Wang <xingnan.wang@intel.com>
1804 Enable IPP for Biquad filter
1805 https://bugs.webkit.org/show_bug.cgi?id=77509
1807 Reviewed by Chris Rogers.
1809 Use IIR filter in IPP and improve ~27% performance in linux.
1810 Changes are covered by current tests.
1812 * platform/audio/Biquad.cpp:
1813 (WebCore::Biquad::Biquad):
1814 (WebCore::Biquad::~Biquad):
1816 (WebCore::Biquad::process):
1817 (WebCore::Biquad::reset):
1818 (WebCore::Biquad::setLowpassParams):
1819 (WebCore::Biquad::setHighpassParams):
1820 (WebCore::Biquad::setNormalizedCoefficients):
1821 (WebCore::Biquad::setZeroPolePairs):
1822 * platform/audio/Biquad.h:
1825 2012-03-01 Peter Kotwicz <pkotwicz@google.com>
1827 Decouple scrollbar painting from Scrollbar object
1828 https://bugs.webkit.org/show_bug.cgi?id=78028
1830 Reviewed by James Robinson.
1832 Added interface ScrollbarThemeClient which Scrollbar inherits from.
1833 This allows painting via ScrollbarTheme with a proxy to a Scrollbar
1836 * GNUmakefile.list.am:
1839 * WebCore.vcproj/WebCore.vcproj:
1840 * WebCore.xcodeproj/project.pbxproj:
1841 * platform/Scrollbar.cpp:
1842 (WebCore::Scrollbar::scrollbarOverlayStyle):
1844 (WebCore::Scrollbar::getTickmarks):
1845 (WebCore::Scrollbar::isScrollableAreaActive):
1846 (WebCore::Scrollbar::isScrollViewScrollbar):
1847 (WebCore::Scrollbar::setFrameRect):
1848 * platform/Scrollbar.h:
1850 (WebCore::Scrollbar::x):
1851 (WebCore::Scrollbar::y):
1852 (WebCore::Scrollbar::width):
1853 (WebCore::Scrollbar::height):
1854 (WebCore::Scrollbar::size):
1855 (WebCore::Scrollbar::location):
1856 (WebCore::Scrollbar::parent):
1857 (WebCore::Scrollbar::root):
1858 (WebCore::Scrollbar::frameRect):
1859 (WebCore::Scrollbar::invalidate):
1860 (WebCore::Scrollbar::convertFromContainingWindow):
1861 (WebCore::Scrollbar::isCustomScrollbar):
1862 (WebCore::Scrollbar::orientation):
1863 (WebCore::Scrollbar::value):
1864 (WebCore::Scrollbar::currentPos):
1865 (WebCore::Scrollbar::visibleSize):
1866 (WebCore::Scrollbar::totalSize):
1867 (WebCore::Scrollbar::maximum):
1868 (WebCore::Scrollbar::controlSize):
1869 (WebCore::Scrollbar::lineStep):
1870 (WebCore::Scrollbar::pageStep):
1871 (WebCore::Scrollbar::pressedPart):
1872 (WebCore::Scrollbar::hoveredPart):
1873 (WebCore::Scrollbar::styleChanged):
1874 (WebCore::Scrollbar::enabled):
1875 * platform/ScrollbarTheme.h:
1877 (WebCore::ScrollbarTheme::updateEnabledState):
1878 (WebCore::ScrollbarTheme::paint):
1879 (WebCore::ScrollbarTheme::hitTest):
1880 (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
1881 (WebCore::ScrollbarTheme::invalidateParts):
1882 (WebCore::ScrollbarTheme::invalidatePart):
1883 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
1884 (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
1885 (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
1886 (WebCore::ScrollbarTheme::thumbPosition):
1887 (WebCore::ScrollbarTheme::thumbLength):
1888 (WebCore::ScrollbarTheme::trackPosition):
1889 (WebCore::ScrollbarTheme::trackLength):
1890 (WebCore::ScrollbarTheme::registerScrollbar):
1891 (WebCore::ScrollbarTheme::unregisterScrollbar):
1892 * platform/ScrollbarThemeClient.h: Added.
1894 (ScrollbarThemeClient):
1895 (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
1896 * platform/ScrollbarThemeComposite.cpp:
1897 (WebCore::ScrollbarThemeComposite::paint):
1898 (WebCore::ScrollbarThemeComposite::hitTest):
1899 (WebCore::ScrollbarThemeComposite::invalidatePart):
1900 (WebCore::ScrollbarThemeComposite::splitTrack):
1901 (WebCore::usedTotalSize):
1902 (WebCore::ScrollbarThemeComposite::thumbPosition):
1903 (WebCore::ScrollbarThemeComposite::thumbLength):
1904 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
1905 (WebCore::ScrollbarThemeComposite::trackPosition):
1906 (WebCore::ScrollbarThemeComposite::trackLength):
1907 * platform/ScrollbarThemeComposite.h:
1908 (ScrollbarThemeComposite):
1909 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
1910 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
1911 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
1912 (WebCore::ScrollbarThemeComposite::paintButton):
1913 (WebCore::ScrollbarThemeComposite::paintThumb):
1914 (WebCore::ScrollbarThemeComposite::paintTickmarks):
1915 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
1916 * platform/chromium/ScrollbarThemeChromium.cpp:
1917 (WebCore::ScrollbarThemeChromium::hasThumb):
1918 (WebCore::ScrollbarThemeChromium::backButtonRect):
1919 (WebCore::ScrollbarThemeChromium::forwardButtonRect):
1920 (WebCore::ScrollbarThemeChromium::trackRect):
1921 (WebCore::ScrollbarThemeChromium::paintTrackBackground):
1922 (WebCore::ScrollbarThemeChromium::paintTickmarks):
1923 * platform/chromium/ScrollbarThemeChromium.h:
1924 (WebCore::ScrollbarThemeChromium::hasButtons):
1925 (ScrollbarThemeChromium):
1926 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
1927 (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
1928 (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
1929 (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
1930 (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
1931 * platform/chromium/ScrollbarThemeChromiumAndroid.h:
1932 (ScrollbarThemeChromiumAndroid):
1933 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1934 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1935 (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1936 (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1937 (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
1938 (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1939 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1940 * platform/chromium/ScrollbarThemeChromiumLinux.h:
1941 (ScrollbarThemeChromiumLinux):
1942 * platform/chromium/ScrollbarThemeChromiumMac.h:
1943 (ScrollbarThemeChromiumMac):
1944 * platform/chromium/ScrollbarThemeChromiumMac.mm:
1945 (WebCore::scrollbarStateToThemeState):
1946 (WebCore::ScrollbarThemeChromiumMac::paint):
1947 (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
1948 * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1949 (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
1950 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1951 (WebCore::ScrollbarThemeChromiumWin::paintButton):
1952 (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1953 (WebCore::ScrollbarThemeChromiumWin::getThemeState):
1954 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
1955 (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
1956 (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
1957 (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1958 * platform/chromium/ScrollbarThemeChromiumWin.h:
1959 (ScrollbarThemeChromiumWin):
1960 * platform/efl/ScrollbarThemeEfl.cpp:
1961 (WebCore::ScrollbarThemeEfl::registerScrollbar):
1962 (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
1963 * platform/efl/ScrollbarThemeEfl.h:
1964 (ScrollbarThemeEfl):
1965 * platform/gtk/ScrollbarThemeGtk.cpp:
1967 (WebCore::ScrollbarThemeGtk::registerScrollbar):
1968 (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
1969 (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
1970 (WebCore::ScrollbarThemeGtk::hasThumb):
1971 (WebCore::ScrollbarThemeGtk::backButtonRect):
1972 (WebCore::ScrollbarThemeGtk::forwardButtonRect):
1973 (WebCore::ScrollbarThemeGtk::trackRect):
1974 (WebCore::ScrollbarThemeGtk::thumbRect):
1975 (WebCore::ScrollbarThemeGtk::paint):
1976 (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
1977 (WebCore::ScrollbarThemeGtk::buttonSize):
1978 (WebCore::ScrollbarThemeGtk::minimumThumbLength):
1979 * platform/gtk/ScrollbarThemeGtk.h:
1980 (WebCore::ScrollbarThemeGtk::hasButtons):
1981 (ScrollbarThemeGtk):
1982 * platform/gtk/ScrollbarThemeGtk2.cpp:
1983 (WebCore::getWidgetForScrollbar):
1984 (WebCore::ScrollbarThemeGtk::paintTrackBackground):
1985 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
1986 (WebCore::ScrollbarThemeGtk::paintThumb):
1987 (WebCore::ScrollbarThemeGtk::paintButton):
1988 * platform/gtk/ScrollbarThemeGtk3.cpp:
1989 (WebCore::ScrollbarThemeGtk::paintTrackBackground):
1990 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
1991 (WebCore::ScrollbarThemeGtk::paintThumb):
1992 (WebCore::ScrollbarThemeGtk::paintButton):
1993 * platform/mac/ScrollbarThemeMac.h:
1994 (ScrollbarThemeMac):
1995 * platform/mac/ScrollbarThemeMac.mm:
1997 (WebCore::ScrollbarThemeMac::registerScrollbar):
1998 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1999 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2000 (WebCore::ScrollbarThemeMac::painterForScrollbar):
2001 (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2002 (WebCore::ScrollbarThemeMac::hasButtons):
2003 (WebCore::ScrollbarThemeMac::hasThumb):
2004 (WebCore::ScrollbarThemeMac::backButtonRect):
2005 (WebCore::ScrollbarThemeMac::forwardButtonRect):
2006 (WebCore::ScrollbarThemeMac::trackRect):
2007 (WebCore::ScrollbarThemeMac::minimumThumbLength):
2008 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
2009 (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
2010 (WebCore::ScrollbarThemeMac::updateEnabledState):
2011 (WebCore::ScrollbarThemeMac::paint):
2012 * platform/mock/ScrollbarThemeMock.cpp:
2013 (WebCore::ScrollbarThemeMock::trackRect):
2014 (WebCore::ScrollbarThemeMock::paintTrackBackground):
2015 (WebCore::ScrollbarThemeMock::paintThumb):
2016 * platform/mock/ScrollbarThemeMock.h:
2017 (WebCore::ScrollbarThemeMock::hasButtons):
2018 (WebCore::ScrollbarThemeMock::hasThumb):
2019 (WebCore::ScrollbarThemeMock::backButtonRect):
2020 (WebCore::ScrollbarThemeMock::forwardButtonRect):
2021 (ScrollbarThemeMock):
2022 * platform/qt/ScrollbarThemeQt.cpp:
2023 (WebCore::styleOptionSlider):
2024 (WebCore::ScrollbarThemeQt::paint):
2025 (WebCore::ScrollbarThemeQt::hitTest):
2026 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
2027 (WebCore::ScrollbarThemeQt::invalidatePart):
2028 (WebCore::ScrollbarThemeQt::thumbPosition):
2029 (WebCore::ScrollbarThemeQt::thumbLength):
2030 (WebCore::ScrollbarThemeQt::trackPosition):
2031 (WebCore::ScrollbarThemeQt::trackLength):
2032 * platform/qt/ScrollbarThemeQt.h:
2034 * platform/win/ScrollbarThemeSafari.cpp:
2035 (WebCore::ScrollbarThemeSafari::hasButtons):
2036 (WebCore::ScrollbarThemeSafari::hasThumb):
2037 (WebCore::ScrollbarThemeSafari::backButtonRect):
2038 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
2039 (WebCore::ScrollbarThemeSafari::trackRect):
2040 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
2041 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
2042 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
2043 (WebCore::ScrollbarThemeSafari::paintButton):
2044 (WebCore::ScrollbarThemeSafari::paintThumb):
2045 * platform/win/ScrollbarThemeSafari.h:
2046 (ScrollbarThemeSafari):
2047 * platform/win/ScrollbarThemeWin.cpp:
2048 (WebCore::ScrollbarThemeWin::hasThumb):
2049 (WebCore::ScrollbarThemeWin::backButtonRect):
2050 (WebCore::ScrollbarThemeWin::forwardButtonRect):
2051 (WebCore::ScrollbarThemeWin::trackRect):
2052 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
2053 (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
2054 (WebCore::ScrollbarThemeWin::paintTrackBackground):
2055 (WebCore::ScrollbarThemeWin::paintTrackPiece):
2056 (WebCore::ScrollbarThemeWin::paintButton):
2057 (WebCore::paintGripper):
2058 (WebCore::ScrollbarThemeWin::paintThumb):
2059 * platform/win/ScrollbarThemeWin.h:
2060 (WebCore::ScrollbarThemeWin::hasButtons):
2061 (ScrollbarThemeWin):
2062 * platform/wx/ScrollbarThemeWx.cpp:
2063 (WebCore::ScrollbarThemeWx::hasThumb):
2064 (WebCore::ScrollbarThemeWx::minimumThumbLength):
2065 (WebCore::ScrollbarThemeWx::buttonSize):
2066 (WebCore::ScrollbarThemeWx::splitTrack):
2067 (WebCore::ScrollbarThemeWx::backButtonRect):
2068 (WebCore::ScrollbarThemeWx::forwardButtonRect):
2069 (WebCore::ScrollbarThemeWx::trackRect):
2070 (WebCore::ScrollbarThemeWx::paint):
2071 * platform/wx/ScrollbarThemeWx.h:
2073 (WebCore::ScrollbarThemeWx::hasButtons):
2074 * rendering/RenderScrollbar.h:
2075 (WebCore::toRenderScrollbar):
2076 * rendering/RenderScrollbarTheme.cpp:
2077 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
2078 (WebCore::RenderScrollbarTheme::hasButtons):
2079 (WebCore::RenderScrollbarTheme::hasThumb):
2080 (WebCore::RenderScrollbarTheme::minimumThumbLength):
2081 (WebCore::RenderScrollbarTheme::backButtonRect):
2082 (WebCore::RenderScrollbarTheme::forwardButtonRect):
2083 (WebCore::RenderScrollbarTheme::trackRect):
2084 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2085 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
2086 (WebCore::RenderScrollbarTheme::paintTrackBackground):
2087 (WebCore::RenderScrollbarTheme::paintTrackPiece):
2088 (WebCore::RenderScrollbarTheme::paintButton):
2089 (WebCore::RenderScrollbarTheme::paintThumb):
2090 * rendering/RenderScrollbarTheme.h:
2091 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
2092 (WebCore::RenderScrollbarTheme::registerScrollbar):
2093 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
2094 (RenderScrollbarTheme):
2096 2012-03-01 Luke Macpherson <macpherson@chromium.org>
2098 Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
2099 https://bugs.webkit.org/show_bug.cgi?id=79855
2101 Reviewed by Eric Seidel.
2103 No new tests / refactoring only.
2105 * css/CSSStyleApplyProperty.cpp:
2106 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2107 * css/CSSStyleSelector.cpp:
2108 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2110 2012-03-01 Alok Priyadarshi <alokp@chromium.org>
2112 [chromium] Partial texture updates not happening with accelerated painting path
2113 https://bugs.webkit.org/show_bug.cgi?id=80040
2115 Reviewed by James Robinson.
2117 The order of y-flip and clip-rect was opposite of what it should be.
2118 The clip rect was not properly transformed to account for y-flip and hence clipping everything.
2120 * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2121 (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2123 2012-03-01 Alexey Proskuryakov <ap@apple.com>
2125 FileReader read speed is way too low
2126 https://bugs.webkit.org/show_bug.cgi?id=77272
2128 Reviewed by Oliver Hunt.
2130 This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.
2132 * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
2133 cross-thread messaging for every 1024 bytes is slow.
2135 2012-03-01 Dan Bernstein <mitz@apple.com>
2137 ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
2138 https://bugs.webkit.org/show_bug.cgi?id=80047
2140 Reviewed by Anders Carlsson.
2142 * platform/ScrollView.cpp:
2143 (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
2144 old one before calling contentsResized().
2146 2012-03-01 James Robinson <jamesr@chromium.org>
2148 [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
2149 https://bugs.webkit.org/show_bug.cgi?id=79714
2151 Reviewed by Adrienne Walker.
2153 When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
2154 order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
2155 receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
2156 invalidation until we have the new layer bounds, which landed in r99774.
2158 This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
2159 way WebCore is passing us invalidations and not something fundamental to the compositor.
2161 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2162 (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2163 (WebCore::GraphicsLayerChromium::setSize):
2164 (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
2165 * platform/graphics/chromium/GraphicsLayerChromium.h:
2166 * platform/graphics/chromium/LayerChromium.cpp:
2167 (WebCore::LayerChromium::LayerChromium):
2168 (WebCore::LayerChromium::setBounds):
2169 * platform/graphics/chromium/LayerChromium.h:
2172 2012-03-01 Joe Thomas <joethomas@motorola.com>
2174 :empty still applies to elements made non-empty via page dynamics.
2175 https://bugs.webkit.org/show_bug.cgi?id=79734
2177 Check for :empty style change should be made even if the RenderStyle for the element is NULL
2178 as changes to the element's children can trigger a change in :empty state of the parent element.
2180 Reviewed by Antti Koivisto.
2182 Test: fast/selectors/empty-element-made-non-empty.html
2185 (WebCore::checkForSiblingStyleChanges):
2187 2012-02-29 Nat Duca <nduca@chromium.org>
2189 [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
2190 https://bugs.webkit.org/show_bug.cgi?id=79964
2192 Reviewed by James Robinson.
2194 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2195 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2196 (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2197 (WebCore::CCLayerTreeHost::recreateContext):
2198 (WebCore::CCLayerTreeHost::createContext):
2199 (WebCore::CCLayerTreeHost::didLoseContext):
2200 (WebCore::CCLayerTreeHost::compositeAndReadback):
2201 (WebCore::CCLayerTreeHost::loseContext):
2202 (WebCore::CCLayerTreeHost::updateLayers):
2203 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2204 (CCLayerTreeHostClient):
2206 * platform/graphics/chromium/cc/CCProxy.h:
2208 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2209 (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2210 (WebCore::CCSingleThreadProxy::compositeAndReadback):
2211 (WebCore::CCSingleThreadProxy::initializeContext):
2212 (WebCore::CCSingleThreadProxy::recreateContext):
2214 (WebCore::CCSingleThreadProxy::loseContext):
2215 (WebCore::CCSingleThreadProxy::compositeImmediately):
2216 (WebCore::CCSingleThreadProxy::doComposite):
2217 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2218 (CCSingleThreadProxy):
2219 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2220 (WebCore::CCThreadProxy::initializeContext):
2221 (WebCore::CCThreadProxy::recreateContext):
2223 (WebCore::CCThreadProxy::loseContext):
2224 * platform/graphics/chromium/cc/CCThreadProxy.h:
2227 2012-03-01 Abhishek Arya <inferno@chromium.org>
2229 Prevent layout root to remain set on renderers getting destroyed.
2230 https://bugs.webkit.org/show_bug.cgi?id=79953
2232 Reviewed by Eric Seidel.
2234 Implement Julien Chaffraix's idea.
2237 (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
2238 * rendering/RenderObject.cpp:
2239 (WebCore::clearLayoutRootIfNeeded): if we know we are going
2240 away and we are the view's layout root, then we need to reset the layout
2241 root to prevent being used.
2243 (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.
2245 2012-03-01 Kangil Han <kangil.han@samsung.com>
2247 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
2248 https://bugs.webkit.org/show_bug.cgi?id=78570
2250 Reviewed by Hajime Morita.
2252 This patch will remove all PlainTextController usages
2253 in existing DRT tests by adding internal API to WebCore/testing/Internals
2255 Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText
2257 * testing/Internals.cpp:
2258 (WebCore::Internals::rangeAsText):
2260 * testing/Internals.h:
2262 * testing/Internals.idl:
2264 2012-03-01 Adam Barth <abarth@webkit.org>
2266 DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
2267 https://bugs.webkit.org/show_bug.cgi?id=80013
2269 Reviewed by Kentaro Hara.
2271 Before this patch, DOMWindow still knew about IDB because of the
2272 database factory. This patch moves the factory to
2273 DOMWindowIndexedDatabase.
2275 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2276 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2277 (WebCore::DOMWindowIndexedDatabase::from):
2279 (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
2280 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2281 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2282 (DOMWindowIndexedDatabase):
2283 * page/DOMWindow.cpp:
2284 (WebCore::DOMWindow::~DOMWindow):
2285 (WebCore::DOMWindow::clear):
2290 2012-03-01 Anders Carlsson <andersca@apple.com>
2292 Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
2293 https://bugs.webkit.org/show_bug.cgi?id=80038
2294 <rdar://problem/10933831>
2296 Reviewed by Simon Fraser.
2298 When we need to update the scroll layer position on the main thread, we need to cache the
2299 scroll position we sent to the main thread and assume that that's the correct scroll position.
2301 * page/scrolling/mac/ScrollingTreeNodeMac.h:
2302 (ScrollingTreeNodeMac):
2303 * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2304 (WebCore::ScrollingTreeNodeMac::update):
2305 (WebCore::ScrollingTreeNodeMac::setScrollPosition):
2306 (WebCore::ScrollingTreeNodeMac::scrollPosition):
2308 2012-03-01 Julien Chaffraix <jchaffraix@webkit.org>
2310 Unreviewed, rolling out r109367.
2311 http://trac.webkit.org/changeset/109367
2312 https://bugs.webkit.org/show_bug.cgi?id=75568
2314 Some tests started to fail in a non obvious way.
2316 * rendering/RenderBlock.cpp:
2317 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2318 (WebCore::RenderBlock::layoutBlock):
2319 (WebCore::RenderBlock::paint):
2320 (WebCore::RenderBlock::isPointInOverflowControl):
2321 * rendering/RenderBlock.h:
2323 * rendering/RenderBox.cpp:
2324 (WebCore::RenderBox::willBeDestroyed):
2325 (WebCore::RenderBox::styleDidChange):
2326 (WebCore::RenderBox::scrollWidth):
2327 (WebCore::RenderBox::scrollHeight):
2328 (WebCore::RenderBox::scrollLeft):
2329 (WebCore::RenderBox::scrollTop):
2330 (WebCore::RenderBox::setScrollLeft):
2331 (WebCore::RenderBox::setScrollTop):
2332 (WebCore::RenderBox::includeVerticalScrollbarSize):
2333 (WebCore::RenderBox::includeHorizontalScrollbarSize):
2334 (WebCore::RenderBox::scrolledContentOffset):
2335 (WebCore::RenderBox::cachedSizeForOverflowClip):
2336 (WebCore::RenderBox::pushContentsClip):
2337 (WebCore::RenderBox::popContentsClip):
2338 (WebCore::RenderBox::addLayoutOverflow):
2339 * rendering/RenderBox.h:
2342 * rendering/RenderBoxModelObject.cpp:
2344 (WebCore::RenderBoxModelObject::styleDidChange):
2345 * rendering/RenderBoxModelObject.h:
2346 (WebCore::RenderBoxModelObject::requiresLayer):
2347 (RenderBoxModelObject):
2348 * rendering/RenderDeprecatedFlexibleBox.cpp:
2349 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2350 * rendering/RenderTableRow.h:
2351 (WebCore::RenderTableRow::requiresLayer):
2353 2012-03-01 Kenichi Ishibashi <bashi@chromium.org>
2355 REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
2356 https://bugs.webkit.org/show_bug.cgi?id=79448
2358 Reviewed by Ryosuke Niwa.
2360 Don't produce single quotes around face attribute of font elements.
2362 Test: editing/style/font-face-unquote.html
2364 * editing/EditingStyle.cpp:
2365 (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.
2367 2012-03-01 Beth Dakin <bdakin@apple.com>
2369 Reviewed by Kevin Decker.
2371 Part of https://bugs.webkit.org/show_bug.cgi?id=79705
2373 Here's some of that tweaking promised in the comment. Adjusting
2374 gMaximumUnpaintedAreaRatio down a bit.
2378 2012-03-01 Levi Weintraub <leviw@chromium.org>
2380 Add roundToInt method for LayoutUnits
2381 https://bugs.webkit.org/show_bug.cgi?id=79283
2383 Reviewed by Eric Seidel.
2385 Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
2386 only has an effect once we switch to sub-pixel positioning. Points and offsets
2387 are rounded for painting and hit testing.
2389 No new tests. No change in behavior.
2391 * dom/MouseRelatedEvent.cpp:
2392 (WebCore::MouseRelatedEvent::offsetX):
2393 (WebCore::MouseRelatedEvent::offsetY):
2394 * html/shadow/MediaControlElements.cpp:
2395 (WebCore::MediaControlTextTrackContainerElement::updateSizes):
2396 * rendering/LayoutState.cpp:
2397 (WebCore::LayoutState::computeLineGridPaginationOrigin):
2398 * rendering/LayoutTypes.h:
2399 (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
2401 * rendering/RenderBlock.cpp:
2402 (WebCore::RenderBlock::pageLogicalTopForOffset):
2403 * rendering/RenderBlock.h:
2404 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
2405 pixel snapped methods on FloatingObjects and removing the fixme.
2406 (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
2407 (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
2408 (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
2409 (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
2410 (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
2411 * rendering/RenderBlockLineLayout.cpp:
2412 (WebCore::LineWidth::updateAvailableWidth):
2413 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
2414 pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
2415 we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
2416 but text is rendered using floats. We need to ensure the text is laid out using the
2417 actual pixel width of the containing block to avoid bleeding out of the block.
2418 * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
2419 adding the necessary rounding for Left/Top.
2420 (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
2421 (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
2422 * rendering/RenderLayer.cpp:
2423 (WebCore::RenderLayer::scrollRectToVisible):
2424 * rendering/RenderListBox.cpp:
2425 (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
2426 always uses rounded values.
2427 * rendering/svg/RenderSVGRoot.cpp:
2428 (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
2429 SVG renders using floats, we need to start with pixel snapped values from the render
2430 tree or we'll end up with the contents not properly aligned to the rest of the page.
2431 * rendering/svg/SVGRenderSupport.cpp:
2432 (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2434 2012-03-01 Pavel Feldman <pfeldman@chromium.org>
2436 Web Inspector: arrays in object properties sections do not scale.
2437 https://bugs.webkit.org/show_bug.cgi?id=64596
2439 Reviewed by Vsevolod Vlasov.
2441 Test: inspector/console/console-big-array.html
2443 * inspector/front-end/ConsoleMessage.js:
2444 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
2445 (WebInspector.ConsoleMessageImpl.prototype._printArray):
2446 * inspector/front-end/ObjectPropertiesSection.js:
2447 (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2448 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
2449 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2450 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
2451 (WebInspector.ArrayGroupingTreeElement):
2452 (WebInspector.ArrayGroupingTreeElement.populateAsArray):
2453 (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
2454 (WebInspector.ArrayGroupingTreeElement._populate):
2455 (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
2456 * inspector/front-end/RemoteObject.js:
2457 (WebInspector.RemoteObject.prototype.release):
2458 (WebInspector.RemoteObject.prototype.arrayLength):
2459 (WebInspector.LocalJSONObject.prototype.isError):
2460 (WebInspector.LocalJSONObject.prototype.arrayLength):
2461 * inspector/front-end/ScopeChainSidebarPane.js:
2462 (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
2463 * inspector/front-end/StylesSidebarPane.js:
2464 (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
2465 * inspector/front-end/inspector.css:
2466 (.console-formatted-object, .console-formatted-node, .console-formatted-array):
2467 (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):
2469 2012-03-01 Adam Barth <abarth@webkit.org>
2471 Unreviewed, rolling out r109336.
2472 http://trac.webkit.org/changeset/109336
2473 https://bugs.webkit.org/show_bug.cgi?id=80013
2475 It's causing some crashes
2477 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2478 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2479 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2480 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2481 (DOMWindowIndexedDatabase):
2482 * page/DOMWindow.cpp:
2483 (WebCore::DOMWindow::~DOMWindow):
2484 (WebCore::DOMWindow::clear):
2486 (WebCore::DOMWindow::setIDBFactory):
2489 (WebCore::DOMWindow::idbFactory):
2491 2012-03-01 Tom Sepez <tsepez@chromium.org>
2493 Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
2494 https://bugs.webkit.org/show_bug.cgi?id=79882
2496 Reviewed by Adam Barth.
2498 Test: fast/frames/url-selected-crash.html
2500 * loader/FrameLoader.cpp:
2501 (WebCore::FrameLoader::changeLocation):
2502 (WebCore::FrameLoader::urlSelected):
2504 2012-03-01 Julien Chaffraix <jchaffraix@webkit.org>
2506 Lazily allocate overflow: hidden layers if we have overflowing content
2507 https://bugs.webkit.org/show_bug.cgi?id=75568
2509 Reviewed by David Hyatt.
2511 Change covered by the existing tests and the tons of rebaselines.
2513 This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
2515 Apart from saving some memory, it will also speed up the rendering as we don't need to
2516 go through the layer's machinery when painting and hit testing.
2518 On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
2519 overflow: hidden case in par with the overflow: visible case when scrolling that is a
2520 very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
2522 * rendering/RenderBlock.cpp:
2523 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2524 Changed this method to update our size cache if needed.
2526 * rendering/RenderBlock.cpp:
2527 (WebCore::RenderBlock::layoutBlock):
2528 (WebCore::RenderBlock::paint):
2529 (WebCore::RenderBlock::isPointInOverflowControl):
2530 * rendering/RenderBlock.h:
2532 * rendering/RenderBox.cpp:
2533 (WebCore::RenderBox::styleDidChange):
2534 (WebCore::RenderBox::scrollWidth):
2535 (WebCore::RenderBox::scrollHeight):
2536 (WebCore::RenderBox::scrollLeft):
2537 (WebCore::RenderBox::scrollTop):
2538 (WebCore::RenderBox::setScrollLeft):
2539 (WebCore::RenderBox::setScrollTop):
2540 (WebCore::RenderBox::includeVerticalScrollbarSize):
2541 (WebCore::RenderBox::includeHorizontalScrollbarSize):
2542 (WebCore::RenderBox::pushContentsClip):
2543 (WebCore::RenderBox::popContentsClip):
2544 (WebCore::RenderBox::addLayoutOverflow):
2545 Added layer() check to the previous call sites.
2547 * rendering/RenderBoxModelObject.cpp:
2548 (WebCore::RenderBoxModelObject::ensureLayer):
2549 Added this function to create and add a new layer.
2551 (WebCore::RenderBoxModelObject::willBeDestroyed):
2553 (WebCore::RenderBoxModelObject::styleDidChange):
2554 Patched those method to handle updating / removing
2555 cached size entries.
2557 (WebCore::cachedSizeForOverflowClipMap):
2558 (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
2559 (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
2560 (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
2561 This logic stores the size information for later repainting.
2562 It is in practice replicating what RenderLayer is doing.
2564 * rendering/RenderBoxModelObject.h:
2565 (WebCore::RenderBoxModelObject::requiresLayer):
2566 Updated to call requiresLayerForOverflowClip.
2568 (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
2569 Added this method to check if we can lazily allocate the layer.
2571 * rendering/RenderDeprecatedFlexibleBox.cpp:
2572 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2573 Removed some checks as they are part of updateScrollInfoAfterLayout.
2575 * rendering/RenderObject.cpp:
2576 (WebCore::RenderObject::scrolledContentOffset):
2577 Added a layer() check.
2579 * rendering/RenderTableRow.h:
2581 Added a comment about why we need a layout for table rows.
2583 2012-03-01 Abhishek Arya <inferno@chromium.org>
2585 Protect functions using two container node function, each of which can fire mutation events.
2586 https://bugs.webkit.org/show_bug.cgi?id=78397
2588 Reviewed by Ryosuke Niwa.
2590 Tests: fast/dom/document-set-title-mutation-crash.html
2591 fast/dom/option-text-mutation-crash.html
2594 (WebCore::Node::setTextContent):
2596 (WebCore::Text::replaceWholeText):
2597 * editing/markup.cpp:
2598 (WebCore::trimFragment):
2599 (WebCore::replaceChildrenWithFragment):
2600 (WebCore::replaceChildrenWithText):
2601 * html/HTMLOptionElement.cpp:
2602 (WebCore::HTMLOptionElement::setText):
2603 * html/HTMLScriptElement.cpp:
2604 (WebCore::HTMLScriptElement::setText):
2605 * html/HTMLTableElement.cpp:
2606 (WebCore::HTMLTableElement::insertRow):
2607 * html/HTMLTextAreaElement.cpp:
2608 (WebCore::HTMLTextAreaElement::setDefaultValue):
2609 * html/HTMLTitleElement.cpp:
2610 (WebCore::HTMLTitleElement::setText):
2612 2012-03-01 Alexey Proskuryakov <ap@apple.com>
2614 Some trivial file stream cleanup
2615 https://bugs.webkit.org/show_bug.cgi?id=79955
2617 Reviewed by Sam Weinig.
2619 No change in functionality.
2621 * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.
2623 * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.
2625 * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
2628 * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
2631 * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
2634 2012-03-01 Shinya Kawanaka <shinyak@chromium.org>
2636 Appending ShadowRoot into an element should not cause crash.
2637 https://bugs.webkit.org/show_bug.cgi?id=79620
2639 Reviewed by Dimitri Glazkov.
2641 We should treat ShadowRoot as a document fragment.
2643 Test: fast/dom/shadow/shadow-root-append.html
2645 * dom/ContainerNode.cpp:
2646 (WebCore::collectTargetNodes):
2648 2012-03-01 Pavel Podivilov <podivilov@chromium.org>
2650 Web Inspector: use live location to update console message bubbles.
2651 https://bugs.webkit.org/show_bug.cgi?id=80023
2653 Reviewed by Vsevolod Vlasov.
2655 * inspector/front-end/DebuggerPresentationModel.js:
2656 (WebInspector.DebuggerPresentationModel):
2657 (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
2658 (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2659 (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
2660 (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
2661 (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
2662 (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
2663 (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2664 (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2665 (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
2666 (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2667 * inspector/front-end/RawSourceCode.js:
2668 (WebInspector.RawSourceCode):
2670 2012-03-01 Vsevolod Vlasov <vsevik@chromium.org>
2672 Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
2673 https://bugs.webkit.org/show_bug.cgi?id=80022
2675 Reviewed by Pavel Feldman.
2677 Added tooltips with meta information for IndexedDB databases, object stores and indexes.
2678 Added keyPath: prefix to key columns in IndexedDB data grid.
2680 * English.lproj/localizedStrings.js:
2681 * inspector/front-end/IndexedDBViews.js:
2682 (WebInspector.IDBDataView.prototype._createDataGrid):
2683 (WebInspector.IDBDataView.prototype._keyPathHeader):
2684 * inspector/front-end/ResourcesPanel.js:
2685 (WebInspector.IDBDatabaseTreeElement.prototype.update):
2686 (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
2687 (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2688 (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
2689 (WebInspector.IDBIndexTreeElement.prototype.update):
2690 (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
2692 2012-03-01 Pavel Feldman <pfeldman@google.com>
2694 Web Inspector: hide color picker on Esc and Enter.
2695 https://bugs.webkit.org/show_bug.cgi?id=79915
2697 Reviewed by Vsevolod Vlasov.
2699 * inspector/front-end/Spectrum.js:
2700 (WebInspector.Spectrum.prototype.reposition):
2701 (WebInspector.Spectrum.prototype.hide):
2702 (WebInspector.Spectrum.prototype._onKeyDown):
2704 2012-03-01 Huang Dongsung <luxtella@company100.net>
2706 [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
2707 https://bugs.webkit.org/show_bug.cgi?id=79658
2709 If QPainter does not have clipping, beginPlatformTransparencyLayer can create
2710 wrong size pixmap, so it causes incorrect rendering.
2712 Reviewed by Simon Hausmann.
2714 * platform/graphics/qt/GraphicsContextQt.cpp:
2715 (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2717 2012-03-01 Simon Hausmann <simon.hausmann@nokia.com>
2719 [Qt] Remove dead style option code.
2720 https://bugs.webkit.org/show_bug.cgi?id=80017
2722 Reviewed by Kenneth Rohde Christiansen.
2724 QtStyleOptionWebComboBox provides functionality (bool multiple()) that
2725 is not called from anywhere (and the base class does not have it as a
2729 * platform/qt/QtStyleOptionWebComboBox.h: Removed.
2730 * platform/qt/RenderThemeQStyle.cpp:
2731 (WebCore::RenderThemeQStyle::paintMenuList):
2732 (WebCore::RenderThemeQStyle::paintMenuListButton):
2734 2012-03-01 Stephen Chenney <schenney@chromium.org>
2736 Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
2737 https://bugs.webkit.org/show_bug.cgi?id=79831
2739 Reviewed by Eric Seidel.
2741 Out-of-order operations in the SVGSMILElement::removedFromDocument
2742 method caused its target to be removed and then re-added due to a
2743 later call. This led to the target being set on the animation while
2744 the target element itself was unaware. At deletion time, this caused a
2745 crash (or assert in debug builds). Thanks to Abhishek Arya for help
2746 with the layout test.
2748 Test: svg/animations/smil-element-target-crash-main.html
2750 * svg/animation/SVGSMILElement.cpp:
2751 (WebCore::SVGSMILElement::removedFromDocument):
2753 2012-03-01 Ilya Tikhonovsky <loislo@chromium.org>
2755 Web Inspector: move heap snapshot nodes data to external array.
2756 https://bugs.webkit.org/show_bug.cgi?id=79911
2758 Reviewed by Vsevolod Vlasov.
2762 heap-shapshot-loader.html
2764 * inspector/front-end/HeapSnapshot.js:
2765 (WebInspector.Int32Array):
2766 (WebInspector.Int32Array.prototype.get array):
2767 (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
2768 (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2769 (WebInspector.HeapSnapshot):
2770 (WebInspector.HeapSnapshot.prototype._init):
2772 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
2774 Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
2775 https://bugs.webkit.org/show_bug.cgi?id=79790
2777 Reviewed by Zoltan Herczeg.
2779 Next step towards enabling animVal support for XML attribute animations.
2780 When SVG CSS properties are animated using SMIL, we currently mutate
2781 the target elements style, and have to keep a baseValue around as String
2782 to be able to recover from the DOM mutations at the end, if fill!="freeze".
2784 The approach required by SMIL is to keep around an override style declaration
2785 set and apply it right after the inline style declarations. Implement that
2786 finally, to avoid mutating styles directly.
2788 Test: svg/animations/attributeTypes.html
2790 * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
2791 (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
2792 (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
2793 * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
2794 * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
2795 (WebCore::SVGAnimateElement::SVGAnimateElement):
2796 (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
2797 (Instead of resetting target->style() properties to the old baseValue, as we used to do).
2798 (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
2799 * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
2800 * svg/SVGAnimationElement.cpp:
2801 (WebCore::setTargetAttributeAnimatedCSSValue):
2802 (WebCore::setTargetAttributeAnimatedXMLValue):
2803 Refactored both of these methods from setTargetAttributeAnimatedValue().
2804 Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
2805 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
2806 (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
2807 This is used to detect that the CSS property should be removed from the "SMIL animation style".
2808 (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
2809 * svg/SVGAnimationElement.h:
2810 * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
2811 (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
2812 (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
2813 (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
2814 * svg/SVGElement.h: Expose new methods.
2815 * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
2816 (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
2817 (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
2818 (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
2819 * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.
2821 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
2823 Unreviewed, rolling out r109255.
2824 http://trac.webkit.org/changeset/109255
2825 https://bugs.webkit.org/show_bug.cgi?id=79932
2827 Breaks rounded rects with dashed strokes in SVG
2830 * platform/graphics/Path.cpp:
2831 (WebCore::Path::addRoundedRect):
2832 * platform/graphics/Path.h:
2834 * platform/graphics/cg/PathCG.cpp:
2835 * platform/mac/WebCoreSystemInterface.h:
2836 * platform/mac/WebCoreSystemInterface.mm:
2838 2012-03-01 Adam Barth <abarth@webkit.org>
2840 DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
2841 https://bugs.webkit.org/show_bug.cgi?id=80013
2843 Reviewed by Kentaro Hara.
2845 Before this patch, DOMWindow still knew about IDB because of the
2846 database factory. This patch moves the factory to
2847 DOMWindowIndexedDatabase.
2849 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2850 (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2851 (WebCore::DOMWindowIndexedDatabase::from):
2853 (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
2854 (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2855 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2856 (DOMWindowIndexedDatabase):
2857 * page/DOMWindow.cpp:
2858 (WebCore::DOMWindow::~DOMWindow):
2859 (WebCore::DOMWindow::clear):
2864 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
2866 SVG <use> element allows invalid contents
2867 https://bugs.webkit.org/show_bug.cgi?id=77764
2869 Reviewed by Zoltan Herczeg.
2871 Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
2872 - text nodes weren't allowed in SVG shadow subtrees
2873 - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement
2875 * svg/SVGUseElement.cpp:
2876 (WebCore::isDisallowedElement):
2878 2012-03-01 Luke Macpherson <macpherson@chromium.org>
2880 Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
2881 https://bugs.webkit.org/show_bug.cgi?id=80004
2883 Reviewed by Eric Seidel.
2885 No new tests / refactoring only.
2887 * css/CSSStyleApplyProperty.cpp:
2888 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2889 * css/CSSStyleSelector.cpp:
2890 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2892 2012-02-29 Pavel Podivilov <podivilov@chromium.org>
2894 Web Inspector: abstract out the common pattern of creating auto-updated locations.
2895 https://bugs.webkit.org/show_bug.cgi?id=79906
2897 Reviewed by Vsevolod Vlasov.
2899 * inspector/front-end/DebuggerPresentationModel.js:
2900 (WebInspector.PresentationCallFrame.prototype.uiLocation):
2901 (WebInspector.DebuggerPresentationModel.CallFramePlacard):
2902 (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
2903 (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
2904 (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
2905 (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
2906 (WebInspector.DebuggerPresentationModel.Linkifier):
2907 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
2908 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
2909 (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2910 * inspector/front-end/RawSourceCode.js:
2911 (WebInspector.RawSourceCode.prototype.createLiveLocation):
2912 (WebInspector.RawSourceCode.LiveLocation):
2913 (WebInspector.RawSourceCode.LiveLocation.prototype.init):
2914 (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
2915 (WebInspector.RawSourceCode.LiveLocation.prototype._update):
2917 2012-03-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
2919 Make the tiling code slightly smarter
2920 https://bugs.webkit.org/show_bug.cgi?id=80015
2922 Reviewed by Simon Hausmann.
2924 Avoid doing the same tranformations all over in each call to
2925 tileRectForCoordinate.
2927 Do not resize tiles and then drop them because they are not out of
2928 the keep rect; instead drop before resizing.
2930 Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
2931 rect. This is used to avoid unneeded iteration of all tiles for
2932 invalidates outside the keep rect.
2934 * platform/graphics/TiledBackingStore.cpp:
2935 (WebCore::TiledBackingStore::invalidate):
2937 (WebCore::TiledBackingStore::commitScaleChange):
2938 (WebCore::TiledBackingStore::coverageRatio):
2939 (WebCore::TiledBackingStore::createTiles):
2940 (WebCore::TiledBackingStore::adjustForContentsRect):
2941 (WebCore::TiledBackingStore::resizeEdgeTiles):
2942 (WebCore::TiledBackingStore::setKeepRect):
2943 (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
2944 (WebCore::TiledBackingStore::tileRectForCoordinate):
2945 (WebCore::TiledBackingStore::setSupportsAlpha):
2946 * platform/graphics/TiledBackingStore.h:
2947 (TiledBackingStore):
2949 2012-02-29 Kinuko Yasuda <kinuko@chromium.org>
2951 Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
2952 https://bugs.webkit.org/show_bug.cgi?id=79928
2954 Reviewed by David Levin.
2956 No new tests: no functionality changes.
2957 fast/filesystem/ tests should use the new code (they should pass once
2958 the corresponding chromium change is rolled in).
2960 * fileapi/DOMFileSystem.cpp:
2961 (WebCore::DOMFileSystem::createFile): Updated to use the new API.
2962 * fileapi/DOMFileSystemSync.cpp:
2963 (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
2964 * fileapi/FileSystemCallbacks.cpp:
2965 * fileapi/FileSystemCallbacks.h:
2966 (FileSystemCallbacksBase):
2967 * platform/AsyncFileSystem.h:
2969 * platform/AsyncFileSystemCallbacks.h: Added default implementation (which just calls ASSERT_NOTREACHED()) so that subclasses can focus only on the callback methods that they're interested in.
2971 2012-02-29 Pavel Podivilov <podivilov@chromium.org>
2973 Web Inspector: add UISourceCode.isEditable property.
2974 https://bugs.webkit.org/show_bug.cgi?id=79909
2976 Reviewed by Vsevolod Vlasov.
2978 * inspector/front-end/DebuggerPresentationModel.js:
2979 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2980 * inspector/front-end/RawSourceCode.js:
2981 (WebInspector.RawSourceCode.prototype._createUISourceCode):
2982 * inspector/front-end/UISourceCode.js:
2983 (WebInspector.UISourceCode):
2985 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
2987 Fallback elements in non-youngest shadow tree should not be rendered.
2988 https://bugs.webkit.org/show_bug.cgi?id=80002
2990 Reviewed by Hajime Morita.
2992 Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
2993 AttachingNotDistributed instead of AttachingFallbacked.
2995 Tests: multiple-shadowroot-rendering.html covers this patch.
2997 * dom/NodeRenderingContext.cpp:
2998 (WebCore::NodeRenderingContext::NodeRenderingContext):
3000 2012-02-29 Adam Barth <abarth@webkit.org>
3002 ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
3003 https://bugs.webkit.org/show_bug.cgi?id=79633
3005 Reviewed by Eric Seidel.
3007 This class creates a DatabaseContext object to supplement the
3008 ScriptExecutionContext with database-specific information. This new
3009 object lets us remove a bunch of database-specific (and ifdefed) logic
3010 from ScriptExecutionContext.(cpp|h).
3013 * GNUmakefile.list.am:
3017 * WebCore.vcproj/WebCore.vcproj:
3018 * WebCore.xcodeproj/project.pbxproj:
3019 * dom/ScriptExecutionContext.cpp:
3020 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3021 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3023 * dom/ScriptExecutionContext.h:
3025 (ScriptExecutionContext):
3026 * history/PageCache.cpp:
3027 (WebCore::logCanCacheFrameDecision):
3028 (WebCore::PageCache::canCachePageContainingThisFrame):
3029 * loader/FrameLoader.cpp:
3030 (WebCore::FrameLoader::stopLoading):
3031 * platform/Supplementable.h:
3032 (WebCore::Supplementable::provideSupplement):
3033 (WebCore::Supplementable::requireSupplement):
3035 * storage/AbstractDatabase.cpp:
3036 (WebCore::AbstractDatabase::AbstractDatabase):
3037 * storage/AbstractDatabase.h:
3039 (WebCore::AbstractDatabase::databaseContext):
3041 * storage/Database.cpp:
3042 (WebCore::Database::openDatabase):
3043 (WebCore::Database::Database):
3044 (WebCore::Database::openAndVerifyVersion):
3045 (WebCore::Database::markAsDeletedAndClose):
3046 (WebCore::Database::close):
3047 (WebCore::Database::closeImmediately):
3048 (WebCore::Database::performOpenAndVerify):
3049 (WebCore::Database::scheduleTransaction):
3050 (WebCore::Database::scheduleTransactionStep):
3051 (WebCore::Database::transactionClient):
3052 (WebCore::Database::transactionCoordinator):
3053 (WebCore::Database::tableNames):
3054 (WebCore::Database::securityOrigin):
3055 * storage/DatabaseContext.cpp: Added.
3057 (WebCore::existingDatabaseContextFrom):
3058 (WebCore::DatabaseContext::DatabaseContext):
3059 (WebCore::DatabaseContext::~DatabaseContext):
3060 (WebCore::DatabaseContext::from):
3061 (WebCore::DatabaseContext::databaseThread):
3062 (WebCore::DatabaseContext::hasOpenDatabases):
3063 (WebCore::DatabaseContext::stopDatabases):
3064 * storage/DatabaseContext.h: Added.
3067 (WebCore::DatabaseContext::setHasOpenDatabases):
3068 * storage/SQLTransaction.cpp:
3069 (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
3070 (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
3071 * workers/WorkerThread.cpp:
3072 (WebCore::WorkerThreadShutdownStartTask::performTask):
3074 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
3076 Refactoring: HTMLContentSelector should be InsertionPoint-aware.
3077 https://bugs.webkit.org/show_bug.cgi?id=79901
3079 Reviewed by Hajime Morita.
3081 ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
3082 If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.
3084 Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.
3086 * dom/ShadowRoot.cpp:
3087 (WebCore::ShadowRoot::hasInsertionPoint):
3090 * dom/ShadowTree.cpp:
3091 (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
3092 (WebCore::ShadowTree::hostChildrenChanged):
3093 * html/shadow/ContentSelectorQuery.cpp:
3094 (WebCore::ContentSelectorQuery::ContentSelectorQuery):
3095 (WebCore::ContentSelectorQuery::matches):
3096 * html/shadow/ContentSelectorQuery.h:
3098 (ContentSelectorQuery):
3099 * html/shadow/HTMLContentElement.cpp:
3100 (WebCore::HTMLContentElement::detach):
3101 * html/shadow/HTMLContentElement.h:
3102 (WebCore::toHTMLContentElement):
3104 * html/shadow/HTMLContentSelector.cpp:
3105 (WebCore::HTMLContentSelector::select):
3106 * html/shadow/HTMLContentSelector.h:
3107 (HTMLContentSelector):
3108 * html/shadow/InsertionPoint.h:
3111 2012-02-29 Luke Macpherson <macpherson@chromium.org>
3113 Handle CSSPropertySpeak in CSSStyleApplyProperty.
3114 https://bugs.webkit.org/show_bug.cgi?id=79879
3116 Reviewed by Eric Seidel.
3118 No new tests / refactoring only.
3120 * css/CSSStyleApplyProperty.cpp:
3121 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3122 * css/CSSStyleSelector.cpp:
3123 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3124 * rendering/style/RenderStyle.h:
3126 2012-02-29 Luke Macpherson <macpherson@chromium.org>
3128 Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
3129 https://bugs.webkit.org/show_bug.cgi?id=79869
3131 Reviewed by Eric Seidel.
3133 No new tests / refactoring only.
3135 * css/CSSStyleApplyProperty.cpp:
3136 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3137 * css/CSSStyleSelector.cpp:
3138 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3140 2012-02-29 Erik Arvidsson <arv@chromium.org>
3142 Rename DOMSelection to Selection
3143 https://bugs.webkit.org/show_bug.cgi?id=79688
3145 Reviewed by Adam Barth.
3147 No new tests. Existing tests have been updated to cover this.
3149 * page/DOMSelection.idl:
3150 * page/DOMWindow.idl:
3152 2012-02-29 Joshua Bell <jsbell@chromium.org>
3154 IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
3155 https://bugs.webkit.org/show_bug.cgi?id=79950
3157 Reviewed by Tony Chang.
3159 Test: storage/indexeddb/list-ordering.html
3161 * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
3162 (WebCore::DOMStringList::sort):
3164 * dom/DOMStringList.h:
3166 * storage/IDBDatabaseBackendImpl.cpp:
3167 (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
3168 * storage/IDBObjectStoreBackendImpl.cpp:
3169 (WebCore::IDBObjectStoreBackendImpl::indexNames):
3171 2012-02-29 W. James MacLean <wjmaclean@chromium.org>
3173 [chromium] Estimate pixel count for frame rate control
3174 https://bugs.webkit.org/show_bug.cgi?id=74982
3176 Reviewed by James Robinson.
3178 Value checks added to unit tests.
3180 Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.
3182 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3183 (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
3184 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3185 (WebCore::wedgeProduct):
3187 (WebCore::quadArea):
3188 (WebCore::CCQuadCuller::cullOccludedQuads):
3189 * platform/graphics/chromium/cc/CCQuadCuller.h:
3191 * platform/graphics/chromium/cc/CCRenderPass.cpp:
3192 (WebCore::CCRenderPass::optimizeQuads):
3193 * platform/graphics/chromium/cc/CCRenderPass.h:
3198 2012-02-29 Jason Liu <jason.liu@torchmobile.com.cn>
3200 [BlackBerry]Make about:cache feature available in release version.
3201 https://bugs.webkit.org/show_bug.cgi?id=79866
3203 Reviewed by Antonio Gomes.
3206 * platform/network/blackberry/NetworkJob.cpp:
3207 (WebCore::NetworkJob::handleAbout):
3209 2012-02-29 James Simonsen <simonjam@chromium.org>
3211 [chromium] Fix navigation start time on cross-renderer navigation
3212 https://bugs.webkit.org/show_bug.cgi?id=75922
3214 Reviewed by Darin Fisher.
3216 * loader/DocumentLoadTiming.cpp:
3217 (WebCore::DocumentLoadTiming::setNavigationStart): Added.
3218 * loader/DocumentLoadTiming.h:
3220 2012-02-29 Stephen Chenney <schenney@chromium.org>
3222 SVG <use> element allows invalid contents
3223 https://bugs.webkit.org/show_bug.cgi?id=77764
3225 Reviewed by Nikolas Zimmermann.
3227 Modify the isDisallowedElement method to disallow all of the
3228 disallowed elements, instead of just a few. It is now a whitelist
3231 This also fixes bugs 78807, 78838 and 79798 related to memory
3234 Tests: svg/custom/bug78807.svg
3235 svg/custom/bug78838.html
3236 svg/custom/bug79798.html
3238 * svg/SVGUseElement.cpp:
3239 (WebCore::isDisallowedElement):
3241 2012-02-29 Ami Fischman <fischman@chromium.org>
3243 Continue the search for playable mime types among <source> children of <video> even when using data: URLs
3244 https://bugs.webkit.org/show_bug.cgi?id=79934
3246 Reviewed by Eric Carlson.
3248 Test: media/sources-fallback-codecs.html
3250 * html/HTMLMediaElement.cpp:
3251 (WebCore::HTMLMediaElement::selectNextSourceChild):
3253 2012-02-29 Ian Vollick <vollick@chromium.org>
3255 [chromium] Add impl-thread support for animation-timing-function
3256 https://bugs.webkit.org/show_bug.cgi?id=79819
3258 Reviewed by James Robinson.
3261 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
3262 (WebCore::CCKeyframe::CCKeyframe):
3264 (WebCore::CCKeyframe::~CCKeyframe):
3265 (WebCore::CCKeyframe::time):
3266 (WebCore::CCKeyframe::timingFunction):
3267 (WebCore::CCFloatKeyframe::create):
3268 (WebCore::CCFloatKeyframe::CCFloatKeyframe):
3269 (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
3270 (WebCore::CCFloatKeyframe::value):
3271 (WebCore::CCFloatKeyframe::clone):
3272 (WebCore::CCTransformKeyframe::create):
3273 (WebCore::CCTransformKeyframe::CCTransformKeyframe):
3274 (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
3275 (WebCore::CCTransformKeyframe::value):
3276 (WebCore::CCTransformKeyframe::clone):
3277 (WebCore::CCKeyframedFloatAnimationCurve::create):
3278 (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
3279 (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
3280 (WebCore::CCKeyframedFloatAnimationCurve::duration):
3281 (WebCore::CCKeyframedFloatAnimationCurve::clone):
3282 (WebCore::CCKeyframedFloatAnimationCurve::getValue):
3283 (WebCore::CCKeyframedTransformAnimationCurve::create):
3284 (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
3285 (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
3286 (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
3287 (WebCore::CCKeyframedTransformAnimationCurve::duration):
3288 (WebCore::CCKeyframedTransformAnimationCurve::clone):
3289 (WebCore::CCKeyframedTransformAnimationCurve::getValue):
3290 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
3294 (CCTransformKeyframe):
3295 (CCKeyframedFloatAnimationCurve):
3296 (CCKeyframedTransformAnimationCurve):
3297 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3298 * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
3300 (WebCore::CCTimingFunction::CCTimingFunction):
3301 (WebCore::CCTimingFunction::~CCTimingFunction):
3302 (WebCore::CCTimingFunction::duration):
3303 (WebCore::CCCubicBezierTimingFunction::create):
3304 (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
3305 (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
3306 (WebCore::CCCubicBezierTimingFunction::getValue):
3307 (WebCore::CCCubicBezierTimingFunction::clone):
3308 (WebCore::CCEaseTimingFunction::create):
3309 (WebCore::CCEaseInTimingFunction::create):
3310 (WebCore::CCEaseOutTimingFunction::create):
3311 (WebCore::CCEaseInOutTimingFunction::create):
3312 * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
3315 (CCCubicBezierTimingFunction):
3316 (CCEaseTimingFunction):
3317 (CCEaseInTimingFunction):
3318 (CCEaseOutTimingFunction):
3319 (CCEaseInOutTimingFunction):
3321 2012-02-29 Shinya Kawanaka <shinyak@chromium.org>
3323 Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
3324 https://bugs.webkit.org/show_bug.cgi?id=79768
3326 Reviewed by Hajime Morita.
3328 Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
3329 They should consider multiple shadow roots.
3331 Test: fast/dom/shadow/multiple-shadowroot-adopt.html
3333 * dom/ShadowTree.cpp:
3334 (WebCore::ShadowTree::setParentTreeScope):
3336 (WebCore::ShadowTree::childNeedsStyleRecalc):
3337 (WebCore::ShadowTree::needsStyleRecalc):
3341 * dom/TreeScopeAdopter.cpp:
3342 (WebCore::shadowTreeFor):
3343 (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3344 (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
3345 (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
3347 * dom/TreeScopeAdopter.h:
3350 2012-02-29 David Levin <levin@chromium.org>
3352 [chromium] Add the ability to turn off autoresize.
3353 https://bugs.webkit.org/show_bug.cgi?id=77452
3355 Reviewed by Darin Fisher.
3357 Test: fast/autoresize/turn-off-autoresize.html
3359 * page/FrameView.cpp:
3360 (WebCore::FrameView::enableAutoSizeMode): Fix the code
3361 path for turning off autoresize to set the scrollbars to auto.
3363 2012-02-29 David Barton <dbarton@mathscribe.com>
3365 <msubsup> setNeedsLayout() correction
3366 https://bugs.webkit.org/show_bug.cgi?id=79856
3368 Reviewed by Julien Chaffraix.
3370 m_scripts->setNeedsLayout(true, false); needs to be added to the fix for bug 79274.
3372 No new tests. It's actually difficult to test the need for this with the current code,
3373 because there are a lot of extra setNeedsLayout() calls right now. I caught this after
3374 removing some of those calls that should be redundant, for a future patch. Actually
3375 removing those calls now changes other behavior, due to other bugs, so I'll save all
3376 that for future patches. We should land this fix now though I think, as it could
3377 possibly matter in some cases.
3379 * rendering/mathml/RenderMathMLSubSup.cpp:
3380 (WebCore::RenderMathMLSubSup::layout):
3382 2012-02-29 Andreas Kling <awesomekling@apple.com>
3384 IsSynchronizingStyleAttributeFlag could be purged.
3385 <http://webkit.org/b/79313>
3387 Reviewed by Anders Carlsson.
3389 We were using IsSynchronizingStyleAttributeFlag to prevent various things from
3390 happening below setAttribute() when serializing the "style" attribute based on
3391 an element's inline style.
3393 Simplify the whole thing by adding a way to set an attribute without triggering
3394 any callbacks (a 'notifyChanged' argument to Element::setAttribute().)
3395 This removes the need for IsSynchronizingStyleAttributeFlag in the first place
3396 and makes StyledElement::updateStyleAttribute() a bit cheaper to boot.
3399 (WebCore::Element::setAttribute):
3400 (WebCore::Element::setAttributeInternal):
3401 (WebCore::Element::willModifyAttribute):
3402 (WebCore::Element::didModifyAttribute):
3403 (WebCore::Element::didRemoveAttribute):
3406 * dom/StyledElement.cpp:
3407 (WebCore::StyledElement::updateStyleAttribute):
3408 (WebCore::StyledElement::attributeChanged):
3409 * html/HTMLElement.cpp:
3410 (WebCore::StyledElement::copyNonAttributeProperties):
3412 2012-02-29 Daniel Cheng <dcheng@chromium.org>
3414 [chromium] REGRESSION: Cannot drag a file out
3415 https://bugs.webkit.org/show_bug.cgi?id=79817
3417 Reviewed by Ryosuke Niwa.
3419 Temporary fix for file drag out. This change won't be needed once DataTransferItemList
3420 support is better implemented.
3422 Test: platform/chromium/fast/events/drag-downloadURL.html
3424 * platform/chromium/ChromiumDataObject.cpp:
3425 (WebCore::ChromiumDataObject::types):
3427 2012-02-29 Luke Macpherson <macpherson@chromium.org>
3429 Clean up CSSPrimitiveValue::computeLengthDouble().
3430 https://bugs.webkit.org/show_bug.cgi?id=77065
3432 Reviewed by Eric Seidel.
3434 Refactoring only / no behavioral change.
3436 * css/CSSPrimitiveValue.cpp:
3437 (WebCore::CSSPrimitiveValue::computeLengthDouble):
3439 2012-02-29 Beth Dakin <bdakin@apple.com>
3441 Speculative build-fix.
3443 * rendering/RenderImage.cpp:
3444 (WebCore::RenderImage::paintReplaced):
3446 2012-02-29 Beth Dakin <bdakin@apple.com>
3448 https://bugs.webkit.org/show_bug.cgi?id=79705
3449 didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead
3452 <rdar://problem/10821314>
3454 Reviewed by Dave Hyatt.
3456 Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of
3457 relevant painted objects has reached a port-defined threshold, this patch
3458 looks at the size of those objects with respect to the view area. The patch
3459 also looks at relevant objects that cannot yet be fully painted, such as
3460 incrementally loading images.
3462 We no longer need a HashSet for the relevant painted objects since Region can
3463 do all of the heavy lifting. We now have a Region for the painted and
3464 unpainted regions. We do need a HashSet for the unpainted objects though,
3465 because we need to know if a painted object needs to be subtracted from the
3466 unpainted region before being added to the painted region.
3469 (WebCore::Page::isCountingRelevantRepaintedObjects):
3470 (WebCore::Page::startCountingRelevantRepaintedObjects):
3471 (WebCore::Page::resetRelevantPaintedObjectCounter):