f32b1eea5de3a257dc8795fd5cbcebc9ffb65993
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-14  Adrienne Walker  <enne@google.com>
2
3         [chromium] Refactor tile drawing to be more data-driven
4         https://bugs.webkit.org/show_bug.cgi?id=73059
5
6         Reviewed by James Robinson.
7
8         Partially tested by compositor layout tests. Debug borders and
9         checkerboarding tested manually.
10
11         This is the first part of a move towards rendering quads on screen
12         from a bag of data rather than in virtual CCLayerImpl::draw functions.
13
14         CCDrawQuad-derived classes store material-specific pieces of data to
15         use when rendering. CCLayerImpl classes now create these CCDrawQuad
16         objects rather than issuing direct GL commands. Where this data is
17         shared between quads that come from the same layer, that data is
18         stored in a CCSharedQuadState object rather than duplicated.
19
20         CCRenderPass is the class that holds the list of quads and the target
21         surface that they draw into. Drawing a frame consists of drawing a
22         series of render passes onto their respective surfaces.
23
24         CCLayerTreeHostImpl constructs these render passes from the output of
25         calculateDrawTransformsAndVisibility by asking each layer to insert
26         quads into a list and hands them off to LayerRendererChromium for
27         rendering.
28
29         * WebCore.gypi:
30         * platform/graphics/chromium/LayerRendererChromium.cpp:
31         (WebCore::LayerRendererChromium::clearSurfaceForDebug):
32         (WebCore::LayerRendererChromium::beginDrawingFrame):
33         (WebCore::LayerRendererChromium::drawRenderPass):
34         (WebCore::LayerRendererChromium::drawQuad):
35         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
36         (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
37         (WebCore::LayerRendererChromium::drawSolidColorQuad):
38         (WebCore::tileUniformLocation):
39         (WebCore::findTileProgramUniforms):
40         (WebCore::LayerRendererChromium::drawTileQuad):
41         (WebCore::LayerRendererChromium::drawCustomLayerQuad):
42         (WebCore::LayerRendererChromium::finishDrawingFrame):
43         (WebCore::LayerRendererChromium::useRenderSurface):
44         * platform/graphics/chromium/LayerRendererChromium.h:
45         * platform/graphics/chromium/ShaderChromium.h:
46         (WebCore::FragmentTexAlphaBinding::edgeLocation):
47         (WebCore::FragmentTexAlphaBinding::fragmentTexTransformLocation):
48         (WebCore::FragmentTexOpaqueBinding::edgeLocation):
49         (WebCore::FragmentTexOpaqueBinding::fragmentTexTransformLocation):
50         * platform/graphics/chromium/TiledLayerChromium.cpp:
51         (WebCore::TiledLayerChromium::pushPropertiesTo):
52         * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp: Added.
53         (WebCore::CCCustomLayerDrawQuad::create):
54         (WebCore::CCCustomLayerDrawQuad::CCCustomLayerDrawQuad):
55         * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h: Added.
56         (WebCore::CCCustomLayerDrawQuad::layer):
57         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Added.
58         (WebCore::CCDebugBorderDrawQuad::create):
59         (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
60         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Added.
61         (WebCore::CCDebugBorderDrawQuad::color):
62         (WebCore::CCDebugBorderDrawQuad::width):
63         * platform/graphics/chromium/cc/CCDrawQuad.cpp: Added.
64         (WebCore::CCDrawQuad::CCDrawQuad):
65         (WebCore::CCDrawQuad::toDebugBorderDrawQuad):
66         (WebCore::CCDrawQuad::toRenderSurfaceDrawQuad):
67         (WebCore::CCDrawQuad::toSolidColorDrawQuad):
68         (WebCore::CCDrawQuad::toTileDrawQuad):
69         (WebCore::CCDrawQuad::toCustomLayerDrawQuad):
70         * platform/graphics/chromium/cc/CCDrawQuad.h: Added.
71         (WebCore::CCDrawQuad::quadRect):
72         (WebCore::CCDrawQuad::quadTransform):
73         (WebCore::CCDrawQuad::layerTransform):
74         (WebCore::CCDrawQuad::layerRect):
75         (WebCore::CCDrawQuad::clipRect):
76         (WebCore::CCDrawQuad::opacity):
77         (WebCore::CCDrawQuad::drawsOpaque):
78         (WebCore::CCDrawQuad::needsBlending):
79         (WebCore::CCDrawQuad::isLayerAxisAlignedIntRect):
80         (WebCore::CCDrawQuad::material):
81         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
82         (WebCore::CCLayerImpl::createSharedQuadState):
83         (WebCore::CCLayerImpl::appendQuads):
84         (WebCore::CCLayerImpl::appendDebugBorderQuad):
85         (WebCore::CCLayerImpl::quadTransform):
86         * platform/graphics/chromium/cc/CCLayerImpl.h:
87         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
88         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
89         (WebCore::computeScreenSpaceTransformForSurface):
90         (WebCore::damageInSurfaceSpace):
91         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
92         (WebCore::CCLayerTreeHostImpl::drawLayers):
93         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
94         * platform/graphics/chromium/cc/CCRenderPass.cpp: Added.
95         (WebCore::CCRenderPass::create):
96         (WebCore::CCRenderPass::CCRenderPass):
97         (WebCore::CCRenderPass::appendQuadsForLayer):
98         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
99         * platform/graphics/chromium/cc/CCRenderPass.h: Added.
100         (WebCore::CCRenderPass::quadList):
101         (WebCore::CCRenderPass::targetSurface):
102         (WebCore::CCRenderPass::setSurfaceDamageRect):
103         (WebCore::CCRenderPass::surfaceDamageRect):
104         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: Added.
105         (WebCore::CCRenderSurfaceDrawQuad::create):
106         (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
107         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: Added.
108         (WebCore::CCRenderSurfaceDrawQuad::layer):
109         (WebCore::CCRenderSurfaceDrawQuad::surfaceDamageRect):
110         * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Added.
111         (WebCore::CCSharedQuadState::create):
112         (WebCore::CCSharedQuadState::CCSharedQuadState):
113         (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
114         * platform/graphics/chromium/cc/CCSharedQuadState.h: Added.
115         (WebCore::CCSharedQuadState::quadTransform):
116         (WebCore::CCSharedQuadState::layerTransform):
117         (WebCore::CCSharedQuadState::layerRect):
118         (WebCore::CCSharedQuadState::clipRect):
119         (WebCore::CCSharedQuadState::opacity):
120         (WebCore::CCSharedQuadState::isOpaque):
121         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Added.
122         (WebCore::CCSolidColorDrawQuad::create):
123         (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
124         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Added.
125         (WebCore::CCSolidColorDrawQuad::color):
126         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Added.
127         (WebCore::CCTileDrawQuad::create):
128         (WebCore::CCTileDrawQuad::CCTileDrawQuad):
129         * platform/graphics/chromium/cc/CCTileDrawQuad.h: Added.
130         (WebCore::CCTileDrawQuad::textureId):
131         (WebCore::CCTileDrawQuad::textureOffset):
132         (WebCore::CCTileDrawQuad::textureSize):
133         (WebCore::CCTileDrawQuad::textureFilter):
134         (WebCore::CCTileDrawQuad::swizzleContents):
135         (WebCore::CCTileDrawQuad::leftEdgeAA):
136         (WebCore::CCTileDrawQuad::topEdgeAA):
137         (WebCore::CCTileDrawQuad::rightEdgeAA):
138         (WebCore::CCTileDrawQuad::bottomEdgeAA):
139         (WebCore::CCTileDrawQuad::isAntialiased):
140         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
141         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
142         (WebCore::CCTiledLayerImpl::quadTransform):
143         (WebCore::CCTiledLayerImpl::appendQuads):
144         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
145         (WebCore::CCTiledLayerImpl::setContentsSwizzled):
146         (WebCore::CCTiledLayerImpl::contentsSwizzled):
147
148 2011-12-14  Ojan Vafai  <ojan@chromium.org>
149
150         Implement flexDirection and flexWrap and make flexFlow a proper shorthand.
151         https://bugs.webkit.org/show_bug.cgi?id=74542
152
153         Reviewed by Tony Chang.
154
155         In a followup patch, I'll cleanup all the *Flow methods in RenderFlexibleBox.
156
157         Existing tests cover all the rendering behaviors, so only need to test
158         the css property parsing.
159
160         * css/CSSComputedStyleDeclaration.cpp:
161         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
162         * css/CSSMutableStyleDeclaration.cpp:
163         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
164         * css/CSSParser.cpp:
165         (WebCore::CSSParser::parseValue):
166         * css/CSSPrimitiveValueMappings.h:
167         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
168         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
169         * css/CSSProperty.cpp:
170         (WebCore::CSSProperty::isInheritedProperty):
171         * css/CSSPropertyLonghand.cpp:
172         (WebCore::initShorthandMap):
173         * css/CSSPropertyNames.in:
174         * css/CSSStyleApplyProperty.cpp:
175         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
176         * css/CSSStyleSelector.cpp:
177         (WebCore::CSSStyleSelector::applyProperty):
178         * rendering/RenderBox.cpp:
179         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
180         * rendering/RenderFlexibleBox.cpp:
181         (WebCore::RenderFlexibleBox::isColumnFlow):
182         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
183         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
184         (WebCore::RenderFlexibleBox::alignChildren):
185         * rendering/style/RenderStyle.h:
186         (WebCore::InheritedFlags::flexDirection):
187         (WebCore::InheritedFlags::isColumnFlexDirection):
188         (WebCore::InheritedFlags::setFlexDirection):
189         (WebCore::InheritedFlags::initialFlexDirection):
190         * rendering/style/RenderStyleConstants.h:
191         * rendering/style/StyleFlexibleBoxData.cpp:
192         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
193         (WebCore::StyleFlexibleBoxData::operator==):
194         * rendering/style/StyleFlexibleBoxData.h:
195
196 2011-12-13  Jon Lee  <jonlee@apple.com>
197
198         Enable notifications on Mac.
199
200         Reviewed by Sam Weinig.
201
202         * Configurations/FeatureDefines.xcconfig:
203
204 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
205
206         COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
207         https://bugs.webkit.org/show_bug.cgi?id=74327
208
209         Reviewed by Darin Adler.
210
211         Always use unsigned instead of bool and unsigned in the bitfields of RuleData to shrink
212         its size under MSVC.
213
214         Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
215         in bitfields. e.g. if you have:
216         sturct AB {
217             unsigned m_1 : 31;
218             bool m_2 : 1;
219         }
220         then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
221         only allocate sizeof(unsigned) * 1 for AB.
222
223         * css/CSSStyleSelector.cpp:
224         (WebCore::RuleData::RuleData):
225
226 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
227
228         NodeChildList shouldn't be in NodeListNodeData
229         https://bugs.webkit.org/show_bug.cgi?id=73969
230
231         Reviewed by Sam Weinig.
232
233         Move NodeChildList out of NodeListNodeData to separate it from the other node lists in order to
234         resolve the bug 73853. Unlike other DynamicNodeList, we don't need to invalidate NodeChildList
235         on ancestors when children change. Moving ChildNodeList out of NodeListNodeData makes this difference
236         apparent and makes DynamicNodeList::Caches in NodeListNodeData always held by a DynamicSubtreeNodeList,
237         eliminating the need for hasOwnCaches() checks in various places.
238
239         Also renamed the existing DynamicNodeList to DynamicSubtreeNodeList and re-introduced DynamicNodeList
240         from which DynamicSubtreeNodeList and ChildNodeList both inherit to share the code for itemWithName.
241
242         In addition, renamed registerDynamicNodeList and unregisterDynamicNodeList, which updates a counter for
243         TreeScope::hasNodeListCaches, to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList
244         respectively. They are no longer called by ChildNodeList in order to avoid walking up the DOM tree
245         inside invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
246
247         Test: fast/dom/childnode-item-after-itemname.html
248
249         * bindings/js/JSNodeListCustom.cpp:
250         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
251         * dom/ChildNodeList.cpp:
252         (WebCore::ChildNodeList::ChildNodeList):
253         (WebCore::ChildNodeList::length):
254         (WebCore::ChildNodeList::item):
255         (WebCore::ChildNodeList::nodeMatches):
256         * dom/ChildNodeList.h:
257         * dom/ClassNodeList.cpp:
258         (WebCore::ClassNodeList::ClassNodeList):
259         (WebCore::ClassNodeList::~ClassNodeList):
260         * dom/ClassNodeList.h:
261         * dom/ContainerNode.cpp:
262         (WebCore::ContainerNode::childrenChanged):
263         * dom/DynamicNodeList.cpp:
264         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
265         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
266         (WebCore::DynamicSubtreeNodeList::length):
267         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
268         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
269         (WebCore::DynamicSubtreeNodeList::item):
270         (WebCore::DynamicNodeList::itemWithName):
271         (WebCore::DynamicSubtreeNodeList::isDynamicNodeList):
272         (WebCore::DynamicSubtreeNodeList::invalidateCache):
273         (WebCore::DynamicSubtreeNodeList::Caches::Caches):
274         (WebCore::DynamicSubtreeNodeList::Caches::create):
275         (WebCore::DynamicSubtreeNodeList::Caches::reset):
276         * dom/DynamicNodeList.h:
277         (WebCore::DynamicNodeList::DynamicNodeList):
278         (WebCore::DynamicNodeList::~DynamicNodeList):
279         (WebCore::DynamicNodeList::node):
280         (WebCore::DynamicSubtreeNodeList::rootNode):
281         * dom/NameNodeList.cpp:
282         (WebCore::NameNodeList::NameNodeList):
283         (WebCore::NameNodeList::~NameNodeList):
284         * dom/NameNodeList.h:
285         * dom/Node.cpp:
286         (WebCore::Node::childNodes):
287         (WebCore::Node::registerDynamicSubtreeNodeList):
288         (WebCore::Node::unregisterDynamicSubtreeNodeList):
289         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
290         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
291         (WebCore::Node::removeCachedClassNodeList):
292         (WebCore::Node::removeCachedNameNodeList):
293         (WebCore::Node::removeCachedTagNodeList):
294         (WebCore::Node::removeCachedLabelsNodeList):
295         (WebCore::NodeListsNodeData::invalidateCaches):
296         (WebCore::NodeListsNodeData::isEmpty):
297         (WebCore::NodeRareData::clearChildNodeListCache):
298         * dom/Node.h:
299         * dom/NodeRareData.h:
300         (WebCore::NodeRareData::nodeLists):
301         (WebCore::NodeRareData::ensureChildNodeListCache):
302         * dom/TagNodeList.cpp:
303         (WebCore::TagNodeList::TagNodeList):
304         (WebCore::TagNodeList::~TagNodeList):
305         * dom/TagNodeList.h:
306         * html/LabelsNodeList.cpp:
307         (WebCore::LabelsNodeList::LabelsNodeList):
308         * html/LabelsNodeList.h:
309
310 2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
311
312         Push more member functions from EditCommand to CompositeEditCommand
313         https://bugs.webkit.org/show_bug.cgi?id=74249
314
315         Reviewed by Enrica Casucci.
316
317         Moved startingRootEditableElement and endingRootEditableElement from EditCommand to EditCommandComposition,
318         and isTypingCommand, preservesTypingStyle, shouldRetainAutocorrectionIndicator,
319         setShouldRetainAutocorrectionIndicator, and shouldStopCaretBlinking from EditCommand to CompositeEditCommand.
320         Also removed EditCommand::updateLayout().
321
322         * editing/ApplyBlockElementCommand.cpp:
323         (WebCore::ApplyBlockElementCommand::doApply):
324         * editing/ApplyStyleCommand.cpp:
325         (WebCore::ApplyStyleCommand::applyBlockStyle):
326         (WebCore::ApplyStyleCommand::applyInlineStyle):
327         * editing/CompositeEditCommand.cpp:
328         (WebCore::EditCommandComposition::EditCommandComposition):
329         (WebCore::EditCommandComposition::setStartingSelection):
330         (WebCore::EditCommandComposition::setEndingSelection):
331         (WebCore::CompositeEditCommand::preservesTypingStyle):
332         (WebCore::CompositeEditCommand::isTypingCommand):
333         (WebCore::CompositeEditCommand::shouldRetainAutocorrectionIndicator):
334         (WebCore::CompositeEditCommand::setShouldRetainAutocorrectionIndicator):
335         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
336         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
337         (WebCore::CompositeEditCommand::moveParagraphs):
338         * editing/CompositeEditCommand.h:
339         (WebCore::EditCommandComposition::startingRootEditableElement):
340         (WebCore::EditCommandComposition::endingRootEditableElement):
341         (WebCore::CompositeEditCommand::shouldStopCaretBlinking):
342         * editing/DeleteSelectionCommand.cpp:
343         (WebCore::DeleteSelectionCommand::removeNode):
344         (WebCore::DeleteSelectionCommand::fixupWhitespace):
345         * editing/EditCommand.cpp:
346         (WebCore::EditCommand::apply):
347         (WebCore::EditCommand::unapply):
348         (WebCore::EditCommand::reapply):
349         (WebCore::EditCommand::setStartingSelection):
350         (WebCore::EditCommand::setEndingSelection):
351         (WebCore::EditCommand::setParent):
352         * editing/EditCommand.h:
353         (WebCore::EditCommand::isEditCommandComposition):
354         * editing/Editor.cpp:
355         (WebCore::dispatchEditableContentChangedEvents):
356         (WebCore::Editor::appliedEditing):
357         (WebCore::Editor::unappliedEditing):
358         (WebCore::Editor::reappliedEditing):
359         * editing/Editor.h:
360         (WebCore::Editor::lastEditCommand):
361         * editing/FrameSelection.cpp:
362         (WebCore::FrameSelection::updateAppearance):
363         * editing/IndentOutdentCommand.cpp:
364         (WebCore::IndentOutdentCommand::outdentParagraph):
365         * editing/InsertLineBreakCommand.cpp:
366         (WebCore::InsertLineBreakCommand::doApply):
367         * editing/InsertParagraphSeparatorCommand.cpp:
368         (WebCore::InsertParagraphSeparatorCommand::doApply):
369         * editing/TypingCommand.cpp:
370         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
371         * editing/TypingCommand.h:
372         (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
373
374 2011-12-14  Tony Chang  <tony@chromium.org>
375
376         Fix compile on gcc on Mac.
377
378         css/CSSStyleSelector.cpp:1254:166: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
379         css/CSSStyleSelector.cpp:1425:134: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
380
381         * css/CSSStyleSelector.cpp:
382         (WebCore::CSSStyleSelector::styleForElement):
383         (WebCore::CSSStyleSelector::pseudoStyleForElement):
384
385 2011-12-14  Brady Eidson  <beidson@apple.com>
386
387         <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
388         REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element
389
390         Reviewed by Darin Adler.
391
392         Test: media/crash-closing-page-with-media-as-plugin-fallback.html
393
394         Switch HTMLPlugInImageElement from using document activation callbacks to using the ActiveDOMObject
395         mechanism which will prevent the unnecessary (and crashy) work at Document teardown:
396         * html/HTMLPlugInImageElement.cpp:
397         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
398         (WebCore::HTMLPlugInImageElement::canSuspend):
399         (WebCore::HTMLPlugInImageElement::suspend):
400         (WebCore::HTMLPlugInImageElement::resume):
401         * html/HTMLPlugInImageElement.h:
402
403 2011-12-14  Adrienne Walker  <enne@google.com>
404
405         [chromium] Compositor needs to set texture filtering on canvas layers
406         https://bugs.webkit.org/show_bug.cgi?id=74530
407
408         Reviewed by James Robinson.
409
410         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
411         (WebCore::CCCanvasLayerImpl::draw):
412
413 2011-12-14  Tony Chang  <tony@chromium.org>
414
415         Remove added calls to CSSStyleSelector to gain back another 2% in page cyclers
416         https://bugs.webkit.org/show_bug.cgi?id=74537
417
418         Reviewed by Ojan Vafai.
419
420         In r102234, calls to initForRegionStyling() were added in CSSStyleSelector.
421         There's still a 2% perf regression in chromium page cyclers, so try removing
422         these calls.
423
424         * css/CSSStyleSelector.cpp:
425         (WebCore::CSSStyleSelector::styleForElement):
426         (WebCore::CSSStyleSelector::pseudoStyleForElement):
427
428 2011-12-14  Jonathan Backer  <backer@chromium.org>
429
430         [chromium] Plumb through flag for enabling partial swap
431         https://bugs.webkit.org/show_bug.cgi?id=74513
432
433         Reviewed by James Robinson.
434
435         * page/Settings.h:
436         (WebCore::Settings::setPartialSwapEnabled):
437         (WebCore::Settings::partialSwapEnabled):
438         * platform/graphics/chromium/LayerRendererChromium.cpp:
439         (WebCore::LayerRendererChromium::initialize):
440         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
441         (WebCore::CCSettings::CCSettings):
442
443 2011-12-14  Mike Reed  <reed@google.com>
444
445         [skia] cache typeface in FontPlatformData
446         https://bugs.webkit.org/show_bug.cgi?id=74415
447
448         Reviewed by Stephen White.
449
450         No new tests. Existing tests apply, this is just an optimization
451         to avoid looking up the typeface on each drawText call.
452
453         * platform/graphics/chromium/FontChromiumWin.cpp:
454         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
455         (WebCore::Font::drawGlyphs):
456         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
457         (WebCore::createTypefaceFromHFont):
458         (WebCore::FontPlatformData::FontPlatformData):
459         (WebCore::FontPlatformData::operator=):
460         (WebCore::FontPlatformData::~FontPlatformData):
461         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
462         (WebCore::FontPlatformData::typeface):
463         (WebCore::FontPlatformData::lfQuality):
464         (WebCore::FontPlatformData::hash):
465         (WebCore::FontPlatformData::operator==):
466         * platform/graphics/skia/SkiaFontWin.cpp:
467         (WebCore::setupPaintForFont):
468         (WebCore::paintSkiaText):
469         * platform/graphics/skia/SkiaFontWin.h:
470
471 2011-12-14  Simon Fraser  <simon.fraser@apple.com>
472
473         Make -webkit-filter animatable
474         https://bugs.webkit.org/show_bug.cgi?id=68476
475
476         Reviewed by Chris Marrin.
477         
478         Add -webkit-filter to the list of CSS properties that are animatable. Animate
479         it like we do transforms, by looking for matching lists of filter functions.
480         Each kind of filter operation has a blend() method that handles blending
481         for that filter.
482
483         Test: css3/filters/filter-animation.html
484
485         * GNUmakefile.list.am: Add FilterOperation.cpp to the build.
486         * Target.pri: Ditto
487         * WebCore.gypi: Ditto
488         * WebCore.vcproj/WebCore.vcproj: Ditto
489         * WebCore.xcodeproj/project.pbxproj: Ditto
490         * page/animation/AnimationBase.cpp:
491         (WebCore::blendFunc): New blendFunc() for FilterOperations, which does per-filter blending.
492         (WebCore::AnimationBase::ensurePropertyMap): Make PropertyWrapper for filters.
493         (WebCore::AnimationBase::AnimationBase): Adjust initialization order.
494         * page/animation/AnimationBase.h: Adjusted the member variable order to minimize padding.
495         (WebCore::AnimationBase::filterFunctionListsMatch): Accessor for the flag.
496         * page/animation/ImplicitAnimation.cpp:
497         (WebCore::ImplicitAnimation::reset):
498         (WebCore::ImplicitAnimation::validateTransformFunctionList): Adjust comment. The "is valid" terminology is confusing.
499         (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
500         of filter functions.
501         * page/animation/ImplicitAnimation.h:
502         * page/animation/KeyframeAnimation.cpp:
503         (WebCore::KeyframeAnimation::KeyframeAnimation):
504         (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
505         of filter functions.
506         * page/animation/KeyframeAnimation.h:
507         * rendering/style/FilterOperation.cpp: Added.
508         (WebCore::BasicColorMatrixFilterOperation::blend):
509         (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
510         (WebCore::BasicComponentTransferFilterOperation::blend):
511         (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Different filters have
512         different values for m_amount for the "passthrough" behavior. This method returns the appropriate value.
513         (WebCore::GammaFilterOperation::blend):
514         (WebCore::BlurFilterOperation::blend):
515         (WebCore::DropShadowFilterOperation::blend):
516         * rendering/style/FilterOperation.h:
517         (WebCore::FilterOperation::blend):
518         (WebCore::PassthroughFilterOperation::create): New "no-op" filter.
519         (WebCore::PassthroughFilterOperation::operator==):
520         (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
521         * rendering/style/FilterOperations.cpp:
522         (WebCore::FilterOperations::operationsMatch):
523         * rendering/style/FilterOperations.h:
524
525 2011-12-14  Adam Klein  <adamk@chromium.org>
526
527         Broaden support for mutation observation of attributes
528         https://bugs.webkit.org/show_bug.cgi?id=74448
529
530         Reviewed by Ryosuke Niwa.
531
532         The previously-landed MutationObserver support for attributes was incomplete:
533         it didn't support mutations related to Attr nodes (methods on Attrs,
534         setAttributeNode/removeAttributeNode on Element, or methods on NamedNodeMap).
535
536         This patch adds full support of mutation observation for all these cases,
537         and adds test cases for all these situations.
538
539         * dom/Attr.cpp:
540         (WebCore::Attr::setValue): Enqueue a mutation record when Attr.value is set from JS.
541         (WebCore::Attr::childrenChanged): Enqueue a mutation record when an Attr's value
542         changes to due additions/removals of Text children.
543         * dom/Element.cpp:
544         (WebCore::Element::enqueueAttributesMutationRecordIfRequested): Previously a static,
545         expose as part of Element's interface to allow it to be re-used by NamedNodeMap and Attr.
546         (WebCore::Element::removeAttribute): Remove enqueue call now handled by NamedNodeMap.
547         (WebCore::Element::setAttributeInternal): Fixup call of enqueueAttributesMutationRecordIfRequested.
548         * dom/Element.h:
549         * dom/NamedNodeMap.cpp:
550         (WebCore::NamedNodeMap::setNamedItem): Enqueue a mutation record when an attribute
551         is changed via Element.attributes.setNamedItem from JS.
552         (WebCore::NamedNodeMap::removeNamedItem): Enqueue a mutation record when an
553         attribute is removed, either via Element.attributes.removeNamedItem or Element.removeAttribute.
554
555 2011-12-14  Raymond Toy  <rtoy@google.com>
556
557         * platform/audio/Distance.h (WebCore): 
558
559         Incorrect calculation for DistanceEffect linearGain
560         https://bugs.webkit.org/show_bug.cgi?id=72871
561
562         Reviewed by Kenneth Russell.
563
564         Tests still need to be written for all distance models.  This
565         does not add a new API and just corrects an implementation error. 
566
567         * platform/audio/Distance.cpp:
568         (WebCore::DistanceEffect::linearGain): Implement correct
569         linearGain function.  (Fix proposed by davidgaleano@hotmail.com.)
570         * platform/audio/Distance.h: Add link to Open AL specification. 
571         
572
573 2011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
574
575         Web Inspector: consider disabling network tracking while running the CPU profile.
576         https://bugs.webkit.org/show_bug.cgi?id=74221
577
578         The WebCore instrumentation on the backend affects the performance of inspected page.
579         As the result the CPU profiler's stats data are far away from the reality.
580         Solution: the profiler code will temporary disable the resource tracking on backend.
581         Side effect: the resource tree gets out of sinc because it uses Network Agent's notifications for updating the resource tree.
582         Solution: NetworkManager will report about the changes of the resource tracking state and ResourcePanel will re-fetch the resources tree.
583
584         Reviewed by Pavel Feldman.
585
586         * inspector/front-end/NetworkManager.js:
587         (WebInspector.NetworkManager.prototype.enableResourceTracking.networkAgentEnabled):
588         (WebInspector.NetworkManager.prototype.enableResourceTracking):
589         (WebInspector.NetworkManager.prototype.disableResourceTracking.networkAgentDisabled):
590         (WebInspector.NetworkManager.prototype.disableResourceTracking):
591         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
592         * inspector/front-end/ProfileView.js:
593         (WebInspector.CPUProfileType.prototype.buttonClicked):
594         * inspector/front-end/ResourceTreeModel.js:
595         (WebInspector.ResourceTreeModel):
596         (WebInspector.ResourceTreeModel.prototype._onResourceTrackingEnabled):
597
598 2011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
599
600         [GTK] Fix PlatformScreen::screenAvailableRect when there's no view widget
601         https://bugs.webkit.org/show_bug.cgi?id=74520
602
603         Reviewed by Martin Robinson.
604
605         Use the default screen to get the available screen area instead of
606         just returning an empty rectangle. This is useful for WebKit2,
607         since there's no view widget in the web process.
608
609         * platform/gtk/PlatformScreenGtk.cpp:
610         (WebCore::screenAvailableRect):
611
612 2011-12-14  Eric Carlson  <eric.carlson@apple.com>
613
614         Media url with fragment may not load
615         https://bugs.webkit.org/show_bug.cgi?id=74443
616
617         Reviewed by Darin Adler.
618
619         Test: media/media-extension-with-fragment.html
620
621         * html/HTMLMediaElement.cpp:
622         (WebCore::HTMLMediaElement::loadResource): Pass the KURL to MediaPlayer, let it extract a
623             String when it needs it.
624
625         * platform/graphics/MediaPlayer.cpp:
626         (WebCore::MediaPlayer::load): Take a KURL, not a String. Look for the file extension in the 
627             last path component so we don't examine fragments and/or queries.
628         * platform/graphics/MediaPlayer.h:
629
630 2011-12-14  Jacky Jiang  <zhajiang@rim.com>
631
632         [BlackBerry] Remove some duplicate entries in Source/WebCore/PlatformBlackBerry.cmake
633         https://bugs.webkit.org/show_bug.cgi?id=74484
634
635         Reviewed by Daniel Bates.
636
637         Trivial fix, so no new tests.
638
639         * PlatformBlackBerry.cmake:
640
641 2011-12-14  Anders Carlsson  <andersca@apple.com>
642
643         Add back the callOnMainThread overload that takes a WTF::Function
644         https://bugs.webkit.org/show_bug.cgi?id=74512
645
646         Reviewed by Darin Adler.
647
648         Explicitly qualify the Function enum flag, since MSVC2005 is too stupid to disambiguate
649         the Function class template and the enum flag.
650
651         * bindings/js/JSDOMWindowCustom.cpp:
652         (WebCore::JSDOMWindow::getOwnPropertySlot):
653         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
654         * bindings/js/JSHistoryCustom.cpp:
655         (WebCore::JSHistory::getOwnPropertySlotDelegate):
656         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
657         * bindings/js/JSLocationCustom.cpp:
658         (WebCore::JSLocation::getOwnPropertySlotDelegate):
659         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
660
661 2011-12-14  Kenneth Russell  <kbr@google.com>
662
663         Unreviewed, rolling out r102688.
664         http://trac.webkit.org/changeset/102688
665         https://bugs.webkit.org/show_bug.cgi?id=74220
666
667         Under the hypothesis that it might be the cause of
668         browser_tests and ui_tests crashes on Chromium canaries --
669         will reland if not.
670
671         * bindings/v8/V8Proxy.cpp:
672         (WebCore::addMessageToConsole):
673         (WebCore::logInfo):
674         (WebCore::V8Proxy::reportUnsafeAccessTo):
675         * bindings/v8/V8Proxy.h:
676         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
677         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
678
679 2011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
680
681         Web Inspector: DatabaseTableView should escape table name.
682         https://bugs.webkit.org/show_bug.cgi?id=74503
683
684         Reviewed by Pavel Feldman.
685
686         Test: inspector/database-table-name-excaping.html
687
688         * inspector/front-end/DatabaseTableView.js:
689         (WebInspector.DatabaseTableView.prototype._escapeTableName):
690         (WebInspector.DatabaseTableView.prototype.update):
691
692 2011-12-14  Philippe Normand  <pnormand@igalia.com>
693
694         [GStreamer] padTemplate leak in webkitwebaudiosrc
695         https://bugs.webkit.org/show_bug.cgi?id=74495
696
697         Reviewed by Martin Robinson.
698
699         Use a GstPadTemplate smart pointer in webkit_web_audio_src_init to
700         avoid a memory leak after the ghost pad creation.
701
702         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
703         (webkit_web_audio_src_init):
704         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
705         (WTF::adoptGRef):
706         (WTF::GstPadTemplate):
707         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
708
709 2011-12-14  Julien Chaffraix  <jchaffraix@webkit.org>
710
711         Crash in RenderBox::paintBoxDecorations when documentElement has no renderer
712         https://bugs.webkit.org/show_bug.cgi?id=64284
713
714         Reviewed by Ryosuke Niwa.
715
716         Test: fast/dynamic/crash-paint-no-documentElement-renderer.html
717
718         * rendering/RenderBox.cpp:
719         (WebCore::RenderBox::paintBackground): Check the documentElement's
720         renderer before using it which matches what RenderView does.
721
722 2011-12-14  Tom Sepez  <tsepez@chromium.org>
723
724         DocumentLoader should ref its mainResourceLoader.
725         https://bugs.webkit.org/show_bug.cgi?id=74424
726
727         Reviewed by Adam Barth.
728
729         Tests: platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-allowed.html
730                platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-blocked.html
731
732         * loader/DocumentLoader.cpp:
733         (WebCore::DocumentLoader::startLoadingMainResource):
734         * loader/MainResourceLoader.cpp:
735         (WebCore::MainResourceLoader::loadNow):
736
737 2011-12-14  Stephen White  <senorblanco@chromium.org>
738
739         CSS Filters should support GPU acceleration
740         https://bugs.webkit.org/show_bug.cgi?id=74441
741
742         Reviewed by Darin Adler.
743
744         Will be covered by existing CSS filters tests, when run in GPU mode.
745
746         * rendering/FilterEffectRenderer.cpp:
747         (WebCore::FilterEffectRenderer::prepare):
748         * rendering/RenderLayer.cpp:
749         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
750
751 2011-12-14  Brian Salomon  <bsalomon@google.com>
752
753         [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
754         https://bugs.webkit.org/show_bug.cgi?id=73953
755
756         Reviewed by Stephen White.
757
758         Tested by existing canvas2d layout tests.
759
760         * platform/graphics/skia/ImageBufferSkia.cpp:
761         (WebCore::putImageData):
762         (WebCore::ImageBuffer::putUnmultipliedImageData):
763         (WebCore::ImageBuffer::putPremultipliedImageData):
764
765 2011-12-14  Mary Wu  <mary.wu@torchmobile.com.cn>
766
767         Remove SharedBufferBlackBerry.cpp from WebCore/platform/blackberry
768         https://bugs.webkit.org/show_bug.cgi?id=74488
769
770         Reviewed by Rob Buis.
771
772         Remove dead code, no new tests.
773
774         * platform/blackberry/SharedBufferBlackBerry.cpp: Removed.
775
776 2011-12-14  Kentaro Hara  <haraken@chromium.org>
777
778         Use [Supplemental] IDL in WebSocket
779         https://bugs.webkit.org/show_bug.cgi?id=74160
780
781         Reviewed by Adam Barth.
782
783         By using the [Supplemental] IDL, this patch moves declarations of WebSocket
784         attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
785         which helps make WebSocket a self-contained module.
786
787         No new tests, no change in behavior.
788         Confirm that http/tests/websocket/* pass.
789
790         * WebCore.gypi: Added DOMWindowWebSocket.idl.
791         * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
792         * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
793
794 2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
795
796         Unreviewed fix. Broke qt minimal release compilation.
797
798         * platform/qt/RenderThemeQtMobile.cpp:
799
800 2011-12-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
801
802         Add different salt to different types of selectors. So the CSS fast
803         path can tell the different between tags and class attributes with
804         otherwise identical values.
805         https://bugs.webkit.org/show_bug.cgi?id=74284
806
807         Reviewed by Antti Koivisto.
808
809         * css/SelectorChecker.cpp:
810         (WebCore::collectElementIdentifierHashes):
811         (WebCore::collectDescendantSelectorIdentifierHashes):
812         * css/SelectorChecker.h:
813
814 2011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
815
816         [Qt] Mobile theme could use a little refresh
817         https://bugs.webkit.org/show_bug.cgi?id=74293
818
819         The look and feel of the "mobile theme" we're
820         using in QtWebKit dates back to the maemo 5 days.
821         This is an attempt at making it look less out of
822         place, and also support progress and range.
823
824         Reviewed by Kenneth Rohde Christiansen.
825
826         No new tests, this is still not the default theme
827         for tests.
828
829         * DerivedSources.pri:
830         * css/mobileThemeQt.css: Added.
831         (input[type="submit"], select):
832         (input[type="submit"]:disabled, input[type="submit"]:disabled:active, select:disabled, input[type="text"]:disabled):
833         (input[type="submit"]:active):
834         * platform/qt/RenderThemeQt.cpp:
835         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
836         (WebCore::StylePainter::StylePainter):
837         (WebCore::StylePainter::init):
838         (WebCore::StylePainter::~StylePainter):
839         * platform/qt/RenderThemeQt.h:
840         * platform/qt/RenderThemeQtMobile.cpp:
841         (WebCore::drawRectangularControlBackground):
842         (WebCore::shrinkRectToSquare):
843         (WebCore::StylePainterMobile::StylePainterMobile):
844         (WebCore::StylePainterMobile::~StylePainterMobile):
845         (WebCore::StylePainterMobile::drawCheckableBackground):
846         (WebCore::StylePainterMobile::sizeForPainterScale):
847         (WebCore::StylePainterMobile::drawChecker):
848         (WebCore::StylePainterMobile::findCheckBox):
849         (WebCore::StylePainterMobile::drawRadio):
850         (WebCore::StylePainterMobile::findRadio):
851         (WebCore::StylePainterMobile::drawMultipleComboButton):
852         (WebCore::StylePainterMobile::drawSimpleComboButton):
853         (WebCore::StylePainterMobile::getButtonImageSize):
854         (WebCore::StylePainterMobile::findComboButton):
855         (WebCore::StylePainterMobile::drawLineEdit):
856         (WebCore::StylePainterMobile::drawCheckBox):
857         (WebCore::StylePainterMobile::drawRadioButton):
858         (WebCore::StylePainterMobile::drawPushButton):
859         (WebCore::StylePainterMobile::drawComboBox):
860         (WebCore::StylePainterMobile::drawProgress):
861         (WebCore::StylePainterMobile::drawSliderThumb):
862         (WebCore::RenderThemeQtMobile::paintButton):
863         (WebCore::RenderThemeQtMobile::paintTextField):
864         (WebCore::RenderThemeQtMobile::setPopupPadding):
865         (WebCore::RenderThemeQtMobile::paintMenuList):
866         (WebCore::RenderThemeQtMobile::paintMenuListButton):
867         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
868         (WebCore::RenderThemeQtMobile::paintProgressBar):
869         (WebCore::RenderThemeQtMobile::paintSliderTrack):
870         (WebCore::RenderThemeQtMobile::paintSliderThumb):
871         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
872         * platform/qt/RenderThemeQtMobile.h:
873
874 2011-12-14  Rakesh KN  <rakesh.kn@motorola.com>
875
876         [Non-Mac] Change event should be fired when changing option by using keyboard.
877         https://bugs.webkit.org/show_bug.cgi?id=74384
878
879         Reviewed by Kent Tamura.
880
881         Fire onchange event when option is changed using up/down/right/left/pageup/pagedown/home/end keys.
882
883         Test: fast/forms/select/menulist-onchange-fired-with-key-up-down.html
884
885         * html/HTMLSelectElement.cpp:
886         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
887         Setting the DispatchChangeEvent selection option flag when the option is selected using
888         up/down/right/left/pageup/pagedown/home/end keys.
889
890 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
891
892         Web Inspector: TreeOutline's is broken when li elements have padding-left different from 14px.
893         https://bugs.webkit.org/show_bug.cgi?id=74445
894
895         Reviewed by Pavel Feldman.
896
897         * inspector/front-end/treeoutline.js:
898         (TreeElement.prototype.isEventWithinDisclosureTriangle):
899
900 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
901
902         Web Inspector: [Regression] Scripts panel debug sidebar toolbar should not be scrolled out of the screen.
903         https://bugs.webkit.org/show_bug.cgi?id=74447
904
905         Reviewed by Pavel Feldman.
906
907         * inspector/front-end/ScriptsPanel.js:
908         (WebInspector.ScriptsPanel.prototype.wasShown):
909         * inspector/front-end/scriptsPanel.css:
910         (#scripts-debug-toolbar):
911         (#scripts-debug-sidebar-contents):
912
913 2011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>
914
915         [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
916         https://bugs.webkit.org/show_bug.cgi?id=74417
917
918         Reviewed by Simon Hausmann.
919
920         Based on original patch by Kenneth Christiansen.
921
922         Already covered by current tests.
923
924         * dom/DeviceOrientationController.h:
925         (WebCore::DeviceOrientationController::client):
926
927 2011-12-14  Jacky Jiang  <zhajiang@rim.com>
928
929         [BlackBerry] Switch to libjpeg for decoding
930         https://bugs.webkit.org/show_bug.cgi?id=74475
931
932         Reviewed by Daniel Bates.
933
934         Switch to cross platform JPEG image decoder for decoding as this keeps
935         us inline with other ports and less to maintain.
936
937         * PlatformBlackBerry.cmake:
938
939 2011-12-03  Philippe Normand  <pnormand@igalia.com>
940
941         [GTK] Bad text rendering since r101343
942         https://bugs.webkit.org/show_bug.cgi?id=73744
943
944         Reviewed by Martin Robinson.
945
946         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
947         (WebCore::setCairoFontOptionsFromFontConfigPattern): Keep Cairo
948         hint metrics unchanged for better visual font rendering results.
949
950 2011-12-13  Hajime Morrita  <morrita@chromium.org>
951
952         Unreviewed attempt for fixing windows build.
953
954         - Included <wtf/MathExtras.h> which defined portable version of lround().
955         - Add some static_cast<> to suppress warnings.
956
957         * platform/animation/AnimationUtilities.h:
958         (WebCore::blend):
959
960 2011-12-13  Wei Charles  <charles.wei@torchmobile.com.cn>
961
962         [BlackBerry] Add the new plugin files into the build system.
963         https://bugs.webkit.org/show_bug.cgi?id=74483
964
965         Reviewed by Daniel Bates.
966
967         No new tests, just add new files to the build system.
968
969         * PlatformBlackBerry.cmake:
970
971 2011-12-13  Yosifumi Inoue  <yosin@chromium.org>
972
973         [Forms] Default selection of select(menulist) should not be disabled
974         https://bugs.webkit.org/show_bug.cgi?id=74270
975
976         Reviewed by Kent Tamura.
977
978         This patch changes default selection of select(menulist) element to
979           1. Selected option element. If there are multiple options which have
980              selected state, we pick the largest index option up. (same as current)
981           2. Non-disabled option element (new behavior)
982           3. The first option if all options are disabled. (new behavior)
983
984         Tests: fast/forms/select/menulist-disabled-option-expected.html
985                fast/forms/select/menulist-disabled-option.html
986
987         * html/HTMLSelectElement.cpp:
988         (WebCore::HTMLSelectElement::recalcListItems): Implement new logic for selection.
989
990 2011-12-13  Simon Fraser  <simon.fraser@apple.com>
991
992         Share blend progress code
993         https://bugs.webkit.org/show_bug.cgi?id=74464
994
995         Reviewed by Dean Jackson.
996         
997         Lots of places in the code had copies of the animation interpolation
998         logic "from + (to - from) * progress", in various forms.
999         
1000         Coalesce all these into calls to a few new inline functions in a new
1001         AnimationUtilities.h header. Color and Length get their own blend fuctions
1002         in their respective headers.
1003
1004         Covered by existing tests.
1005
1006         * GNUmakefile.list.am:
1007         * Target.pri:
1008         * WebCore.gypi:
1009         * WebCore.vcproj/WebCore.vcproj:
1010         * WebCore.xcodeproj/project.pbxproj:
1011         * css/CSSGradientValue.cpp:
1012         * page/animation/AnimationBase.cpp:
1013         (WebCore::blendFunc):
1014         * platform/Length.h:
1015         (WebCore::Length::blend):
1016         * platform/animation/AnimationUtilities.h: Added.
1017         (WebCore::blend):
1018         * platform/graphics/Color.h:
1019         (WebCore::blend):
1020         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1021         (WebCore::PerspectiveTransformOperation::blend):
1022         * platform/graphics/transforms/RotateTransformOperation.cpp:
1023         (WebCore::RotateTransformOperation::blend):
1024         * platform/graphics/transforms/ScaleTransformOperation.cpp:
1025         (WebCore::ScaleTransformOperation::blend):
1026         * platform/graphics/transforms/SkewTransformOperation.cpp:
1027         (WebCore::SkewTransformOperation::blend):
1028         * platform/graphics/transforms/TranslateTransformOperation.cpp:
1029         (WebCore::TranslateTransformOperation::blend):
1030         * svg/SVGLength.h:
1031         (WebCore::SVGLength::blend):
1032         * svg/SVGPathBlender.cpp:
1033         (WebCore::blendFloatPoint):
1034         (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
1035         (WebCore::SVGPathBlender::blendArcToSegment):
1036
1037 2011-12-13  Mary Wu  <mary.wu@torchmobile.com.cn>
1038
1039         Upstream 3 files into WebCore/platform/blackberry
1040         ClipboardBlackBerry.cpp/h, PasteboardBlackBerry.cpp
1041         https://bugs.webkit.org/show_bug.cgi?id=74381
1042
1043         Reviewed by Rob Buis.
1044
1045         Main contributor:
1046         Mike Fenton <mifenton@rim.com>
1047
1048         Initial upstream, no new tests.
1049
1050         * platform/blackberry/ClipboardBlackBerry.cpp: Added.
1051         * platform/blackberry/ClipboardBlackBerry.h: Added.
1052         * platform/blackberry/PasteboardBlackBerry.cpp: Added.
1053
1054 2011-12-13  James Robinson  <jamesr@chromium.org>
1055
1056         Unreviewed, rolling out r102726.
1057         http://trac.webkit.org/changeset/102726
1058         https://bugs.webkit.org/show_bug.cgi?id=74154
1059
1060         Does not compile on clang
1061
1062         * platform/graphics/chromium/TiledLayerChromium.cpp:
1063         (WebCore::UpdatableTile::UpdatableTile):
1064         (WebCore::TiledLayerChromium::createTile):
1065         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1066         (WebCore::CCLayerTilingData::addTile):
1067         (WebCore::CCLayerTilingData::takeTile):
1068         (WebCore::CCLayerTilingData::tileAt):
1069         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1070         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1071         (WebCore::DrawableTile::DrawableTile):
1072         (WebCore::CCTiledLayerImpl::createTile):
1073
1074 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1075
1076         Unreviewed, rolling out r102732.
1077         http://trac.webkit.org/changeset/102732
1078
1079         The last fix makes no sense...
1080
1081         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1082
1083 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1084
1085         HTML details summary not working with form controls
1086         https://bugs.webkit.org/show_bug.cgi?id=74398
1087
1088         Reviewed by Kent Tamura.
1089
1090         Allowed HTMLSummaryElement to skip the toggle logic if the event
1091         target is a form control.
1092
1093         Test: fast/html/details-click-controls.html
1094
1095         * html/HTMLSummaryElement.cpp:
1096         (WebCore::isClickableControl):
1097         (WebCore::HTMLSummaryElement::defaultEventHandler):
1098
1099 2011-12-13  James Wei <james.wei@intel.com> 
1100
1101         Optimize to not use pow() in the inner loop in AudioParamTimeline
1102         https://bugs.webkit.org/show_bug.cgi?id=73530
1103
1104         Reviewed by Kenneth Russell.
1105
1106         No new tests.
1107
1108         * webaudio/AudioParamTimeline.cpp:
1109         (WebCore:AudioParamTimeline:valuesForTimeRangeImpl):
1110
1111 2011-12-13  Hajime Morrita  <morrita@chromium.org>
1112
1113         Unreviewed Chromium-Mac build fix trial.
1114
1115         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1116
1117 2011-12-13  David Reveman  <reveman@chromium.org>
1118
1119         [Chromium] Initialize Settings::m_perTileDrawingEnabled properly.
1120         https://bugs.webkit.org/show_bug.cgi?id=74476
1121
1122         Reviewed by James Robinson.
1123
1124         Add m_perTileDrawingEnabled(false) to WebCore::Settings initialize list.
1125
1126         No new tests.
1127
1128         * page/Settings.cpp:
1129         (WebCore::Settings::Settings):
1130
1131 2011-12-13  Anders Carlsson  <andersca@apple.com>
1132
1133         Add a very bare-bones implementation of bind and Function to WTF
1134         https://bugs.webkit.org/show_bug.cgi?id=74462
1135
1136         Reviewed by Sam Weinig.
1137
1138         Add a forwarding header for Functional.h.
1139
1140         * ForwardingHeaders/wtf/Functional.h: Added.
1141
1142 2011-12-13  Adrienne Walker  <enne@google.com>
1143
1144         [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
1145         https://bugs.webkit.org/show_bug.cgi?id=74154
1146
1147         Reviewed by James Robinson.
1148
1149         After r102410 landed, it's now possible to properly use an OwnPtr to
1150         store tiles rather than hackily use a RefPtr.
1151
1152         Covered by the compositing/ layout tests.
1153
1154         * platform/graphics/chromium/TiledLayerChromium.cpp:
1155         (WebCore::UpdatableTile::create):
1156         (WebCore::UpdatableTile::UpdatableTile):
1157         (WebCore::TiledLayerChromium::createTile):
1158         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1159         (WebCore::CCLayerTilingData::addTile):
1160         (WebCore::CCLayerTilingData::takeTile):
1161         (WebCore::CCLayerTilingData::tileAt):
1162         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1163         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1164         (WebCore::DrawableTile::create):
1165         (WebCore::DrawableTile::DrawableTile):
1166         (WebCore::CCTiledLayerImpl::createTile):
1167
1168 2011-12-13  Dmitry Lomov  <dslomov@google.com>
1169
1170         https://bugs.webkit.org/show_bug.cgi?id=73691
1171         [JSC] Implement correct order of window.postMessage arguments.
1172         This change supports a new signature of windowPostMessage:
1173           postMessage(message, targetOrigin[, transferrables])
1174         as well as the legacy webkit-proprietary:
1175           postMessage(message, [transferrables,] targetOrigin)
1176         The latter is only supported for cases when targetOrigin is a String.
1177
1178         Reviewed by David Levin.
1179
1180         * bindings/js/JSDOMWindowCustom.cpp:
1181         (WebCore::handlePostMessage):
1182         * page/DOMWindow.idl:
1183
1184 2011-12-13  Rafael Weinstein  <rafaelw@chromium.org>
1185
1186         [MutationObservers] Avoid allocations if no observers are present
1187         https://bugs.webkit.org/show_bug.cgi?id=74423
1188
1189         Reviewed by Ojan Vafai.
1190
1191         This patch adds Node::mayHaveMutationObserversOfType which can be used to check
1192         if there are any observers at all which could receive a give type of mutation.
1193         MutationObserverInterestGroup uses this to possibly exit early (returning
1194         null) if no observers are present.
1195
1196         No tests needed. This patch is just a refactor.
1197
1198         * css/CSSMutableStyleDeclaration.cpp:
1199         * dom/CharacterData.cpp:
1200         (WebCore::CharacterData::dispatchModifiedEvent):
1201         * dom/ChildListMutationScope.cpp:
1202         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
1203         * dom/Element.cpp:
1204         (WebCore::enqueueAttributesMutationRecord):
1205         * dom/Node.cpp:
1206         (WebCore::Node::mayHaveMutationObserversOfType):
1207         * dom/Node.h:
1208         * dom/WebKitMutationObserver.cpp:
1209         (WebCore::MutationObserverInterestGroup::createIfNeeded):
1210         (WebCore::MutationObserverInterestGroup::createForChildListMutation):
1211         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
1212         (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
1213         (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
1214         (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
1215         * dom/WebKitMutationObserver.h:
1216
1217 2011-12-13  Robin Dunn  <robin@alldunn.com>
1218
1219         Don't make the bitmap transparent when using theme drawing
1220         calls that don't support transparent bitmaps.
1221         https://bugs.webkit.org/show_bug.cgi?id=74319
1222
1223         Reviewed by Kevin Ollivier.
1224
1225         * platform/wx/LocalDC.h:
1226         (WebCore::LocalDC::LocalDC):
1227         * platform/wx/RenderThemeWx.cpp:
1228         (WebCore::RenderThemeWx::paintButton):
1229
1230 2011-12-13  Tony Chang  <tony@chromium.org>
1231
1232         Inline all of initForRegionStyling except for the rarely used part for non-null regions.
1233         https://bugs.webkit.org/show_bug.cgi?id=74435
1234
1235         Reviewed by Andreas Kling.
1236
1237         * css/CSSStyleSelector.cpp:
1238         (WebCore::CSSStyleSelector::initForRegionStyling): Inline setting of m_regionForStyling
1239         (WebCore::CSSStyleSelector::initRegionRules): Move code that only
1240         applies to CSSRegions into non-inlined code.
1241         * css/CSSStyleSelector.h:
1242
1243 2011-12-13  James Simonsen  <simonjam@chromium.org>
1244
1245         Unreviewed, Chromium Mac build fix.
1246
1247         * page/PerformanceTiming.h:
1248
1249 2011-12-13  Adam Klein  <adamk@chromium.org>
1250
1251         Update variable names in NamedNodeMap methods to match WebKit style
1252         https://bugs.webkit.org/show_bug.cgi?id=74437
1253
1254         Reviewed by Ojan Vafai.
1255
1256         While reading these methods in preparation for a refactor, I found
1257         them hard to understand due to short or confusing variable names.
1258         I think the new names are much clearer, and match WebKit style.
1259
1260         * dom/NamedNodeMap.cpp:
1261         (WebCore::NamedNodeMap::setNamedItem):
1262         (WebCore::NamedNodeMap::removeNamedItem):
1263
1264 2011-12-13  Xingnan Wang  <xingnan.wang@intel.com>
1265
1266         Implement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
1267         https://bugs.webkit.org/show_bug.cgi?id=74048
1268
1269         Reviewed by Benjamin Poulain.
1270
1271         The vmul is a function for an element-by-element multiply of two float vectors and we 
1272         get about 3.4x performance improvement with SSE2 optimization compared with the common 
1273         multiply.
1274
1275         Use vmul in AudioBus::copyWithSampleAccurateGainValuesFrom().
1276
1277         * platform/audio/AudioBus.cpp:
1278         (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
1279         * platform/audio/VectorMath.cpp:
1280         (WebCore::VectorMath::vmul):
1281         * platform/audio/VectorMath.h:
1282
1283 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1284
1285         Web Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
1286         https://bugs.webkit.org/show_bug.cgi?id=74434
1287
1288         Reviewed by Pavel Feldman.
1289
1290         * inspector/front-end/treeoutline.js:
1291
1292 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1293
1294         Web Inspector: Network item view does not correctly decode "+" in request parameters.
1295         https://bugs.webkit.org/show_bug.cgi?id=74422
1296
1297         Reviewed by Pavel Feldman.
1298
1299         Test: http/tests/inspector/network/request-parameters-decoding.html
1300
1301         * inspector/front-end/ResourceHeadersView.js:
1302         (WebInspector.ResourceHeadersView.prototype._formatParameter):
1303         (WebInspector.ResourceHeadersView.prototype._refreshParms):
1304
1305 2011-12-13  Alok Priyadarshi  <alokp@chromium.org>
1306
1307         [chromium] compositing/masks layout tests fail with accelerated drawing
1308         https://bugs.webkit.org/show_bug.cgi?id=72760
1309
1310         Reviewed by Stephen White.
1311
1312         Accelerated drawing path used to render bottom-up upright textures, which was opposite of what the software path rendered.
1313         The textures produced by the accelerated path was flipped along Y in the shader to make it upside down as expected by the compositor.
1314         This strategy does not work in case of masks which do not go through a shader and hence do not get flipped,
1315         which results in a case where texture in the render surface is top-down, while that in the mask is bottom-up.
1316         This patch makes accelerated drawing path render textures in the same orientation as the software path.
1317         LayerTextureUpdater::Orientation was added to support the difference in texture orientation between software and accelerated paths.
1318         Now that both paths produce textures in the same orientation, there is no need for it.
1319
1320         No new tests needed. Covered by existing compositing tests.
1321
1322         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
1323         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1324         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1325         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1326         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
1327         * platform/graphics/chromium/ImageLayerChromium.cpp:
1328         * platform/graphics/chromium/LayerTextureUpdater.h:
1329         * platform/graphics/chromium/TiledLayerChromium.cpp:
1330         (WebCore::TiledLayerChromium::TiledLayerChromium):
1331         (WebCore::TiledLayerChromium::setLayerTreeHost):
1332         (WebCore::TiledLayerChromium::pushPropertiesTo):
1333         * platform/graphics/chromium/TiledLayerChromium.h:
1334         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1335         (WebCore::CCTiledLayerImpl::drawTiles):
1336         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1337         (WebCore::CCTiledLayerImpl::setSkipsDraw):
1338
1339 2011-12-09  Zhenyao Mo  <zmo@google.com>
1340
1341         Implement GLES2 CheckFramebufferStatus() behavior
1342         https://bugs.webkit.org/show_bug.cgi?id=74228
1343
1344         Reviewed by Kenneth Russell.
1345
1346         * html/canvas/WebGLFramebuffer.cpp:
1347         (WebCore::WebGLFramebuffer::getColorBufferWidth): Add ColorBuffer to the function name - this is more accurate.
1348         (WebCore::WebGLFramebuffer::getColorBufferHeight): Ditto.
1349         (WebCore::WebGLFramebuffer::checkStatus): Implement full semantics of GLES2 glCheckFramebufferStatus().
1350         (WebCore::WebGLFramebuffer::onAccess): Call checkStatus().
1351         * html/canvas/WebGLFramebuffer.h:
1352         * html/canvas/WebGLRenderingContext.cpp:
1353         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Call checkStatus().
1354         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): No longer check framebuffer status.
1355         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): Call getColorBufferWidth.
1356         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): Call getColorBufferHeight.
1357
1358 2011-12-13  James Simonsen  <simonjam@chromium.org>
1359
1360         [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
1361         https://bugs.webkit.org/show_bug.cgi?id=58354
1362
1363         Reviewed by Pavel Feldman.
1364
1365         No new tests. Relies on existing webtiming-* tests.
1366
1367         * CMakeLists.txt:
1368         * GNUmakefile.list.am:
1369         * WebCore.gypi:
1370         * WebCore.pro:
1371         * WebCore.vcproj/WebCore.vcproj:
1372         * WebCore.xcodeproj/project.pbxproj:
1373         * dom/Document.cpp: Use monotonic times.
1374         (WebCore::Document::setReadyState):
1375         (WebCore::Document::finishedParsing):
1376         * inspector/InspectorInstrumentation.cpp:
1377         (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
1378         * inspector/InspectorResourceAgent.cpp:
1379         (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
1380         (WebCore::buildObjectForResourceResponse): Plumbing for above.
1381         (WebCore::buildObjectForCachedResource): Ditto.
1382         (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
1383         (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
1384         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
1385         * loader/DocumentLoadTiming.cpp: Added.
1386         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
1387         (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
1388         (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
1389         (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
1390         * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
1391         (WebCore::DocumentLoadTiming::setUnloadEventStart):
1392         (WebCore::DocumentLoadTiming::setUnloadEventEnd):
1393         (WebCore::DocumentLoadTiming::setRedirectStart):
1394         (WebCore::DocumentLoadTiming::setRedirectEnd):
1395         (WebCore::DocumentLoadTiming::setFetchStart):
1396         (WebCore::DocumentLoadTiming::setResponseEnd):
1397         (WebCore::DocumentLoadTiming::setLoadEventStart):
1398         (WebCore::DocumentLoadTiming::setLoadEventEnd):
1399         (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
1400         (WebCore::DocumentLoadTiming::navigationStart):
1401         (WebCore::DocumentLoadTiming::unloadEventStart):
1402         (WebCore::DocumentLoadTiming::unloadEventEnd):
1403         (WebCore::DocumentLoadTiming::redirectStart):
1404         (WebCore::DocumentLoadTiming::redirectEnd):
1405         (WebCore::DocumentLoadTiming::redirectCount):
1406         (WebCore::DocumentLoadTiming::fetchStart):
1407         (WebCore::DocumentLoadTiming::responseEnd):
1408         (WebCore::DocumentLoadTiming::loadEventStart):
1409         (WebCore::DocumentLoadTiming::loadEventEnd):
1410         (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
1411         (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
1412         * loader/FrameLoader.cpp:
1413         (WebCore::FrameLoader::stopLoading):
1414         (WebCore::FrameLoader::commitProvisionalLoad):
1415         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1416         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
1417         * loader/MainResourceLoader.cpp:
1418         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1419         (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
1420         (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
1421         (WebCore::MainResourceLoader::didFinishLoading): Ditto.
1422         (WebCore::MainResourceLoader::load):
1423         * page/DOMWindow.cpp:
1424         (WebCore::DOMWindow::dispatchLoadEvent):
1425         * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
1426         * page/PerformanceNavigation.cpp:
1427         (WebCore::PerformanceNavigation::redirectCount):
1428         * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
1429         (WebCore::PerformanceTiming::navigationStart):
1430         (WebCore::PerformanceTiming::unloadEventStart):
1431         (WebCore::PerformanceTiming::unloadEventEnd):
1432         (WebCore::PerformanceTiming::redirectStart):
1433         (WebCore::PerformanceTiming::redirectEnd):
1434         (WebCore::PerformanceTiming::fetchStart):
1435         (WebCore::PerformanceTiming::responseEnd):
1436         (WebCore::PerformanceTiming::domLoading):
1437         (WebCore::PerformanceTiming::domInteractive):
1438         (WebCore::PerformanceTiming::domContentLoadedEventStart):
1439         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
1440         (WebCore::PerformanceTiming::domComplete):
1441         (WebCore::PerformanceTiming::loadEventStart):
1442         (WebCore::PerformanceTiming::loadEventEnd):
1443         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
1444         (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
1445         * page/PerformanceTiming.h:
1446         * platform/network/ResourceLoadTiming.cpp:
1447         (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
1448         * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.
1449
1450 2011-12-13  Adam Klein  <adamk@chromium.org>
1451
1452         Reduce code duplication in Element::setAttribute methods
1453         https://bugs.webkit.org/show_bug.cgi?id=74425
1454
1455         Reviewed by Ryosuke Niwa.
1456
1457         Two overloads of Element::setAttribute share almost all their code,
1458         including tricky logic around updating the appropriate Attribute and
1459         Attr objects and notifying the Inspector and MutationObservers.
1460
1461         This patch puts the common logic in a new setAttributeInternal method
1462         which is called by the other two.
1463
1464         No new tests, refactoring only.
1465
1466         * dom/Element.cpp:
1467         (WebCore::Element::setAttribute):
1468         (WebCore::Element::setAttributeInternal):
1469         * dom/Element.h:
1470
1471 2011-12-13  Brady Eidson  <beidson@apple.com>
1472
1473         <http://webkit.org/b/74420> Disable deprecation warnings around more code where we 
1474         cannot easily switch away from the deprecated APIs.
1475
1476         Reviewed by Mark Rowe.
1477
1478         * bindings/objc/DOMInternal.mm:
1479         * bridge/objc/objc_instance.mm:
1480
1481 2011-12-12  Robert Hogan  <robert@webkit.org>
1482
1483         CSS 2.1 failure: eof-002.htm fails
1484         https://bugs.webkit.org/show_bug.cgi?id=74309
1485
1486         Reviewed by Dean Jackson.
1487
1488         Test: css2.1/20110323/eof-002-expected.html
1489
1490         * css/CSSGrammar.y: Treat EOF during a function expression with an open parenthesis as a close parenthesis.
1491
1492 2011-12-13  Adam Klein  <adamk@chromium.org>
1493
1494         V8Proxy cleanup: replace custom logging methods with standard WebCore calls
1495         https://bugs.webkit.org/show_bug.cgi?id=74220
1496
1497         Reviewed by Adam Barth.
1498
1499         * bindings/v8/V8Proxy.cpp:
1500         (WebCore::V8Proxy::reportUnsafeAccessTo):
1501         * bindings/v8/V8Proxy.h:
1502         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1503         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1504
1505 2011-12-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1506
1507         [Qt] Get rid of layering violations in includes
1508
1509         WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
1510         in the webcore.prf, but rather in each target that specificly needs
1511         headers in these location. We used to include them directly in webcore
1512         since we had layering violations between WebCore and WebKit, but now
1513         that they are gone there's no reason to do that.
1514
1515         Reviewed by Simon Hausmann.
1516
1517         * bridge/qt/qt_instance.cpp:
1518         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1519         * platform/graphics/qt/ImageQt.cpp:
1520         * platform/network/qt/QNetworkReplyHandler.cpp:
1521         * platform/network/qt/ResourceHandleQt.cpp:
1522         * platform/qt/CookieJarQt.cpp:
1523         * platform/qt/RenderThemeQStyle.cpp:
1524         * platform/qt/RenderThemeQt.cpp:
1525
1526 2011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
1527
1528         Web Inspector: Add scripts navigator sidebar to scripts panel.
1529         https://bugs.webkit.org/show_bug.cgi?id=73086
1530
1531         Reviewed by Pavel Feldman.
1532
1533         * WebCore.gypi:
1534         * WebCore.vcproj/WebCore.vcproj:
1535         * inspector/compile-front-end.sh:
1536         * inspector/front-end/Images/domain.png: Added.
1537         * inspector/front-end/JavaScriptSourceFrame.js:
1538         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
1539         * inspector/front-end/ScriptsNavigator.js: Added.
1540         * inspector/front-end/ScriptsPanel.js:
1541         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
1542         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1543         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1544         (WebInspector.ScriptsPanel.prototype._reset):
1545         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1546         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1547         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1548         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
1549         (WebInspector.ScriptsPanel.prototype._scriptSelectedInNavigator):
1550         (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
1551         * inspector/front-end/Settings.js:
1552         * inspector/front-end/TabbedPane.js:
1553         (WebInspector.TabbedPane.prototype.appendTab):
1554         (WebInspector.TabbedPane.prototype.selectTab):
1555         (WebInspector.TabbedPane.prototype.highlightLine):
1556         (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
1557         * inspector/front-end/UISourceCode.js:
1558         (WebInspector.UISourceCode.prototype.get domain):
1559         (WebInspector.UISourceCode.prototype.get folderName):
1560         (WebInspector.UISourceCode.prototype.get displayName):
1561         (WebInspector.UISourceCode.prototype._parseURL):
1562         * inspector/front-end/WebKit.qrc:
1563         * inspector/front-end/inspector.css:
1564         (.tabbed-pane):
1565         (.tabbed-pane-content):
1566         * inspector/front-end/inspector.html:
1567         * inspector/front-end/networkPanel.css:
1568         * inspector/front-end/scriptsPanel.css:
1569         (#scripts-navigator-resizer-widget):
1570         (.scripts-navigator-domain-tree-item .icon):
1571         (.scripts-navigator-folder-tree-item .icon):
1572         (.scripts-navigator-script-tree-item .icon):
1573         (.scripts.panel .navigator):
1574         (#scripts-navigator-tabbed-pane .tabbed-pane-header):
1575         (#scripts-navigator-tabbed-pane .tabbed-pane-content):
1576         (.scripts.panel .navigator li):
1577         (.scripts.panel .navigator :focus li.selected):
1578         (.scripts.panel .navigator li.selected .selection):
1579         (.scripts.panel .navigator :focus li.selected .selection):
1580         (.scripts.panel .navigator .icon):
1581         (.scripts.panel .base-navigator-tree-element-title):
1582         * inspector/front-end/treeoutline.js:
1583         (TreeOutline):
1584         (TreeOutline.prototype.appendChild):
1585
1586 2011-12-12  Andreas Kling  <kling@webkit.org>
1587
1588         CollectionCache: Remove unused copy constructor and make it noncopyable.
1589         <http://webkit.org/b/74378>
1590
1591         Reviewed by Simon Hausmann.
1592
1593         * html/CollectionCache.cpp:
1594         * html/CollectionCache.h:
1595
1596 2011-12-13  Jarred Nicholls  <jarred@sencha.com>
1597
1598         XHR should use m_responseTypeCode internally to be consistent with WebKit coding style
1599         https://bugs.webkit.org/show_bug.cgi?id=74330
1600
1601         Reviewed by Alexey Proskuryakov.
1602
1603         No new tests needed, no behavioral changes.
1604
1605         * xml/XMLHttpRequest.cpp:
1606         (WebCore::XMLHttpRequest::responseText):
1607         (WebCore::XMLHttpRequest::responseXML):
1608         (WebCore::XMLHttpRequest::responseBlob):
1609         (WebCore::XMLHttpRequest::didReceiveData):
1610         * xml/XMLHttpRequest.h:
1611         (WebCore::XMLHttpRequest::asBlob):
1612
1613 2011-12-13  Kentaro Hara  <haraken@chromium.org>
1614
1615         Use the [Supplemental] IDL for webaudio attributes in Chromium
1616         https://bugs.webkit.org/show_bug.cgi?id=73394
1617
1618         Reviewed by Adam Barth.
1619
1620         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
1621         declarations of webaudio from DOMWindow.idl into a new IDL file
1622         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
1623         feature (aka a module).
1624
1625         - This patch changes the build flow of WebCore.gyp as follows:
1626
1627             Previous build flow:
1628                 foreach $idl (all IDL files) {
1629                     generate-bindings.pl depends on $idl;
1630                     generate-bindings.pl reads $idl;
1631                     generate-bindings.pl generates .h and .cpp files for $idl;
1632                 }
1633
1634             New build flow (See the discussions in bug 72138 for more details):
1635                 resolve-supplemental.pl depends on all IDL files;
1636                 resolve-supplemental.pl reads all IDL files;
1637                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
1638                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
1639                 foreach $idl (all IDL files) {
1640                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
1641                     generate-bindings.pl reads $idl;
1642                     generate-bindings.pl reads supplemental_dependency.tmp;
1643                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
1644                 }
1645
1646         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
1647         will be removed after build scripts for all platforms support the [Supplemental] IDL.
1648         The motivation for the [Supplemented] IDL is as follows:
1649
1650         In order to support the [Supplemental] IDL, we need to
1651         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
1652         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
1653
1654         This build flow requires a change on the following build scripts,
1655         but changing all the build scripts all at once without any regression is too difficult:
1656
1657             - DerivedSources.make
1658             - DerivedSources.pri
1659             - GNUmakefile.am
1660             - PlatformBlackBerry.cmake
1661             - UseJSC.cmake
1662             - UseV8.cmake
1663             - WebCore.vcproj/MigrateScripts
1664             - WebCore.vcproj/WebCore.vcproj
1665             - bindings/gobject/GNUmakefile.am
1666             - WebCore.gyp/WebCore.gyp
1667
1668         Thus, we are planning to change the build scripts one by one, which implies that
1669         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
1670         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
1671         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
1672         in another IDL file somewhere, like this:
1673
1674             DOMWindowWebAudio.idl:
1675                 interface [
1676                     Supplemental=DOMWindow
1677                 ] DOMWindowWebAudio {
1678                     attribute attr1;
1679                     attribute attr2;
1680                 };
1681
1682             DOMWindow.idl:
1683                 interface [
1684                 ] DOMWindow {
1685                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
1686                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
1687                     attribute attr3;
1688                     attribute attr4;
1689                 };
1690
1691         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
1692
1693             - If a given build script supports the [Supplemental] IDL,
1694             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
1695             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
1696             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
1697             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
1698
1699         Tests: webaudio/*
1700
1701         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
1702         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
1703         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp),
1704         which are described at the first column of each line in the input file.
1705         If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style
1706         path by the cygpath command.
1707         * WebCore.gypi: Added DOMWindowWebAudio.idl.
1708         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not
1709         support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead
1710         uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and
1711         instead uses the [Supplemental] IDL.
1712         Added the --additionalIdlFilesList option to specify the IDL files that are not listed in
1713         supplemental-dependency.tmp but should generate .h and .cpp files.
1714         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes.
1715         As I described above, the [Supplemented] IDL will be removed after all platforms support
1716         the [Supplemental] IDL.
1717         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL.
1718         The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
1719
1720 2011-12-13  Yosifumi Inoue  <yosin@chromium.org>
1721
1722         RenderTheme should have a function for disabled text color adjustment
1723         https://bugs.webkit.org/show_bug.cgi?id=74143
1724
1725         Change disabledTextColor to private method.
1726
1727         Reviewed by Kent Tamura.
1728
1729         No new tests / existing tests cover this change.
1730
1731         * rendering/RenderThemeChromiumMac.h: Change disabledTextColor to private.
1732         * rendering/RenderThemeChromiumSkia.h: Change disabledTextColor to private.
1733
1734 2011-12-12  Daniel Bates  <dbates@webkit.org>
1735
1736         Unreviewed, rolling out r102656.
1737         http://trac.webkit.org/changeset/102656
1738         https://bugs.webkit.org/show_bug.cgi?id=74313
1739
1740         Broke the Mac, Windows and WinCairo builds. We need to look
1741         into this patch some more.
1742
1743         * bindings/js/ScriptEventListener.cpp:
1744         (WebCore::eventListenerHandlerLocation):
1745
1746 2011-12-12  Konrad Piascik  <kpiascik@rim.com>
1747
1748         2011-12-12  Konrad Piascik  <kpiascik@rim.com>
1749
1750         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
1751         https://bugs.webkit.org/show_bug.cgi?id=74313
1752
1753         Reviewed by Geoffrey Garen.
1754
1755         Open any page in Web Inspector and look at the event listeners. They should now
1756         link to the script which created them.
1757
1758         * bindings/js/ScriptEventListener.cpp:
1759         (WebCore::eventListenerHandlerLocation):
1760
1761 2011-12-12  Yosifumi Inoue  <yosin@chromium.org>
1762
1763         RenderTheme should have a function for disabled text color adjustment
1764         https://bugs.webkit.org/show_bug.cgi?id=74143
1765
1766         Reviewed by Kent Tamura.
1767
1768         No new tests / existing tests cover this change.
1769
1770         * rendering/RenderTextControl.cpp:
1771         (WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function. 
1772         * rendering/RenderTheme.cpp:
1773         (WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.
1774         * rendering/RenderTheme.h: Add new virtual method disabledTextColor.
1775         * rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
1776         * rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.
1777
1778 2011-12-12  Kenneth Russell  <kbr@google.com>
1779
1780         Unreviewed, rolling out r102648.
1781         http://trac.webkit.org/changeset/102648
1782         https://bugs.webkit.org/show_bug.cgi?id=74313
1783
1784         Broke the Snow Leopard and Windows builds
1785
1786         * bindings/js/ScriptEventListener.cpp:
1787         (WebCore::eventListenerHandlerLocation):
1788
1789 2011-12-12  Andreas Kling  <kling@webkit.org>
1790
1791         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
1792         <http://webkit.org/b/71354> and <rdar://problem/10565998>
1793
1794         Reviewed by Anders Carlsson.
1795
1796         * WebCore.exp.in: Export FloatPoint(const NSPoint&)
1797
1798 2011-12-12  Jarred Nicholls  <jarred@sencha.com>
1799
1800         [Qt] QTKIT-based video support must target OS X 10.5 or higher
1801         https://bugs.webkit.org/show_bug.cgi?id=74294
1802
1803         WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
1804         deployment target of 10.5+ is specified explicitly.
1805
1806         Reviewed by Noam Rosenthal.
1807
1808         No new tests as this is a build issue.
1809
1810         * Target.pri:
1811
1812 2011-12-12  Luke Macpherson   <macpherson@chromium.org>
1813
1814         Implement CSS text-decoration property in CSSStyleApplyProperty.
1815         https://bugs.webkit.org/show_bug.cgi?id=74258
1816
1817         Reviewed by Andreas Kling.
1818
1819         No new tests / refactoring only.
1820
1821         * css/CSSStyleApplyProperty.cpp:
1822         (WebCore::ApplyPropertyTextDecoration::applyValue):
1823         (WebCore::ApplyPropertyTextDecoration::createHandler):
1824         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1825         * css/CSSStyleSelector.cpp:
1826         (WebCore::CSSStyleSelector::applyProperty):
1827
1828 2011-12-12  Adrienne Walker  <enne@google.com>
1829
1830         iframe fails to scroll in composited page
1831         https://bugs.webkit.org/show_bug.cgi?id=72682
1832
1833         Reviewed by Simon Fraser.
1834
1835         FrameView::scrollContentsSlowPath only was catching the case where a
1836         child iframe had a composited parent. Now detect if the child iframe
1837         has any composited ancestor.
1838
1839         Test: compositing/iframes/scroll-grandchild-iframe.html
1840
1841         * page/FrameView.cpp:
1842         (WebCore::FrameView::scrollContentsSlowPath):
1843
1844 2011-12-12  Konrad Piascik  <kpiascik@rim.com>
1845
1846         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
1847         https://bugs.webkit.org/show_bug.cgi?id=74313
1848
1849         Reviewed by Geoffrey Garen. 
1850
1851         Open any page in Web Inspector and look at the event listeners. They should now
1852         link to the script which created them.
1853
1854         * bindings/js/ScriptEventListener.cpp:
1855         (WebCore::eventListenerHandlerLocation):
1856
1857 2011-12-12  Erik Arvidsson  <arv@chromium.org>
1858
1859         [V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
1860         https://bugs.webkit.org/show_bug.cgi?id=74027
1861
1862         Reviewed by Adam Barth.
1863
1864         Instead of having to write a custom indexer when the interface has an inherited indexer
1865         we get the signature from the super interface.
1866
1867         Tested by existing tests.
1868
1869         * Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
1870         * UseV8.cmake: Ditto.
1871         * WebCore.gypi: Ditto.
1872         * bindings/scripts/CodeGenerator.pm:
1873         (FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.
1874         * bindings/scripts/CodeGeneratorV8.pm:
1875         (GenerateImplementationIndexer): If the current interface has no indexer try to find an
1876                                          indexer in one of the super interfaces.
1877         (GenerateImplementationNamedPropertyGetter): Ditto for named property getter.
1878         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
1879         * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.
1880
1881 2011-12-12  Simon Fraser  <simon.fraser@apple.com>
1882
1883         Make it possible to substitute a different CALayer implementation for the main root layer
1884         https://bugs.webkit.org/show_bug.cgi?id=74369
1885
1886         Reviewed by Anders Carlsson.
1887         
1888         Some platforms may wish to have the main root layer (which corresponds with
1889         the main frame's RenderView's layer) implemented by a custom platform layer,
1890         for example to contain a cache of tiles.
1891         
1892         Make this possible on Mac by adding a new method to GraphicsLayerClient(),
1893         and implementing it in RenderLayerBacking. This new behavior is not yet enabled.
1894         
1895         Also clean up some WebLayer/WebTiledLayer code.
1896
1897         * WebCore.xcodeproj/project.pbxproj:
1898         * platform/graphics/GraphicsLayerClient.h:
1899         (WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
1900         should host a tile cache layer instead of a normal layer.
1901         * platform/graphics/ca/GraphicsLayerCA.cpp:
1902         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.
1903         * platform/graphics/ca/PlatformCALayer.h:
1904         * platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;
1905         we can just use the classname now. Handle LayerTypeTileCacheLayer.
1906         (PlatformCALayer::PlatformCALayer):
1907         * platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
1908         * platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
1909         * platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
1910         * platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer
1911         by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
1912         so remove it.
1913         (-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.
1914         * platform/graphics/mac/WebTiledLayer.mm:
1915         (-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.
1916         * rendering/RenderLayerBacking.cpp:
1917         (WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
1918         (WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
1919         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
1920         (WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.
1921         * rendering/RenderLayerBacking.h:
1922         * rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.
1923
1924 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
1925
1926         REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
1927         https://bugs.webkit.org/show_bug.cgi?id=74356
1928
1929         Reviewed by Enrica Casucci.
1930
1931         The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
1932         Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
1933         EditCommandComposition via wasCreateLinkCommand.
1934
1935         Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.
1936
1937         * editing/CompositeEditCommand.cpp:
1938         (WebCore::EditCommandComposition::create):
1939         (WebCore::EditCommandComposition::EditCommandComposition):
1940         (WebCore::CompositeEditCommand::ensureComposition):
1941         (WebCore::CompositeEditCommand::isCreateLinkCommand):
1942         * editing/CompositeEditCommand.h:
1943         (WebCore::EditCommandComposition::wasCreateLinkCommand):
1944         * editing/SpellingCorrectionController.cpp:
1945         (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
1946         * editing/SpellingCorrectionController.h:
1947
1948 2011-12-12  Mihnea Ovidenie  <mihnea@adobe.com>
1949
1950         [CSSRegions]Revert RenderObject::style() to its state before region styling
1951         https://bugs.webkit.org/show_bug.cgi?id=74315
1952
1953         Reviewed by Tony Chang.
1954
1955         * rendering/RenderObject.h:
1956         (WebCore::RenderObject::style):
1957
1958 2011-12-12  Adam Klein  <adamk@chromium.org>
1959
1960         Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
1961         https://bugs.webkit.org/show_bug.cgi?id=74321
1962
1963         Reviewed by Ryosuke Niwa.
1964
1965         In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
1966         which depended on isInlineStyleDeclaration returning true iff the
1967         element it pointed to was non-null (it will be nulled-out if the
1968         element is garbage collected).
1969
1970         Then, in r101172, Andreas Kling changed the semantics so that
1971         isInlineStyleDeclaration only described the type of the declaration,
1972         not the state of the related element.
1973
1974         This change updates Rafael's code with an explicit check that the
1975         element is still alive.
1976
1977         Test: fast/dom/css-inline-style-declaration-crash.html
1978
1979         * css/CSSMutableStyleDeclaration.cpp:
1980
1981 2011-12-12  Chris Fleizach  <cfleizach@apple.com>
1982
1983         AX: aria-hidden inheritance broken when applying to some descendants
1984         https://bugs.webkit.org/show_bug.cgi?id=73940
1985
1986         Reviewed by Darin Adler.
1987
1988         When adding children, we were not updating the children cache for direct AX descendants.
1989         This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.
1990
1991         Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
1992         being managed correctly as a mock element.
1993
1994         Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html
1995
1996         * accessibility/AccessibilityRenderObject.cpp:
1997         (WebCore::AccessibilityRenderObject::addChildren):
1998         * accessibility/AccessibilityTable.cpp:
1999         (WebCore::AccessibilityTable::clearChildren):
2000         (WebCore::AccessibilityTable::headerContainer):
2001         * accessibility/AccessibilityTable.h:
2002
2003 2011-12-12  Jeremy Apthorp  <jeremya@chromium.org>
2004
2005         When the mouse is dragged out of an :active element, it should lose :hover.
2006         https://bugs.webkit.org/show_bug.cgi?id=57206
2007
2008         Reviewed by Ryosuke Niwa.
2009
2010         Test: fast/css/hover-active-drag.html
2011
2012         * page/EventHandler.cpp:
2013         (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
2014         (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
2015         RenderLayer has a chance to update the hover/active status.
2016         * rendering/RenderLayer.cpp:
2017         (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.
2018
2019 2011-12-12  Kenneth Russell  <kbr@google.com>
2020
2021         Unreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
2022         Remove OVERRIDE specifier from virtual destructor.
2023
2024         * html/HTMLPlugInImageElement.h:
2025
2026 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
2027
2028         WebKit code shouldn't be calling applyCommand directly
2029         https://bugs.webkit.org/show_bug.cgi?id=74337
2030
2031         Reviewed by Darin Adler.
2032
2033         Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
2034         instead of manually creating and applying ReplaceSelectionCommand.
2035
2036         The only behavioral difference is that new code will end up checking for spell checks. However, this
2037         difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
2038         which introduced an invocation of spellcheck code.
2039
2040         Unfortunately no tests since there doesn't seem to be anyway to test this change.
2041
2042         * WebCore.exp.in:
2043         * editing/EditCommand.cpp:
2044         (WebCore::applyCommand):
2045         * editing/EditCommand.h:
2046         * editing/Editor.h:
2047
2048 2011-11-26  Adam Barth  <abarth@webkit.org>
2049
2050         Remove platform/audio/fftw
2051         https://bugs.webkit.org/show_bug.cgi?id=73163
2052
2053         Reviewed by Eric Seidel.
2054
2055         The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
2056         integration with the library so folks who use WebAudio don't
2057         accidentially violate the GPL by linking in FFTW.
2058
2059         * GNUmakefile.am:
2060         * WebCore.gyp/WebCore.gyp:
2061         * WebCore.gypi:
2062         * platform/audio/FFTFrame.h:
2063         * platform/audio/FFTFrameStub.cpp:
2064         * platform/audio/fftw: Removed.
2065         * platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
2066
2067 2011-12-12  Kenneth Russell  <kbr@google.com>
2068
2069         COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
2070         https://bugs.webkit.org/show_bug.cgi?id=74327
2071
2072         Unreviewed build fix. True fix should follow under above bug.
2073
2074         * css/CSSStyleSelector.cpp:
2075
2076 2011-12-12  David Grogan  <dgrogan@chromium.org>
2077
2078         Fix compilation error when !ENABLE(WORKERS)
2079         https://bugs.webkit.org/show_bug.cgi?id=74029
2080
2081         Reviewed by Yury Semikhatsky.
2082
2083         * storage/IDBFactory.cpp:
2084         (WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard
2085
2086 2011-12-12  Brady Eidson  <beidson@apple.com>
2087
2088         Page cache should support pages with plugins.
2089         <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
2090
2091         Reviewed by Anders Carlsson.
2092
2093         By making plugin elements renderers go display:none when entering the page cache,
2094         we destroy the plug-in in a cross platform way as well as handle invalidating script
2095         objects created by that plugin.
2096
2097         By restoring the original style when leaving the page cache and forcing a style recalc
2098         on the plugin element, the plugin is gracefully reinstantiated when the user goes back.
2099
2100         Test: plugins/netscape-plugin-page-cache-works.html
2101
2102         * dom/Document.cpp:
2103         (WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over
2104           it, as the callbacks might result in mutating the set.
2105
2106         * dom/Node.h:
2107         (WebCore::Node::setHasCustomStyleForRenderer):
2108         (WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a 
2109           custom renderer and go back to the default renderer.
2110
2111         * history/CachedFrame.cpp:
2112         (WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place
2113           we suspend active DOM objects. It is important this call be *after* the beforeunload event
2114           is dispatched, and was coincidental non of the elements that using Document activation
2115           had run in to this problem yet.
2116
2117         * history/PageCache.cpp:
2118         (WebCore::logCanCacheFrameDecision):
2119         (WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but
2120           the PageCacheSupportsPlugins setting is true, allow this page.
2121
2122         Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
2123         display:none render style:
2124         * html/HTMLPlugInImageElement.cpp:
2125         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2126         (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation
2127           callbacks.
2128         (WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is
2129           created, this element needs Document (in)activation callbacks.
2130         (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation 
2131           callback registration.
2132         (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
2133         (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style
2134           and set the clone's display value to None. Start using this custom style and force a style
2135           recall. This destroys the renderer and therefore the plugin instance.
2136         (WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and
2137           force a style recall to reinstantiate the plugin.
2138         (WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has
2139           display:none set.
2140         * html/HTMLPlugInImageElement.h:
2141
2142         Add a setting that allows runtime configuration of whether or not the page cache supports plugins:
2143         * page/Settings.cpp:
2144         (WebCore::Settings::Settings):
2145         * page/Settings.h:
2146         (WebCore::Settings::setPageCacheSupportsPlugins):
2147         (WebCore::Settings::pageCacheSupportsPlugins):
2148
2149 2011-12-12  Ojan Vafai  <ojan@chromium.org>
2150
2151         r102234 caused RuleData to use 33 bits in its bitmask
2152         https://bugs.webkit.org/show_bug.cgi?id=74314
2153
2154         Reviewed by Antti Koivisto.
2155
2156         Lower m_position to something more reasonable. A million
2157         should be plenty. Current large sites (e.g. gmail) seem to use
2158         tens of thousands.
2159
2160         Added a COMPILE_ASSERT to ensure this doesn't regress.
2161
2162         No new tests.
2163
2164         * css/CSSStyleSelector.cpp:
2165
2166 2011-12-12  James Robinson  <jamesr@chromium.org>
2167
2168         Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
2169         https://bugs.webkit.org/show_bug.cgi?id=74231
2170
2171         Reviewed by Simon Fraser.
2172
2173         The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
2174         feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
2175         and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
2176         alias to be compatible with current content.
2177
2178         * dom/Document.cpp:
2179         (WebCore::Document::webkitCancelAnimationFrame):
2180         * dom/Document.h:
2181         * page/DOMWindow.cpp:
2182         (WebCore::DOMWindow::webkitCancelAnimationFrame):
2183         * page/DOMWindow.h:
2184         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
2185         * page/DOMWindow.idl:
2186
2187 2011-12-12  Shawn Singh  <shawnsingh@chromium.org>
2188
2189         [chromium] Remove assumption that empty surface is always at end of list
2190         https://bugs.webkit.org/show_bug.cgi?id=74037
2191
2192         Reviewed by James Robinson.
2193
2194         Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
2195         a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734
2196
2197         This patch fixes the crash in a less risky way to be merged into
2198         m17, but the root of the issue needs to be addressed in a
2199         follow-up patch.
2200
2201         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2202         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2203
2204 2011-12-12  Simon Fraser  <simon.fraser@apple.com>
2205
2206         Share code that checks for matching sets of transform operations
2207         https://bugs.webkit.org/show_bug.cgi?id=74265
2208
2209         Reviewed by Dan Bernstein.
2210         
2211         Add TransformOperations::operationsMatch() and call it from the
2212         three places that used this same code.
2213         
2214         Tested by existing tests.
2215
2216         * page/animation/ImplicitAnimation.cpp:
2217         (WebCore::ImplicitAnimation::validateTransformFunctionList):
2218         * page/animation/KeyframeAnimation.cpp:
2219         (WebCore::KeyframeAnimation::validateTransformFunctionList):
2220         * platform/graphics/GraphicsLayer.cpp:
2221         (WebCore::GraphicsLayer::fetchTransformOperationList):
2222         * platform/graphics/transforms/TransformOperations.cpp:
2223         (WebCore::TransformOperations::operationsMatch):
2224         * platform/graphics/transforms/TransformOperations.h:
2225
2226 2011-12-12  Antti Koivisto  <antti@apple.com>
2227
2228         Cache visited link hash
2229         https://bugs.webkit.org/show_bug.cgi?id=74095
2230
2231         Reviewed by Darin Adler.
2232
2233         Visited link hash is relatively expensive to compute. We can cache it for anchor elements
2234         with minimal relative memory cost for faster style resolve.
2235         
2236         On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
2237         CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.
2238         
2239         Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
2240         that this scenario is not properly supported currently).
2241
2242         Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL 
2243         change as the effect is not testable due to lack of style invalidation.
2244
2245         * css/SelectorChecker.cpp:
2246         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2247         (WebCore::SelectorChecker::visitedStateChanged):
2248         * html/Document.cpp:
2249         * html/HTMLAnchorElement.cpp:
2250         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2251         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2252         * html/HTMLAnchorElement.h:
2253         (WebCore::HTMLAnchorElement::visitedLinkHash):
2254
2255 2011-12-12  Martin Robinson  <mrobinson@igalia.com>
2256
2257         [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
2258         https://bugs.webkit.org/show_bug.cgi?id=72805
2259
2260         Reviewed by Gustavo Noronha Silva.
2261
2262         No new tests. This is only a performance tweak.
2263
2264         Instead of immediately calling gtk_widget_size during painting, defer
2265         this until the size-allocate method of the WebView.
2266
2267         * plugins/gtk/PluginViewGtk.cpp:
2268         (WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
2269         the widget allocation, just record it in a GObject data attachment.
2270
2271 2011-12-12  Nate Chapin  <japhet@chromium.org>
2272
2273         A SubresourceLoader in the middle of revalidating
2274         a resource should be treated as finishing (similar to
2275         didFinishLoading and didFail) to ensure that willCancel()
2276         doesn't declare the revalidation as having failed reentrantly.
2277         https://bugs.webkit.org/show_bug.cgi?id=72762
2278
2279         Reviewed by Adam Barth.
2280
2281         Test: http/tests/cache/cancel-during-revalidation-succeeded.html
2282
2283         * loader/SubresourceLoader.cpp:
2284         (WebCore::SubresourceLoader::didReceiveResponse):
2285
2286 2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
2287
2288         Upstream 3 files into WebCore/platform/blackberry
2289         https://bugs.webkit.org/show_bug.cgi?id=74275
2290
2291         Reviewed by Rob Buis.
2292
2293         Initial upstream, no new tests.
2294
2295         * platform/blackberry/ContextMenuBlackBerry.cpp: Added.
2296         * platform/blackberry/ContextMenuItemBlackBerry.cpp: Added.
2297         * platform/blackberry/TemporaryLinkStubs.cpp: Added.
2298
2299 2011-12-12  Pierre Rossi  <pierre.rossi@gmail.com>
2300
2301         [Qt] Rendering issues with sliders and QStyle
2302         https://bugs.webkit.org/show_bug.cgi?id=73921
2303
2304         With QStyle's origins being deeply rooted with widgets,
2305         several styles make wrong assumptions, leading to sliders
2306         not being painted properly in WebKit. We can solve a lot
2307         of problems by systematically translating the painter to
2308         the top left corner of the render object.
2309
2310         Reviewed by Simon Hausmann.
2311
2312         No new tests. The Qt tests are ran with the Windows
2313         style, this fixes some quirks affecting other styles.
2314
2315         * platform/qt/RenderThemeQStyle.cpp:
2316         (WebCore::RenderThemeQStyle::paintSliderTrack):
2317         (WebCore::RenderThemeQStyle::paintSliderThumb):
2318
2319 2011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
2320
2321         Upstream 5 files into WebCore/platform/blackberry
2322         https://bugs.webkit.org/show_bug.cgi?id=73798
2323
2324         Reviewed by Rob Buis.
2325
2326         Main contributors:
2327         Genevieve Mak <gmak@rim.com>
2328         Mike Lattanzio  <mlattanzio@rim.com>
2329         George Staikos <gstaikos@rim.com> 
2330
2331         Initial upstream, no new tests.
2332
2333         * platform/blackberry/PlatformTouchEventBlackBerry.cpp: Added.
2334         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2335         * platform/blackberry/PlatformTouchPointBlackBerry.cpp: Added.
2336         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2337         * platform/blackberry/SharedBufferBlackBerry.cpp: Added.
2338         (WebCore::SharedBuffer::createWithContentsOfFile):
2339         * platform/blackberry/SharedTimerBlackBerry.cpp: Added.
2340         (WebCore::SharedTimerBlackBerry::SharedTimerBlackBerry):
2341         (WebCore::SharedTimerBlackBerry::~SharedTimerBlackBerry):
2342         (WebCore::SharedTimerBlackBerry::instance):
2343         (WebCore::SharedTimerBlackBerry::start):
2344         (WebCore::SharedTimerBlackBerry::stop):
2345         (WebCore::setSharedTimerFiredFunction):
2346         (WebCore::setSharedTimerFireInterval):
2347         (WebCore::stopSharedTimer):
2348         * platform/blackberry/SystemTimeBlackBerry.cpp: Added.
2349         (WebCore::userIdleTime):
2350
2351 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
2352
2353         Implement a cache for CSSStyleRule::selectorText()
2354         https://bugs.webkit.org/show_bug.cgi?id=74269
2355
2356         This change is geared towards speeding up the CSS selector profiler,
2357         its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
2358         Using a proof-of-concept implementation of the profiler, this change reduces
2359         the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
2360         roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
2361         considerably increase average memory usage, as reading selectorText is a relatively
2362         rare case during normal web browsing.
2363
2364         Reviewed by Andreas Kling.
2365
2366         No new tests, as this functionality is covered by existing tests.
2367
2368         * css/CSSRule.h:
2369         * css/CSSStyleRule.cpp:
2370         (WebCore::CSSStyleRule::~CSSStyleRule):
2371         (WebCore::selectorTextCache):
2372         (WebCore::CSSStyleRule::cleanup):
2373         (WebCore::CSSStyleRule::generateSelectorText):
2374         (WebCore::CSSStyleRule::selectorText):
2375         (WebCore::CSSStyleRule::setSelectorText):
2376         * css/CSSStyleRule.h:
2377
2378 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
2379
2380         Web Inspector: [Styles] Modified selector text needs sanitization
2381         https://bugs.webkit.org/show_bug.cgi?id=74291
2382
2383         Reviewed by Yury Semikhatsky.
2384
2385         * inspector/front-end/StylesSidebarPane.js:
2386
2387 2011-12-12  Renata Hodovan  <reni@webkit.org>
2388
2389         Fulfill FIXME in  HTMLLinkElement.h.
2390         https://bugs.webkit.org/show_bug.cgi?id=74278
2391
2392         Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().
2393
2394         Reviewed by Andreas Kling.
2395
2396         No new tests because the functionality remains the same.
2397
2398         * dom/Document.cpp:
2399         (WebCore::Document::recalcStyleSelector):
2400         * html/HTMLLinkElement.cpp:
2401         (WebCore::HTMLLinkElement::setDisabledState):
2402         (WebCore::HTMLLinkElement::isStyleSheetLoading):
2403         (WebCore::HTMLLinkElement::sheetLoaded):
2404         * html/HTMLLinkElement.h:
2405
2406 2011-11-25  Alexander Pavlov  <apavlov@chromium.org>
2407
2408         WebKit does not enumerate over CSS properties in HTMLElement.style
2409         https://bugs.webkit.org/show_bug.cgi?id=23946
2410
2411         Reviewed by Darin Adler.
2412
2413         This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
2414         using the "in" operator on the CSSStyleDeclaration object.
2415
2416         Test: fast/css/style-enumerate-properties.html
2417
2418         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2419         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
2420         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2421         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
2422         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
2423         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
2424         * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
2425         * css/makeprop.pl: Add a function to convert CSS property names into JS ones.
2426
2427 2011-12-12  Alexander Pavlov  <apavlov@chromium.org>
2428
2429         Unreviewed, build fix.
2430
2431         Revert r102570 which broke SnowLeopard builders.
2432
2433         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2434         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2435         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
2436         * css/CSSStyleDeclaration.idl:
2437         * css/makeprop.pl:
2438
2439 2011-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
2440
2441         Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
2442         https://bugs.webkit.org/show_bug.cgi?id=74289
2443
2444         WebCore objects have many hidden properties.
2445         The Detailed Heap shapshot view shows all these props for a selected object.
2446         The result view looks too heavy and users usually failed to find a useful information about the object.
2447         Looks like such ability is unnecessary in the most cases.
2448         I'd like to introduce a configurable property that will show/hide these props from the view.
2449
2450         Reviewed by Yury Semikhatsky.
2451
2452         * English.lproj/localizedStrings.js:
2453         * inspector/front-end/DetailedHeapshotGridNodes.js:
2454         * inspector/front-end/DetailedHeapshotView.js:
2455         * inspector/front-end/HeapSnapshotProxy.js:
2456         (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
2457         * inspector/front-end/SettingsScreen.js:
2458         (WebInspector.SettingsScreen):
2459
2460 2011-12-12  Kentaro Hara  <haraken@chromium.org>
2461
2462         Unreviewed, rolling out r102556.
2463         http://trac.webkit.org/changeset/102556
2464         https://bugs.webkit.org/show_bug.cgi?id=73394
2465
2466         clobber build failure
2467
2468         * WebCore.gyp/WebCore.gyp:
2469         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
2470         (main):
2471         * WebCore.gypi:
2472         * bindings/scripts/generate-bindings.pl:
2473         * page/DOMWindow.idl:
2474         * webaudio/DOMWindowWebAudio.idl: Removed.
2475
2476 2011-12-12  Kentaro Hara  <haraken@chromium.org>
2477
2478         Unreviewed, rolling out r102558.
2479         http://trac.webkit.org/changeset/102558
2480         https://bugs.webkit.org/show_bug.cgi?id=74160
2481
2482         clobber build failure
2483
2484         * WebCore.gypi:
2485         * page/DOMWindow.idl:
2486         * websockets/DOMWindowWebSocket.idl: Removed.
2487
2488 2011-11-25  Alexander Pavlov  <apavlov@chromium.org>
2489
2490         WebKit does not enumerate over CSS properties in HTMLElement.style
2491         https://bugs.webkit.org/show_bug.cgi?id=23946
2492
2493         Reviewed by Darin Adler.
2494
2495         This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
2496         using the "in" operator on the CSSStyleDeclaration object.
2497
2498         Test: fast/css/style-enumerate-properties.html
2499
2500         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2501         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
2502         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2503         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
2504         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
2505         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
2506         * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
2507         * css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.
2508
2509 2011-12-09  Yury Semikhatsky  <yurys@chromium.org>
2510
2511         Web Inspector: provide per Document Node count statistics
2512         https://bugs.webkit.org/show_bug.cgi?id=74100
2513
2514         Memory agent now returns counters for nodes with given names. For each
2515         object group root user will see total number of its descendtants and per
2516         tag name counts.
2517
2518         This patch also moves generic CounterVisitor code out of V8 bindings. It
2519         may well be used with both JS engines.
2520
2521         Reviewed by Pavel Feldman.
2522
2523         * GNUmakefile.list.am:
2524         * Target.pri:
2525         * WebCore.gypi:
2526         * WebCore.vcproj/WebCore.vcproj:
2527         * WebCore.xcodeproj/project.pbxproj:
2528         * bindings/js/ScriptProfiler.h:
2529         (WebCore::ScriptProfiler::visitJSDOMWrappers):
2530         * bindings/v8/ScriptProfiler.cpp:
2531         (WebCore::ScriptProfiler::visitJSDOMWrappers):
2532         * bindings/v8/ScriptProfiler.h:
2533         * inspector/DOMWrapperVisitor.h: Added.
2534         (WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):
2535         * inspector/Inspector.json:
2536         * inspector/InspectorMemoryAgent.cpp:
2537         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
2538         * inspector/InspectorMemoryAgent.h:
2539
2540 2011-12-12  Noel Gordon  <noel.gordon@gmail.com>
2541
2542         WebPImageDecoder: Increase image/webp decoding performance 10-20%
2543         https://bugs.webkit.org/show_bug.cgi?id=74263
2544
2545         Reviewed by Adam Barth.
2546
2547         Avoid copying data from the RGB buffer of decoded image output to the
2548         backing pixel store. That is slow - costs 10% of the overall decoding
2549         time at libwebp 0.1.2, and 20% at libwebp 0.1.3.
2550
2551         Instead, instruct the decoder to write the decoded pixels directly to
2552         the backing pixel store.
2553
2554         No new tests. Covered by existing tests. No progressive decoding test
2555         exists in DRT, see https://bugs.webkit.org/show_bug.cgi?id=74062
2556
2557         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2558         (outputMode):  Define output pixel format. On little-endian machines,
2559         output BGRA pixels to the backing store, for example.
2560         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
2561         (WebCore::WEBPImageDecoder::decode):
2562         * platform/image-decoders/webp/WEBPImageDecoder.h:
2563
2564 2011-12-11  Zoltan Herczeg  <zherczeg@webkit.org>
2565
2566         Add new CSS nth-children parsing tests
2567         https://bugs.webkit.org/show_bug.cgi?id=74178
2568
2569         Reviewed by Darin Adler.
2570
2571         Test: fast/css/parsing-css-nth-child.html
2572
2573         * css/CSSParser.cpp:
2574         (WebCore::isValidNthToken): Add "-n" to the possible identifiers.
2575
2576 2011-12-11  Kentaro Hara  <haraken@chromium.org>
2577
2578         Use [Supplemental] IDL in WebSocket
2579         https://bugs.webkit.org/show_bug.cgi?id=74160
2580
2581         Reviewed by Adam Barth.
2582
2583         By using the [Supplemental] IDL, this patch moves declarations of WebSocket
2584         attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
2585         which helps make WebSocket a self-contained module.
2586
2587         No new tests, no change in behavior.
2588         Confirm that http/tests/websocket/* pass.
2589
2590         * WebCore.gypi: Added DOMWindowWebSocket.idl.
2591         * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
2592         * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
2593
2594 2011-12-11  Luke Macpherson   <macpherson@chromium.org>
2595
2596         Implement webkit-line-grid and webkit-line-grid-snap CSS properties in CSSStyleApplyProperty.
2597         https://bugs.webkit.org/show_bug.cgi?id=74262
2598
2599         Reviewed by Andreas Kling.
2600
2601         No new tests / refactoring only.
2602
2603         * css/CSSStyleApplyProperty.cpp:
2604         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2605         * css/CSSStyleSelector.cpp:
2606         (WebCore::CSSStyleSelector::applyProperty):
2607
2608 2011-12-11  Kentaro Hara  <haraken@chromium.org>
2609
2610         Use the [Supplemental] IDL for webaudio attributes in Chromium
2611         https://bugs.webkit.org/show_bug.cgi?id=73394
2612
2613         Reviewed by Adam Barth.
2614
2615         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
2616         declarations of webaudio from DOMWindow.idl into a new IDL file
2617         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
2618         feature (aka a module).
2619
2620         - This patch changes the build flow of WebCore.gyp as follows:
2621
2622             Previous build flow:
2623                 foreach $idl (all IDL files) {
2624                     generate-bindings.pl depends on $idl;
2625                     generate-bindings.pl reads $idl;
2626                     generate-bindings.pl generates .h and .cpp files for $idl;
2627                 }
2628
2629             New build flow (See the discussions in bug 72138 for more details):
2630                 resolve-supplemental.pl depends on all IDL files;
2631                 resolve-supplemental.pl reads all IDL files;
2632                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
2633                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
2634                 foreach $idl (all IDL files) {
2635                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
2636                     generate-bindings.pl reads $idl;
2637                     generate-bindings.pl reads supplemental_dependency.tmp;
2638                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
2639                 }
2640
2641         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
2642         will be removed after build scripts for all platforms support the [Supplemental] IDL.
2643         The motivation for the [Supplemented] IDL is as follows:
2644
2645         In order to support the [Supplemental] IDL, we need to
2646         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
2647         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
2648
2649         This build flow requires a change on the following build scripts,
2650         but changing all the build scripts all at once without any regression is too difficult:
2651
2652             - DerivedSources.make
2653             - DerivedSources.pri
2654             - GNUmakefile.am
2655             - PlatformBlackBerry.cmake
2656             - UseJSC.cmake
2657             - UseV8.cmake
2658             - WebCore.vcproj/MigrateScripts
2659             - WebCore.vcproj/WebCore.vcproj
2660             - bindings/gobject/GNUmakefile.am
2661             - WebCore.gyp/WebCore.gyp
2662
2663         Thus, we are planning to change the build scripts one by one, which implies that
2664         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
2665         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
2666         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
2667         in another IDL file somewhere, like this:
2668
2669             DOMWindowWebAudio.idl:
2670                 interface [
2671                     Supplemental=DOMWindow
2672                 ] DOMWindowWebAudio {
2673                     attribute attr1;
2674                     attribute attr2;
2675                 };
2676
2677             DOMWindow.idl:
2678                 interface [
2679                 ] DOMWindow {
2680                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
2681                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
2682                     attribute attr3;
2683                     attribute attr4;
2684                 };
2685
2686         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
2687
2688             - If a given build script supports the [Supplemental] IDL,
2689             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
2690             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
2691             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
2692             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
2693
2694         Tests: webaudio/*
2695
2696         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
2697         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
2698         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
2699         * WebCore.gypi: Added DOMWindowWebAudio.idl.
2700         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
2701         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
2702         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
2703
2704 2011-12-11  Andreas Kling  <kling@webkit.org>
2705
2706         Micro-optimize CSSStyleSelector::findSiblingForStyleSharing().
2707         <http://webkit.org/b/74261>
2708
2709         Reviewed by Antti Koivisto.
2710
2711         Move the isStyledElement() check from canShareStyleWithElement() into the
2712         loop in findSiblingForStyleSharing(), and tighten up the argument/return
2713         types to StyledElement* as appropriate.
2714
2715         * css/CSSStyleSelector.cpp:
2716         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2717         (WebCore::CSSStyleSelector::findSiblingForStyleSharing):
2718         (WebCore::CSSStyleSelector::locateSharedStyle):
2719         * css/CSSStyleSelector.h:
2720
2721 2011-12-11  Shinya Kawanaka  <shinyak@google.com>
2722
2723         Asynchronous path synchronous path of SpellChecker should share the code to mark misspellings.
2724         https://bugs.webkit.org/show_bug.cgi?id=73616
2725
2726         Reviewed by Hajime Morita.
2727
2728         Asynchronous spellchecking path should call the same method for the synchronous spellchecking path
2729         to mark misspellings.
2730
2731         No new tests. Covered by existing tests.
2732
2733         * editing/Editor.cpp:
2734         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2735         (WebCore::Editor::markAndReplaceFor):
2736           Takes SpellCheckRequest object.
2737         * editing/Editor.h:
2738         * editing/SpellChecker.cpp:
2739         (WebCore::SpellChecker::didCheck):
2740           Calls the same method of synchronous spellchecking path.
2741
2742 2011-12-11  Luke Macpherson   <macpherson@chromium.org>
2743
2744         Implement CSS display property in CSSStyleApplyProperty.
2745         https://bugs.webkit.org/show_bug.cgi?id=73500
2746
2747         Reviewed by Andreas Kling.
2748
2749         Refactoring only / no functionality changed.
2750
2751         * css/CSSStyleApplyProperty.cpp:
2752         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
2753         (WebCore::ApplyPropertyDisplay::applyInheritValue):
2754         (WebCore::ApplyPropertyDisplay::applyInitialValue):
2755         (WebCore::ApplyPropertyDisplay::applyValue):
2756         (WebCore::ApplyPropertyDisplay::createHandler):
2757         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2758         * css/CSSStyleSelector.cpp:
2759         (WebCore::CSSStyleSelector::applyProperty):
2760
2761 2011-12-11  Geoffrey Garen  <ggaren@apple.com>
2762
2763         Try to fix the Qt build.
2764
2765         Unreviewed.
2766
2767         * css/CSSStyleDeclaration.cpp: Maybe an #include will solve our problem?
2768         Someday, compiler error messages will not suck. Today is not that day.
2769
2770 2011-12-11  Luke Macpherson   <macpherson@chromium.org>
2771
2772         Implement CSS resize property in CSSStyleApplyProperty.
2773         https://bugs.webkit.org/show_bug.cgi?id=74162
2774
2775         Reviewed by Julien Chaffraix.
2776
2777         No new tests / refactoring only.
2778
2779         * css/CSSStyleApplyProperty.cpp:
2780         (WebCore::ApplyPropertyResize::applyValue):
2781         (WebCore::ApplyPropertyResize::createHandler):
2782         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2783         * css/CSSStyleSelector.cpp:
2784         (WebCore::CSSStyleSelector::applyProperty):
2785
2786 2011-12-11  Andreas Kling  <kling@webkit.org>
2787
2788         Move CSSElementStyleDeclaration to its own cpp/h files.
2789         <http://webkit.org/b/74256>
2790
2791         Reviewed by Sam Weinig.
2792
2793         CSSElementStyleDeclaration is old enough to move out of CSSMutableStyleDeclaration's
2794         attic and into her own apartment. 
2795
2796         * CMakeLists.txt:
2797         * GNUmakefile.list.am:
2798         * Target.pri:
2799         * WebCore.gypi:
2800         * WebCore.vcproj/WebCore.vcproj:
2801         * WebCore.xcodeproj/project.pbxproj:
2802         * bindings/js/JSDOMBinding.h:
2803         * css/CSSElementStyleDeclaration.cpp: Added.
2804         (WebCore::CSSElementStyleDeclaration::styleSheet):
2805         * css/CSSElementStyleDeclaration.h: Added.
2806         (WebCore::CSSElementStyleDeclaration::element):
2807         (WebCore::CSSElementStyleDeclaration::setElement):
2808         (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
2809         (WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):
2810         * css/CSSInlineStyleDeclaration.h:
2811         * css/CSSMutableStyleDeclaration.cpp:
2812         * css/CSSMutableStyleDeclaration.h:
2813         * dom/CSSMappedAttributeDeclaration.h:
2814
2815 2011-12-11  Benjamin Poulain  <bpoulain@apple.com>
2816
2817         Add KillRingNone.cpp to Mac build system
2818         https://bugs.webkit.org/show_bug.cgi?id=74168
2819
2820         Reviewed by David Kilzer.
2821
2822         Add KillRingNone.cpp so it can be used on iOS, but
2823         blacklist the file from the build in order to avoid
2824         conflicts with KillRingMac.
2825
2826         * Configurations/WebCore.xcconfig:
2827         * WebCore.xcodeproj/project.pbxproj:
2828
2829 2011-12-11  Peter Rybin  <peter.rybin@gmail.com>
2830
2831         Web Inspector: [protocol] alter some type names generated from Inspector.json
2832         https://bugs.webkit.org/show_bug.cgi?id=74247
2833
2834         Reviewed by Pavel Feldman.
2835
2836         Manually-filled map added that contains problem type names and its replacement.
2837
2838         * inspector/CodeGeneratorInspector.py:
2839         (fix_type_name.Result):
2840         (fix_type_name.Result.output_comment):
2841         (fix_type_name):
2842         (TypeBindings.create_for_named_type_declaration.write_doc):
2843         (TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
2844         (TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
2845         (TypeBindings):
2846         (TypeBindings.create_for_named_type_declaration.ClassBinding.generate_type_builder):
2847         (Generator.process_types):
2848
2849 2011-12-11  Andreas Kling  <kling@webkit.org>
2850
2851         WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
2852         <http://webkit.org/b/74209> and <rdar://problem/10438197>
2853
2854         Reviewed by Anders Carlsson.
2855
2856         * WebCore.exp.in: Export AffineTransform::scale(double).
2857
2858 2011-12-10  Andreas Kling  <kling@webkit.org>
2859
2860         Remove OS(SYMBIAN) block from Settings constructor.
2861         <http://webkit.org/b/74248>
2862
2863         Reviewed by Benjamin Poulain.
2864
2865         Kill the last OS(SYMBIAN) block in WebKit!
2866
2867         * page/Settings.cpp:
2868         (WebCore::Settings::Settings):
2869
2870 2011-12-11  Dan Bernstein  <mitz@apple.com>
2871
2872         <rdar://problem/10561285> REGRESSION (r80438): First word on a line or after collapsed space may not be hyphenated even though it should
2873         https://bugs.webkit.org/show_bug.cgi?id=74239
2874
2875         Reviewed by Anders Carlsson.
2876
2877         Tests: fast/text/hyphenate-first-word-after-skipped-space-expected.html
2878                fast/text/hyphenate-first-word-after-skipped-space.html
2879
2880         * rendering/RenderBlockLineLayout.cpp:
2881         (WebCore::tryHyphenating): Replaced the assumption that the character at lastSpace is a space
2882         iff lastSpace is non-zero with a test of whether it is a space, in the sense that it should
2883         not be counted as part of the prefix when comparing it to the value of hyphenate-limit-before.
2884
2885 2011-12-10  Benjamin Poulain  <bpoulain@apple.com>
2886
2887         #ifdef the parts of the Mac platform which should not be used on iOS
2888         https://bugs.webkit.org/show_bug.cgi?id=74246
2889
2890         Reviewed by David Kilzer.
2891
2892         * Configurations/WebCore.xcconfig:
2893         * platform/FileSystem.cpp:
2894         * platform/mac/FileSystemMac.mm:
2895         * platform/mac/Language.mm:
2896         (+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]):
2897         (WebCore::createHTTPStyleLanguageCode):
2898         (WebCore::platformDefaultLanguage):
2899         * platform/mac/LocalizedStringsMac.mm:
2900         (WebCore::localizedString):
2901         (+[WebCoreSharedBufferData initialize]):
2902         * platform/mac/WebCoreNSStringExtras.h:
2903         * platform/mac/WebCoreNSStringExtras.mm:
2904         * platform/mac/WebFontCache.mm:
2905         * platform/mac/WebNSAttributedStringExtras.mm: The value NSAttachmentCharacter is
2906         not defined in the iOS SDK so we add it here.
2907
2908 2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
2909
2910         The previous fix broke Lion release build. Fix that.
2911
2912         * editing/SpellingCorrectionCommand.cpp:
2913
2914 2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
2915
2916         Lion build fix attempt after r102527.
2917
2918         * editing/SpellingCorrectionCommand.cpp:
2919
2920 2011-12-10  Kevin Ollivier  <kevino@theolliviers.com>
2921
2922         [wx] Unreviewed build fixes. Add missing header for CPP
2923         DOM bindings and add stubs for new DPI methods.
2924         
2925         * bindings/scripts/CodeGeneratorCPP.pm:
2926         (AddIncludesForType):
2927         * platform/wx/ScreenWx.cpp:
2928         (WebCore::screenHorizontalDPI):
2929         (WebCore::screenVerticalDPI):
2930
2931 2011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
2932
2933         Mac build fix. Remove an erroneous OVERRIDE.
2934
2935         * editing/CompositeEditCommand.h:
2936
2937 2011-12-09  Robert Hogan  <robert@webkit.org>
2938
2939         CSS 2.1 failure: numerous counter-increment-* tests fail
2940         https://bugs.webkit.org/show_bug.cgi?id=73360
2941
2942         Reviewed by Julien Chaffraix.
2943
2944         Allow counter-increment to handle integer underflow and overflow.
2945         Also allow 'counter' to inherit.
2946
2947         * css/CSSStyleApplyProperty.cpp:
2948         (WebCore::ApplyPropertyCounter::applyInheritValue):
2949         (WebCore::ApplyPropertyCounter::applyValue):
2950         (WebCore::ApplyPropertyCounter::createHandler):
2951
2952 2011-12-09  Ryosuke Niwa  <rniwa@webkit.org>
2953
2954         There should be a way to count the number of nodes held by undo stack
2955         https://bugs.webkit.org/show_bug.cgi?id=74099
2956
2957         Reviewed by Enrica Casucci.
2958
2959         Add getNodesInCommand to all SimpleEditCommands and EditCommandComposition in debug builds.
2960         We can easily aggregate the number of nodes held by the undo stack by calling
2961         this function on each item in the undo stack.
2962
2963         * editing/AppendNodeCommand.cpp:
2964         (WebCore::AppendNodeCommand::getNodesInCommand):
2965         * editing/AppendNodeCommand.h:
2966         * editing/CompositeEditCommand.cpp:
2967         (WebCore::EditCommandComposition::getNodesInCommand):
2968         * editing/CompositeEditCommand.h:
2969         * editing/DeleteFromTextNodeCommand.cpp:
2970         (WebCore::DeleteFromTextNodeCommand::getNodesInCommand):
2971         * editing/DeleteFromTextNodeCommand.h:
2972         * editing/EditCommand.cpp:
2973         (WebCore::SimpleEditCommand::addNodeAndDescedents):
2974         * editing/EditCommand.h:
2975         * editing/Editor.cpp:
2976         (WebCore::Editor::appliedEditing):
2977         * editing/InsertIntoTextNodeCommand.cpp:
2978         (WebCore::InsertIntoTextNodeCommand::getNodesInCommand):
2979         * editing/InsertIntoTextNodeCommand.h:
2980         * editing/InsertNodeBeforeCommand.cpp:
2981         (WebCore::InsertNodeBeforeCommand::getNodesInCommand):
2982         * editing/InsertNodeBeforeCommand.h:
2983         * editing/MergeIdenticalElementsCommand.cpp:
2984         (WebCore::MergeIdenticalElementsCommand::getNodesInCommand):
2985         * editing/MergeIdenticalElementsCommand.h:
2986         * editing/RemoveCSSPropertyCommand.cpp:
2987         (WebCore::RemoveCSSPropertyCommand::getNodesInCommand):
2988         * editing/RemoveCSSPropertyCommand.h:
2989         * editing/RemoveNodeCommand.cpp:
2990         (WebCore::RemoveNodeCommand::getNodesInCommand):
2991         * editing/RemoveNodeCommand.h:
2992         * editing/ReplaceNodeWithSpanCommand.cpp:
2993         (WebCore::ReplaceNodeWithSpanCommand::getNodesInCommand):
2994         * editing/ReplaceNodeWithSpanCommand.h:
2995         * editing/SetNodeAttributeCommand.cpp:
2996         (WebCore::SetNodeAttributeCommand::getNodesInCommand):
2997         * editing/SetNodeAttributeCommand.h:
2998         * editing/SetSelectionCommand.h:
2999         * editing/SplitElementCommand.cpp:
3000         (WebCore::SplitElementCommand::getNodesInCommand):
3001         * editing/SplitElementCommand.h:
3002         * editing/SplitTextNodeCommand.cpp:
3003         (WebCore::SplitTextNodeCommand::getNodesInCommand):
3004         * editing/SplitTextNodeCommand.h:
3005         * editing/WrapContentsInDummySpanCommand.cpp:
3006         (WebCore::WrapContentsInDummySpanCommand::getNodesInCommand):
3007         * editing/WrapContentsInDummySpanCommand.h:
3008
3009 2011-11-09  Robert Hogan  <robert@webkit.org>
3010
3011         CSS 2.1 failure: outline-color-* tests fail
3012         https://bugs.webkit.org/show_bug.cgi?id=71931
3013
3014         Reviewed by Julien Chaffraix.
3015
3016         Test: css2.1/20110323/outline-color-001.html
3017
3018         WebKit didn't paint the top block in this series of tests because it ignored the outline
3019         of objects with a zero size. Fix this by taking account of both offset and width of the
3020         outline when deciding whether to paint it. 
3021
3022         * rendering/RenderObject.cpp:
3023         (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
3024
3025 2011-12-10   Arko Saha  <arko@motorola.com>
3026
3027         Microdata: Fix compilation error in MICRODATA enabled build.
3028         https://bugs.webkit.org/show_bug.cgi?id=74235
3029
3030         Reviewed by Andreas Kling.
3031
3032         * dom/Document.cpp:
3033         (WebCore::Document::getItems):
3034
3035 2011-12-10  Jarred Nicholls  <jarred@sencha.com>
3036
3037         [V8] Remove old ArrayBuffer guards from V8XMLHttpRequestCustom.cpp
3038         https://bugs.webkit.org/show_bug.cgi?id=74234
3039
3040         Reviewed by Adam Barth.
3041
3042         No new tests are necessary.
3043
3044         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3045         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
3046
3047 2011-12-10  Noel Gordon  <noel.gordon@gmail.com>
3048
3049         WebPImageDecoder progressive decodes fail to decode valid images
3050         https://bugs.webkit.org/show_bug.cgi?id=74062
3051
3052         Reviewed by Adam Barth.
3053
3054         The WEBP header is followed by a so-called P0 header, then some data to
3055         decode.  If a partial P0 header is received during progressive decodes,
3056         WebPIDecGetRGB() returns false; that makes the decoder enter the failed
3057         state, no image appears on the page.
3058
3059         James Zern (webp) recommended the following via e-mail:
3060
3061         WebPIUpdate() validates input data, and will return an error status for
3062         malformed data (bit-stream error, invalid data).  Otherwise, it returns
3063         OK or SUSPENDED.  OK means that decoding is done/complete/no-error, and
3064         SUSPENDED means more input data is needed to complete decoding.  A NULL
3065         return from WebPIDecGetRGB() is valid at this time due to a partial P0,
3066         and should not be interpreted as a decoding failure.
3067
3068         No new tests. Not something DumpRenderTree can easily test.
3069
3070         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3071         (WebCore::WEBPImageDecoder::decode):  A NULL WebPIDecGetRGB() return is
3072         acceptable here.  Return false instead of failing the decoder.
3073
3074 2011-12-09  Benjamin Poulain  <bpoulain@apple.com>
3075
3076         Add the FileSystem functions of iOS
3077         https://bugs.webkit.org/show_bug.cgi?id=74164
3078
3079         Reviewed by David Kilzer.
3080
3081         Two functions are needed on iOS for temporary files and directories.
3082
3083         * WebCore.exp.in:
3084         * WebCore.xcodeproj/project.pbxproj:
3085         * platform/ios/FileSystemIOS.h: Added.
3086         * platform/ios/FileSystemIOS.mm: Added.
3087         (WebCore::createTemporaryDirectory):
3088         (WebCore::createTemporaryFile):
3089
3090 2011-12-09  Jacky Jiang  <zhajiang@rim.com>
3091
3092         Remove ResourceHandle::bufferedData() from ResourceHandleBlackBerry.cpp
3093         https://bugs.webkit.org/show_bug.cgi?id=74197
3094
3095         The bufferedData() was removed in r95120.
3096
3097         Reviewed by Rob Buis.
3098
3099         Trivial fix, so no new tests.
3100
3101         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
3102
3103 2011-12-09  Eric Penner  <epenner@google.com>
3104
3105         [chromium] Prevent ASSERT in legitimate out-of-memory case.
3106         https://bugs.webkit.org/show_bug.cgi?id=74215
3107
3108         Reviewed by James Robinson.
3109
3110         * platform/graphics/chromium/TiledLayerChromium.cpp:
3111         (WebCore::TiledLayerChromium::updateCompositorResources):
3112
3113 2011-12-09   Arko Saha  <arko@motorola.com>
3114
3115         NameNodeListCache should be invalidated when name attribute changes/modified.
3116         https://bugs.webkit.org/show_bug.cgi?id=70810
3117
3118         Reviewed by Ryosuke Niwa.
3119
3120         Test: fast/dom/getelementsbyname-invalidation-cache.html
3121
3122         * html/HTMLAnchorElement.cpp:
3123         (WebCore::HTMLAnchorElement::parseMappedAttribute):
3124         * html/HTMLAppletElement.cpp:
3125         (WebCore::HTMLAppletElement::parseMappedAttribute):
3126         * html/HTMLElement.cpp:
3127         (WebCore::HTMLElement::parseMappedAttribute):
3128         * html/HTMLEmbedElement.cpp:
3129         (WebCore::HTMLEmbedElement::parseMappedAttribute):
3130         * html/HTMLFormElement.cpp:
3131         (WebCore::HTMLFormElement::parseMappedAttribute):
3132         * html/HTMLFrameElementBase.cpp:
3133         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3134         * html/HTMLIFrameElement.cpp:
3135         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3136         * html/HTMLImageElement.cpp:
3137         (WebCore::HTMLImageElement::parseMappedAttribute):
3138         * html/HTMLMapElement.cpp:
3139         (WebCore::HTMLMapElement::parseMappedAttribute):
3140         * html/HTMLMetaElement.cpp:
3141         (WebCore::HTMLMetaElement::parseMappedAttribute):
3142         * html/HTMLObjectElement.cpp:
3143         (WebCore::HTMLObjectElement::parseMappedAttribute):
3144         * html/HTMLParamElement.cpp:
3145         (WebCore::HTMLParamElement::parseMappedAttribute):
3146
3147 2011-12-09  Anders Carlsson  <andersca@apple.com>
3148
3149         Fix Lion release build.
3150
3151         * platform/mac/ScrollAnimatorMac.mm:
3152         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
3153
3154 2011-12-09  Mark Pilgrim  <pilgrim@chromium.org>
3155
3156         [FileSystem API] Entry.remove successCallback is required
3157         https://bugs.webkit.org/show_bug.cgi?id=69639
3158
3159         Reviewed by Adam Barth.
3160
3161         Test: fast/filesystem/simple-required-arguments-remove.html
3162
3163         * fileapi/Entry.idl: remove [Optional] flag from Entry.remove.successCallback parameter
3164
3165 2011-12-09  Tim Horton  <timothy_horton@apple.com>
3166
3167         background-image transitions trigger between equivalent images
3168         https://bugs.webkit.org/show_bug.cgi?id=74229
3169         <rdar://problem/10558627>
3170
3171         Reviewed by Darin Adler.
3172         Patch by Simon Fraser.
3173
3174         For animation property wrappers around StyleImage properties,
3175         test the equivalence of the image itself, instead of equality of
3176         the StyleImage pointer.
3177
3178         Test: transitions/equivalent-background-image-no-transition.html
3179
3180         * page/animation/AnimationBase.cpp:
3181         (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
3182         (WebCore::StyleImagePropertyWrapper::equals):
3183         (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
3184         (WebCore::FillLayerStyleImagePropertyWrapper::equals):
3185         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
3186         (WebCore::AnimationBase::ensurePropertyMap):
3187
3188 2011-12-09  Mary Wu  <mary.wu@torchmobile.com.cn>
3189
3190         Small style fix on DragDataBlackBerry.cpp
3191         https://bugs.webkit.org/show_bug.cgi?id=74171
3192
3193         Reviewed by Rob Buis.
3194
3195         Style fix, no function impact, no new tests.
3196
3197         * platform/blackberry/DragDataBlackBerry.cpp:
3198         (WebCore::DragData::containsURL):
3199         (WebCore::DragData::asFilenames):
3200         (WebCore::DragData::asURL):
3201         (WebCore::DragData::asFragment):
3202
3203 2011-12-09  Tony Chang  <tony@chromium.org>
3204
3205         add css parsing for flex-flow: wrap and wrap-reverse
3206         https://bugs.webkit.org/show_bug.cgi?id=74008
3207
3208         Reviewed by Ojan Vafai.
3209
3210         Also save 2 bits in StyleFlexibleBoxData by changing the size of m_flexFlow (there are only 4 enum values).
3211
3212         * css/CSSComputedStyleDeclaration.cpp:
3213         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Print the wrap value if it exists.
3214         * css/CSSParser.cpp:
3215         (WebCore::CSSParser::parseValue): Parse a second token and put the values into a CSSValueList.
3216         * css/CSSPrimitiveValueMappings.h:
3217         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3218         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
3219         * css/CSSStyleApplyProperty.cpp:
3220         (WebCore::ApplyPropertyFlexFlow::applyInheritValue): Does not inherit.
3221         (WebCore::ApplyPropertyFlexFlow::applyInitialValue):
3222         (WebCore::ApplyPropertyFlexFlow::applyValue): Special handler for setting two render style values from one
3223         CSS property.
3224         (WebCore::ApplyPropertyFlexFlow::createHandler):
3225         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3226         * css/CSSValueKeywords.in:
3227         * rendering/style/RenderStyle.h:
3228         (WebCore::InheritedFlags::flexWrap):
3229         (WebCore::InheritedFlags::setFlexWrap):
3230         (WebCore::InheritedFlags::initialFlexWrap):
3231         * rendering/style/RenderStyleConstants.h: EFlexWrap to hold flex wrap values.
3232         * rendering/style/StyleFlexibleBoxData.cpp:
3233         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3234         (WebCore::StyleFlexibleBoxData::operator==):
3235         * rendering/style/StyleFlexibleBoxData.h: 2 bits is enough to hold the 4 flexFlow values.
3236
3237 2011-12-09  KwangHyuk Kim  <hyuki.kim@samsung.com>
3238
3239         [EFL] Add RefPtrEfl specialization for evas_object.
3240         https://bugs.webkit.org/show_bug.cgi?id=73790
3241
3242         Reviewed by Ryosuke Niwa.
3243
3244         As evas_object is also based on reference count, RefPtr is applied for evas_object.
3245
3246         * PlatformEfl.cmake:
3247         * platform/efl/RefPtrEfl.cpp: Added.
3248         (WTF::refIfNotNull):
3249         (WTF::derefIfNotNull):
3250         * platform/efl/RefPtrEfl.h: Added.
3251
3252 2011-12-09  Tony Chang  <tony@chromium.org>
3253
3254         REGRESSION(102234): 2-3% layout regression
3255         https://bugs.webkit.org/show_bug.cgi?id=74141
3256
3257         Reviewed by David Hyatt.
3258
3259         Don't allocate a RuleSet when there are no regions.
3260
3261         * css/CSSStyleSelector.cpp:
3262         (WebCore::CSSStyleSelector::initForRegionStyling):
3263
3264 2011-12-09  Anders Carlsson  <andersca@apple.com>
3265
3266         Fix assertion failure in ScrollAnimatorMac
3267         https://bugs.webkit.org/show_bug.cgi?id=74222
3268
3269         Reviewed by Andreas Kling.
3270
3271         * platform/mac/ScrollAnimatorMac.mm:
3272         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3273         This can be called with a nil scrollerImp, just return NSZeroPoint when that happens.
3274
3275 2011-12-09  Anders Carlsson  <andersca@apple.com>
3276
3277         Move the "is currently drawing into layer" flag out into ScrollbarThemeMac
3278         https://bugs.webkit.org/show_bug.cgi?id=74217
3279
3280         Reviewed by Beth Dakin.
3281
3282         There's no need to store this flag inside ScrollAnimatorMac, just make it a global and put it in ScrollbarThemeMac instead.
3283
3284         * platform/mac/ScrollAnimatorMac.h:
3285         * platform/mac/ScrollAnimatorMac.mm:
3286         (-[WebScrollbarPainterDelegate layer]):
3287         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3288         * platform/mac/ScrollbarThemeMac.h:
3289         * platform/mac/ScrollbarThemeMac.mm:
3290         (WebCore::ScrollbarThemeMac::isCurrentlyDrawingIntoLayer):
3291         (WebCore::ScrollbarThemeMac::paint):
3292
3293 2011-12-09  Anders Carlsson  <andersca@apple.com>
3294
3295         Minor cleanup in ScrollAnimatorMac.mm
3296         https://bugs.webkit.org/show_bug.cgi?id=74211
3297
3298         Reviewed by Andreas Kling.
3299
3300         * platform/mac/ScrollAnimatorMac.mm:
3301         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
3302         No need to get the scrollbar from the scroll animator anymore.
3303
3304         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3305         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
3306         Try to get data from the scrollbar and/or the scrollable area instead of the scrollbar painter.
3307
3308 2011-12-09  David Levin  <levin@chromium.org>
3309
3310         Regression(r53595): Sync xhr requests in workers aren't terminated on worker close.
3311         https://bugs.webkit.org/show_bug.cgi?id=71695
3312
3313         Reviewed by Zoltan Herczeg.
3314
3315         Overview: Message loops rely on the message queue being killed in order
3316         to exit. r53595 stopped this from happening because killing a message loop
3317         would also stop it from doing database clean up tasks. The database clean up
3318         tasks needed to be tasks due to ordering issues. (They wanted to run after
3319         certain order tasks were run.) This was solved by once again terminating
3320         the message queue but then still runnning clean-up tasks from the killed
3321         message queue.
3322
3323         * workers/WorkerRunLoop.cpp:
3324         (WebCore::WorkerRunLoop::run): Added the call to run clean-up tasks.
3325         (WebCore::WorkerRunLoop::runInMode):
3326         (WebCore::WorkerRunLoop::runCleanupTasks): Loop to simply clear out all clean up tasks.
3327         (WebCore::WorkerRunLoop::Task::performTask): Stop non-clean up tasks
3328         from running after the loop has been terminated.
3329         * workers/WorkerRunLoop.h:
3330         (WebCore::WorkerRunLoop::terminated): Just made it const.
3331         * workers/WorkerThread.cpp:
3332         (WebCore::WorkerThreadShutdownFinishTask::performTask): Removed
3333         the terminate clause since it was put back in stop.
3334         (WebCore::WorkerThread::stop): Terminate the run loop so
3335         that all loops will exit and clean up tasks will run. Also removed a comment
3336         about nested workers because nested workers are no longer imminent and the
3337         issue mentioned is one of many that should logically be investigated -- behavior correctness
3338         in the face of different orderings of shutdown between the document and each worker --
3339         when implementing them.
3340
3341 2011-12-09  Tony Chang  <tony@chromium.org>
3342
3343         Unreviewed, rolling out r102416.
3344         http://trac.webkit.org/changeset/102416
3345         https://bugs.webkit.org/show_bug.cgi?id=73394
3346
3347         Chromium Win clobber builds are failing.
3348
3349         * WebCore.gyp/WebCore.gyp:
3350         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3351         (main):
3352         * WebCore.gypi:
3353         * bindings/scripts/generate-bindings.pl:
3354         * page/DOMWindow.idl:
3355         * webaudio/DOMWindowWebAudio.idl: Removed.
3356
3357 2011-12-09  Eric Carlson  <eric.carlson@apple.com>
3358
3359         JSC wrappers for TextTrack and TextTrackCue should not be collected during event dispatch or when owner is reachable
3360         https://bugs.webkit.org/show_bug.cgi?id=72179
3361
3362         Reviewed by Geoff Garen.
3363
3364         Tests: media/track/text-track-cue-is-reachable.html
3365                media/track/text-track-is-reachable.html
3366
3367         * GNUmakefile.list.am: Add JSTextTrackCueCustom.cpp and JSTextTrackCustom.cpp.
3368         * Target.pri: Ditto.
3369         * WebCore.gypi: Ditto.
3370         * WebCore.xcodeproj/project.pbxproj: Ditto
3371         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3372
3373         * bindings/js/JSTextTrackCueCustom.cpp: Added.
3374         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots): New.
3375         (WebCore::JSTextTrackCueOwner::visitChildren): New.
3376
3377         * bindings/js/JSTextTrackCustom.cpp: Added.
3378         (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots): New.
3379         (WebCore::JSTextTrack::visitChildren): New, mark all cues.
3380         * bindings/js/JSTextTrackCustom.h: Added.
3381         (WebCore::root): New.
3382
3383         * bindings/js/JSTextTrackListCustom.cpp:
3384         (WebCore::JSTextTrackList::visitChildren): New, mark all tracks.
3385
3386         * html/HTMLMediaElement.cpp:
3387         (WebCore::HTMLMediaElement::trackWillBeRemoved): TextTracks::remove now takes a TextTrack*.
3388
3389         * html/LoadableTextTrack.h:
3390         (WebCore::LoadableTextTrack::trackElement): New, return the <track>.
3391
3392         * html/TextTrack.cpp:
3393         (WebCore::TextTrack::TextTrack): Initialize m_mediaElement.
3394         * html/TextTrack.h:
3395         (WebCore::TextTrack::setMediaElement): New.
3396         (WebCore::TextTrack::mediaElement): Ditto.
3397
3398         * html/TextTrack.idl: Add CustomIsReachable and CustomMarkFunction.
3399
3400         * html/TextTrackCue.idl: Add CustomIsReachable.
3401
3402         * html/track/TextTrackList.cpp:
3403         (TextTrackList::append): Set track's media element.
3404         (TextTrackList::remove): Clear track's media element. Take a raw ptr, not a PassRefPtr.
3405         * html/track/TextTrackList.h:
3406         * html/track/TextTrackList.idl: Add CustomMarkFunction
3407
3408 2011-12-09  Chris Fleizach  <cfleizach@apple.com>
3409
3410         WebKit should ignore images with @alt matching only whitespace
3411         https://bugs.webkit.org/show_bug.cgi?id=74189
3412
3413         Reviewed by Darin Adler.
3414
3415         Test: accessibility/img-alt-tag-only-whitespace.html
3416
3417         * accessibility/AccessibilityRenderObject.cpp:
3418         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3419
3420 2011-12-09  Anders Carlsson  <andersca@apple.com>
3421
3422         Remove NSAnimationContext calls
3423         https://bugs.webkit.org/show_bug.cgi?id=74207
3424
3425         Reviewed by Sam Weinig.
3426
3427         NSAnimationContext is not used for NSAnimation subclasses, so the calls to beginGrouping/endGrouping and setDuration:
3428         are essentially no-ops. Remove them.
3429
3430         * platform/mac/ScrollAnimatorMac.mm:
3431         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3432         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
3433
3434 2011-12-09  Anders Carlsson  <andersca@apple.com>
3435
3436         Rename scrollAnimatorDestroyed to invalidate
3437         https://bugs.webkit.org/show_bug.cgi?id=74206
3438
3439         Reviewed by Sam Weinig.
3440
3441         Since these methods can be called when both scrollbars are destroyed and the scroll animator itself is
3442         destroyed, rename it to something more neutral.
3443
3444         * platform/mac/ScrollAnimatorMac.mm:
3445         (-[WebScrollAnimationHelperDelegate invalidate]):
3446         (-[WebScrollbarPartAnimation invalidate]):
3447         (-[WebScrollbarPainterDelegate invalidate]):
3448         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3449         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
3450         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
3451
3452 2011-12-09  Anders Carlsson  <andersca@apple.com>
3453
3454         WebScrollbarPainterControllerDelegate should know about the ScrollableArea, not the ScrollAnimatorMac
3455         https://bugs.webkit.org/show_bug.cgi?id=74204
3456
3457         Reviewed by Sam Weinig.
3458
3459         It makes more logical sense to associate the WebScrollbarPainterControllerDelegate object with its ScrollableArea, since
3460         painting has nothing to do with animation.
3461
3462         * platform/mac/ScrollAnimatorMac.mm:
3463         (-[WebScrollbarPainterControllerDelegate initWithScrollableArea:]):
3464         (-[WebScrollbarPainterControllerDelegate invalidate]):
3465         (-[WebScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3466         (-[WebScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3467         (-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3468         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3469         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3470         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3471         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3472
3473 2011-12-09  Jarred Nicholls  <jarred@sencha.com>
3474
3475         [JSC] Allow cached attributes in bindings that declare a custom mark function
3476         https://bugs.webkit.org/show_bug.cgi?id=74187
3477
3478         Reviewed by Oliver Hunt.
3479
3480         No new tests, current binding tests are sufficient.
3481
3482         * bindings/scripts/CodeGeneratorJS.pm:
3483         (GenerateImplementation):
3484
3485 2011-12-09  Anders Carlsson  <andersca@apple.com>
3486
3487         Remove duplicate animation ivars
3488         https://bugs.webkit.org/show_bug.cgi?id=74194
3489
3490         Reviewed by Sam Weinig.
3491
3492         Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
3493         vertical/horizontal animation objects, so get rid of them.
3494
3495         * platform/mac/ScrollAnimatorMac.mm:
3496         (-[WebScrollbarPainterDelegate cancelAnimations]):
3497         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3498         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3499         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
3500         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
3501
3502 2011-12-09  Anders Carlsson  <andersca@apple.com>
3503
3504         WebScrollbarPartAnimation should only know about the scrollbar it's animating
3505         https://bugs.webkit.org/show_bug.cgi?id=74192
3506
3507         Reviewed by Sam Weinig.
3508
3509         * platform/mac/ScrollAnimatorMac.mm:
3510         (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
3511         Change the designated initializer to just take the scrollbar. Also, make the animation non-blocking here
3512         so we don't have to do it in all the call sites.
3513
3514         (-[WebScrollbarPartAnimation startAnimation]):
3515         Update the scrollbar painter.
3516
3517         (-[WebScrollbarPartAnimation setCurrentProgress:]):
3518         Just invalidate the scrollbar we're animating.
3519
3520         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3521         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
3522         Update call sites to use the new designated initializer.
3523
3524 2011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3525
3526         Inspector: Don't translate the context when rendering the highlights on a tiled layer.
3527         https://bugs.webkit.org/show_bug.cgi?id=74085
3528
3529         Reviewed by Kenneth Rohde Christiansen.
3530
3531         When the frame view is using fixed layouting, the page overlay is the size of the whole
3532         page and the context shouldn't be translated. The visible rect is still used in that
3533         case to display element titles within the visible rect.
3534
3535         Also:
3536         - Rename overlayRect to visibleRect to reduce confusion in this case.
3537         - Remove the superfluous boundingBox check.
3538
3539         * inspector/DOMNodeHighlighter.cpp:
3540
3541 2011-12-09  Vsevolod Vlasov  <vsevik@chromium.org>
3542
3543         Unreviewed inspector utilities syntax fix.
3544
3545         * inspector/front-end/utilities.js:
3546         ():
3547
3548 2011-12-09  Joone Hur  <joone.hur@collabora.co.uk>, Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk> 
3549
3550         [GTK] Initial implementation of Accelerated Compositing using Clutter
3551         https://bugs.webkit.org/show_bug.cgi?id=73319
3552
3553         Reviewed by Gustavo Noronha Silva.
3554
3555         No new tests added as this feature will be able to reuse the existing 
3556         CSS3 transforms layout tests.
3557
3558         * GNUmakefile.am: Include WebCore/platform/graphics/clutter path.
3559         * GNUmakefile.list.am: Add GraphicsLayerClutter.
3560         * platform/clutter/GRefPtrClutter.cpp: Added.
3561         (WTF::adoptGRef):
3562         (WTF::ClutterActor):
3563         * platform/clutter/GRefPtrClutter.h: Added.
3564         * platform/graphics/GraphicsLayer.h: Define PlatformLayer type, which represents ClutterActor.
3565         * platform/graphics/clutter/GraphicsLayerClutter.cpp: Boilerplate implementation.
3566         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
3567         (WebCore::GraphicsLayerClutter::platformLayer):
3568         * platform/graphics/clutter/GraphicsLayerClutter.h: Boilerplate implementation.
3569
3570 2011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>
3571
3572         Web Inspector: Introduce a Map class allowing to store values indexed by arbitrary objects.
3573         https://bugs.webkit.org/show_bug.cgi?id=74084
3574
3575         Reviewed by Pavel Feldman.
3576
3577         Test: inspector/map.html
3578
3579         * inspector/front-end/treeoutline.js:
3580         (TreeOutline):
3581         ():
3582         (TreeElement.prototype.collapse):
3583         (TreeElement.prototype.expand):
3584         * inspector/front-end/utilities.js:
3585         ():
3586
3587 2011-12-09  Peter Rybin  <peter.rybin@gmail.com>
3588
3589         Web Inspector: [protocol] generate C++ classes for protocol JSON named types
3590         https://bugs.webkit.org/show_bug.cgi?id=72835
3591
3592         Reviewed by Yury Semikhatsky.
3593
3594         Extends python generator functionality.
3595         Makes constructor in InspectorObject public.
3596
3597         * inspector/CodeGeneratorInspector.py:
3598         * inspector/InspectorValues.h:
3599
3600 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3601
3602         [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
3603         https://bugs.webkit.org/show_bug.cgi?id=73591
3604
3605         Reviewed by Noam Rosenthal.
3606
3607         Implementation of helper function to remove all GL allocated tiles
3608         when QQuickWebView gets removed from canvas.
3609
3610         Tested by new API test in WK2 (tst_QQuickWebView::removeFromCanvas).
3611
3612         * platform/graphics/texmap/TextureMapperNode.cpp:
3613         (WebCore::TextureMapperNode::purgeNodeTexturesRecursive):
3614         * platform/graphics/texmap/TextureMapperNode.h:
3615
3616 2011-12-08  Leo Yang  <leo.yang@torchmobile.com.cn>
3617
3618         Upstream platform/network/blackberry/DeferredData.{h, cpp}, NetworkJob.{h, cpp} and NetworkManager.{h, cpp}
3619         https://bugs.webkit.org/show_bug.cgi?id=73791
3620
3621         Reviewed by Rob Buis.
3622
3623         Other main contributors:
3624         Joe Mason <jmason@rim.com>
3625         Lianghui Chen <liachen@rim.com>
3626         Charles Wei <charles.wei@torchmobile.com.cn>
3627
3628         Initial upstream, can't be built yet, no new tests.
3629
3630         * platform/network/blackberry/DeferredData.cpp: Added.
3631         * platform/network/blackberry/DeferredData.h: Added.
3632         * platform/network/blackberry/NetworkJob.cpp: Added.
3633         * platform/network/blackberry/NetworkJob.h: Added.
3634         * platform/network/blackberry/NetworkManager.cpp: Added.
3635         * platform/network/blackberry/NetworkManager.h: Added.
3636
3637 2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
3638
3639         It's semantically incorrect to call notifyNodeListsAttributeChanged in dispatchSubtreeModifiedEvent
3640         https://bugs.webkit.org/show_bug.cgi?id=74028
3641
3642         Reviewed by Darin Adler.
3643
3644         Remove a call to notifyNodeListsAttributeChanged in dispatchSubtreeModified and add explicit calls
3645         to notifyNodeListsAttributeChanged at appropriate places.
3646
3647         Also merge notifyNodeListsChildrenChanged with notifyLocalNodeListsChildrenChanged, and
3648         notifyNodeListsAttributeChanged with notifyLocalNodeListsAttributeChanged, and rename them to
3649         invalidateNodeListsCacheAfterAttributeChanges and invalidateNodeListsCacheAfterNodeChanges respectively.
3650
3651         * dom/Attr.cpp:
3652         (WebCore::Attr::childrenChanged):
3653         * dom/ContainerNode.cpp:
3654         (WebCore::ContainerNode::childrenChanged):
3655         * dom/Document.cpp:
3656         (WebCore::Document::updateRangesAfterNodeChanges):
3657         * dom/Document.h:
3658         * dom/NamedNodeMap.cpp:
3659         (WebCore::NamedNodeMap::addAttribute):
3660         (WebCore::NamedNodeMap::removeAttribute):
3661         * dom/Node.cpp:
3662         (WebCore::removeNodeListCacheIfPossible):
3663         (WebCore::Node::unregisterDynamicNodeList):
3664         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanges):
3665         (WebCore::Node::invalidateNodeListsCacheAfterNodeChanges):
3666         (WebCore::Node::dispatchSubtreeModifiedEvent):
3667         * dom/Node.h:
3668         * dom/NodeRareData.h:
3669         * dom/StyledElement.cpp:
3670         (WebCore::StyledElement::classAttributeChanged):
3671
3672 2011-12-08  Kenichi Ishibashi  <bashi@chromium.org>
3673
3674         Unreviewed, rolling out r102418.
3675         http://trac.webkit.org/changeset/102418
3676         https://bugs.webkit.org/show_bug.cgi?id=71870
3677
3678         Caused Chromium build failure.
3679
3680         * CMakeLists.txt:
3681         * DerivedSources.make:
3682         * DerivedSources.pri:
3683         * GNUmakefile.list.am:
3684         * Target.pri:
3685         * WebCore.gypi:
3686         * WebCore.xcodeproj/project.pbxproj:
3687         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3688         (WebCore::toJS):
3689         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3690         (WebCore::toV8Object):
3691         * html/canvas/WebGLExtension.h:
3692         * html/canvas/WebGLRenderingContext.cpp:
3693         (WebCore::WebGLRenderingContext::getExtension):
3694         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3695         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3696         * html/canvas/WebGLRenderingContext.h:
3697         * html/canvas/WebKitLoseContext.cpp: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.cpp.
3698         (WebCore::WebKitLoseContext::WebKitLoseContext):
3699         (WebCore::WebKitLoseContext::~WebKitLoseContext):
3700         (WebCore::WebKitLoseContext::getName):
3701         (WebCore::WebKitLoseContext::create):
3702         (WebCore::WebKitLoseContext::loseContext):
3703         (WebCore::WebKitLoseContext::restoreContext):
3704         * html/canvas/WebKitLoseContext.h: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.h.
3705         * html/canvas/WebKitLoseContext.idl: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.idl.
3706
3707 2011-12-08  Fady Samuel  <fsamuel@chromium.org>
3708
3709         [Chromium] Enable viewport metatag
3710         https://bugs.webkit.org/show_bug.cgi?id=73495
3711
3712         Reviewed by Darin Fisher.
3713
3714         Recompute viewpot parameters on frame rect resize.
3715
3716         * page/FrameView.cpp:
3717         (WebCore::FrameView::setFrameRect):
3718
3719 2011-12-08  Kent Tamura  <tkent@chromium.org>
3720
3721         Build fix for r102419.
3722         https://bugs.webkit.org/show_bug.cgi?id=73916
3723
3724         * platform/PopupMenuClient.h:
3725         (WebCore::PopupMenuClient::listBoxSelectItem):
3726         Remove unused argument names.
3727
3728 2011-12-08  Kentaro Hara  <haraken@chromium.org>
3729
3730         Unreviewed. Rebaselined run-bindings-tests results.
3731
3732         * bindings/scripts/test/JS/JSFloat64Array.cpp:
3733         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3734         * bindings/scripts/test/JS/JSTestInterface.cpp:
3735         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3736         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3737         * bindings/scripts/test/JS/JSTestObj.cpp:
3738         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3739
3740 2011-12-08  Mary Wu  <mary.wu@torchmobile.com.cn>
3741
3742         Upstream BlackBerry porting of MIMETypeRegistry/KeyboardEvent
3743         https://bugs.webkit.org/show_bug.cgi?id=73534
3744
3745         Reviewed by Rob Buis.
3746
3747         Other main contributors:
3748         Mike Fenton <mifenton@rim.com>
3749         Joe Mason <jmason@rim.com>
3750         Max Feil <mfeil@qnx.com>
3751         Lukas Sydorowski <lsydorowski@rim.com>
3752         Crystal Zhang <haizhang@rim.com> 
3753
3754         Initial upstream, no new tests.
3755
3756         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: Added.
3757         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3758         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
3759         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
3760         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: Added.
3761         (WebCore::keyIdentifierForBlackBerryCharacter):
3762         (WebCore::windowsKeyCodeForBlackBerryCharacter):
3763         (WebCore::adjustCharacterFromOS):
3764         (WebCore::toWebCorePlatformKeyboardEventType):
3765         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3766         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
3767         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
3768         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
3769
3770 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3771
3772         Unreviewed, rolling out r101619.
3773         http://trac.webkit.org/changeset/101619
3774         https://bugs.webkit.org/show_bug.cgi?id=74158
3775
3776         this patch produces bad behaviour on mac (Requested by
3777         jeremya_ on #webkit).
3778
3779         * page/EventHandler.cpp:
3780         (WebCore::EventHandler::handleMouseMoveEvent):
3781         (WebCore::EventHandler::dragSourceEndedAt):
3782         * rendering/RenderLayer.cpp:
3783         (WebCore::RenderLayer::updateHoverActiveState):
3784
3785 2011-12-08  Adam Klein  <adamk@chromium.org>
3786
3787         [MutationObservers] V8LazyEventHandler breaks microtask delivery semantics
3788         https://bugs.webkit.org/show_bug.cgi?id=73492
3789
3790         Reviewed by Adam Barth.
3791
3792         Test: fast/mutation/inline-event-listener.html
3793
3794         * bindings/v8/V8LazyEventListener.cpp:
3795         (WebCore::V8LazyEventListener::prepareListenerObject): Call v8::Script::Run directly instead of going through V8Proxy.
3796
3797 2011-12-08  Hayato Ito  <hayato@chromium.org>
3798
3799         Suppress rendering of light children when ShadowRoot is dynamically created.
3800         https://bugs.webkit.org/show_bug.cgi?id=72441
3801
3802         Reviewed by Ryosuke Niwa.
3803
3804         Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
3805                fast/dom/shadow/dynamically-created-shadow-root.html
3806
3807         * dom/Element.cpp:
3808         (WebCore::Element::setShadowRoot):
3809
3810 2011-12-08  Pierre Rossi  <pierre.rossi@gmail.com>
3811
3812         Drop ENABLE_NO_LISTBOX_RENDERING, and make it a runtime decision.
3813         https://bugs.webkit.org/show_bug.cgi?id=73916
3814
3815         This was needed for Qt since the mobile theme, which can be picked
3816         up at runtime, delegates the rendering of list boxes.
3817
3818         Reviewed by Kent Tamura.
3819
3820         No new tests, there's no functional change.
3821
3822         * html/HTMLSelectElement.cpp:
3823         (WebCore::HTMLSelectElement::usesMenuList):
3824         * html/HTMLSelectElement.h:
3825         * platform/PopupMenuClient.h:
3826         (WebCore::PopupMenuClient::listBoxSelectItem):
3827         (WebCore::PopupMenuClient::multiple):
3828         * platform/qt/RenderThemeQtMobile.h:
3829         (WebCore::RenderThemeQtMobile::delegatesMenuListRendering):
3830         * rendering/RenderMenuList.cpp:
3831         (WebCore::RenderMenuList::multiple):
3832         * rendering/RenderMenuList.h:
3833         * rendering/RenderTheme.h:
3834         (WebCore::RenderTheme::delegatesMenuListRendering):
3835
3836 2011-12-08  Kenneth Russell  <kbr@google.com>
3837
3838         Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
3839         https://bugs.webkit.org/show_bug.cgi?id=71870
3840
3841         Reviewed by James Robinson.
3842
3843         Rename largely done with do-webcore-rename with a couple of
3844         necessary manual fixups. Ran WebGL layout tests.
3845
3846         * CMakeLists.txt:
3847         * DerivedSources.make:
3848         * DerivedSources.pri:
3849         * GNUmakefile.list.am:
3850         * Target.pri:
3851         * WebCore.gypi:
3852         * WebCore.xcodeproj/project.pbxproj:
3853         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3854         (WebCore::toJS):
3855         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3856         (WebCore::toV8Object):
3857         * html/canvas/WebGLExtension.h:
3858         * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
3859         (WebCore::WebGLLoseContext::WebGLLoseContext):
3860         (WebCore::WebGLLoseContext::~WebGLLoseContext):
3861         (WebCore::WebGLLoseContext::getName):
3862         (WebCore::WebGLLoseContext::create):
3863         (WebCore::WebGLLoseContext::loseContext):
3864         (WebCore::WebGLLoseContext::restoreContext):
3865         * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
3866         * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
3867         * html/canvas/WebGLRenderingContext.cpp:
3868         (WebCore::WebGLRenderingContext::getExtension):
3869         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3870         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3871         * html/canvas/WebGLRenderingContext.h:
3872         * html/canvas/WebKitLoseContext.cpp: Removed.
3873         * html/canvas/WebKitLoseContext.h: Removed.
3874         * html/canvas/WebKitLoseContext.idl: Removed.
3875
3876 2011-12-08  Kentaro Hara  <haraken@chromium.org>
3877
3878         Use the [Supplemental] IDL for webaudio attributes in Chromium
3879         https://bugs.webkit.org/show_bug.cgi?id=73394
3880
3881         Reviewed by Adam Barth.
3882
3883         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3884         declarations of webaudio from DOMWindow.idl into a new IDL file
3885         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3886         feature (aka a module).
3887
3888         - This patch changes the build flow of WebCore.gyp as follows:
3889
3890             Previous build flow:
3891                 foreach $idl (all IDL files) {
3892                     generate-bindings.pl depends on $idl;
3893                     generate-bindings.pl reads $idl;
3894                     generate-bindings.pl generates .h and .cpp files for $idl;
3895                 }
3896
3897             New build flow (See the discussions in bug 72138 for more details):
3898                 resolve-supplemental.pl depends on all IDL files;
3899                 resolve-supplemental.pl reads all IDL files;
3900                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3901                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3902                 foreach $idl (all IDL files) {
3903                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3904                     generate-bindings.pl reads $idl;
3905                     generate-bindings.pl reads supplemental_dependency.tmp;
3906                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
3907                 }
3908
3909         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
3910         will be removed after build scripts for all platforms support the [Supplemental] IDL.
3911         The motivation for the [Supplemented] IDL is as follows:
3912
3913         In order to support the [Supplemental] IDL, we need to
3914         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
3915         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
3916
3917         This build flow requires a change on the following build scripts,
3918         but changing all the build scripts all at once without any regression is too difficult:
3919
3920             - DerivedSources.make
3921             - DerivedSources.pri
3922             - GNUmakefile.am
3923             - PlatformBlackBerry.cmake
3924             - UseJSC.cmake
3925             - UseV8.cmake
3926             - WebCore.vcproj/MigrateScripts
3927             - WebCore.vcproj/WebCore.vcproj
3928             - bindings/gobject/GNUmakefile.am
3929             - WebCore.gyp/WebCore.gyp
3930
3931         Thus, we are planning to change the build scripts one by one, which implies that
3932         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
3933         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
3934         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
3935         in another IDL file somewhere, like this:
3936
3937             DOMWindowWebAudio.idl:
3938                 interface [
3939                     Supplemental=DOMWindow
3940                 ] DOMWindowWebAudio {
3941                     attribute attr1;
3942                     attribute attr2;
3943                 };
3944
3945             DOMWindow.idl:
3946                 interface [
3947                 ] DOMWindow {
3948                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
3949                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
3950                     attribute attr3;
3951                     attribute attr4;
3952                 };
3953
3954         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
3955
3956             - If a given build script supports the [Supplemental] IDL,
3957             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
3958             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
3959             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
3960             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
3961
3962         Tests: webaudio/*
3963
3964         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
3965         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3966         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
3967         * WebCore.gypi: Added DOMWindowWebAudio.idl.
3968         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
3969         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
3970         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
3971
3972 2011-12-08  Van Lam  <vanlam@google.com>
3973
3974         Caret keeps blinking during forward-delete
3975         https://bugs.webkit.org/show_bug.cgi?id=38564
3976
3977         Reviewed by Darin Adler.
3978
3979         Currently updateAppearance determines if the caret should stop blinking
3980         based on whether or not the editing operation changed the position of
3981         the caret; so the caret stops blinking in case of typing text and
3982         backwards delete (which always displace the caret) but does not stop
3983         blinking in the case of forward delete (which does not displace the
3984         caret).
3985
3986         Added a boolean member function shouldStopCaretBlinking in EditCommand
3987         which will return true if the object is a TypingCommand (my
3988         understanding here is that all TypingCommands should stop the caret
3989         from blinking for a cycle, currently 0.5 seconds). Then used this
3990         function to stop the caret from blinking if the last editing command
3991         is a TypingCommand.
3992
3993         * editing/EditCommand.h:
3994         (WebCore::EditCommand::shouldStopCaretBlinking):
3995         * editing/FrameSelection.cpp:
3996         (WebCore::FrameSelection::updateAppearance):
3997         * editing/TypingCommand.h:
3998         (WebCore::TypingCommand::shouldStopCaretBlinking):
3999
4000 2011-12-08  Adam Klein  <adamk@chromium.org>
4001
4002         Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
4003         https://bugs.webkit.org/show_bug.cgi?id=73964
4004
4005         Reviewed by Darin Adler.
4006
4007         Re-landing r102267 with a fix for the clang build.
4008
4009         No new tests, refactoring only.
4010
4011         * dom/ChildListMutationScope.cpp:
4012         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
4013         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
4014         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
4015         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
4016
4017 2011-12-08  Anders Carlsson  <andersca@apple.com>
4018
4019         WebScrollbarPainterDelegate should have a pointer to its Scrollbar
4020         https://bugs.webkit.org/show_bug.cgi?id=74149
4021
4022         Reviewed by Darin Adler.
4023
4024         This is another step towards making the scroll animation code more robust.
4025
4026         * platform/mac/ScrollAnimatorMac.mm:
4027         (-[WebScrollbarPainterDelegate initWithScrollbar:WebCore::]):
4028         (-[WebScrollbarPainterDelegate scrollAnimator]):
4029         (-[WebScrollbarPainterDelegate layer]):
4030         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
4031         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
4032         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
4033         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
4034         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
4035         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
4036         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
4037
4038 2011-12-08  Rakesh KN  <rakesh.kn@motorola.com>
4039
4040         keyboard event doesn't fire while moving mouse with button pressed
4041         https://bugs.webkit.org/show_bug.cgi?id=73821
4042
4043         Reviewed by Alexey Proskuryakov.
4044
4045         Autoscroll should not stop on key press.
4046
4047         Test: fast/events/autoscroll-should-not-stop-on-keypress.html
4048
4049         * page/EventHandler.cpp:
4050         (WebCore::EventHandler::keyEvent):
4051         Removed the check for autoscroll so that autoscroll is not stopped on
4052         key press and key event is processed. 
4053
4054 2011-12-08  Anders Carlsson  <andersca@apple.com>
4055
4056         Add scrollAnimator getter method to WebScrollbarPainterDelegate
4057         https://bugs.webkit.org/show_bug.cgi?id=74146