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