WinCE build fix after r103539.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-22  Ryosuke Niwa  <rniwa@webkit.org>
2
3         WinCE build fix after r103539.
4
5         * rendering/svg/RenderSVGResource.cpp:
6         (WebCore::RenderSVGResource::removeFromFilterCache):
7
8 2011-12-22  Chris Marrin  <cmarrin@apple.com>
9
10         Crash and incorrect behavior when switching between hardware and software CSS filters
11         https://bugs.webkit.org/show_bug.cgi?id=75130
12
13         Reviewed by Simon Fraser.
14
15         Test: css3/filters/crash-hw-sw-switch.html
16
17         Backing store on layer gets fixed up (added or removed) after style change is evaluated
18         so the state of the m_filter variable might not match the current filter state. Added
19         updateOrRemoveFilterEffect() call to ensureBacking() and clearBacking() to get the
20         m_filter property in the right state. Also added an ASSERT() where the crash was
21         occuring.
22
23         * rendering/RenderLayer.cpp:
24         (WebCore::RenderLayer::paintLayer):
25         (WebCore::RenderLayer::ensureBacking):
26         (WebCore::RenderLayer::clearBacking):
27
28 2011-12-22  Jon Lee  <jonlee@apple.com>
29
30         Radio buttons cut in download movie sheet
31         https://bugs.webkit.org/show_bug.cgi?id=75128
32         <rdar://problem/9399450>
33
34         Reviewed by Dan Bernstein.
35
36         Test: compositing/overflow/theme-affects-visual-overflow.html
37
38         The clipping comes from the fact the visual overflow rect of the radio button's
39         RenderBlock is not expanded to accommodate for the size of the button on the Mac
40         platform. We use the existing RenderTheme::adjustRepaintRect() to make the
41         appropriate adjustment. This, consequently, makes it unnecessary to have to
42         recalculate it for repaint.
43
44         * rendering/RenderBlock.cpp:
45         (WebCore::RenderBlock::computeOverflow): As part of the overflow computation, we
46         make a call to addVisualOverflowFromTheme().
47         (WebCore::RenderBlock::addVisualOverflowFromTheme): Ask the theme to inflate the
48         RenderBlock's rect if necessary, and add that to the visual overflow rect.
49         * rendering/RenderBlock.h: Added addVisualOverflowFromTheme().
50         * rendering/RenderBox.cpp:
51         (WebCore::RenderBox::clippedOverflowRectForRepaint): Remove the call to
52         adjustRepaintRect() since the rectangle r already uses the new visual overflow
53         rect.
54         * rendering/RenderReplaced.cpp:
55         (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Remove the call to
56         adjustRepaintRect() since the rectangle r already uses the new visual overflow
57         rect.
58
59 2011-12-22  Chris Rogers  <crogers@google.com>
60
61         Fix mac build breakage - add SincResampler files to WebCore.xcodeproj
62         https://bugs.webkit.org/show_bug.cgi?id=75139
63
64         Unreviewed build fix.
65
66         * WebCore.xcodeproj/project.pbxproj:
67
68 2011-12-22  Simon Fraser  <simon.fraser@apple.com>
69
70         Animating some CSS filter values is wrong
71         https://bugs.webkit.org/show_bug.cgi?id=75122
72
73         Reviewed by Chris Marrin.
74         
75         Fix some reversed filter animation behavior for brightness,
76         contrast and drop-shadow filters.
77
78         Test: css3/filters/filter-animation-from-none.html
79
80         * platform/graphics/filters/FilterOperation.cpp:
81         (WebCore::BasicComponentTransferFilterOperation::blend): Just use the global blend() function.
82         (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Add CONTRAST and BRIGHTNESS to the sswitch.
83         (WebCore::GammaFilterOperation::blend): Fix the ordering.
84         (WebCore::DropShadowFilterOperation::blend): Fix the ordering.
85
86 2011-12-22  Chris Rogers  <crogers@google.com>
87
88         Fix mac build caused by improper include of "Locker.h"
89         https://bugs.webkit.org/show_bug.cgi?id=75134
90
91         Unreviewed build fix.
92
93         * webaudio/MediaElementAudioSourceNode.cpp:
94
95 2011-12-22  Anders Carlsson  <andersca@apple.com>
96
97         More ScrollAnimatorMac cleanup
98         https://bugs.webkit.org/show_bug.cgi?id=75127
99
100         Reviewed by Andreas Kling.
101
102         Introduce a immediateScrollByWithoutContentEdgeConstraints and use it whenever we want to scroll by an
103         offset instead of doing the setConstrainsScrollingToContentEdge dance.
104
105         * platform/mac/ScrollAnimatorMac.h:
106         * platform/mac/ScrollAnimatorMac.mm:
107         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
108         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
109         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
110
111 2011-12-22  Chris Rogers  <crogers@google.com>
112
113         Implement MediaElementAudioSourceNode::setFormat() so numberOfChannels and sampleRate are accounted for
114         https://bugs.webkit.org/show_bug.cgi?id=75057
115
116         Reviewed by Eric Carlson.
117
118         * GNUmakefile.list.am:
119         * WebCore.gypi:
120         * WebCore.xcodeproj/project.pbxproj:
121         Add MultiChannelResampler source files to makefiles.
122         * platform/audio/MultiChannelResampler.cpp: Added.
123         (WebCore::MultiChannelResampler::MultiChannelResampler):
124         (WebCore::MultiChannelResampler::process):
125         * platform/audio/MultiChannelResampler.h: Added.
126         Add MultiChannelResampler implementation which uses one SincResampler per channel.
127         * webaudio/MediaElementAudioSourceNode.cpp:
128         (WebCore::MediaElementAudioSourceNode::create):
129         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
130         (WebCore::MediaElementAudioSourceNode::setFormat):
131         (WebCore::MediaElementAudioSourceNode::process):
132         Implement MediaElementAudioSourceNode::setFormat() so that we can
133         properly setup a sample-rate converter and set the number of channels
134         of the MediaElementAudioSourceNode output.
135         * webaudio/MediaElementAudioSourceNode.h:
136
137 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
138
139         AX: WebKit should ignore ARIA role=presentation on focusable elements
140         https://bugs.webkit.org/show_bug.cgi?id=75101
141
142         Reviewed by Darin Adler.
143
144         If an element is focusable, the presentational role must be ignored, lest the user not be able
145         to interact with something important.
146
147         Test: accessibility/presentational-elements-with-focus.html
148
149         * accessibility/AccessibilityRenderObject.cpp:
150         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
151         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
152         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
153
154 2011-12-22  Anders Carlsson  <andersca@apple.com>
155
156         Use immediateScrollBy instead of immediateScrollTo where possible
157         https://bugs.webkit.org/show_bug.cgi?id=75124
158
159         Reviewed by Sam Weinig.
160
161         Instead of computing the position to scroll to, just compute the delta and use scrollBy instead.
162
163         * platform/mac/ScrollAnimatorMac.mm:
164         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
165         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
166
167 2011-12-22  Anders Carlsson  <andersca@apple.com>
168
169         Remove a private ScrollAnimatorMac getter/setter and just update the member variable directly
170         https://bugs.webkit.org/show_bug.cgi?id=75121
171
172         Reviewed by Sam Weinig.
173
174         * platform/mac/ScrollAnimatorMac.h:
175         * platform/mac/ScrollAnimatorMac.mm:
176         (WebCore::ScrollAnimatorMac::setIsActive):
177         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
178
179 2011-12-22  Anders Carlsson  <andersca@apple.com>
180
181         Simplify ScrollAnimatorMac scrollByDelta functions
182         https://bugs.webkit.org/show_bug.cgi?id=75120
183
184         Reviewed by Sam Weinig.
185
186         Merge immediateScrollByDeltaX and immediateScrollByDeltaY to a single function and rename it
187         to immediateScrollBy. Also, rename immediateScrollToPoint to immediateScrollTo.
188         
189         * platform/mac/ScrollAnimatorMac.h:
190         * platform/mac/ScrollAnimatorMac.mm:
191         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
192         (WebCore::ScrollAnimatorMac::immediateScrollTo):
193         (WebCore::ScrollAnimatorMac::immediateScrollBy):
194         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
195         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
196         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
197
198 2011-12-22  Anders Carlsson  <andersca@apple.com>
199
200         Make some ScrollAnimatorMac member functions private
201         https://bugs.webkit.org/show_bug.cgi?id=75117
202
203         Reviewed by Sam Weinig.
204
205         Make virtual member functions and functions that are only called from ScrollAnimatorMac private.
206
207         * platform/mac/ScrollAnimatorMac.h:
208
209 2011-12-22  Anders Carlsson  <andersca@apple.com>
210
211         Move some member variables out of ScrollElasticityController
212         https://bugs.webkit.org/show_bug.cgi?id=75115
213
214         Reviewed by Adam Roben.
215
216         Move a couple of member variables that aren't related to rubberbanding out from
217         ScrollElasticityController and back into ScrollAnimatorMac and remove now unneeded
218         ScrollElasticityControllerClient member functions as well.
219
220         * platform/mac/ScrollAnimatorMac.h:
221         * platform/mac/ScrollAnimatorMac.mm:
222         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
223         (WebCore::ScrollAnimatorMac::handleWheelEvent):
224         (WebCore::ScrollAnimatorMac::beginScrollGesture):
225         * platform/mac/ScrollElasticityController.h:
226         * platform/mac/ScrollElasticityController.mm:
227         (WebCore::ScrollElasticityController::ScrollElasticityController):
228         (WebCore::ScrollElasticityController::beginScrollGesture):
229
230 2011-12-22  Balazs Kelemen  <kbalazs@webkit.org>
231
232         Fix debug build with assertions disabled
233         https://bugs.webkit.org/show_bug.cgi?id=75075
234
235         Reviewed by Darin Adler.
236
237         Check whether assertions are disabled instead of NDEBUG
238         where appropriate to avoid "defined but not used" warnings.
239
240         No change in behaviour so no new tests.
241
242         * loader/cache/MemoryCache.cpp:
243         (WebCore::MemoryCache::insertInLRUList):
244         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
245         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
246         * rendering/RenderBlock.cpp:
247         (WebCore::RenderBlock::layoutBlockChild):
248         * rendering/RenderLayer.cpp:
249         (WebCore::RenderLayer::updateLayerPositions):
250
251 2011-12-22  Anders Carlsson  <andersca@apple.com>
252
253         Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
254         https://bugs.webkit.org/show_bug.cgi?id=75107
255
256         Reviewed by Adam Roben.
257
258         This is another step towards removing the display throttling in WebKit2.
259
260         * page/ChromeClient.h:
261         * page/FrameView.cpp:
262         * page/FrameView.h:
263         * platform/ScrollableArea.h:
264         * platform/mac/ScrollAnimatorMac.mm:
265         (WebCore::ScrollAnimatorMac::scroll):
266         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
267
268 2011-12-22  Anders Carlsson  <andersca@apple.com>
269
270         Remove didStartRubberBand and didCompleteRubberBand callbacks
271         https://bugs.webkit.org/show_bug.cgi?id=75102
272
273         Reviewed by Adam Roben.
274
275         The code to do display throttling in WebKit2 is complex and doesn't really help us except
276         on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
277
278         * page/ChromeClient.h:
279         * page/FrameView.cpp:
280         * page/FrameView.h:
281         * platform/ScrollView.cpp:
282         * platform/ScrollView.h:
283         * platform/ScrollableArea.h:
284         * platform/mac/ScrollAnimatorMac.mm:
285         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
286         * rendering/RenderLayer.cpp:
287         * rendering/RenderLayer.h:
288
289 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
290
291         Web Inspector: [Regression] Network item view is not displayed.
292         https://bugs.webkit.org/show_bug.cgi?id=75100
293
294         Not reviewed, one line css fix.
295
296         * inspector/front-end/networkPanel.css:
297         (.network-item-view.visible):
298
299 2011-12-22  Andreas Kling  <kling@webkit.org>
300
301         NamedNodeMap: Get rid of declCount().
302         <http://webkit.org/b/74948>
303
304         Reviewed by Darin Adler.
305
306         We already have the number of mapped attribute declarations in the map
307         stored in m_mappedAttributeCount (updated by declAdded()/declRemoved())
308         so compare that in mappedMapsEquivalent() to skip one loop over the map.
309
310         * dom/NamedNodeMap.cpp:
311         (WebCore::NamedNodeMap::mappedMapsEquivalent):
312         * dom/NamedNodeMap.h:
313
314 2011-12-22  Andreas Kling  <kling@webkit.org>
315
316         SnowLeopard crashes due to thread-unsafe EventListenerIterator ASSERTs
317         <http://webkit.org/b/74260>
318
319         Reviewed by Darin Adler.
320
321         Guard EventListenerMap::m_activeIteratorCount with a mutex.
322
323         * dom/EventListenerMap.cpp:
324         (WebCore::activeIteratorCountMutex):
325         (WebCore::EventListenerMap::assertNoActiveIterators):
326         (WebCore::EventListenerMap::clear):
327         (WebCore::EventListenerMap::add):
328         (WebCore::EventListenerMap::remove):
329         (WebCore::EventListenerMap::find):
330         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
331         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
332         (WebCore::EventListenerIterator::EventListenerIterator):
333         (WebCore::EventListenerIterator::~EventListenerIterator):
334         * dom/EventListenerMap.h:
335         (WebCore::EventListenerMap::assertNoActiveIterators):
336
337 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
338
339         Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.
340         https://bugs.webkit.org/show_bug.cgi?id=75085
341
342         Reviewed by Pavel Feldman.
343
344         Test: inspector/tabbed-pane-tabs-to-show.html
345
346         * WebCore.gypi:
347         * WebCore.vcproj/WebCore.vcproj:
348         * inspector/front-end/ScriptsNavigator.js:
349         (WebInspector.ScriptsNavigator):
350         * inspector/front-end/TabbedPane.js:
351         (WebInspector.TabbedPane):
352         (WebInspector.TabbedPane.prototype.set shrinkableTabs):
353         (WebInspector.TabbedPane.prototype.set closeableTabs):
354         (WebInspector.TabbedPane.prototype.appendTab):
355         (WebInspector.TabbedPane.prototype.closeTab):
356         (WebInspector.TabbedPane.prototype.selectTab):
357         (WebInspector.TabbedPane.prototype.onResize):
358         (WebInspector.TabbedPane.prototype._updateTabElements):
359         (WebInspector.TabbedPane.prototype._showTabElement):
360         (WebInspector.TabbedPane.prototype._hideTabElement):
361         (WebInspector.TabbedPane.prototype._createDropDownButton):
362         (WebInspector.TabbedPane.prototype._updateTabsDropDown):
363         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
364         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
365         (WebInspector.TabbedPane.prototype._measureDropDownButton):
366         (WebInspector.TabbedPane.prototype._updateWidths):
367         (WebInspector.TabbedPane.prototype._calculateMaxWidth.var):
368         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
369         (WebInspector.TabbedPane.prototype._hideCurrentTab):
370         (WebInspector.TabbedPaneTab):
371         (WebInspector.TabbedPaneTab.prototype.get id):
372         (WebInspector.TabbedPaneTab.prototype.get tabElement):
373         (WebInspector.TabbedPaneTab.prototype.get measuredWidth):
374         (WebInspector.TabbedPaneTab.prototype.get width):
375         (WebInspector.TabbedPaneTab.prototype.set width):
376         (WebInspector.TabbedPaneTab.prototype._createTabElement):
377         (WebInspector.TabbedPaneTab.prototype._measure):
378         (WebInspector.TabbedPaneTab.prototype._tabSelected):
379         (WebInspector.TabbedPaneTab.prototype._tabClosed):
380         * inspector/front-end/WebKit.qrc:
381         * inspector/front-end/inspector.css:
382         * inspector/front-end/scriptsPanel.css:
383         (#scripts-navigator-tabbed-pane .tabbed-pane-header-contents):
384         * inspector/front-end/tabbedPane.css: Added.
385
386 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
387
388         AX: attributed strings do not include AXHeading information when a link is contained within the heading
389         https://bugs.webkit.org/show_bug.cgi?id=75059
390
391         Reviewed by Darin Adler.
392
393         An attributed string should contain the heading level of an ancestor node if it exists.
394         This change allows the ancestor to be higher up in the hierarchy than just the direct parent.
395
396         Test: platform/mac/accessibility/heading-and-link-attributed-string.html
397
398         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
399           (AXAttributeStringSetHeadingLevel):
400
401 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
402
403         AX: Title attribute should not be used in AXTitle
404         https://bugs.webkit.org/show_bug.cgi?id=75027
405
406         Reviewed by Darin Adler.
407
408         Accessibility has been incorrectly exposing the title attribute through AXTitle. The title
409         attribute better corresponds with a help tag for accessibility clients.
410
411         Test: platform/mac/accessibility/title-attribute-not-used-as-axtitle.html
412
413         * accessibility/AccessibilityRenderObject.cpp:
414         (WebCore::AccessibilityRenderObject::title):
415             Don't use the title attribute.
416         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
417             Change the semantics around when a checkbox or radio button combines it's title ui element. The change
418             makes it so that we will expose the title ui element when the control already has a label. Otherwise
419             the title ui element is hidden, and it's text is used as the AXTitle for the control.
420         (WebCore::AccessibilityRenderObject::titleUIElement):
421             Change this method so it always returns the title ui element, and then leave it up to exposesTitleUIElement
422             to determine whether it should be shown.
423         * accessibility/AccessibilityTableCell.h:
424         (WebCore::AccessibilityTableCell::exposesTitleUIElement):
425             There's no special logic for table cells that have title ui elements, and we don't want to use
426             the logic in AccessibilityRenderObject, hence the override here.
427         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
428         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
429
430 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
431
432         AX: aria-describedby should not be part of AXDescription (should be a part of AXHelp)
433         https://bugs.webkit.org/show_bug.cgi?id=75052
434
435         Reviewed by Darin Adler.
436
437         According to the ARIA spec, aria-describedby is a more detailed description that is akin to help, rather
438         than a description describing the actual object.
439
440         As such, it makes more sense for this attribute to be exposed under help text.
441
442         * accessibility/AccessibilityRenderObject.cpp:
443         (WebCore::AccessibilityRenderObject::helpText):
444         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
445
446 2011-12-22  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
447
448         [EFL] Missing plugins support for efl port
449         https://bugs.webkit.org/show_bug.cgi?id=44505
450
451         Reviewed by Anders Carlsson.
452
453         Basic functionality of plugins for efl port.
454
455         Template version, so no new tests are needed.
456
457         * PlatformEfl.cmake:
458         * plugins/PluginView.h:
459         * plugins/efl/PluginDataEfl.cpp: Added. Copied from plugins/gtk/PluginDataGtk.cpp.
460         (WebCore::PluginData::initPlugins): Fill mime/description/extension maps for plugins.
461         (WebCore::PluginData::refresh): Refresh plugin's database.
462         * plugins/efl/PluginPackageEfl.cpp: Added. Copied from plugins/gtk/PluginPackageGtk.cpp.
463         (WebCore::PluginPackage::fetchInfo): Get info from plugin's library about name and mime supported.
464         (WebCore::PluginPackage::NPVersion):
465         (WebCore::PluginPackage::load): Load plugin.
466         * plugins/efl/PluginViewEfl.cpp: Added. Copied from plugins/gtk/PluginViewGtk.cpp.
467         (WebCore::PluginView::dispatchNPEvent):
468         (WebCore::PluginView::handleFocusInEvent):
469         (WebCore::PluginView::handleFocusOutEvent):
470         (WebCore::PluginView::handleKeyboardEvent):
471         (WebCore::PluginView::handleMouseEvent):
472         (WebCore::PluginView::updatePluginWidget):
473         (WebCore::PluginView::setFocus):
474         (WebCore::PluginView::show):
475         (WebCore::PluginView::hide):
476         (WebCore::PluginView::paint):
477         (WebCore::PluginView::setParent):
478         (WebCore::PluginView::setNPWindowRect):
479         (WebCore::PluginView::setNPWindowIfNeeded):
480         (WebCore::PluginView::setParentVisible):
481         (WebCore::PluginView::handlePostReadFile):
482         (WebCore::PluginView::platformGetValueStatic):
483         (WebCore::PluginView::platformGetValue):
484         (WebCore::PluginView::invalidateRect):
485         (WebCore::PluginView::invalidateRegion):
486         (WebCore::PluginView::forceRedraw):
487         (WebCore::PluginView::platformStart):
488         (WebCore::PluginView::platformDestroy):
489
490 2011-12-22  Pavel Podivilov  <podivilov@chromium.org>
491
492         Web Inspector: add "install source map" to JS source frame context menu.
493         https://bugs.webkit.org/show_bug.cgi?id=74181
494
495         Reviewed by Pavel Feldman.
496
497         Add "install source map" to source frame context menu when source map url is auto detected.
498
499         * English.lproj/localizedStrings.js:
500         * inspector/front-end/CompilerSourceMapping.js:
501         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
502         (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
503         * inspector/front-end/DebuggerPresentationModel.js:
504         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
505         * inspector/front-end/JavaScriptSourceFrame.js:
506         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
507         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
508         * inspector/front-end/RawSourceCode.js:
509         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
510         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
511         (WebInspector.RawSourceCode.prototype._createSourceMapping):
512         (WebInspector.RawSourceCode.prototype._createUISourceCode):
513         * inspector/front-end/UISourceCode.js:
514         (WebInspector.UISourceCode):
515
516 2011-12-22  Branimir Lambov  <blambov@google.com>
517
518         SVG: "filter" race condition may prevent SVG elements from being re-drawn
519         https://bugs.webkit.org/show_bug.cgi?id=53088
520
521         Reviewed by Nikolas Zimmermann.
522
523         Added code to explicitly invalidate data cached by filters applied to
524         an invalidated object or one of its parents.
525
526         Test: svg/filters/filter-refresh.svg
527
528         * rendering/svg/RenderSVGResource.cpp:
529         (WebCore::RenderSVGResource::removeFromFilterCache):
530         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
531         Added code to invalidate any filters applied to any of the parents.
532         * rendering/svg/RenderSVGResource.h:
533         * rendering/svg/RenderSVGResourceContainer.cpp:
534         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
535         Replaced a duplicate of RenderSVGResource::
536         markForLayoutAndParentResourceInvalidation with a call to the method.
537         * rendering/svg/SVGResourcesCache.cpp:
538         (WebCore::SVGResourcesCache::clientLayoutChanged):
539         Removed filter invalidation code as this function would not be called if
540         the filter isn't already invalidated.
541         (WebCore::SVGResourcesCache::clientStyleChanged):
542         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
543         Replaced filter invalidation with a markForLayoutAndParentResourceInvalidation
544         call as all filters in the ancestor chain need to be invalidated.
545
546 2011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>
547
548         [BlackBerry] Upstream the BlackBerry change to ResourceHandle.h
549         https://bugs.webkit.org/show_bug.cgi?id=75061
550
551         Reviewed by George Staikos.
552
553         No functionality change to the existing code, no new tests.
554
555         * platform/network/ResourceHandle.h:
556
557 2011-12-22  Alexandru Chiculita  <achicu@adobe.com>
558
559         [CSS Shaders] Follow up bug to fix issues mentioned in comment 23 from bug 73317
560         https://bugs.webkit.org/show_bug.cgi?id=74840
561         
562         Some comments were added on bug 73317 after the patch was reviewed and committed.
563         This patch is fixing those issues, mostly about coding style and some missing comments.
564         
565         The initial patch had no explanation about the feature in the ChangeLog, so I'm including the description
566         in this patch:
567         
568         CSS Shaders allow a designer to use a pair of WebGL vertex and fragment shaders to alter the final
569         rendering of a specific element. The navigator will render the element inside a texture and map it
570         to a mesh. The mesh is formed by equal sized quads, that depending on the mesh style, attached or detached,
571         can be stitched or separated. The number of quads can be changed from CSS.
572         
573         Usually the vertex shader is changing the vertices of the mesh, while the fragment shader affects only the color
574         that is rendered to screen (for example lighting effects).
575         
576         More info about CSS Shaders can be found in the specification
577         https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
578         
579         Also a good tutorial is published here
580         http://www.adobe.com/devnet/html5/articles/css-shaders.html
581         
582         Initially we are using the software filter effects pipeline. It uploads the image to the GPU, applies
583         the shaders, reads it back to CPU and continues the rendering. The advantage of using the software pipeline is that
584         it can be enabled on all the platforms that have WebGL support. The obvious disadvantage is performance: copies from CPU
585         memory to GPU memory and the CPU will need to wait the GPU to finish before it could continue. In following 
586         patches the shaders will be integrated in the hardware accelerated pipeline, so that no copies and, most 
587         important, no waits will be required.
588         
589         Also, the new syntax counts total number of the lines and the columns, not just the
590         additional lines and columns, so the minimum accepted and the default value is now 1 by 1.
591
592         Reviewed by Nikolas Zimmermann.
593
594         Some tests were updated for the default mesh size change.
595
596         * css/CSSParser.cpp:
597             Only accept non-zero positive int values for mesh sizes.
598             
599         (WebCore::CSSParser::parseCustomFilter):
600         * css/CSSStyleSelector.cpp:
601             Updated the default mesh size to be 1 column with 1 line.
602             
603         (WebCore::CSSStyleSelector::createCustomFilterOperation):
604         * loader/cache/CachedShader.cpp:
605         (WebCore::CachedShader::shaderString):
606             Corrected the CachedShader to use a StringBuilder. Also there was an incorrect 
607             cast to bool, which resulted from a copy/paste from CachedScript which still has
608             both same issues.
609             
610         (WebCore::CachedShader::data):
611         * loader/cache/CachedShader.h:
612         * platform/graphics/filters/CustomFilterMesh.cpp:
613         (WebCore::MeshGenerator::MeshGenerator):
614         (WebCore::MeshGenerator::verticesCount):
615         (WebCore::MeshGenerator::generateAttachedMesh):
616         (WebCore::MeshGenerator::generateDetachedMesh):
617         (WebCore::CustomFilterMesh::CustomFilterMesh):
618         * platform/graphics/filters/CustomFilterMesh.h:
619         (WebCore::CustomFilterMesh::create):
620         * platform/graphics/filters/CustomFilterShader.cpp:
621         (WebCore::CustomFilterShader::CustomFilterShader):
622             Exploded the body of the constructor into smaller helper functions.
623             
624         (WebCore::CustomFilterShader::compileShader):
625         (WebCore::CustomFilterShader::linkProgram):
626         (WebCore::CustomFilterShader::initializeParameterLocations):
627         * platform/graphics/filters/CustomFilterShader.h:
628         * platform/graphics/filters/FECustomFilter.cpp:
629         (WebCore::orthogonalProjectionMatrix):
630             Passing a TransformationMatrix by reference to be filled with the result matrix, instead
631             of returning it by value. Also changed the name of the method.
632             
633         (WebCore::FECustomFilter::FECustomFilter):
634         (WebCore::FECustomFilter::platformApplySoftware):
635             Created some helper functions to make this method shorter.
636             
637         (WebCore::FECustomFilter::initializeContext):
638         (WebCore::FECustomFilter::resizeContext):
639         (WebCore::FECustomFilter::bindVertexAttribute):
640         (WebCore::FECustomFilter::bindProgramAndBuffers):
641         * platform/graphics/filters/FECustomFilter.h:
642
643 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
644
645         Web Inspector: fix source map url resolving.
646         https://bugs.webkit.org/show_bug.cgi?id=74305
647
648         Reviewed by Pavel Feldman.
649
650         Also fix the bug with repeated source urls in mapping sections.
651
652         * inspector/front-end/CompilerSourceMapping.js:
653         (WebInspector.ClosureCompilerSourceMapping):
654         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
655         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
656         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
657         * inspector/front-end/DebuggerPresentationModel.js:
658         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
659         * inspector/front-end/utilities.js:
660         (String.prototype.asParsedURL):
661
662 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
663
664         Web Inspector: auto detect source map url.
665         https://bugs.webkit.org/show_bug.cgi?id=74088
666
667         Reviewed by Pavel Feldman.
668
669         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
670         Header value will be used as auto suggestion for source map url in UI.
671
672         * inspector/Inspector.json:
673         * inspector/InspectorDebuggerAgent.cpp:
674         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
675         (WebCore::InspectorDebuggerAgent::didParseSource):
676         * inspector/InspectorDebuggerAgent.h:
677         * inspector/front-end/DebuggerModel.js:
678         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
679         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
680         * inspector/front-end/RawSourceCode.js:
681         (WebInspector.RawSourceCode):
682         * inspector/front-end/Script.js:
683         (WebInspector.Script):
684
685 2011-12-22  Kentaro Hara  <haraken@chromium.org>
686
687         Change the build flow of AppleWebKit to use the [Supplemental] IDL
688         https://bugs.webkit.org/show_bug.cgi?id=74900
689
690         Reviewed by Adam Barth.
691
692         This is the final step for bug 74599. This patch changes the build flow
693         of DerivedSources.make as follows, and thus enable the [Supplemental] IDL.
694
695         - Previous build flow:
696             foreach $idl (all IDL files) {
697                 generate-bindings.pl depends on $idl;
698                 generate-bindings.pl reads $idl;
699                 generate-bindings.pl generates .h and .cpp files for $idl;
700             }
701
702         - New build flow (See the discussions in bug 72138 for more details):
703             resolve-supplemental.pl depends on all IDL files;
704             resolve-supplemental.pl reads all IDL files;
705             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
706             resolve-supplemental.pl outputs supplemental_dependency.tmp;
707             foreach $idl (all IDL files) {
708                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
709                 generate-bindings.pl reads $idl;
710                 generate-bindings.pl reads supplemental_dependency.tmp;
711                 generate-bindings.pl generates .h and .cpp files for $idl,
712                     including all attributes in the IDL files that are implementing $idl;
713             }
714
715         Tests: Confirm that build succeeds.
716                http/tests/websocket/tests/*
717
718         * DerivedSources.make: Described the build flow as described above.
719         Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
720         which are generated by the IDL files.
721
722 2011-12-22  Eric Uhrhane  <ericu@chromium.org>
723
724         [filesystem] Remove old filesystem naming restrictions
725         https://bugs.webkit.org/show_bug.cgi?id=62813
726
727         Reviewed by David Levin.
728
729         * fileapi/DOMFilePath.cpp:
730         (WebCore::DOMFilePath::isValidPath): Replace strict restrictions with
731         minimal safety [no files named "." or "..", no use of '\\' or '\0' in
732         paths, no use of '/' in file names].
733
734 2011-12-22  Greg Billock  <gbillock@google.com>
735
736         [Coverity] Address use-after-free report in MemoryCache
737         https://bugs.webkit.org/show_bug.cgi?id=74970
738
739         Reviewed by Eric Seidel.
740
741         * loader/cache/MemoryCache.cpp:
742         (WebCore::MemoryCache::revalidationSucceeded):
743
744 2011-12-22  Tom Sepez  <tsepez@chromium.org>
745
746         XSLT-created HTML documents do not inherit first party for cookies from originally loaded XML.
747         https://bugs.webkit.org/show_bug.cgi?id=74757
748
749         Reviewed by Alexey Proskuryakov.
750
751         Tests: http/tests/security/cookies/first-party-cookie-allow-xslt.xml
752                http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
753
754         * xml/XSLTProcessor.cpp:
755         (WebCore::XSLTProcessor::createDocumentFromSource):
756
757 2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>
758
759         WebKit editing throws exception when monochrome color dragged onto text
760         https://bugs.webkit.org/show_bug.cgi?id=74775
761
762         Reviewed by Ryosuke Niwa.
763
764         Handle non-RGB colorspace colors in the Mac platform drag manager. Fixes NSException thrown 
765         when dragging monochrome colors to contentEditable regions.
766
767         Manual test added to trunk/ManualTests/drag-color-to-contenteditable.html
768
769         * platform/mac/DragDataMac.mm:
770         (WebCore::DragData::asColor):
771
772 2011-12-22  Peter Rybin  <peter.rybin@gmail.com>
773
774         Web Inspector: CodeGeneratorInspector.py: generate anonymous types.
775         https://bugs.webkit.org/show_bug.cgi?id=74890
776
777         Reviewed by Yury Semikhatsky.
778
779         Anonymous types are generated. Forward declarations are generated.
780
781         In general it now generates C++ types for anonymous object types from
782         JSON. It takes a name from the type declaration site, usually a
783         parameter name. This all is explained in comments in generated file. Also
784         all generated types now refer to other generated types in setter
785         methods -- but this is commented out in generated code for now. All
786         necessary forward declarations are also added. Anonymous enums are
787         generated, but they are in comments too, because we didn't have
788         solution about form the enums should have in C++ API.
789
790         Internally:
791         The change reorganizes type bindings — a polymorphous "code generator"
792         object is factored out from binding.
793         A helper class Writer is added to allow generating code with ajustable
794         indentations and to support insertion points where additional code can
795         be inserted retroactively.
796         ForwardListener class is used for preparing necessary forward
797         declarations.
798         AdHocTypeContext conception is a speculative abstract class that is
799         needed wherever anonymous type can emerge.
800
801         * inspector/CodeGeneratorInspector.py:
802         (fix_type_name.Result.output_comment):
803         (Writer.__init__):
804         (Writer.newline):
805         (Writer.append):
806         (Writer.newline_multiline):
807         (Writer.append_multiline):
808         (Writer.get_indented):
809         (Writer):
810         (Writer.insert_writer):
811         (TypeBindings.create_named_type_declaration.Helper.write_doc):
812         (TypeBindings.create_named_type_declaration.Helper):
813         (TypeBindings.create_named_type_declaration.Helper.add_to_forward_listener):
814         (TypeBindings.create_named_type_declaration):
815         (TypeBindings.create_ad_hoc_type_declaration.Helper.write_doc):
816         (TypeBindings.create_ad_hoc_type_declaration.Helper):
817         (TypeBindings.create_ad_hoc_type_declaration.Helper.add_to_forward_listener):
818         (TypeBindings.create_ad_hoc_type_declaration):
819         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
820         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
821         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.register_use):
822         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
823         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder.String):
824         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder):
825         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator):
826         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.register_use):
827         (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
828         (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text.name):
829         (TypeBindings.create_type_declaration_.PlainString):
830         (TypeBindings.create_type_declaration_):
831         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
832         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator):
833         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
834         (AdHocTypeContextImpl.__init__):
835         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
836         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
837         (AdHocTypeContextImpl.get_type_name_fix):
838         (AdHocTypeContextImpl):
839         (AdHocTypeContextImpl.call_generate_type_builder):
840         (generate_forward_declaration):
841         (register_use):
842         (get_in_c_type_text):
843         (reduce_to_raw_type):
844         (PlainObjectBinding.get_code_generator):
845         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
846         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
847         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
848         (CodeGenerator.generate_type_builder.AdHocTypeContext):
849         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
850         (CodeGenerator.generate_type_builder):
851         (CodeGenerator):
852         (CodeGenerator.register_use):
853         (RawTypesBinding.get_code_generator):
854         (RawTypesBinding.get_in_c_type_text):
855         (RawTypesBinding):
856         (RawTypesBinding.reduce_to_raw_type):
857         (TypeData.__init__):
858         (TypeData.get_json_type):
859         (resolve_param_type):
860         (Generator.go):
861         (Generator.process_event.NoOpForwardListener):
862         (Generator.process_event.NoOpForwardListener.add_type_data):
863         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix):
864         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
865         (Generator.process_event.AdHocTypeContext.get_type_name_fix):
866         (Generator.process_event.AdHocTypeContext):
867         (Generator.process_event.AdHocTypeContext.call_generate_type_builder):
868         (Generator.process_event):
869         (Generator.process_types.ForwardListener):
870         (Generator.process_types.ForwardListener.add_type_data):
871         (Generator.process_types.generate_all_domains_code.namespace_lazy_generator):
872         (Generator.process_types.generate_all_domains_code):
873         (Generator.process_types.call_type_builder):
874         (Generator.process_types.generate_forward_callback):
875         (Generator):
876         (Generator.process_types):
877         (flatten_list.fill_recursive):
878         (flatten_list):
879
880 2011-12-22  Hans Muller  <hmuller@adobe.com>
881
882         Onloadend event is not supported in XMLHttpRequest
883         https://bugs.webkit.org/show_bug.cgi?id=40952
884
885         Reviewed by Julien Chaffraix.
886
887         Added support for the loadend ProgressEvent to XMLHttpRequest and XMLHttpRequestUpload.
888         A new method, dispatchEventAndLoadEnd(), was added to XMLHttpRequestProgressEventThrottle
889         and XMLHttpRequestUpload to foolproof the common case of dispatching a load, abort,
890         or error event followed by a loadend event.
891
892         Tests: http/tests/xmlhttprequest/onloadend-event-after-abort.html
893                http/tests/xmlhttprequest/onloadend-event-after-error.html
894                http/tests/xmlhttprequest/onloadend-event-after-load.html
895                http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html
896                http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html
897                http/tests/xmlhttprequest/upload-onloadend-event-after-load.html
898                http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html
899
900         * xml/XMLHttpRequest.cpp:
901         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
902         (WebCore::XMLHttpRequest::abort):
903         (WebCore::XMLHttpRequest::networkError):
904         (WebCore::XMLHttpRequest::abortError):
905         (WebCore::XMLHttpRequest::didSendData):
906         * xml/XMLHttpRequest.h:
907         * xml/XMLHttpRequest.idl:
908         * xml/XMLHttpRequestProgressEventThrottle.cpp:
909         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
910         * xml/XMLHttpRequestProgressEventThrottle.h:
911         * xml/XMLHttpRequestUpload.cpp:
912         (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
913         * xml/XMLHttpRequestUpload.h:
914         * xml/XMLHttpRequestUpload.idl:
915
916 2011-12-22  Mark Pilgrim  <pilgrim@chromium.org>
917
918         [FileSystem API] Entry.getMetadata successCallback is required
919         https://bugs.webkit.org/show_bug.cgi?id=69638
920
921         Reviewed by Eric Seidel.
922
923         Test: fast/filesystem/simple-required-arguments-getmetadata.html
924
925         * fileapi/Entry.idl: remove [Optional] flag from successCallback parameter
926
927 2011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>
928
929         Unreviewed, rolling out r103405.
930         http://trac.webkit.org/changeset/103405
931         https://bugs.webkit.org/show_bug.cgi?id=74088
932
933         it broke WorkerDevToolsSanityTest.InspectSharedWorker
934
935         * inspector/Inspector.json:
936         * inspector/InspectorDebuggerAgent.cpp:
937         (WebCore::InspectorDebuggerAgent::didParseSource):
938         * inspector/InspectorDebuggerAgent.h:
939         * inspector/front-end/DebuggerModel.js:
940         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
941         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
942         * inspector/front-end/RawSourceCode.js:
943         (WebInspector.RawSourceCode):
944         * inspector/front-end/Script.js:
945         (WebInspector.Script):
946         (WebInspector.Script.prototype.searchInContent):
947
948 2011-12-21  Darin Adler  <darin@apple.com>
949
950         Make ~CSSParserSelector use Vector<OwnPtr>
951         https://bugs.webkit.org/show_bug.cgi?id=73782
952
953         Reviewed by Alexey Proskuryakov.
954
955         * css/CSSParserValues.cpp:
956         (WebCore::CSSParserSelector::~CSSParserSelector): Use Vector<OwnPtr>
957         so we don't have to call leakPtr or deleteAllValues.
958
959 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
960
961         [Forms] Selection change by type-ahead doesn't fire 'change' event
962         https://bugs.webkit.org/show_bug.cgi?id=74590
963
964         Reviewed by Kent Tamura.
965
966         This patch changes when onchange event fired in select element for:
967         1 Fire onchange event for type ahead selection.
968         2 Don't fire onchange event for Enter key. We've already fired onchange event for cursor key
969           and type ahead selection. So, onchange for Enter key is redundant. This behavior is 
970           compatible to IE(9.0.8112.16421) and Opera(9.80) on Windows. FF(8.01) doesn't fire onchange
971           by cursor key selection change and type ahead. FF requires Enter key press to fire onchange
972           event.
973
974         Test: fast/forms/select/menulist-type-ahead-find.html
975
976         * html/HTMLSelectElement.cpp:
977         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't fire onchange event for Entry key.
978         (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
979         calling selectOption method.
980
981 2011-12-21  Darin Adler  <darin@apple.com>
982
983         Tweak and comment some transform-related code
984         https://bugs.webkit.org/show_bug.cgi?id=68670
985
986         Reviewed by Daniel Bates.
987
988         * platform/mac/ScrollbarThemeMac.mm:
989         (WebCore::ScrollbarThemeMac::paint): Added a FIXME about additional overhead paid here
990         when the scale factor is 2x.
991         * rendering/RenderBoxModelObject.cpp:
992         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a FIXME about this check possibly
993         being wrong, and also changed the local vairable name so the check need not stretch over
994         multiple lines.
995
996 2011-12-21  Kent Tamura  <tkent@chromium.org>
997
998         Change the item type of Document::m_formElementsWithState from Element*
999         to HTMLFormControlElementWithState*.
1000         https://bugs.webkit.org/show_bug.cgi?id=74998
1001
1002         Reviewed by Andreas Kling.
1003
1004         No new tests. Just refactoring.
1005
1006         * dom/Document.cpp:
1007         (WebCore::Document::formElementsState): Use HTMLFormControlElementWithState*.
1008         * dom/Document.h:
1009         (WebCore::Document::registerFormElementWithState): Change the argument type.
1010         (WebCore::Document::unregisterFormElementWithState): ditto.
1011         (WebCore::Document::formElements): Renamed from getFormElements().
1012         * dom/Element.h:
1013         Removed shouldSaveAndRestoreFormControlState(), saveFormControlState(),
1014         and restoreFormControlState() because they are not called for Element
1015         anymore.
1016         * html/HTMLFormControlElement.h:
1017         - Make formControlName() and formControlType() public.
1018          They are called from Document class.
1019         - Make shouldSaveAndRestoreFormControlState() public, and non-virtual.
1020          This is called from Document class, and no other classes override this.
1021         (WebCore::HTMLFormControlElementWithState::saveFormControlState):
1022         Moved from Element.
1023         (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
1024         * html/HTMLInputElement.cpp:
1025         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1026         Use HTMLFormControlElementWithState* instead of Element*.
1027
1028 2011-12-21  Alexandre Elias  <aelias@google.com>
1029
1030         [chromium] Always use border texels on platforms using pageScaleDelta
1031         https://bugs.webkit.org/show_bug.cgi?id=74226
1032
1033         Reviewed by James Robinson.
1034
1035         On platforms where the root layer can be zoomed in at draw time
1036         (pageScaleDelta), we want to turn on border texels in order for
1037         scaling to use GL_LINEAR instead of GL_NEAREST.
1038
1039         No new tests. (Flag flip.)
1040
1041         * platform/graphics/chromium/TiledLayerChromium.cpp:
1042         (WebCore::TiledLayerChromium::prepareToUpdate):
1043
1044 2011-12-21  Dale Curtis  <dalecurtis@chromium.org>
1045
1046         [chromium] Scale audio, video tags in MediaDocument to fit in window.
1047         https://bugs.webkit.org/show_bug.cgi?id=73948
1048
1049         Add CSS max-height: 100%, max-width: 100% settings to the audio and
1050         video tags when in MediaDocuments.
1051
1052         Reviewed by Eric Seidel.
1053
1054         Test: media/video-scales-in-media-document.html
1055
1056         * css/mediaControlsChromium.css:
1057         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
1058
1059 2011-12-21  Konrad Piascik  <kpiascik@rim.com>
1060
1061         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
1062         https://bugs.webkit.org/show_bug.cgi?id=74313
1063
1064         Reviewed by Eric Seidel.
1065
1066         Implemented the JavaScriptCore binding to allow Web Inspector to
1067         show the function name and line number for an event listener in
1068         the Elements panel.
1069
1070         Tested by opening up a page which has a registered event listener in Safari
1071         and checking if the Elements panel script name and line number are present
1072         and clickable.
1073
1074         * ForwardingHeaders/runtime/Executable.h: Added.
1075         * ForwardingHeaders/wtf/SegmentedVector.h: Added.
1076         * bindings/js/ScriptEventListener.cpp:
1077         (WebCore::eventListenerHandlerLocation):
1078
1079 2011-12-21  Chris Guan  <chris.guan@torchmobile.com.cn>
1080
1081         Upstream the Multipart feature in Blackberry port
1082         https://bugs.webkit.org/show_bug.cgi?id=73533
1083
1084         Reviewed by Rob Buis.
1085
1086         I refactored Multipart code of Blackberry port. Moved Multipart into
1087         Blackerry network layer and removed the dependence of std::string.
1088
1089         Initial upstream, no new test cases.
1090
1091         * platform/network/blackberry/DeferredData.cpp:
1092         (WebCore::DeferredData::deferMultipartHeaderReceived):
1093         (WebCore::DeferredData::processHeaders):
1094         (WebCore::DeferredData::processDeferredData):
1095         * platform/network/blackberry/DeferredData.h:
1096         (WebCore::DeferredData::hasDeferredData):
1097         * platform/network/blackberry/NetworkJob.cpp:
1098         (WebCore::NetworkJob::notifyMultipartHeaderReceived):
1099         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
1100         (WebCore::NetworkJob::handleNotifyDataReceived):
1101         (WebCore::NetworkJob::handleNotifyClose):
1102         (WebCore::NetworkJob::startNewJobWithRequest):
1103         (WebCore::NetworkJob::sendResponseIfNeeded):
1104         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
1105         * platform/network/blackberry/NetworkJob.h:
1106
1107 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
1108
1109         Fix text track cue font size and colors
1110         https://bugs.webkit.org/show_bug.cgi?id=75051
1111
1112         Reviewed by Darin Adler.
1113
1114         No new tests, updated media/track/track-cue-rendering.html for the changes.
1115
1116         * css/mediaControls.css:
1117         (video::-webkit-media-text-track-container): Match WebVTT spec.
1118         (video::-webkit-media-text-track-display): Ditto.
1119
1120         * html/shadow/MediaControlElements.cpp:
1121         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Change font size from  4% of the
1122             video height to 5% as per the spec. Don't enforce a minimum size.
1123
1124 2011-12-21  Andreas Kling  <kling@webkit.org>
1125
1126         Unreviewed, rolling out r103473.
1127         http://trac.webkit.org/changeset/103473
1128         https://bugs.webkit.org/show_bug.cgi?id=74991
1129
1130         Overestimated my superpowers a bit here.
1131
1132         * dom/Element.cpp:
1133         (WebCore::Element::attributeChanged):
1134         (WebCore::Element::insertedIntoDocument):
1135         (WebCore::Element::removedFromDocument):
1136         * dom/Element.h:
1137         (WebCore::Element::updateId):
1138         (WebCore::Element::willModifyAttribute):
1139         * dom/NamedNodeMap.cpp:
1140         (WebCore::NamedNodeMap::setAttributes):
1141         * dom/Node.h:
1142         * html/HTMLAppletElement.cpp:
1143         (WebCore::HTMLAppletElement::parseMappedAttribute):
1144         (WebCore::HTMLAppletElement::insertedIntoDocument):
1145         (WebCore::HTMLAppletElement::removedFromDocument):
1146         * html/HTMLAppletElement.h:
1147         * html/HTMLEmbedElement.cpp:
1148         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1149         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1150         (WebCore::HTMLEmbedElement::removedFromDocument):
1151         * html/HTMLEmbedElement.h:
1152         * html/HTMLFormElement.cpp:
1153         (WebCore::HTMLFormElement::insertedIntoDocument):
1154         (WebCore::HTMLFormElement::removedFromDocument):
1155         (WebCore::HTMLFormElement::parseMappedAttribute):
1156         * html/HTMLFormElement.h:
1157         * html/HTMLImageElement.cpp:
1158         (WebCore::HTMLImageElement::parseMappedAttribute):
1159         (WebCore::HTMLImageElement::insertedIntoDocument):
1160         (WebCore::HTMLImageElement::removedFromDocument):
1161         * html/HTMLImageElement.h:
1162         * html/HTMLObjectElement.cpp:
1163         (WebCore::HTMLObjectElement::parseMappedAttribute):
1164         (WebCore::HTMLObjectElement::insertedIntoDocument):
1165         (WebCore::HTMLObjectElement::removedFromDocument):
1166         (WebCore::HTMLObjectElement::updateDocNamedItem):
1167         (WebCore::HTMLObjectElement::formControlName):
1168         * html/HTMLObjectElement.h:
1169         * html/HTMLPlugInElement.h:
1170
1171 2011-12-21  Simon Fraser  <simon.fraser@apple.com>
1172
1173         Clean up RenderLayer code that applies filters and transforms
1174         https://bugs.webkit.org/show_bug.cgi?id=75032
1175         
1176         This also fixes:
1177             Nested filters not working as expected
1178             https://bugs.webkit.org/show_bug.cgi?id=75029
1179             
1180             Filter region is computed incorrectly
1181             https://bugs.webkit.org/show_bug.cgi?id=74889
1182
1183         Reviewed by James Robinson.
1184
1185         RenderLayer::paintLayer() had this confusing behavior where,
1186         for transforms, it would change the CTM and then re-enter
1187         the method with a bit set. This was partially, but incorrectly
1188         copied for filters, so things like nested filters didn't work,
1189         and the case of a filter + transform was confused.
1190         
1191         Clean up by making RenderLayer::paintLayer() be a fairly simple
1192         method that handles the re-entering with bit set, for both
1193         transforms and filters. The bulk of the code in RenderLayer::paintLayer()
1194         is now in RenderLayer::paintLayerContents(). There is no
1195         behavior change for transforms.
1196         
1197         There are two fixes for filters. First, instead of just using
1198         the layer size to compute the bounds of the filtered region,
1199         use transparencyClipBox() which already takes descendents, box
1200         decorations etc into account (it's what we use for opacity).
1201         Some cleanup of the coordinate math, and separation from transforms
1202         code was also achieved.
1203         
1204         Second, make sure we toggle off the PaintLayerAppliedFilters bit
1205         (which was renamed for clarity) for sublayers, so that sublayers
1206         paint their filters correctly.
1207
1208         Tests: css3/filters/filter-region.html
1209                css3/filters/nested-filters.html
1210
1211         * rendering/RenderLayer.cpp:
1212         (WebCore::RenderLayer::paintLayer):
1213         (WebCore::RenderLayer::paintLayerContents):
1214         (WebCore::RenderLayer::updateFilterBackingStore):
1215         * rendering/RenderLayer.h:
1216
1217 2011-12-21  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
1218
1219         Discard event data not followed by an empty line before eof when parsing an event-stream
1220         https://bugs.webkit.org/show_bug.cgi?id=68833
1221
1222         Reviewed by Alexey Proskuryakov.
1223
1224         Test: http/tests/eventsource/eventsource-eof.html
1225
1226         * page/EventSource.cpp:
1227         (WebCore::EventSource::didFinishLoading):
1228         (WebCore::EventSource::parseEventStreamLine):
1229         * page/EventSource.h:
1230
1231 2011-12-21  Andreas Kling  <kling@webkit.org>
1232
1233         Automate elements' registration as document namedItem/extraNamedItem.
1234         <http://webkit.org/b/74991>
1235
1236         Reviewed by Antti Koivisto.
1237
1238         Remove caching of the "id" and "name" attributes on applet, embed, form,
1239         image and object elements. We were caching them to keep the document's
1240         map of named and "extra named" (named by id) item counts in sync.
1241
1242         Instead, add a hook to Element::willModifyAttribute() that detects when
1243         the attributes are being changed and handle the registration/unregistration
1244         automatically if the element returns true for shouldRegisterAsNamedItem()
1245         or shouldRegisterAsExtraNamedItem() respectively.
1246
1247         This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
1248
1249         IFrame elements retain the old mechanism for now, as there are some subtle
1250         differences to how that's handled.
1251
1252         * dom/Node.h:
1253         (WebCore::Node::hasName):
1254         (WebCore::Node::setHasName):
1255
1256             Cache whether we have a "name" attribute or not (1 bit on Node.)
1257             This is done in order to minimize the overhead added to Element's
1258             insertedIntoDocument() and removeFromDocument().
1259
1260         * dom/Element.cpp:
1261         (WebCore::Element::updateNamedItemRegistration):
1262         (WebCore::Element::updateExtraNamedItemRegistration):
1263
1264             Added. Called when the "name" and "id" attributes are changed.
1265             Updates the document's named item maps accordingly.
1266
1267         (WebCore::Element::insertedIntoDocument):
1268         (WebCore::Element::removedFromDocument):
1269
1270             Make sure updateName() is called in addition to updateId() when applicable.
1271
1272         (WebCore::Element::attributeChanged):
1273
1274             Update the Node's has-name flag as appropriate.
1275
1276         * dom/Element.h:
1277         (WebCore::Element::shouldRegisterAsNamedItem):
1278         (WebCore::Element::shouldRegisterAsExtraNamedItem):
1279
1280             Added. If an element returns true for these, it will be automatically
1281             registered with the document when the name/id attribute changes.
1282
1283         (WebCore::Element::updateId):
1284         (WebCore::Element::updateName):
1285
1286             Register/unregister from the document's named item maps as appropriate.
1287
1288         (WebCore::Element::willModifyAttribute):
1289
1290             Add updateName() hook in addition to the existing updateId() hook.
1291
1292         * dom/NamedNodeMap.cpp:
1293         (WebCore::NamedNodeMap::setAttributes):
1294
1295             Make sure updateName() is called when we're cloning the attributes
1296             from another element.
1297
1298         * html/HTMLAppletElement.cpp:
1299         (WebCore::HTMLAppletElement::parseMappedAttribute):
1300         * html/HTMLAppletElement.h:
1301         * html/HTMLEmbedElement.cpp:
1302         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1303         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1304         * html/HTMLEmbedElement.h:
1305         * html/HTMLFormElement.cpp:
1306         (WebCore::HTMLFormElement::insertedIntoDocument):
1307         (WebCore::HTMLFormElement::removedFromDocument):
1308         (WebCore::HTMLFormElement::parseMappedAttribute):
1309         * html/HTMLFormElement.h:
1310         * html/HTMLImageElement.cpp:
1311         (WebCore::HTMLImageElement::parseMappedAttribute):
1312         (WebCore::HTMLImageElement::insertedIntoDocument):
1313         * html/HTMLImageElement.h:
1314         * html/HTMLObjectElement.cpp:
1315         (WebCore::HTMLObjectElement::parseMappedAttribute):
1316         (WebCore::HTMLObjectElement::insertedIntoDocument):
1317         (WebCore::HTMLObjectElement::removedFromDocument):
1318         * html/HTMLObjectElement.h:
1319         * html/HTMLPlugInElement.h:
1320
1321             Remove duplicated code that is now handled by Element.
1322
1323         * html/HTMLObjectElement.cpp:
1324         (WebCore::HTMLObjectElement::updateDocNamedItem):
1325         (WebCore::HTMLObjectElement::formControlName):
1326
1327             Use fastGetAttribute() since we no longer cache the name.
1328
1329 2011-12-21  Wyatt Carss  <wcarss@chromium.org>
1330
1331         Reviewed by Ryosuke Niwa.
1332
1333         strong and b should be font-weight: bold, not bolder
1334         https://bugs.webkit.org/show_bug.cgi?id=56400
1335
1336         Test: fast/html/font-weight-bold-for-b-and-strong.html
1337
1338         * css/html.css:
1339         (strong, b):
1340
1341 2011-12-21  Florin Malita  <fmalita@google.com>
1342
1343         Improper handling of foreignobjects nested in svg groups
1344         https://bugs.webkit.org/show_bug.cgi?id=69762
1345
1346         Reviewed by Nikolas Zimmermann.
1347
1348         Tests: svg/foreignObject/repaint-rect-coordinates-expected.html
1349                svg/foreignObject/repaint-rect-coordinates.html
1350
1351         * rendering/svg/RenderSVGForeignObject.h:
1352         (WebCore::RenderSVGForeignObject::objectBoundingBox):
1353         (WebCore::RenderSVGForeignObject::strokeBoundingBox):
1354         (WebCore::RenderSVGForeignObject::repaintRectInLocalCoordinates):
1355         Return local coordinates.
1356
1357 2011-12-21  Anders Carlsson  <andersca@apple.com>
1358
1359         Make it possible to use contents layers in scrollbars
1360         https://bugs.webkit.org/show_bug.cgi?id=75044
1361
1362         Reviewed by Simon Fraser.
1363
1364         * page/ScrollingCoordinator.h:
1365         * page/mac/ScrollingCoordinatorMac.mm:
1366         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1367         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1368         Don't pass const GraphicsLayers to these member functions; we need to be able to mutate them.
1369
1370         * platform/ScrollView.cpp:
1371         (positionScrollbarLayer):
1372         If the scrollbar layer has a contents layer, just update its contents rect. Otherwise,
1373         invalidate the scrollbar layer.
1374
1375 2011-12-21  Anders Carlsson  <andersca@apple.com>
1376
1377         Always reposition the scrollbar layers when the frame view size changes
1378         https://bugs.webkit.org/show_bug.cgi?id=75035
1379
1380         Reviewed by Darin Adler.
1381
1382         * rendering/RenderLayerCompositor.cpp:
1383         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1384         Remove the layersChanged check and unconditionally call positionScrollbarLayers(). This only
1385         worked by accident before because we were recreating horizontal and vertical scrollbars on every call.
1386
1387 2011-12-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1388
1389         [EFL] Add 'Select All' option to context menus in WebKit-EFL.
1390         https://bugs.webkit.org/show_bug.cgi?id=74920
1391
1392         Reviewed by Eric Seidel.
1393
1394         Enable 'Select All' option to context menus called on input fields in WebKit-EFL
1395         as it is enabled in GTK and QT ports.
1396
1397         * page/ContextMenuController.cpp:
1398         (WebCore::ContextMenuController::contextMenuItemSelected): Add 'Select All' option.
1399         (WebCore::ContextMenuController::populate): Append 'Select All' item.
1400         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Enable 'Select All' option.
1401         * platform/ContextMenuItem.h: Add 'Select All' option.
1402         * platform/LocalizationStrategy.h: Add constructor for 'Select All' option.
1403         * platform/LocalizedStrings.h: Add constructor for 'Select All' option.
1404
1405 2011-12-20  Adam Klein  <adamk@chromium.org>
1406
1407         Make calls to willModifyAttribute and attributeChanged symmetrical
1408         https://bugs.webkit.org/show_bug.cgi?id=74987
1409
1410         Reviewed by Ryosuke Niwa.
1411
1412         Previously, calls to Element::willModifyAttribute sometimes happened
1413         in one method while calls to Element::attributeChanged happened in
1414         another. This change makes them symmetrical for all the cases I know
1415         about: setAttribute, removeAttribute, setNamedItem, removeNamedItem.
1416
1417         To accomplish this, NamedNodeMap::addAttribute, removeAttribute, and
1418         replaceAttribute have been reduced to their pure functionality of
1419         manipulating m_attributes, and their callers are left responsible for
1420         properly notifying the Element of the underlying changes.
1421
1422         One other bit of refactoring was done: to simplify
1423         Element::setAttribute, it now dispatches to
1424         Element::removeAttributeInternal if the incoming value is null.
1425
1426         No new tests, no change in behavior.
1427
1428         * dom/Attribute.h:
1429         * dom/Element.cpp:
1430         (WebCore::Element::removeAttribute):
1431         (WebCore::Element::removeAttributeInternal): Added, sharing code
1432         between the two removeAttribute overloads.
1433         (WebCore::Element::setAttributeInternal):
1434         * dom/Element.h:
1435         * dom/NamedNodeMap.cpp:
1436         (WebCore::NamedNodeMap::setNamedItem):
1437         (WebCore::NamedNodeMap::removeNamedItem):
1438         (WebCore::NamedNodeMap::addAttribute):
1439         (WebCore::NamedNodeMap::removeAttribute):
1440         (WebCore::NamedNodeMap::replaceAttribute):
1441         * svg/properties/SVGAnimatedPropertySynchronizer.h:
1442         Call Element::setAttribute unless the attribute is already present,
1443         and add a comment explaining why the code looks the way it does.
1444
1445 2011-12-21  Adrienne Walker  <enne@google.com>
1446
1447         Unreviewed, rolling out r103408.
1448         http://trac.webkit.org/changeset/103408
1449         https://bugs.webkit.org/show_bug.cgi?id=75017
1450
1451         WorkerDevToolsSanityTest.InspectSharedWorker is failing
1452         (Requested by loislo_ on #webkit).
1453
1454         * inspector/front-end/CompilerSourceMapping.js:
1455         (WebInspector.ClosureCompilerSourceMapping):
1456         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
1457         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1458         * inspector/front-end/DebuggerPresentationModel.js:
1459         (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
1460         * inspector/front-end/utilities.js:
1461         (String.prototype.asParsedURL):
1462
1463 2011-12-21  Stephen White  <senorblanco@chromium.org>
1464
1465         Fix CSS filters crash on zero-sized elements.
1466         https://bugs.webkit.org/show_bug.cgi?id=75020
1467
1468         Reviewed by Dean Jackson.
1469
1470         Test: css3/filters/filter-empty-element-crash.html
1471
1472         * rendering/FilterEffectRenderer.cpp:
1473         (WebCore::FilterEffectRenderer::inputContext):
1474         Protect against null ImageBuffer.
1475         * rendering/RenderLayer.cpp:
1476         (WebCore::RenderLayer::paintLayer):
1477         Protect against null GraphicsContext.
1478
1479 2011-12-21  Anders Carlsson  <andersca@apple.com>
1480
1481         Inform the scrolling coordinator when scrollbar layers come and go
1482         https://bugs.webkit.org/show_bug.cgi?id=75028
1483
1484         Reviewed by Andreas Kling and Simon Fraser.
1485
1486         * page/ScrollingCoordinator.h:
1487         * page/mac/ScrollingCoordinatorMac.mm:
1488         (WebCore::ScrollingCoordinator::setFrameViewHorizontalScrollbarLayer):
1489         (WebCore::ScrollingCoordinator::setFrameViewVerticalScrollbarLayer):
1490         * rendering/RenderLayerCompositor.cpp:
1491         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1492
1493 2011-12-20  Dmitry Lomov  <dslomov@google.com>
1494
1495         [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
1496         https://bugs.webkit.org/show_bug.cgi?id=74554
1497
1498         Reviewed by David Levin.
1499
1500         Covered by existing tests in fast/workers/storage.
1501
1502         * storage/chromium/DatabaseTrackerChromium.cpp:
1503         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
1504         (WebCore::NotifyDatabaseObserverOnCloseTask::performTask):
1505         (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask):
1506         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
1507         (WebCore::DatabaseTracker::removeOpenDatabase):
1508
1509 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
1510
1511         HTMLMediaElement::configureTextTrackDisplay is unnecessary
1512         https://bugs.webkit.org/show_bug.cgi?id=74945
1513
1514         Reviewed by Darin Adler.
1515
1516         Nothing to test, just removing redundant code. Correct behavior tested by 
1517         media/track/track-cue-rendering.html and media/track/track-cue-nothing-to-render.html.
1518
1519         * html/HTMLMediaElement.cpp:
1520         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Don't show and hide track, just call
1521             updateTextTrackDisplay and it will do the right thing.
1522
1523 2011-12-21  Anders Carlsson  <andersca@apple.com>
1524
1525         ScrollingCoordinator functions should take FrameView objects
1526         https://bugs.webkit.org/show_bug.cgi?id=75023
1527
1528         Reviewed by Sam Weinig.
1529
1530         * page/ScrollingCoordinator.cpp:
1531         (WebCore::ScrollingCoordinator::syncFrameViewGeometry):
1532         * page/ScrollingCoordinator.h:
1533         * page/mac/ScrollingCoordinatorMac.mm:
1534         (WebCore::ScrollingCoordinator::setFrameViewScrollLayer):
1535         * rendering/RenderLayerCompositor.cpp:
1536         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1537         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1538         (WebCore::RenderLayerCompositor::ensureRootLayer):
1539
1540 2011-12-21  Anders Carlsson  <andersca@apple.com>
1541
1542         Get rid of ScrollableAreaClient
1543         https://bugs.webkit.org/show_bug.cgi?id=75021
1544
1545         Reviewed by Sam Weinig.
1546
1547         The ScrollableAreaClient interface will just add an extra level of indirection between ScrollableArea and
1548         ScrollAnimator, which is unnecessary. Eventually I'd like to rename ScrollAnimator to something that better reflects
1549         all the different responsibilities it currently has.
1550
1551         * WebCore.exp.in:
1552         * page/FrameView.cpp:
1553         (WebCore::FrameView::FrameView):
1554         * page/ScrollingCoordinator.cpp:
1555         * page/ScrollingCoordinator.h:
1556         * platform/ScrollView.cpp:
1557         (WebCore::ScrollView::ScrollView):
1558         * platform/ScrollView.h:
1559         * platform/ScrollableArea.cpp:
1560         (WebCore::ScrollableArea::ScrollableArea):
1561         * platform/ScrollableArea.h:
1562         * platform/ScrollableAreaClient.h: Removed.
1563
1564 2011-12-21  Anders Carlsson  <andersca@apple.com>
1565
1566         Don't recreate scrollbar layers whenever the frame view size changes
1567         https://bugs.webkit.org/show_bug.cgi?id=75018
1568
1569         Reviewed by Darin Adler and Simon Fraser.
1570
1571         * rendering/RenderLayerCompositor.cpp:
1572         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1573
1574 2011-12-20  Andrey Kosyakov  <caseq@chromium.org>
1575
1576         Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium
1577         https://bugs.webkit.org/show_bug.cgi?id=74941
1578
1579         Reviewed by Pavel Feldman.
1580
1581         * WebCore.gypi:
1582         * inspector/front-end/ExtensionAPI.js:
1583         (buildPlatformExtensionAPI.platformExtensionAPI):
1584         (buildPlatformExtensionAPI):
1585         (buildExtensionAPIInjectedScript):
1586         * inspector/front-end/ExtensionServer.js:
1587         (WebInspector.ExtensionServer.prototype._addExtensions):
1588         (WebInspector.ExtensionServer.prototype._addExtension):
1589         (window.addExtension):
1590
1591 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
1592
1593         Web Inspector: fix source map url resolving.
1594         https://bugs.webkit.org/show_bug.cgi?id=74305
1595
1596         Reviewed by Pavel Feldman.
1597
1598         Also fix the bug with repeated source urls in mapping sections.
1599
1600         * inspector/front-end/CompilerSourceMapping.js:
1601         (WebInspector.ClosureCompilerSourceMapping):
1602         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
1603         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1604         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
1605         * inspector/front-end/DebuggerPresentationModel.js:
1606         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
1607         * inspector/front-end/utilities.js:
1608         (String.prototype.asParsedURL):
1609
1610 2011-12-21  Renata Hodovan  <reni@webkit.org>
1611
1612         New renderer for SVGRectElement
1613         https://bugs.webkit.org/show_bug.cgi?id=65769
1614
1615         Rubber-stamped by Zoltan Herczeg.
1616
1617         Change the return value of RenderSVGRect::renderName() from RenderSVGPath to RenderSVGRect.
1618         This is a follow-up patch of r101517 to correct the DRT output.
1619
1620         * rendering/svg/RenderSVGRect.h:
1621         (WebCore::RenderSVGRect::renderName):
1622
1623 2011-12-21  Vsevolod Vlasov  <vsevik@chromium.org>
1624
1625         Web Inspector: TabbedPane should use tabElement width measuring to layout tab elements when width is too small to fit them.
1626         https://bugs.webkit.org/show_bug.cgi?id=75005
1627
1628         Reviewed by Pavel Feldman.
1629
1630         Test: inspector/tabbed-pane-max-tab-width-calculation.html
1631
1632         * inspector/front-end/NetworkItemView.js:
1633         (WebInspector.NetworkItemView.prototype.wasShown):
1634         * inspector/front-end/TabbedPane.js:
1635         (WebInspector.TabbedPane):
1636         (WebInspector.TabbedPane.prototype.appendTab):
1637         (WebInspector.TabbedPane.prototype._createTabElement):
1638         (WebInspector.TabbedPane.prototype.onResize):
1639         (WebInspector.TabbedPane.prototype._maybeMeasureAndUpdate):
1640         (WebInspector.TabbedPane.prototype._measureTab):
1641         (WebInspector.TabbedPane.prototype._updateWidths):
1642         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
1643         (WebInspector.TabbedPaneTab):
1644         * inspector/front-end/inspector.css:
1645         (.tabbed-pane-header):
1646         (.tabbed-pane-header-tabs):
1647         (.tabbed-pane-header-tab):
1648         (.tabbed-pane-header-tab.measuring):
1649         (.tabbed-pane-header-tab.selected):
1650         * inspector/front-end/scriptsPanel.css:
1651         (#scripts-navigator-tabbed-pane .tabbed-pane-header-tabs):
1652
1653 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
1654
1655         Web Inspector: auto detect source map url.
1656         https://bugs.webkit.org/show_bug.cgi?id=74088
1657
1658         Reviewed by Pavel Feldman.
1659
1660         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
1661         Header value will be used as auto suggestion for source map url in UI.
1662
1663         * inspector/Inspector.json:
1664         * inspector/InspectorDebuggerAgent.cpp:
1665         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
1666         (WebCore::InspectorDebuggerAgent::didParseSource):
1667         * inspector/InspectorDebuggerAgent.h:
1668         * inspector/front-end/DebuggerModel.js:
1669         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1670         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1671         * inspector/front-end/RawSourceCode.js:
1672         (WebInspector.RawSourceCode):
1673         * inspector/front-end/Script.js:
1674         (WebInspector.Script):
1675
1676 2011-12-21  Pierre Rossi  <pierre.rossi@gmail.com>
1677
1678         [Qt] Mobile theme refinements
1679         https://bugs.webkit.org/show_bug.cgi?id=74727
1680
1681         Mostly to replace most of the rounded-rect-shaped
1682         controls with squircle-shaped ones.
1683
1684         Reviewed by Kenneth Rohde Christiansen.
1685
1686         No new tests needed.
1687
1688         * platform/qt/RenderThemeQtMobile.cpp:
1689         (WebCore::drawControlBackground):
1690         (WebCore::painterScale):
1691         (WebCore::borderPen):
1692         (WebCore::StylePainterMobile::drawCheckableBackground): Toned down the gradient a bit.
1693         (WebCore::StylePainterMobile::findCheckBox):
1694         (WebCore::StylePainterMobile::drawRadio):
1695         (WebCore::StylePainterMobile::findRadio):
1696         (WebCore::StylePainterMobile::drawMultipleComboButton): increase spacing between the dots.
1697         (WebCore::StylePainterMobile::drawSimpleComboButton): attempt to improve readability.
1698         (WebCore::StylePainterMobile::getButtonImageSize):
1699         (WebCore::StylePainterMobile::findComboButton):
1700         (WebCore::StylePainterMobile::drawLineEdit):
1701         (WebCore::StylePainterMobile::findLineEdit):
1702         (WebCore::StylePainterMobile::drawPushButton):
1703         (WebCore::StylePainterMobile::findPushButton):
1704         (WebCore::StylePainterMobile::drawComboBox):
1705         (WebCore::StylePainterMobile::drawProgress):
1706         (WebCore::StylePainterMobile::drawSliderThumb):
1707         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
1708         (WebCore::RenderThemeQtMobile::paintTextField):
1709         * platform/qt/RenderThemeQtMobile.h:
1710
1711 2011-12-21  Alexander Pavlov  <apavlov@chromium.org>
1712
1713         Web Inspector: CSSStyleSheet::cssRules can return 0 and InspectorStyleSheet dosen't check
1714         https://bugs.webkit.org/show_bug.cgi?id=74938
1715
1716         Prevent security checks when retrieving a just-added CSS rule from the "inspector stylesheet".
1717
1718         Reviewed by Pavel Feldman.
1719
1720         * inspector/InspectorStyleSheet.cpp:
1721         (WebCore::InspectorStyleSheet::addRule):
1722
1723 2011-12-21  Renata Hodovan  <reni@webkit.org>
1724
1725         Fulfill FIXME in  HTMLLinkElement.h.
1726         https://bugs.webkit.org/show_bug.cgi?id=74278
1727
1728         Rename isStyleSheetLoading() method to styleSheetIsLoading().
1729         This new one has the correct grammar.
1730
1731         Reviewed by Darin Adler.
1732
1733         No new tests because the functionality remains the same.
1734
1735         * dom/Document.cpp:
1736         (WebCore::Document::recalcStyleSelector):
1737         * html/HTMLLinkElement.cpp:
1738         (WebCore::HTMLLinkElement::setDisabledState):
1739         (WebCore::HTMLLinkElement::styleSheetIsLoading):
1740         (WebCore::HTMLLinkElement::sheetLoaded):
1741         * html/HTMLLinkElement.h:
1742
1743 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
1744
1745         [Forms] Add OVERRIDE to WebCore/html/*InputType.h
1746         https://bugs.webkit.org/show_bug.cgi?id=74996
1747
1748         Reviewed by Kent Tamura.
1749
1750         No new tests. Changes are just for compilation.
1751
1752         * html/BaseButtonInputType.h: Add OVERRIDE.
1753         * html/BaseCheckableInputType.h: Add OVERRIDE.
1754         * html/BaseDateAndTimeInputType.h: Add OVERRIDE.
1755         * html/BaseTextInputType.h: Add OVERRIDE.
1756         * html/ButtonInputType.h: Add OVERRIDE.
1757         * html/CheckboxInputType.h: Add OVERRIDE.
1758         * html/ColorInputType.h: Add OVERRIDE.
1759         * html/DateInputType.h: Add OVERRIDE.
1760         * html/DateTimeInputType.h: Add OVERRIDE.
1761         * html/DateTimeLocalInputType.h: Add OVERRIDE.
1762         * html/EmailInputType.h: Add OVERRIDE.
1763         * html/FileInputType.h: Add OVERRIDE.
1764         * html/HiddenInputType.h: Add OVERRIDE.
1765         * html/ImageInputType.h: Add OVERRIDE.
1766         * html/IsIndexInputType.h: Add OVERRIDE.
1767         * html/MonthInputType.h: Add OVERRIDE.
1768         * html/NumberInputType.h: Add OVERRIDE.
1769         * html/PasswordInputType.h: Add OVERRIDE.
1770         * html/RadioInputType.h: Add OVERRIDE.
1771         * html/RangeInputType.h: Add OVERRIDE.
1772         * html/ResetInputType.h: Add OVERRIDE.
1773         * html/SearchInputType.h: Add OVERRIDE.
1774         * html/SubmitInputType.h: Add OVERRIDE.
1775         * html/TelephoneInputType.h: Add OVERRIDE.
1776         * html/TextFieldInputType.h: Add OVERRIDE.
1777         * html/TextInputType.h: Add OVERRIDE.
1778         * html/TimeInputType.h: Add OVERRIDE.
1779         * html/URLInputType.h: Add OVERRIDE.
1780         * html/WeekInputType.h: Add OVERRIDE.
1781
1782 2011-12-21  Matt Falkenhagen  <falken@chromium.org>
1783
1784         Add all ICU languages to LocaleToScriptMappingDefault.cpp
1785         https://bugs.webkit.org/show_bug.cgi?id=67274
1786
1787         Reviewed by Kent Tamura.
1788
1789         This better mimics the behavior of LocaleToScriptMappingICU.cpp. ICU
1790         languages from ICU 3.6 are added. Also, script suffix in locale is
1791         handled, so for example "fa_Latn" is mapped to Latin while "fa" is mapped to
1792         Arabic.
1793
1794         No new tests, there is no visible effect until default per-script fonts
1795         are added to non-ICU ports (alternatively, we could extend DumpRenderTree 
1796         to support overridePreference for per-script fonts as in bug 71110).
1797
1798         * platform/text/LocaleToScriptMappingDefault.cpp:
1799         (WebCore::getScriptCode): add script name to script code mapping
1800         (WebCore::localeToScriptCodeForFontSelection): add ICU languages to map 
1801
1802 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
1803
1804         Upstream PageClientBlackBerry.h into WebCore/platform/blackberry
1805         https://bugs.webkit.org/show_bug.cgi?id=74169
1806
1807         Reviewed by Daniel Bates.
1808
1809         Initial upstream, no new tests.
1810
1811         * platform/blackberry/PageClientBlackBerry.h: Added.
1812
1813 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
1814
1815         Upstream PlatformMouseEvent and LocalizedStrings into WebCore/platform/blackberry
1816         https://bugs.webkit.org/show_bug.cgi?id=74383
1817
1818         Reviewed by Daniel Bates.
1819
1820         Other Main Contributors:
1821         Rob Buis <rbuis@rim.com>
1822         Mike Fenton <mifenton@rim.com> 
1823
1824         Initial upstream, no new tests.
1825
1826         * PlatformBlackBerry.cmake: Modified to rename Localizations.cpp to LocalizedStringsBlackBerry.cpp
1827         * platform/blackberry/LocalizedStringsBlackBerry.cpp: Added.
1828         * platform/blackberry/PlatformMouseEventBlackBerry.cpp: Added.
1829
1830 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
1831
1832         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
1833         https://bugs.webkit.org/show_bug.cgi?id=69366
1834
1835         Reviewed by Pavel Feldman.
1836
1837         Generator fixed and all usages are changed manually.
1838
1839         * inspector/CodeGeneratorInspector.py:
1840         (RawTypes.BaseType):
1841         (RawTypes.BaseType.get_output_argument_prefix):
1842         (RawTypes.Object.get_output_argument_prefix):
1843         (RawTypes.Array.get_output_argument_prefix):
1844         (RawTypes):
1845         (Generator.process_command):
1846         * inspector/InspectorApplicationCacheAgent.cpp:
1847         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1848         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1849         * inspector/InspectorApplicationCacheAgent.h:
1850         * inspector/InspectorCSSAgent.cpp:
1851         (WebCore::InspectorCSSAgent::clearFrontend):
1852         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1853         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1854         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1855         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1856         (WebCore::InspectorCSSAgent::getStyleSheet):
1857         (WebCore::InspectorCSSAgent::setPropertyText):
1858         (WebCore::InspectorCSSAgent::toggleProperty):
1859         (WebCore::InspectorCSSAgent::setRuleSelector):
1860         (WebCore::InspectorCSSAgent::addRule):
1861         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1862         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
1863         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
1864         * inspector/InspectorCSSAgent.h:
1865         * inspector/InspectorDOMAgent.cpp:
1866         (WebCore::InspectorDOMAgent::getDocument):
1867         (WebCore::InspectorDOMAgent::querySelectorAll):
1868         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1869         (WebCore::InspectorDOMAgent::getSearchResults):
1870         (WebCore::InspectorDOMAgent::resolveNode):
1871         (WebCore::InspectorDOMAgent::getAttributes):
1872         * inspector/InspectorDOMAgent.h:
1873         * inspector/InspectorDOMStorageAgent.cpp:
1874         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1875         * inspector/InspectorDOMStorageAgent.h:
1876         * inspector/InspectorDatabaseAgent.cpp:
1877         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1878         * inspector/InspectorDatabaseAgent.h:
1879         * inspector/InspectorDebuggerAgent.cpp:
1880         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1881         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1882         (WebCore::InspectorDebuggerAgent::searchInContent):
1883         (WebCore::InspectorDebuggerAgent::setScriptSource):
1884         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1885         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1886         * inspector/InspectorDebuggerAgent.h:
1887         * inspector/InspectorMemoryAgent.cpp:
1888         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
1889         * inspector/InspectorMemoryAgent.h:
1890         * inspector/InspectorPageAgent.cpp:
1891         (WebCore::InspectorPageAgent::getCookies):
1892         (WebCore::InspectorPageAgent::getResourceTree):
1893         (WebCore::InspectorPageAgent::searchInResource):
1894         (WebCore::InspectorPageAgent::searchInResources):
1895         * inspector/InspectorPageAgent.h:
1896         * inspector/InspectorProfilerAgent.cpp:
1897         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1898         (WebCore::InspectorProfilerAgent::getProfile):
1899         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1900         * inspector/InspectorProfilerAgent.h:
1901         * inspector/InspectorRuntimeAgent.cpp:
1902         (WebCore::InspectorRuntimeAgent::evaluate):
1903         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1904         (WebCore::InspectorRuntimeAgent::getProperties):
1905         * inspector/InspectorRuntimeAgent.h:
1906
1907 2011-12-20  Eric Penner  <epenner@google.com>
1908
1909         [chromium] m_triggerIdlePaints not reset after a compositeAndReadback
1910         https://bugs.webkit.org/show_bug.cgi?id=74974
1911
1912         Reviewed by James Robinson.
1913
1914         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1915         (WebCore::CCLayerTreeHost::compositeAndReadback):
1916
1917 2011-12-20  David Levin  <levin@chromium.org>
1918
1919         Move misplaced assert in SQLiteStatement.cpp
1920         https://bugs.webkit.org/show_bug.cgi?id=74975
1921
1922         Reviewed by Dmitry Titov.
1923
1924         The test is coming with bug 74666.
1925
1926         * platform/sql/SQLiteStatement.cpp:
1927         (WebCore::SQLiteStatement::step): If a database was interrupted
1928         before the prepare method was called, then m_isPrepared will be
1929         false, so I moved the assert to be after the check for interrupted.
1930
1931 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
1932
1933         WebVTT cues sometimes render when they should not
1934         https://bugs.webkit.org/show_bug.cgi?id=74873
1935
1936         Not reviewed: update Chromium to pass new test added in r103371.
1937
1938         * html/shadow/MediaControlRootElementChromium.cpp:
1939         (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
1940
1941 2011-12-20  Andreas Kling  <kling@webkit.org>
1942
1943         HTMLOptionsCollection: Remove incorrect FIXME about having a base class.
1944         <http://webkit.org/b/74973>
1945
1946         Reviewed by Alexey Proskuryakov.
1947
1948         HTMLOptionsCollection should indeed inherit from HTMLCollection according to
1949         current HTML5, so remove the comment saying we should change that.
1950
1951         Spec: http://www.whatwg.org/specs/web-apps/current-work/#htmloptionscollection
1952
1953         * html/HTMLOptionsCollection.idl:
1954
1955 2011-12-20  Florin Malita  <fmalita@google.com>
1956
1957         td element ignores zero width/height input element
1958         https://bugs.webkit.org/show_bug.cgi?id=74636
1959
1960         Reviewed by Kent Tamura.
1961
1962         Test: fast/forms/input-zero-width.html
1963
1964         * rendering/RenderTextControl.cpp:
1965         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1966         Relax the attribute test to allow setting widths == 0.
1967
1968 2011-12-20  Adam Klein  <adamk@chromium.org>
1969
1970         Avoid unnecessary work when removing attributes from an element
1971         https://bugs.webkit.org/show_bug.cgi?id=74953
1972
1973         Reviewed by Ryosuke Niwa.
1974
1975         Various codepaths in Element and NamedNodeMap repeatedly search
1976         through the list of attributes during a single operation. To avoid
1977         this, I've added new getters to NamedNodeMap that return indices
1978         rather than Attribute*s (they return WTF::notFound if no match is
1979         found). These new methods are now used during removeAttribute
1980         operations, as well as setAttribute and NamedNodeMap::setNamedItem
1981         (along with a new replaceAttribute helper method).
1982
1983         The other optimization here involves the creation/destruction
1984         of never-references Attr nodes. This is now avoided by calling
1985         NamedNodeMap::removeAttribute directly instead of going through
1986         NamedNodeMap::removeNamedItem.
1987
1988         As a cleanup after the above changes, the ExceptionCode argument is
1989         gone from Element::removeAttribute and friends (it was never set
1990         previously). The bulk of the files mentioned below are simply updating
1991         callers to these methods.
1992
1993         No new tests, no change in behavior expected.
1994
1995         * dom/DatasetDOMStringMap.cpp:
1996         (WebCore::DatasetDOMStringMap::deleteItem):
1997         * dom/Element.cpp:
1998         (WebCore::Element::removeAttribute):
1999         (WebCore::Element::setBooleanAttribute):
2000         (WebCore::Element::removeAttributeNS):
2001         (WebCore::Element::setAttribute):
2002         (WebCore::Element::setAttributeInternal):
2003         * dom/Element.h:
2004         * dom/Element.idl:
2005         * dom/NamedNodeMap.cpp:
2006         (WebCore::NamedNodeMap::setNamedItem):
2007         (WebCore::NamedNodeMap::removeNamedItem):
2008         (WebCore::NamedNodeMap::getAttributeItemIndexSlowCase):
2009         (WebCore::NamedNodeMap::replaceAttribute):
2010         (WebCore::NamedNodeMap::removeAttribute):
2011         * dom/NamedNodeMap.h:
2012         (WebCore::NamedNodeMap::getAttributeItem):
2013         (WebCore::NamedNodeMap::getAttributeItemIndex):
2014         (WebCore::NamedNodeMap::removeAttribute):
2015         * editing/ApplyStyleCommand.cpp:
2016         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
2017         * editing/InsertParagraphSeparatorCommand.cpp:
2018         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
2019         * editing/SplitElementCommand.cpp:
2020         (WebCore::SplitElementCommand::executeApply):
2021         * html/HTMLElement.cpp:
2022         (WebCore::HTMLElement::setContentEditable):
2023         * html/HTMLInputElement.cpp:
2024         (WebCore::HTMLInputElement::setType):
2025         * inspector/InspectorDOMAgent.cpp:
2026         (WebCore::InspectorDOMAgent::setAttributesAsText):
2027         (WebCore::InspectorDOMAgent::removeAttribute):
2028         * svg/SVGUseElement.cpp:
2029         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
2030
2031 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
2032
2033         WebVTT cues sometimes render when they should not
2034         https://bugs.webkit.org/show_bug.cgi?id=74873
2035
2036         Reviewed by Darin Adler.
2037
2038         Test: media/track/track-cue-nothing-to-render.html
2039
2040         * html/shadow/MediaControlRootElement.cpp:
2041         (WebCore::MediaControlRootElement::updateTextTrackDisplay): Don't return early if the current
2042             cue is empty so the previous cue is removed.
2043
2044 2011-12-20  Ami Fischman  <fischman@chromium.org>
2045
2046         Don't crash on the second time VideoLayerChromium::createCCVideoLayer() is called
2047         https://bugs.webkit.org/show_bug.cgi?id=74963
2048
2049         Reviewed by James Robinson.
2050
2051         Manually tested by force-dropping the layer tree in CCLayerTreeHost::didBecomeInvisibleOnImplThread().
2052         Crashed before the fix, doesn't crash after.
2053
2054         * platform/graphics/chromium/VideoLayerChromium.cpp:
2055         (WebCore::VideoLayerChromium::VideoLayerChromium):
2056         (WebCore::VideoLayerChromium::~VideoLayerChromium):
2057         (WebCore::VideoLayerChromium::createCCLayerImpl):
2058         * platform/graphics/chromium/VideoLayerChromium.h:
2059
2060 2011-12-20  Scott Graham  <scottmg@chromium.org>
2061
2062         wouldTaintOrigin m_cleanURLs cache grows very large when data urls used
2063         https://bugs.webkit.org/show_bug.cgi?id=74957
2064
2065         Reviewed by Kenneth Russell.
2066
2067         No new tests, but memory usage of CanvasRenderingContext::m_cleanURLs
2068         is reduced.
2069
2070         * html/canvas/CanvasRenderingContext.cpp:
2071         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
2072
2073 2011-12-20  Greg Billock  <gbillock@google.com>
2074
2075         Change adoptPtr(new ...) to ...::create in Page.cpp
2076         https://bugs.webkit.org/show_bug.cgi?id=74457
2077
2078         Reviewed by Darin Adler.
2079
2080         * dom/DeviceMotionController.cpp:
2081         (WebCore::DeviceMotionController::create):
2082         * dom/DeviceMotionController.h:
2083         * dom/DeviceOrientationController.cpp:
2084         (WebCore::DeviceOrientationController::create):
2085         * dom/DeviceOrientationController.h:
2086         * editing/FrameSelection.cpp:
2087         (WebCore::DragCaretController::create):
2088         * editing/FrameSelection.h:
2089         * history/BackForwardController.cpp:
2090         (WebCore::BackForwardController::create):
2091         * history/BackForwardController.h:
2092         * inspector/InspectorController.cpp:
2093         (WebCore::InspectorController::create):
2094         * inspector/InspectorController.h:
2095         * loader/ProgressTracker.cpp:
2096         (WebCore::ProgressTracker::create):
2097         * loader/ProgressTracker.h:
2098         * notifications/NotificationController.cpp:
2099         (WebCore::NotificationController::create):
2100         * notifications/NotificationController.h:
2101         * page/Chrome.cpp:
2102         (WebCore::Chrome::create):
2103         * page/Chrome.h:
2104         * page/ContextMenuController.cpp:
2105         (WebCore::ContextMenuController::create):
2106         * page/ContextMenuController.h:
2107         * page/DragController.cpp:
2108         (WebCore::DragController::create):
2109         * page/DragController.h:
2110         * page/FocusController.cpp:
2111         (WebCore::FocusController::create):
2112         * page/FocusController.h:
2113         * page/GeolocationController.cpp:
2114         (WebCore::GeolocationController::create):
2115         * page/GeolocationController.h:
2116         * page/Page.cpp:
2117         (WebCore::Page::Page):
2118         (WebCore::Page::initGroup):
2119         (WebCore::Page::speechInput):
2120         * page/PageGroup.cpp:
2121         (WebCore::PageGroup::create):
2122         * page/PageGroup.h:
2123         * page/Settings.cpp:
2124         (WebCore::Settings::create):
2125         * page/Settings.h:
2126         * page/SpeechInput.cpp:
2127         (WebCore::SpeechInput::create):
2128         * page/SpeechInput.h:
2129
2130 2011-12-20  Ryosuke Niwa  <rniwa@webkit.org>
2131
2132         Mac build fix after r103354.
2133
2134         * platform/mac/ScrollAnimatorMac.mm:
2135         (systemUptime):
2136
2137 2011-12-20  Anders Carlsson  <andersca@apple.com>
2138
2139         Add ScrollableArea::contentsResized and have it call the scroll animator
2140         https://bugs.webkit.org/show_bug.cgi?id=74966
2141
2142         Reviewed by Sam Weinig.
2143
2144         * WebCore.exp.in:
2145         * page/FrameView.cpp:
2146         (WebCore::FrameView::setContentsSize):
2147         (WebCore::FrameView::contentsResized):
2148         * page/FrameView.h:
2149         * platform/ScrollView.h:
2150         * platform/ScrollableArea.cpp:
2151         (WebCore::ScrollableArea::contentsResized):
2152         * platform/ScrollableArea.h:
2153
2154 2011-12-20  Simon Fraser  <simon.fraser@apple.com>
2155
2156         requestAnimationFrame on Mac fires at 60fps even when drawing is much slower
2157         https://bugs.webkit.org/show_bug.cgi?id=74964
2158
2159         Reviewed by Chris Marrin.
2160         
2161         On Mac requestAnimationFrame uses a CVDisplayLink, sending notifications
2162         from the display link thread to the main thread that the display link fired.
2163         However, there was no throttling on these notifications; if processing an event
2164         took a long time, notifications would pile up, and then get handled after
2165         the slow event completed.
2166         
2167         This would cause JS animations which animate by changing style to report
2168         60fps when their display framerate was much lower.
2169         
2170         Fix by throttling notifications from the display link thread to the web
2171         thread; if the previous event hasn't completed yet, don't send any new ones.
2172
2173         No new tests, since testing this runtime behavior is hard.
2174
2175         * platform/graphics/DisplayRefreshMonitor.cpp:
2176         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
2177         (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
2178         (WebCore::DisplayRefreshMonitor::notifyClients): Factored out of the
2179         static refreshDisplayOnMainThread method so we can use 'this'.
2180         * platform/graphics/DisplayRefreshMonitor.h:
2181         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2182         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2183
2184 2011-12-20  Greg Billock  <gbillock@google.com>
2185
2186         [Coverity] Fix leak in V8HTMLDocument
2187         https://bugs.webkit.org/show_bug.cgi?id=74943
2188
2189         Reviewed by Adam Barth.
2190
2191         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2192         (WebCore::V8HTMLDocument::openCallback):
2193
2194 2011-12-20  Sailesh Agrawal <sail@chromium.org>
2195
2196         Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
2197         https://bugs.webkit.org/show_bug.cgi?id=61144
2198
2199         Reviewed by Beth Dakin.
2200
2201         At a high level the main changes are:
2202             - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
2203             - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
2204             - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
2205             - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
2206
2207         No new tests. Just refactoring.
2208
2209         * WebCore.gyp/WebCore.gyp:
2210         * WebCore.gypi:
2211         * WebCore.xcodeproj/project.pbxproj:
2212         * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
2213         * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
2214         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
2215         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
2216         * platform/chromium/ScrollbarThemeChromiumMac.h:
2217         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2218         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2219         (WebCore::scrollbarPainterPaintTrack):
2220         (WebCore::ScrollbarThemeChromiumMac::paint):
2221         * platform/mac/EmptyProtocolDefinitions.h:
2222         * platform/mac/NSScrollerImpDetails.h:
2223         (WebCore::isScrollbarOverlayAPIAvailable):
2224         * platform/mac/NSScrollerImpDetails.mm: Added.
2225         (WebCore::isScrollbarOverlayAPIAvailable):
2226         (WebCore::recommendedScrollerStyle):
2227         * platform/mac/ScrollAnimatorMac.h:
2228         * platform/mac/ScrollAnimatorMac.mm:
2229         (scrollbarPainterForScrollbar):
2230         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2231         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2232         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2233         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2234         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2235         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2236         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2237         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2238         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2239         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2240         (WebCore::ScrollAnimatorMac::contentsResized):
2241         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2242         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2243         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2244         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2245         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2246         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2247         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
2248         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2249         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
2250         (WebCore::ScrollAnimatorMac::cancelAnimations):
2251         (WebCore::ScrollAnimatorMac::setIsActive):
2252         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2253         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2254         * platform/mac/ScrollElasticityController.h:
2255         * platform/mac/ScrollbarThemeMac.h:
2256         * platform/mac/ScrollbarThemeMac.mm:
2257         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
2258         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
2259         (WebCore::updateArrowPlacement):
2260         (WebCore::ScrollbarThemeMac::registerScrollbar):
2261         (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
2262         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2263         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2264         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2265         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2266         (WebCore::ScrollbarThemeMac::hasButtons):
2267         (WebCore::ScrollbarThemeMac::hasThumb):
2268         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2269         (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
2270         (WebCore::ScrollbarThemeMac::updateEnabledState):
2271         (WebCore::scrollbarPainterPaint):
2272         (WebCore::ScrollbarThemeMac::paint):
2273
2274 2011-12-20  Tony Chang  <tony@chromium.org>
2275
2276         sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)
2277         https://bugs.webkit.org/show_bug.cgi?id=74876
2278
2279         Reviewed by Ryosuke Niwa.
2280
2281         Move bit fields into a new class and use unsigned for all types so we
2282         align at 4 byte bounds. Also move the initializers into the header
2283         file (has the side benefit of not needing to duplicate the initializers
2284         in 3 places).
2285
2286         Enable the compile assert on Windows.
2287
2288         * rendering/style/RenderStyle.cpp:
2289         (WebCore::RenderStyle::RenderStyle):
2290         * rendering/style/RenderStyle.h:
2291         (WebCore::RenderStyleBitfields::affectedByUncommonAttributeSelectors):
2292         (WebCore::RenderStyleBitfields::setAffectedByUncommonAttributeSelectors):
2293         (WebCore::RenderStyleBitfields::unique):
2294         (WebCore::RenderStyleBitfields::setUnique):
2295         (WebCore::RenderStyleBitfields::affectedByEmpty):
2296         (WebCore::RenderStyleBitfields::emptyState):
2297         (WebCore::RenderStyleBitfields::setEmptyState):
2298         (WebCore::RenderStyleBitfields::childrenAffectedByFirstChildRules):
2299         (WebCore::RenderStyleBitfields::setChildrenAffectedByFirstChildRules):
2300         (WebCore::RenderStyleBitfields::childrenAffectedByLastChildRules):
2301         (WebCore::RenderStyleBitfields::setChildrenAffectedByLastChildRules):
2302         (WebCore::RenderStyleBitfields::childrenAffectedByDirectAdjacentRules):
2303         (WebCore::RenderStyleBitfields::setChildrenAffectedByDirectAdjacentRules):
2304         (WebCore::RenderStyleBitfields::childrenAffectedByForwardPositionalRules):
2305         (WebCore::RenderStyleBitfields::setChildrenAffectedByForwardPositionalRules):
2306         (WebCore::RenderStyleBitfields::childrenAffectedByBackwardPositionalRules):
2307         (WebCore::RenderStyleBitfields::setChildrenAffectedByBackwardPositionalRules):
2308         (WebCore::RenderStyleBitfields::firstChildState):
2309         (WebCore::RenderStyleBitfields::setFirstChildState):
2310         (WebCore::RenderStyleBitfields::lastChildState):
2311         (WebCore::RenderStyleBitfields::setLastChildState):
2312         (WebCore::RenderStyleBitfields::childIndex):
2313         (WebCore::RenderStyleBitfields::setChildIndex):
2314         (WebCore::RenderStyleBitfields::setHasExplicitlyInheritedProperties):
2315         (WebCore::RenderStyleBitfields::hasExplicitlyInheritedProperties):
2316
2317 2011-12-20  Tony Chang  <tony@chromium.org>
2318
2319         [chromium] enable WPO for WebCore libs in official builds
2320         https://bugs.webkit.org/show_bug.cgi?id=74947
2321
2322         Reviewed by James Robinson.
2323
2324         Also move enable_wexit_time_destructors to the top level variables
2325         so we don't have to add it to all targets.
2326
2327         * WebCore.gyp/WebCore.gyp:
2328
2329 2011-12-20  Anders Carlsson  <andersca@apple.com>
2330
2331         Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
2332         https://bugs.webkit.org/show_bug.cgi?id=74951
2333
2334         Reviewed by Sam Weinig.
2335
2336         * WebCore.exp.in:
2337         * page/EventHandler.cpp:
2338         (WebCore::EventHandler::mouseMoved):
2339         (WebCore::EventHandler::updateMouseEventTargetNode):
2340         * page/FocusController.cpp:
2341         (WebCore::FocusController::setActive):
2342         * page/FrameView.cpp:
2343         (WebCore::FrameView::didMoveOnscreen):
2344         (WebCore::FrameView::willMoveOffscreen):
2345         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2346         * platform/ScrollableArea.cpp:
2347         (WebCore::ScrollableArea::contentAreaWillPaint):
2348         (WebCore::ScrollableArea::mouseEnteredContentArea):
2349         (WebCore::ScrollableArea::mouseExitedContentArea):
2350         (WebCore::ScrollableArea::mouseMovedInContentArea):
2351         (WebCore::ScrollableArea::mouseEnteredScrollbar):
2352         (WebCore::ScrollableArea::mouseExitedScrollbar):
2353         (WebCore::ScrollableArea::contentAreaDidShow):
2354         (WebCore::ScrollableArea::contentAreaDidHide):
2355         * platform/ScrollableArea.h:
2356         * platform/ScrollableAreaClient.h:
2357         * platform/Scrollbar.cpp:
2358         (WebCore::Scrollbar::mouseEntered):
2359         (WebCore::Scrollbar::mouseExited):
2360         (WebCore::Scrollbar::mouseUp):
2361
2362 2011-12-20  Jarred Nicholls  <jarred@sencha.com>
2363
2364         Perform case insensitive matching on MIME types in XHR
2365         https://bugs.webkit.org/show_bug.cgi?id=74800
2366
2367         Perform case insensitive matching on responseMIMEType() in didReceiveData().
2368         Workaround case sensitive matching by DOMImplementation::isXMLMIMEType() in responseIsXML().
2369
2370         Reviewed by Darin Adler.
2371
2372         Tests: http/tests/xmlhttprequest/xmlhttprequest-mimetype-mixed-case.html
2373                http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-mixed-case.html
2374
2375         * xml/XMLHttpRequest.cpp:
2376         (WebCore::XMLHttpRequest::didReceiveData):
2377         (WebCore::XMLHttpRequest::responseIsXML):
2378
2379 2011-12-20  Adam Klein  <adamk@chromium.org>
2380
2381         Remove no-op DOMAttr* event dispatch methods from Element
2382         https://bugs.webkit.org/show_bug.cgi?id=74946
2383
2384         Reviewed by Darin Adler.
2385
2386         The removed methods had their bodies #if 0'd out, so this should have
2387         no effect on anything.
2388
2389         * dom/Element.cpp:
2390         * dom/Element.h:
2391         * dom/NamedNodeMap.cpp:
2392         (WebCore::NamedNodeMap::addAttribute):
2393         (WebCore::NamedNodeMap::removeAttribute):
2394
2395 2011-12-20  Anders Carlsson  <andersca@apple.com>
2396
2397         ScrollableArea should have an optional ScrollableAreaClient
2398         https://bugs.webkit.org/show_bug.cgi?id=74949
2399
2400         Reviewed by Sam Weinig.
2401
2402         * WebCore.exp.in:
2403         * WebCore.xcodeproj/project.pbxproj:
2404         * page/FrameView.cpp:
2405         (WebCore::scrollableAreaClient):
2406         (WebCore::FrameView::FrameView):
2407         * page/ScrollingCoordinator.cpp:
2408         (WebCore::ScrollingCoordinator::scrollableAreaClientForFrame):
2409         * page/ScrollingCoordinator.h:
2410         * platform/ScrollView.cpp:
2411         (WebCore::ScrollView::ScrollView):
2412         * platform/ScrollView.h:
2413         * platform/ScrollableArea.cpp:
2414         (WebCore::ScrollableArea::ScrollableArea):
2415         * platform/ScrollableArea.h:
2416         * platform/ScrollableAreaClient.h: Added.
2417         (WebCore::ScrollableAreaClient::~ScrollableAreaClient):
2418         (WebCore::ScrollableAreaClient::ScrollableAreaClient):
2419
2420 2011-12-19  Adam Klein  <adamk@chromium.org>
2421
2422         Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser
2423         https://bugs.webkit.org/show_bug.cgi?id=74885
2424
2425         Reviewed by Ryosuke Niwa.
2426
2427         Element::setAttributeMap is currently used by the parser in cases
2428         where a NamedNodeMap of attributes has already been allocated and
2429         transfers ownership to the Element. Other uses in WebCore don't have
2430         this ownership-transfer requirement, and so are more clearly expressed
2431         with normal setAttribute calls.
2432
2433         Eliminating non-parser callers allows the code to make safe
2434         assumptions about the state of the Element it's called on: no need to
2435         worry about, e.g., updating the id in the document's cache or
2436         enqueueing mutation records.
2437
2438         No new tests, no change in behavior expected.
2439
2440         * dom/Element.cpp:
2441         (WebCore::Element::parserSetAttributeMap): Renamed, added assertions
2442         to make sure it's not called unexpectedly, update comments.
2443         * dom/Element.h:
2444         * html/HTMLViewSourceDocument.cpp: Use setAttribute instead of setAttributeMap.
2445         (WebCore::HTMLViewSourceDocument::createContainingTable):
2446         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2447         (WebCore::HTMLViewSourceDocument::addLine):
2448         (WebCore::HTMLViewSourceDocument::addBase):
2449         (WebCore::HTMLViewSourceDocument::addLink):
2450         * html/parser/HTMLConstructionSite.cpp: Reference new name.
2451         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2452         (WebCore::HTMLConstructionSite::insertScriptElement):
2453         (WebCore::HTMLConstructionSite::createElement):
2454         (WebCore::HTMLConstructionSite::createHTMLElement):
2455         * html/track/WebVTTParser.cpp:
2456         (WebCore::WebVTTParser::constructTreeFromToken): Use setAttribute instead of setAttributeMap.
2457         Also get rid of an unnecessary String -> AtomicString conversion.
2458
2459 2011-12-20  Iain Merrick  <husky@google.com>
2460
2461         Remove unused parameter from RenderLayerCompositor::rebuildCompositingLayerTree
2462         https://bugs.webkit.org/show_bug.cgi?id=74936
2463
2464         Reviewed by Simon Fraser.
2465
2466         Pure refactoring, no change in functionality.
2467
2468         * rendering/RenderLayerCompositor.cpp:
2469         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2470         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2471         * rendering/RenderLayerCompositor.h:
2472
2473 2011-12-20  Tony Chang  <tony@chromium.org>
2474
2475         RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned
2476         https://bugs.webkit.org/show_bug.cgi?id=74880
2477
2478         Reviewed by Ryosuke Niwa.
2479
2480         Use unsigned for all types so we get 4 byte boundaries (unsigned char
2481         means we try to align to 1 byte boundaries) and add setters and
2482         getters for bool members.
2483
2484         Move some members around to make sure we're aligned to 4 byte boundaries.
2485
2486         * rendering/style/RenderStyle.cpp:
2487         (WebCore::RenderStyle::copyNonInheritedFrom):
2488         * rendering/style/RenderStyle.h:
2489         (WebCore::InheritedFlags::NonInheritedFlags::affectedByHover):
2490         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByHover):
2491         (WebCore::InheritedFlags::NonInheritedFlags::affectedByActive):
2492         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByActive):
2493         (WebCore::InheritedFlags::NonInheritedFlags::affectedByDrag):
2494         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByDrag):
2495         (WebCore::InheritedFlags::NonInheritedFlags::isLink):
2496         (WebCore::InheritedFlags::NonInheritedFlags::setIsLink):
2497         (WebCore::InheritedFlags::setBitDefaults):
2498         (WebCore::InheritedFlags::affectedByHoverRules):
2499         (WebCore::InheritedFlags::affectedByActiveRules):
2500         (WebCore::InheritedFlags::affectedByDragRules):
2501         (WebCore::InheritedFlags::setAffectedByHoverRules):
2502         (WebCore::InheritedFlags::setAffectedByActiveRules):
2503         (WebCore::InheritedFlags::setAffectedByDragRules):
2504         (WebCore::InheritedFlags::isLink):
2505         (WebCore::InheritedFlags::setIsLink):
2506
2507 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
2508
2509         Regression(99212): table rows get incorrect height after changing some cells' height
2510         https://bugs.webkit.org/show_bug.cgi?id=74303
2511
2512         Reviewed by Darin Adler.
2513
2514         Tests: fast/table/resize-table-binding-cell.html
2515                fast/table/resize-table-cell.html
2516                fast/table/resize-table-row.html
2517
2518         r99212 wrongly implemented the row's logicalHeight recalculation.
2519         The original code would use recalcCells which would properly recalculate a
2520         row logicalHeight by iterating over the table's cells but throwing out the
2521         existing result.
2522
2523         Our approach is just to recompute our row's logicalHeight and leave the
2524         rest of the section untouched.
2525
2526         * rendering/RenderTableSection.cpp:
2527         (WebCore::updateLogicalHeightForCell):
2528         Added this new helper function to update the RowStruct logicalHeight during
2529         |addCell| and |rowLogicalHeightChanged|.
2530
2531         (WebCore::RenderTableSection::addCell):
2532         Replaced the old code with a call to updateLogicalHeightForCell.
2533         (WebCore::RenderTableSection::rowLogicalHeightChanged):
2534         Added a call to updateLogicalHeightForCell for each cells.
2535
2536 2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2537
2538         Unreviewed, rolling out r103322.
2539         http://trac.webkit.org/changeset/103322
2540         https://bugs.webkit.org/show_bug.cgi?id=74927
2541
2542         seven inspector's tests are crashing on qt (Requested by
2543         loislo on #webkit).
2544
2545         * inspector/CodeGeneratorInspector.py:
2546         (RawTypes.BaseType.is_event_param_check_optional):
2547         (RawTypes.Object.is_event_param_check_optional):
2548         (RawTypes.Array.is_event_param_check_optional):
2549         (RawTypes):
2550         (Generator.process_command):
2551         * inspector/InspectorApplicationCacheAgent.cpp:
2552         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2553         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
2554         * inspector/InspectorApplicationCacheAgent.h:
2555         * inspector/InspectorCSSAgent.cpp:
2556         (WebCore::InspectorCSSAgent::clearFrontend):
2557         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2558         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
2559         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2560         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2561         (WebCore::InspectorCSSAgent::getStyleSheet):
2562         (WebCore::InspectorCSSAgent::setPropertyText):
2563         (WebCore::InspectorCSSAgent::toggleProperty):
2564         (WebCore::InspectorCSSAgent::setRuleSelector):
2565         (WebCore::InspectorCSSAgent::addRule):
2566         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2567         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
2568         * inspector/InspectorCSSAgent.h:
2569         * inspector/InspectorDOMAgent.cpp:
2570         (WebCore::InspectorDOMAgent::getDocument):
2571         (WebCore::InspectorDOMAgent::querySelectorAll):
2572         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2573         (WebCore::InspectorDOMAgent::getSearchResults):
2574         (WebCore::InspectorDOMAgent::resolveNode):
2575         (WebCore::InspectorDOMAgent::getAttributes):
2576         * inspector/InspectorDOMAgent.h:
2577         * inspector/InspectorDOMStorageAgent.cpp:
2578         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
2579         * inspector/InspectorDOMStorageAgent.h:
2580         * inspector/InspectorDatabaseAgent.cpp:
2581         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2582         * inspector/InspectorDatabaseAgent.h:
2583         * inspector/InspectorDebuggerAgent.cpp:
2584         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2585         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2586         (WebCore::InspectorDebuggerAgent::searchInContent):
2587         (WebCore::InspectorDebuggerAgent::setScriptSource):
2588         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
2589         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2590         * inspector/InspectorDebuggerAgent.h:
2591         * inspector/InspectorMemoryAgent.cpp:
2592         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
2593         * inspector/InspectorMemoryAgent.h:
2594         * inspector/InspectorPageAgent.cpp:
2595         (WebCore::InspectorPageAgent::getCookies):
2596         (WebCore::InspectorPageAgent::getResourceTree):
2597         (WebCore::InspectorPageAgent::searchInResource):
2598         (WebCore::InspectorPageAgent::searchInResources):
2599         * inspector/InspectorPageAgent.h:
2600         * inspector/InspectorProfilerAgent.cpp:
2601         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2602         (WebCore::InspectorProfilerAgent::getProfile):
2603         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2604         * inspector/InspectorProfilerAgent.h:
2605         * inspector/InspectorRuntimeAgent.cpp:
2606         (WebCore::InspectorRuntimeAgent::evaluate):
2607         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2608         (WebCore::InspectorRuntimeAgent::getProperties):
2609         * inspector/InspectorRuntimeAgent.h:
2610
2611 2011-12-19  Andrey Kosyakov  <caseq@chromium.org>
2612
2613         Web Inspector: [Extensions API] allow setting extension API per extension security origin
2614         https://bugs.webkit.org/show_bug.cgi?id=74868
2615
2616         Reviewed by Pavel Feldman.
2617
2618         This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
2619         security origin, so that we can have APIs customized by extension (in particular, this is needed
2620         to expose experimental APIs only to certain extensions).
2621
2622         * inspector/InspectorAgent.cpp:
2623         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2624         (WebCore::InspectorAgent::setInjectedScriptForOrigin):
2625         * inspector/InspectorAgent.h:
2626         * inspector/InspectorController.cpp:
2627         (WebCore::InspectorController::setInjectedScriptForOrigin):
2628         * inspector/InspectorController.h:
2629         * inspector/InspectorFrontendHost.cpp:
2630         (WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
2631         * inspector/InspectorFrontendHost.h:
2632         * inspector/InspectorFrontendHost.idl:
2633         * inspector/front-end/ExtensionServer.js:
2634         (WebInspector.ExtensionServer.prototype._addExtensions):
2635         (WebInspector.ExtensionServer.prototype._addExtension):
2636
2637 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
2638
2639         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
2640         https://bugs.webkit.org/show_bug.cgi?id=69366
2641
2642         Reviewed by Pavel Feldman.
2643
2644         Generator fixed and all usages are changed manually.
2645
2646         * inspector/CodeGeneratorInspector.py:
2647         (RawTypes.BaseType.is_event_param_check_optional):
2648         (RawTypes.BaseType):
2649         (RawTypes.BaseType.get_output_argument_prefix):
2650         (RawTypes.Object.get_output_argument_prefix):
2651         (RawTypes.Array.get_output_argument_prefix):
2652         (RawTypes):
2653         (Generator.process_command):
2654         * inspector/InspectorApplicationCacheAgent.cpp:
2655         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2656         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
2657         * inspector/InspectorApplicationCacheAgent.h:
2658         * inspector/InspectorCSSAgent.cpp:
2659         (WebCore::InspectorCSSAgent::clearFrontend):
2660         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2661         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
2662         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2663         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2664         (WebCore::InspectorCSSAgent::getStyleSheet):
2665         (WebCore::InspectorCSSAgent::setPropertyText):
2666         (WebCore::InspectorCSSAgent::toggleProperty):
2667         (WebCore::InspectorCSSAgent::setRuleSelector):
2668         (WebCore::InspectorCSSAgent::addRule):
2669         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2670         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
2671         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
2672         * inspector/InspectorCSSAgent.h:
2673         * inspector/InspectorDOMAgent.cpp:
2674         (WebCore::InspectorDOMAgent::getDocument):
2675         (WebCore::InspectorDOMAgent::querySelectorAll):
2676         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2677         (WebCore::InspectorDOMAgent::getSearchResults):
2678         (WebCore::InspectorDOMAgent::resolveNode):
2679         (WebCore::InspectorDOMAgent::getAttributes):
2680         * inspector/InspectorDOMAgent.h:
2681         * inspector/InspectorDOMStorageAgent.cpp:
2682         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
2683         * inspector/InspectorDOMStorageAgent.h:
2684         * inspector/InspectorDatabaseAgent.cpp:
2685         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2686         * inspector/InspectorDatabaseAgent.h:
2687         * inspector/InspectorDebuggerAgent.cpp:
2688         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2689         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2690         (WebCore::InspectorDebuggerAgent::searchInContent):
2691         (WebCore::InspectorDebuggerAgent::setScriptSource):
2692         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
2693         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2694         * inspector/InspectorDebuggerAgent.h:
2695         * inspector/InspectorMemoryAgent.cpp:
2696         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
2697         * inspector/InspectorMemoryAgent.h:
2698         * inspector/InspectorPageAgent.cpp:
2699         (WebCore::InspectorPageAgent::getCookies):
2700         (WebCore::InspectorPageAgent::getResourceTree):
2701         (WebCore::InspectorPageAgent::searchInResource):
2702         (WebCore::InspectorPageAgent::searchInResources):
2703         * inspector/InspectorPageAgent.h:
2704         * inspector/InspectorProfilerAgent.cpp:
2705         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2706         (WebCore::InspectorProfilerAgent::getProfile):
2707         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2708         * inspector/InspectorProfilerAgent.h:
2709         * inspector/InspectorRuntimeAgent.cpp:
2710         (WebCore::InspectorRuntimeAgent::evaluate):
2711         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2712         (WebCore::InspectorRuntimeAgent::getProperties):
2713         * inspector/InspectorRuntimeAgent.h:
2714
2715 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
2716
2717         Crash in RenderTable::outerBorderAfter
2718         http://webkit.org/b/74026
2719         <rdar://problem/10552313>
2720
2721         Reviewed by Eric Seidel.
2722
2723         Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html
2724
2725         RenderBlock can call computeLogicalWidth() before calling layout(). The code in
2726         RenderTable::computeLogicalWidth would make the assumption that layout() was called
2727         as layout() is responsible for recomputing our sections.
2728
2729         To prevent the issue, let's just recompute the section if it's needed as this situation
2730         shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.
2731
2732         * rendering/RenderTable.cpp:
2733         (WebCore::RenderTable::computeLogicalWidth):
2734         Make sure we recalculate our section if it's needed.
2735
2736 2011-12-20  Kentaro Hara  <haraken@chromium.org>
2737
2738         [Refactoring] Replace imp with impl in CodeGeneratorJS.pm
2739         https://bugs.webkit.org/show_bug.cgi?id=74901
2740
2741         Reviewed by Adam Barth.
2742
2743         As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
2744         both 'imp' and 'impl'. This patch unifies them into 'impl'.
2745         I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.
2746
2747         No new tests. No change in behavior.
2748
2749         * bindings/scripts/CodeGeneratorJS.pm:
2750         (GenerateAttributeEventListenerCall):
2751         (GenerateEventListenerCall):
2752         (GenerateImplementation):
2753         (GenerateParametersCheck):
2754         (GenerateImplementationFunctionCall):
2755         (NativeToJSValue):
2756
2757         * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
2758         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
2759         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2760         (WebCore::jsTestEventConstructorAttr1):
2761         (WebCore::jsTestEventConstructorAttr2):
2762         * bindings/scripts/test/JS/JSTestInterface.cpp:
2763         (WebCore::jsTestInterfaceStr1):
2764         (WebCore::jsTestInterfaceStr2):
2765         (WebCore::jsTestInterfaceStr3):
2766         (WebCore::setJSTestInterfaceStr2):
2767         (WebCore::setJSTestInterfaceStr3):
2768         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2769         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2770         * bindings/scripts/test/JS/JSTestObj.cpp:
2771         (WebCore::jsTestObjReadOnlyIntAttr):
2772         (WebCore::jsTestObjReadOnlyStringAttr):
2773         (WebCore::jsTestObjReadOnlyTestObjAttr):
2774         (WebCore::jsTestObjShortAttr):
2775         (WebCore::jsTestObjUnsignedShortAttr):
2776         (WebCore::jsTestObjIntAttr):
2777         (WebCore::jsTestObjLongLongAttr):
2778         (WebCore::jsTestObjUnsignedLongLongAttr):
2779         (WebCore::jsTestObjStringAttr):
2780         (WebCore::jsTestObjTestObjAttr):
2781         (WebCore::jsTestObjXMLObjAttr):
2782         (WebCore::jsTestObjCreate):
2783         (WebCore::jsTestObjReflectedStringAttr):
2784         (WebCore::jsTestObjReflectedIntegralAttr):
2785         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
2786         (WebCore::jsTestObjReflectedBooleanAttr):
2787         (WebCore::jsTestObjReflectedURLAttr):
2788         (WebCore::jsTestObjReflectedNonEmptyURLAttr):
2789         (WebCore::jsTestObjReflectedCustomIntegralAttr):
2790         (WebCore::jsTestObjReflectedCustomBooleanAttr):
2791         (WebCore::jsTestObjReflectedCustomURLAttr):
2792         (WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
2793         (WebCore::jsTestObjAttrWithGetterException):
2794         (WebCore::jsTestObjAttrWithSetterException):
2795         (WebCore::jsTestObjStringAttrWithGetterException):
2796         (WebCore::jsTestObjStringAttrWithSetterException):
2797         (WebCore::jsTestObjScriptStringAttr):
2798         (WebCore::jsTestObjConditionalAttr1):
2799         (WebCore::jsTestObjConditionalAttr2):
2800         (WebCore::jsTestObjConditionalAttr3):
2801         (WebCore::jsTestObjCachedAttribute1):
2802         (WebCore::jsTestObjCachedAttribute2):
2803         (WebCore::jsTestObjDescription):
2804         (WebCore::jsTestObjId):
2805         (WebCore::jsTestObjHash):
2806         (WebCore::setJSTestObjShortAttr):
2807         (WebCore::setJSTestObjUnsignedShortAttr):
2808         (WebCore::setJSTestObjIntAttr):
2809         (WebCore::setJSTestObjLongLongAttr):
2810         (WebCore::setJSTestObjUnsignedLongLongAttr):
2811         (WebCore::setJSTestObjStringAttr):
2812         (WebCore::setJSTestObjTestObjAttr):
2813         (WebCore::setJSTestObjXMLObjAttr):
2814         (WebCore::setJSTestObjCreate):
2815         (WebCore::setJSTestObjReflectedStringAttr):
2816         (WebCore::setJSTestObjReflectedIntegralAttr):
2817         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2818         (WebCore::setJSTestObjReflectedBooleanAttr):
2819         (WebCore::setJSTestObjReflectedURLAttr):
2820         (WebCore::setJSTestObjReflectedNonEmptyURLAttr):
2821         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2822         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2823         (WebCore::setJSTestObjReflectedCustomURLAttr):
2824         (WebCore::setJSTestObjReflectedCustomNonEmptyURLAttr):
2825         (WebCore::setJSTestObjAttrWithGetterException):
2826         (WebCore::setJSTestObjAttrWithSetterException):
2827         (WebCore::setJSTestObjStringAttrWithGetterException):
2828         (WebCore::setJSTestObjStringAttrWithSetterException):
2829         (WebCore::setJSTestObjConditionalAttr1):
2830         (WebCore::setJSTestObjConditionalAttr2):
2831         (WebCore::setJSTestObjConditionalAttr3):
2832         (WebCore::setJSTestObjId):
2833         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2834         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2835         (WebCore::jsTestObjPrototypeFunctionIntMethod):
2836         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2837         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2838         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2839         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2840         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2841         (WebCore::jsTestObjPrototypeFunctionIdbKey):
2842         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2843         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2844         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2845         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2846         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2847         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
2848         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2849         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2850         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2851         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2852         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2853         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2854         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2855         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2856         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2857         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2858         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2859         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2860         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2861         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2862         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2863         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2864         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2865         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2866         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2867         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2868         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2869         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2870         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2871         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2872         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2873         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2874         (WebCore::jsTestSerializedScriptValueInterfaceValue):
2875
2876 2011-12-20  Alok Priyadarshi  <alokp@chromium.org>
2877
2878         [chromium] compositing/shadows tests fail with accelerated painting
2879         https://bugs.webkit.org/show_bug.cgi?id=74871
2880
2881         Reviewed by James Robinson.
2882         
2883         Switched over to new API for creating accelerated canvas GrContext::createPlatformTexture.
2884         It correctly binds the stencil buffer to the FBO.
2885
2886         Test: compositing/shadows/shadow-drawing.html (existing)
2887
2888         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2889         (WebCore::createAcceleratedCanvas):
2890         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2891         * platform/graphics/chromium/ManagedTexture.cpp:
2892         (WebCore::ManagedTexture::allocate):
2893         (WebCore::ManagedTexture::bindTexture):
2894         (WebCore::ManagedTexture::framebufferTexture2D):
2895         * platform/graphics/chromium/ManagedTexture.h:
2896
2897 2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2898
2899         Unreviewed, rolling out r103291.
2900         http://trac.webkit.org/changeset/103291
2901         https://bugs.webkit.org/show_bug.cgi?id=74915
2902
2903         Looks like it broke fast/events/touch and
2904         fast/events/touch/gesture/gesture-scroll.html
2905         http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/7010
2906         (Requested by loislo on #webkit).
2907
2908         * WebCore.gyp/WebCore.gyp:
2909         * WebCore.gypi:
2910         * WebCore.xcodeproj/project.pbxproj:
2911         * platform/chromium/ScrollAnimatorChromiumMac.h: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.h.
2912         (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
2913         (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
2914         (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
2915         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
2916         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
2917         * platform/chromium/ScrollAnimatorChromiumMac.mm: Added.
2918         (-[NSProcessInfo systemUptime]):
2919         (abs):
2920         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
2921         (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
2922         (-[ScrollAnimationHelperDelegate bounds]):
2923         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
2924         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
2925         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
2926         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
2927         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
2928         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
2929         (-[ScrollAnimationHelperDelegate superview]):
2930         (-[ScrollAnimationHelperDelegate documentView]):
2931         (-[ScrollAnimationHelperDelegate window]):
2932         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
2933         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2934         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
2935         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2936         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2937         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2938         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2939         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2940         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2941         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
2942         (-[ScrollbarPartAnimation setCurrentProgress:]):
2943         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
2944         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2945         (-[ScrollbarPainterDelegate cancelAnimations]):
2946         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2947         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2948         (-[ScrollbarPainterDelegate layer]):
2949         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2950         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2951         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2952         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2953         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
2954         (WebCore::ScrollAnimator::create):
2955         (WebCore::chromiumScrollbarTheme):
2956         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
2957         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
2958         (WebCore::ScrollAnimatorChromiumMac::scroll):
2959         (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
2960         (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
2961         (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
2962         (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
2963         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2964         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2965         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2966         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
2967         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
2968         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
2969         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
2970         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
2971         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
2972         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
2973         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
2974         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
2975         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
2976         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
2977         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
2978         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
2979         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
2980         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
2981         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
2982         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
2983         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
2984         (WebCore::elasticDeltaForTimeDelta):
2985         (WebCore::elasticDeltaForReboundDelta):
2986         (WebCore::reboundDeltaForElasticDelta):
2987         (WebCore::scrollWheelMultiplier):
2988         (WebCore::isScrollingLeftAndShouldNotRubberBand):
2989         (WebCore::isScrollingRightAndShouldNotRubberBand):
2990         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2991         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
2992         (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
2993         (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
2994         (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
2995         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
2996         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
2997         (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
2998         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
2999         (WebCore::roundTowardZero):
3000         (WebCore::roundToDevicePixelTowardZero):
3001         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
3002         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
3003         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
3004         (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
3005         (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
3006         (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
3007         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
3008         (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
3009         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Added.
3010         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Added.
3011         (lookUpNSScrollerImpClass):
3012         (lookUpNSScrollerImpPairClass):
3013         (scrollbarControlSizeToNSControlSize):
3014         (preferredScrollerStyle):
3015         (wkScrollbarPainterUsesOverlayScrollers):
3016         (wkScrollbarPainterIsHorizontal):
3017         (wkScrollbarPainterKnobAlpha):
3018         (wkScrollbarPainterSetOverlayState):
3019         (wkScrollbarPainterPaint):
3020         (wkScrollbarPainterPaintTrack):
3021         (wkScrollbarPainterPaintKnob):
3022         (wkScrollbarMinimumThumbLength):
3023         (wkScrollbarPainterSetDelegate):
3024         (wkScrollbarPainterSetEnabled):
3025         (wkScrollbarPainterTrackAlpha):
3026         (wkMakeScrollbarPainter):
3027         (wkScrollbarThickness):
3028         (wkScrollbarMinimumTotalLengthNeededForThumb):
3029         (wkVerticalScrollbarPainterForController):
3030         (wkHorizontalScrollbarPainterForController):
3031         (wkScrollbarPainterControllerStyle):
3032         (wkMakeScrollbarReplacementPainter):
3033         (wkSetPainterForPainterController):
3034         (wkSetScrollbarPainterControllerStyle):
3035         (wkScrollbarPainterKnobRect):
3036         (wkSetScrollbarPainterKnobAlpha):
3037         (wkSetScrollbarPainterTrackAlpha):
3038         (wkSetScrollbarPainterKnobStyle):
3039         (wkMakeScrollbarPainterController):
3040         (wkContentAreaScrolled):
3041         (wkContentAreaWillPaint):
3042         (wkMouseEnteredContentArea):
3043         (wkMouseExitedContentArea):
3044         (wkMouseMovedInContentArea):
3045         (wkWillStartLiveResize):
3046         (wkContentAreaResized):
3047         (wkWillEndLiveResize):
3048         (wkContentAreaDidShow):
3049         (wkContentAreaDidHide):
3050         (wkDidBeginScrollGesture):
3051         (wkDidEndScrollGesture):
3052         (wkScrollbarPainterForceFlashScrollers):
3053         (isScrollbarOverlayAPIAvailable):
3054         * platform/chromium/ScrollbarThemeChromiumMac.h:
3055         (WebCore::ScrollbarThemeChromiumMac::supportsControlTints):
3056         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
3057         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3058         (WebCore::scrollbarMap):
3059         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
3060         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
3061         (+[ScrollbarPrefsObserver registerAsObserver]):
3062         (WebCore::updateArrowPlacement):
3063         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
3064         (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
3065         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
3066         (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
3067         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3068         (WebCore::ScrollbarThemeChromiumMac::preferencesChanged):
3069         (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
3070         (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
3071         (WebCore::toScrollbarPainterKnobStyle):
3072         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
3073         (WebCore::ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay):
3074         (WebCore::ScrollbarThemeChromiumMac::autoscrollTimerDelay):
3075         (WebCore::ScrollbarThemeChromiumMac::buttonsPlacement):
3076         (WebCore::ScrollbarThemeChromiumMac::hasButtons):
3077         (WebCore::ScrollbarThemeChromiumMac::hasThumb):
3078         (WebCore::buttonRepaintRect):
3079         (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
3080         (WebCore::ScrollbarThemeChromiumMac::forwardButtonRect):
3081         (WebCore::ScrollbarThemeChromiumMac::trackRect):
3082         (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
3083         (WebCore::ScrollbarThemeChromiumMac::shouldCenterOnThumb):
3084         (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
3085         (WebCore::scrollbarPartToHIPressedState):
3086         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
3087         (WebCore::ScrollbarThemeChromiumMac::paint):
3088         * platform/mac/EmptyProtocolDefinitions.h:
3089         * platform/mac/NSScrollerImpDetails.h:
3090         * platform/mac/NSScrollerImpDetails.mm: Removed.
3091         * platform/mac/ScrollAnimatorMac.h:
3092         * platform/mac/ScrollAnimatorMac.mm:
3093         (-[WebScrollbarPainterDelegate layer]):
3094         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3095         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3096         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
3097         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
3098         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
3099         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
3100         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
3101         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
3102         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
3103         (WebCore::ScrollAnimatorMac::willStartLiveResize):
3104         (WebCore::ScrollAnimatorMac::contentsResized):
3105         (WebCore::ScrollAnimatorMac::willEndLiveResize):
3106         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
3107         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
3108         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
3109         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
3110         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
3111         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
3112         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
3113         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
3114         (WebCore::ScrollAnimatorMac::cancelAnimations):
3115         (WebCore::ScrollAnimatorMac::setIsActive):
3116         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3117         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
3118         * platform/mac/ScrollElasticityController.h:
3119         * platform/mac/ScrollbarThemeMac.h:
3120         * platform/mac/ScrollbarThemeMac.mm:
3121         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
3122         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
3123         (WebCore::ScrollbarTheme::nativeTheme):
3124         (WebCore::updateArrowPlacement):
3125         (WebCore::ScrollbarThemeMac::registerScrollbar):
3126         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3127         (WebCore::ScrollbarThemeMac::scrollbarThickness):
3128         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
3129         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
3130         (WebCore::ScrollbarThemeMac::hasButtons):
3131         (WebCore::ScrollbarThemeMac::hasThumb):
3132         (WebCore::ScrollbarThemeMac::minimumThumbLength):
3133         (WebCore::scrollbarPartToHIPressedState):
3134         (WebCore::ScrollbarThemeMac::updateEnabledState):
3135         (WebCore::ScrollbarThemeMac::paint):
3136
3137 2011-12-19  Adam Klein  <adamk@chromium.org>
3138
3139         Make all calls to NamedNodeMap::setAttributes go through Element
3140         https://bugs.webkit.org/show_bug.cgi?id=74895
3141
3142         Reviewed by Ryosuke Niwa.
3143
3144         There are two reasons for this change. One is an optimization: some
3145         callers were previously always creating a NamedNodeMap even if the
3146         source didn't have any attributes.
3147
3148         The other reason is forward-looking: setAttributes' behavior is subtly
3149         wrong in the presence of MutationObservers. This doesn't matter
3150         for most callers since the element on which setAttributesFromElement
3151         is called is newly-created. In the editing case, however, it could
3152         make a difference in behavior, which I hope to fix in a future change
3153         without sacrificing the performance of cloneNode() on an Element
3154         (which is what NamedNodeMap::setAttributes is designed for).
3155
3156         No new tests, no change in behavior.
3157
3158         * dom/Element.cpp:
3159         (WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
3160         * dom/Element.h:
3161         (WebCore::Element::setAttributesFromElement): Create new inline helper method
3162         which conditionally forwards to NamedNodeMap::setAttribute.
3163         * dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
3164         * editing/ReplaceNodeWithSpanCommand.cpp:
3165         (WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
3166         * inspector/InspectorDOMAgent.cpp:
3167         (WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
3168         * svg/SVGUseElement.cpp:
3169         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
3170         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
3171         and make use of ASSERT_NO_EXCEPTION to make code easier to read.
3172
3173 2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
3174
3175         [BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
3176         https://bugs.webkit.org/show_bug.cgi?id=74910
3177
3178         Reviewed by Daniel Bates.
3179
3180         No functionality change to the existing code, no new tests.
3181
3182         * platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
3183         initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.
3184
3185 2011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
3186
3187         [BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
3188         https://bugs.webkit.org/show_bug.cgi?id=74904
3189
3190         Reviewed by Daniel Bates.
3191
3192         No functionality change to existing code, no new tests.
3193
3194         * platform/network/NetworkStateNotifier.h:
3195
3196 2011-12-19  Yael Aharon  <yael.aharon@nokia.com>
3197
3198         Update dropzone implementation per spec update
3199         https://bugs.webkit.org/show_bug.cgi?id=74834
3200
3201         Reviewed by Tony Chang.
3202
3203         Update support for dropzone attribute to use file: and string: instead of f: and s:. 
3204         http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute
3205
3206         No new tests. Existing tests cover this and were updated.
3207
3208         * dom/Clipboard.cpp:
3209         (WebCore::Clipboard::hasDropZoneType):
3210
3211 2011-12-19  Sam Weinig  <sam@webkit.org>
3212
3213         Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
3214         https://bugs.webkit.org/show_bug.cgi?id=74907
3215
3216         Reviewed by Dan Bernstein.
3217
3218         Added API test: WebKit2.ScrollByLineCommands
3219
3220         * editing/EditorCommand.cpp:
3221         (WebCore::executeScrollLineUp):
3222         (WebCore::executeScrollLineDown):
3223         (WebCore::createCommandMap):
3224         Add implementations for scrollLineUp/Down. Do not expose
3225         these to execCommand
3226
3227 2011-12-19  Huang Dongsung  <luxtella@company100.net>
3228
3229         [QT] WebGL can not make the frame buffer with the stencil buffer.
3230         https://bugs.webkit.org/show_bug.cgi?id=74783
3231
3232         When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
3233         and stencil buffers separately, as opposed to the combined depth-stencil buffer
3234         we initialize for desktop GL.
3235
3236         This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
3237         work in OpenGL ES 2.
3238
3239         Reviewed by Noam Rosenthal.
3240
3241         * platform/graphics/GraphicsContext3D.h:
3242         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3243         (WebCore::GraphicsContext3D::GraphicsContext3D):
3244         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3245         (WebCore::GraphicsContext3D::reshape):
3246
3247 2011-12-19  Ami Fischman  <fischman@chromium.org>
3248
3249         Teach VideoLayerChromium how to render native texture (to support HW video decode).
3250         https://bugs.webkit.org/show_bug.cgi?id=73043
3251
3252         Reviewed by James Robinson.
3253         
3254         Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
3255         VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
3256         VideoLayerChromium would acquire the lease for the duration of copying the frame,
3257         even if that was only a texture ID, and immediately return the lease, while
3258         CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
3259         texture optimistically.  This change makes it so that CCVideoLayerImpl holds
3260         the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.
3261
3262         Existing test coverage (compositing/video/, LayoutTests).  HW render of
3263         HW-decoded textures is not yet tested explicitly.
3264
3265         * platform/graphics/chromium/VideoLayerChromium.cpp:
3266         (WebCore::VideoLayerChromium::VideoLayerChromium):
3267         (WebCore::VideoLayerChromium::~VideoLayerChromium):
3268         (WebCore::VideoLayerChromium::createCCLayerImpl):
3269         (WebCore::VideoLayerChromium::releaseProvider):
3270         * platform/graphics/chromium/VideoLayerChromium.h:
3271         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3272         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
3273         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
3274         (WebCore::CCVideoLayerImpl::setProvider):
3275         (WebCore::convertVFCFormatToGC3DFormat):
3276         (WebCore::CCVideoLayerImpl::draw):
3277         (WebCore::CCVideoLayerImpl::copyFrameToTextures):
3278         (WebCore::CCVideoLayerImpl::copyPlaneToTexture):
3279         (WebCore::computeVisibleSize):
3280         (WebCore::CCVideoLayerImpl::reserveTextures):
3281         (WebCore::CCVideoLayerImpl::drawYUV):
3282         (WebCore::CCVideoLayerImpl::drawCommon):
3283         (WebCore::CCVideoLayerImpl::drawRGBA):
3284         (WebCore::CCVideoLayerImpl::drawNativeTexture):
3285         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3286
3287 2011-12-19  Sam Weinig  <sam@webkit.org>
3288
3289         More PlatformEvent cleanup
3290         https://bugs.webkit.org/show_bug.cgi?id=74831
3291
3292         Reviewed by Dan Bernstein.
3293
3294         * platform/PlatformMouseEvent.h:
3295         (WebCore::PlatformMouseEvent::position):
3296         Rename pos -> position(). Remove x() and y() accessors.
3297
3298         (WebCore::PlatformMouseEvent::globalPosition):
3299         Added. Replaces globalX() and globalY() accessors.
3300
3301         (WebCore::PlatformMouseEvent::movementDelta):
3302         Added. Replaces movementX() and movementY() accessors.
3303
3304         * platform/PlatformWheelEvent.h:
3305         (WebCore::PlatformWheelEvent::position):
3306         Renamed pos -> position().
3307
3308         (WebCore::PlatformWheelEvent::globalPosition):
3309         Renamed globalPos -> globalPosition().
3310
3311         * dom/MouseEvent.cpp:
3312         (WebCore::MouseEvent::create):
3313         * dom/WheelEvent.cpp:
3314         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
3315         * page/DragController.cpp:
3316         (WebCore::DragController::startDrag):
3317         * page/EventHandler.cpp:
3318         (WebCore::EventHandler::handleMousePressEventSingleClick):
3319         (WebCore::EventHandler::handleMousePressEvent):
3320         (WebCore::EventHandler::eventMayStartDrag):
3321         (WebCore::EventHandler::handleMouseReleaseEvent):
3322         (WebCore::EventHandler::selectCursor):
3323         (WebCore::EventHandler::handleMouseDoubleClickEvent):
3324         (WebCore::EventHandler::handleMouseMoveEvent):
3325         (WebCore::EventHandler::dispatchDragEvent):
3326         (WebCore::EventHandler::prepareMouseEvent):
3327         (WebCore::EventHandler::dispatchMouseEvent):
3328         (WebCore::EventHandler::handleWheelEvent):
3329         (WebCore::EventHandler::sendContextMenuEvent):
3330         (WebCore::EventHandler::handleDrag):
3331         (WebCore::EventHandler::handleTouchEvent):
3332         * page/chromium/EventHandlerChromium.cpp:
3333         (WebCore::EventHandler::passMousePressEventToSubframe):
3334         * platform/Scrollbar.cpp:
3335         (WebCore::Scrollbar::mouseMoved):
3336         (WebCore::Scrollbar::mouseDown):
3337         * platform/ScrollbarThemeComposite.cpp:
3338         (WebCore::ScrollbarThemeComposite::hitTest):
3339         * platform/chromium/PopupContainer.cpp:
3340         (WebCore::constructRelativeMouseEvent):
3341         (WebCore::constructRelativeWheelEvent):
3342         * platform/chromium/PopupListBox.cpp:
3343         (WebCore::PopupListBox::handleMouseDownEvent):
3344         (WebCore::PopupListBox::handleMouseMoveEvent):
3345         (WebCore::PopupListBox::handleMouseReleaseEvent):
3346         (WebCore::PopupListBox::handleWheelEvent):
3347         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3348         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
3349         * platform/qt/ScrollbarQt.cpp:
3350         (WebCore::Scrollbar::contextMenu):
3351         * platform/qt/ScrollbarThemeQt.cpp:
3352         (WebCore::ScrollbarThemeQt::hitTest):
3353         * platform/win/ScrollbarThemeWin.cpp:
3354         (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
3355         * rendering/RenderLayer.cpp:
3356         (WebCore::RenderLayer::resize):
3357         Update to use new names, access style.
3358
3359 2011-12-19  Adam Klein  <adamk@chromium.org>
3360
3361         Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
3362         https://bugs.webkit.org/show_bug.cgi?id=74740
3363
3364         Reviewed by Ryosuke Niwa.
3365
3366         Updated lots of callers to remove third argument. The list of changes
3367         below only lists things other than updating callers.
3368
3369         * dom/Document.cpp:
3370         (WebCore::Document::importNode):
3371         * dom/Element.cpp:
3372         (WebCore::Element::setAttribute):
3373         (WebCore::Element::setAttributeNS):
3374         (WebCore::Element::setIntegralAttribute):
3375         (WebCore::Element::setUnsignedIntegralAttribute):
3376         * dom/Element.h: Removed third arg from method, removed old two-arg
3377         overload which now has an identical signature.
3378         * editing/mac/EditorMac.mm: Updated caller and used
3379         ASSERT_NO_EXCEPTION for nearby code.
3380         (WebCore::styleForSelectionStart):
3381         * html/HTMLElement.cpp:
3382         (WebCore::HTMLElement::setContentEditable):
3383         * inspector/InspectorDOMAgent.cpp:
3384         (WebCore::InspectorDOMAgent::setAttributesAsText):
3385         * svg/SVGAnimationElement.cpp:
3386         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
3387         * svg/SVGElement.idl: Removed 'setter raises(DOMException)'
3388         * svg/SVGGlyphRefElement.idl: ditto.
3389         * svg/SVGStyleElement.cpp:
3390         (WebCore::SVGStyleElement::setType):
3391         (WebCore::SVGStyleElement::setMedia):
3392         (WebCore::SVGStyleElement::setTitle):
3393         * xml/parser/XMLTreeBuilder.cpp:
3394         (WebCore::XMLTreeBuilder::processAttributes):
3395
3396 2011-12-19  Kentaro Hara  <haraken@chromium.org>
3397
3398         Unreviewed. Rebaselined run-bindings-tests results.
3399
3400         * bindings/scripts/test/JS/JSFloat64Array.h:
3401         (WebCore::JSFloat64Array::create):
3402         (WebCore::JSFloat64ArrayPrototype::create):
3403         (WebCore::JSFloat64ArrayConstructor::create):
3404         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3405         (WebCore::JSTestEventConstructor::create):
3406         (WebCore::JSTestEventConstructorPrototype::create):
3407         (WebCore::JSTestEventConstructorConstructor::create):
3408         * bindings/scripts/test/JS/JSTestInterface.h:
3409         (WebCore::JSTestInterface::create):
3410         (WebCore::JSTestInterfacePrototype::create):
3411         (WebCore::JSTestInterfaceConstructor::create):
3412         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3413         (WebCore::JSTestMediaQueryListListener::create):
3414         (WebCore::JSTestMediaQueryListListenerPrototype::create):
3415         (WebCore::JSTestMediaQueryListListenerConstructor::create):
3416         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3417         (WebCore::JSTestNamedConstructor::create):
3418         (WebCore::JSTestNamedConstructorPrototype::create):
3419         (WebCore::JSTestNamedConstructorConstructor::create):
3420         (WebCore::JSTestNamedConstructorNamedConstructor::create):
3421         * bindings/scripts/test/JS/JSTestObj.h:
3422         (WebCore::JSTestObj::create):
3423         (WebCore::JSTestObjPrototype::create):
3424         (WebCore::JSTestObjConstructor::create):
3425         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3426         (WebCore::JSTestSerializedScriptValueInterface::create):
3427         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
3428         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
3429
3430 2011-12-19  James Robinson  <jamesr@chromium.org>
3431
3432         [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
3433         https://bugs.webkit.org/show_bug.cgi?id=74376
3434
3435         Reviewed by Kenneth Russell.
3436
3437         CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
3438         CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
3439         frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
3440         implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
3441         scheduling decision.
3442
3443         This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
3444         CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.
3445
3446         There is a large amount of unit test coverage for this change, largely in LayerChromiumTest
3447
3448         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3449         * platform/graphics/chromium/GraphicsLayerChromium.h:
3450         * platform/graphics/chromium/LayerChromium.cpp:
3451         (WebCore::LayerChromium::setNeedsCommit):