d7fda9a5d68ae7b3d7c9658f8ade13cf2e3bc23e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-03  Beth Dakin  <bdakin@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         Fix for <rdar://problem/8944544> Ability to animate track
6         for WKPainter scrollers
7
8         Two new WebKitSystemInterface functions.
9         * WebCore.exp.in:
10         * platform/mac/WebCoreSystemInterface.h:
11         * platform/mac/WebCoreSystemInterface.mm:
12
13         Use Scrollbar::convertFromContainingView() to return the right point.
14         * platform/mac/ScrollAnimatorMac.mm:
15         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
16         
17         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
18         now be used to animate the knob or the track.
19         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
20         (-[ScrollbarPartAnimation setCurrentProgress:]):
21         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
22         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
23         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
24
25         Scrollbars need invalodating after the overlay state changes. 
26         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
27
28 2011-02-03  Sam Weinig  <sam@webkit.org>
29
30         Reviewed by Beth Dakin.
31
32         Scroll thumb jumps to top when resizing horizontally.
33
34         * platform/ScrollView.cpp:
35         (WebCore::ScrollView::updateScrollbars): Add call to update
36         the scrollbar's offset in the case where we may have created
37         a new scrollbar but have not changed the current position.
38
39 2011-02-03  Justin Schuh  <jschuh@chromium.org>
40
41         Reviewed by Dirk Schulze.
42
43         startAnimations should use a local, RefCounted Vector.
44         https://bugs.webkit.org/show_bug.cgi?id=53458
45
46         Test: svg/custom/use-animation-in-fill.html
47
48         * svg/SVGDocumentExtensions.cpp:
49         (WebCore::SVGDocumentExtensions::startAnimations):
50
51 2011-02-03  Adam Barth  <abarth@webkit.org>
52
53         Reviewed by Daniel Bates.
54
55         XSSFilter shouldn't bother to analyze pages without "injection"
56         characters in the request
57         https://bugs.webkit.org/show_bug.cgi?id=53664
58
59         If the request lacks these "injection" characters, then it's unlikely
60         that there's a reflective XSS attack happening.  This hueristic lets us
61         avoid analyzing the vast majority of responses for XSS.  Of course, the
62         hueristic isn't perfect.  Because of this huerstic, we miss out on
63         injections into unquoted attributes.  However, it's a trade-off that's
64         worked well in the XSSAuditor.
65
66         * html/parser/XSSFilter.cpp:
67         (WebCore::HTMLNames::isRequiredForInjection):
68         (WebCore::XSSFilter::XSSFilter):
69         (WebCore::XSSFilter::init):
70         (WebCore::XSSFilter::filterToken):
71         (WebCore::XSSFilter::isContainedInRequest):
72         * html/parser/XSSFilter.h:
73
74 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
75
76         Reviewed by Kenneth Russell.
77
78         [chromium] Fixing a compositor crash occurring on layers
79         without an associated RenderSurface.
80         https://bugs.webkit.org/show_bug.cgi?id=53679
81         Regression was introduced by in r77425 
82
83         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
84         anymore.
85
86         * platform/graphics/chromium/LayerRendererChromium.cpp:
87         (WebCore::LayerRendererChromium::drawLayer):
88
89 2011-02-03  Dan Bernstein  <mitz@apple.com>
90
91         Reviewed by Anders Carlsson.
92
93         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
94         https://bugs.webkit.org/show_bug.cgi?id=53709
95
96         Covered by rendering of fast/text/emphasis-vertical.html
97
98         * platform/graphics/mac/SimpleFontDataMac.mm:
99         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
100         has.
101
102 2011-02-02  Levi Weintraub  <leviw@chromium.org>
103
104         Reviewed by Ryosuke Niwa.
105
106         Moving cursor down in table cycles at the end of a row
107         https://bugs.webkit.org/show_bug.cgi?id=50012
108
109         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
110         end of a document due to a bug in nextLeafWithSameEditability.
111
112         Test: editing/selection/move-by-line-cycles-in-table.html
113
114         * editing/visible_units.cpp:
115         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
116         original leaf node.
117
118 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
119
120         Reviewed by Pavel Feldman.
121
122         Web Inspector: remove dead code related to changes panel.
123         https://bugs.webkit.org/show_bug.cgi?id=53688
124
125         * WebCore.gypi:
126         * WebCore.vcproj/WebCore.vcproj:
127         * inspector/front-end/ChangesView.js: Removed.
128         * inspector/front-end/WebKit.qrc:
129         * inspector/front-end/inspector.css:
130         (#error-warning-count):
131         (#error-warning-count:hover):
132         (#error-count + #warning-count):
133         * inspector/front-end/inspector.html:
134         * inspector/front-end/inspector.js:
135
136 2011-02-02  Sam Weinig  <sam@webkit.org>
137
138         Reviewed by Anders Carlsson.
139
140         Add notification of the end of a rubber band.
141         <rdar://problem/8940648>
142
143         * WebCore.exp.in:
144         Add additional exprots.
145
146         * page/ChromeClient.h:
147         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
148         * page/FrameView.cpp:
149         (WebCore::FrameView::didCompleteRubberBand):
150         * page/FrameView.h:
151         * platform/ScrollView.cpp:
152         (WebCore::ScrollView::didCompleteRubberBand):
153         * platform/ScrollView.h:
154         Add hook.
155
156         * platform/ScrollableArea.h:
157         (WebCore::ScrollableArea::inLiveResize):
158         (WebCore::ScrollableArea::maximumScrollPosition):
159         (WebCore::ScrollableArea::visibleWidth):
160         (WebCore::ScrollableArea::overhangAmount):
161         (WebCore::ScrollableArea::didCompleteRubberBand):
162         Reorganize and de-virtualize live resize notifications.
163
164         * platform/mac/ScrollAnimatorMac.mm:
165         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
166         Call the new hook when the rubberband ends.
167
168 2011-02-02  Evan Martin  <evan@chromium.org>
169
170         Reviewed by Tony Chang.
171
172         [chromium] complex joining characters positioned in wrong place
173         https://bugs.webkit.org/show_bug.cgi?id=53637
174
175         Provide the correct font metrics to Harfbuzz related to the font design space.
176         There are used in some fonts for GPOS positioning.
177
178         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
179
180         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
181         (WebCore::ComplexTextController::setupFontForScriptRun):
182         (WebCore::ComplexTextController::allocHarfbuzzFont):
183         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
184         (WebCore::FontPlatformData::FontPlatformData):
185         (WebCore::FontPlatformData::emSizeInFontUnits):
186         (WebCore::FontPlatformData::operator=):
187         * platform/graphics/chromium/FontPlatformDataLinux.h:
188         (WebCore::FontPlatformData::FontPlatformData):
189
190 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
191
192         Reviewed by Kent Tamura.
193
194         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
195         https://bugs.webkit.org/show_bug.cgi?id=53634
196
197         Test: fast/dom/HTMLInputElement/input-slider-update.html
198
199         * html/HTMLInputElement.cpp:
200         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
201         * html/InputType.cpp:
202         (WebCore::InputType::valueChanged): Added empty implementation.
203         * html/InputType.h: Added def.
204         * html/RangeInputType.cpp:
205         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
206             bit on the thumb.
207         * html/RangeInputType.h: Added def.
208
209 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
210
211         Reviewed by Pavel Feldman.
212
213         Web Inspector: do not share source frames between resources panel and scripts panel.
214         https://bugs.webkit.org/show_bug.cgi?id=53584
215
216         Currently, we show error messages only for resources. This change will allow showing error
217         messages in source frame even when resource is not available (eval scripts, inlined scripts).
218
219         * inspector/front-end/ConsoleView.js:
220         (WebInspector.ConsoleView.prototype.addMessage):
221         (WebInspector.ConsoleView.prototype.clearMessages):
222         * inspector/front-end/ResourceView.js:
223         (WebInspector.ResourceView.recreateResourceView):
224         * inspector/front-end/ResourcesPanel.js:
225         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
226         * inspector/front-end/ScriptsPanel.js:
227         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
228         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
229         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
230         (WebInspector.ScriptsPanel.prototype.reset):
231         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
232         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
233         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
234
235 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
236
237         Fix 32-bit builds.
238
239         * platform/graphics/ShadowBlur.cpp:
240         (WebCore::ShadowBlur::blurLayerImage):
241
242 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
243
244         Reviewed by Pavel Feldman.
245
246         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
247         https://bugs.webkit.org/show_bug.cgi?id=53592
248
249         In JSC there is no limit, thus 'undefined' value is returned.
250         For V8, the limit reported by the VM is returned.
251
252         * Android.jscbindings.mk:
253         * CMakeLists.txt:
254         * GNUmakefile.am:
255         * WebCore.gypi:
256         * WebCore.pro:
257         * WebCore.vcproj/WebCore.vcproj:
258         * WebCore.xcodeproj/project.pbxproj:
259         * bindings/js/JSBindingsAllInOne.cpp:
260         * bindings/js/JSMemoryInfoCustom.cpp: Added.
261         * bindings/js/ScriptGCEvent.cpp:
262         (WebCore::ScriptGCEvent::getHeapSize):
263         * bindings/js/ScriptGCEvent.h:
264         * bindings/v8/ScriptGCEvent.cpp:
265         (WebCore::ScriptGCEvent::getHeapSize):
266         * bindings/v8/ScriptGCEvent.h:
267         * inspector/InspectorTimelineAgent.cpp:
268         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
269         * page/MemoryInfo.cpp:
270         (WebCore::MemoryInfo::MemoryInfo):
271         * page/MemoryInfo.h:
272         (WebCore::MemoryInfo::jsHeapSizeLimit):
273         * page/MemoryInfo.idl:
274
275 2011-01-27  Philippe Normand  <pnormand@igalia.com>
276
277         Reviewed by Martin Robinson.
278
279         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
280         https://bugs.webkit.org/show_bug.cgi?id=53125
281
282         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
283         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
284
285 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
286
287         Reviewed by Sam Weinig.
288
289         ShadowBlur radius for CSS shadows is slightly too big
290         https://bugs.webkit.org/show_bug.cgi?id=53660
291         
292         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
293         shadows that extend further than the CSS "blur radius", which results
294         in the shadows being truncated.
295         
296         Fix with a small fudge factor to reduce the kernel diameter slightly
297         for CSS shadows.
298         
299         Also more closely follow the algorithm described in the SVG spec
300         for computing the kernel size for different diameters, and clean up
301         some variable naming relating to the shadow bounds.
302
303         * platform/graphics/ShadowBlur.cpp:
304         (WebCore::ShadowBlur::blurLayerImage):
305         (WebCore::ShadowBlur::drawRectShadowWithTiling):
306
307 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
308
309         Reviewed by Pavel Feldman.
310
311         Web Inspector: introduce new api for managing JavaScript breakpoints.
312         https://bugs.webkit.org/show_bug.cgi?id=53235
313
314         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
315         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
316         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
317
318         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
319         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
320
321         * bindings/js/ScriptDebugServer.cpp:
322         (WebCore::ScriptDebugServer::setBreakpoint):
323         (WebCore::ScriptDebugServer::removeBreakpoint):
324         * bindings/js/ScriptDebugServer.h:
325         * bindings/v8/DebuggerScript.js:
326         ():
327         * bindings/v8/ScriptDebugServer.cpp:
328         (WebCore::ScriptDebugServer::setBreakpoint):
329         * bindings/v8/ScriptDebugServer.h:
330         * inspector/Inspector.idl:
331         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
332         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
333         (WebCore::InspectorAgent::populateScriptObjects):
334         (WebCore::InspectorAgent::restoreDebugger):
335         (WebCore::InspectorAgent::showAndEnableDebugger):
336         (WebCore::InspectorAgent::enableDebugger):
337         * inspector/InspectorAgent.h:
338         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
339         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
340         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
341         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
342         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
343         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
344         (WebCore::InspectorDebuggerAgent::continueToLocation):
345         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
346         (WebCore::InspectorDebuggerAgent::getScriptSource):
347         (WebCore::InspectorDebuggerAgent::didParseSource):
348         (WebCore::InspectorDebuggerAgent::didPause):
349         * inspector/InspectorDebuggerAgent.h:
350         (WebCore::InspectorDebuggerAgent::Script::Script):
351         * inspector/InspectorValues.cpp:
352         (WebCore::InspectorValue::asNumber):
353         (WebCore::InspectorBasicValue::asNumber):
354         (WebCore::InspectorObject::remove):
355         * inspector/InspectorValues.h:
356         (WebCore::InspectorObject::getNumber):
357         (WebCore::InspectorObject::find):
358         * inspector/ScriptBreakpoint.h:
359         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
360         * inspector/front-end/Breakpoint.js:
361         (WebInspector.Breakpoint):
362         (WebInspector.Breakpoint.prototype.addLocation):
363         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
364         (WebInspector.BreakpointManager):
365         (WebInspector.BreakpointManager.prototype._projectChanged):
366         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
367         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
368         * inspector/front-end/BreakpointsSidebarPane.js:
369         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
370         * inspector/front-end/DebuggerModel.js:
371         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
372         * inspector/front-end/Script.js:
373         (WebInspector.Script.prototype.sourceLine):
374         * inspector/front-end/ScriptsPanel.js:
375         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
376         * inspector/front-end/Settings.js:
377         (WebInspector.Settings):
378         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
379         * inspector/front-end/inspector.js:
380
381 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
382
383         Reviewed by Dirk Schulze.
384
385         small text which is scaled to be large renders pixelated
386         https://bugs.webkit.org/show_bug.cgi?id=12448
387
388         SVG <text> with font-size smaller or equal to 1 does not paint correctly
389         https://bugs.webkit.org/show_bug.cgi?id=14242
390
391         misplaced text in SVG
392         https://bugs.webkit.org/show_bug.cgi?id=17053
393
394         Don't render very small (but zoomed) text inside SVG
395         https://bugs.webkit.org/show_bug.cgi?id=19393
396
397         Tiny fonts scaled up end up too large in Safari
398         https://bugs.webkit.org/show_bug.cgi?id=20192
399
400         Stretched SVG Text has awful glyph spacing 
401         https://bugs.webkit.org/show_bug.cgi?id=21774
402
403         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
404         https://bugs.webkit.org/show_bug.cgi?id=49846
405
406         [Gtk] Text height in zoomed SVG is 1px too high
407         https://bugs.webkit.org/show_bug.cgi?id=50313
408
409         SVG text smaller than 0.5px not displayed properly
410         https://bugs.webkit.org/show_bug.cgi?id=50528
411
412         When rendering text, we're selecting a font with a size, as specified in the markup.
413         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
414         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
415         problem becomes apparent.
416
417         Consider following two snippets, which should render exactly the same:
418         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
419         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
420
421         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
422         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
423         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
424
425         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
426         remove any scaling from the context, draw the text using the scaled font size, then reapply
427         the context scale. This makes the example snippets above render exactly the same and fixes
428         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
429         internally, depending on the scale of the document, it's very important to use the new
430         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
431
432         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
433                               svg/hixie/text/003.html (no more pixelation)
434                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
435                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
436                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
437
438         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
439                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
440                svg/text/scaled-font.svg (reduction from bug 12448)
441                svg/text/small-fonts-2.svg (reduction from bug 14242)
442                svg/text/small-fonts-3.svg (reduction from bug 17053)
443                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
444                svg/text/small-fonts.svg (reduction from bug 20192))
445
446         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
447         * rendering/svg/RenderSVGInlineText.h:
448         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
449         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
450         * rendering/svg/SVGInlineTextBox.h:
451         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
452         * rendering/svg/SVGTextMetrics.cpp: Ditto.
453         * rendering/svg/SVGTextMetrics.h: Ditto.
454         * rendering/svg/SVGTextQuery.cpp: Ditto.
455         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
456         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
457         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
458         * svg/SVGTextPositioningElement.h: 
459
460 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
461
462         Reviewed by Yury Semikhatsky.
463
464         Web Inspector: resources panel doesn't show frames after reload.
465         https://bugs.webkit.org/show_bug.cgi?id=53430
466
467         * inspector/front-end/ResourcesPanel.js:
468         (WebInspector.ResourcesPanel.prototype.show):
469         (WebInspector.ResourcesPanel.prototype.loadEventFired):
470         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
471         (WebInspector.ResourcesPanel.prototype.reset):
472         (WebInspector.ResourcesPanel.prototype.clear):
473         * inspector/front-end/inspector.js:
474         (WebInspector.loadEventFired):
475
476 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
477
478         Reviewed by Pavel Feldman.
479
480         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
481         https://bugs.webkit.org/show_bug.cgi?id=53492
482
483         * inspector/Inspector.idl:
484         * inspector/InspectorCSSAgent.cpp:
485         (WebCore::InspectorCSSAgent::getStylesForNode):
486         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
487         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
488         (WebCore::InspectorCSSAgent::getAllStyles):
489         (WebCore::InspectorCSSAgent::getStyleSheet):
490         (WebCore::InspectorCSSAgent::getStyleSheetText):
491         (WebCore::InspectorCSSAgent::setStyleSheetText):
492         (WebCore::InspectorCSSAgent::setPropertyText):
493         (WebCore::InspectorCSSAgent::toggleProperty):
494         (WebCore::InspectorCSSAgent::setRuleSelector):
495         (WebCore::InspectorCSSAgent::addRule):
496         * inspector/InspectorCSSAgent.h:
497         * inspector/front-end/AuditRules.js:
498         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
499         * inspector/front-end/CSSStyleModel.js:
500         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
501         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
502         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
503         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
504         (WebInspector.CSSStyleModel.prototype.addRule):
505         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
506         (WebInspector.CSSStyleModel.prototype._onRevert):
507         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
508         (WebInspector.CSSProperty.prototype.setText):
509         (WebInspector.CSSProperty.prototype.setDisabled):
510         (WebInspector.CSSStyleSheet.createForId):
511         (WebInspector.CSSStyleSheet.prototype.setText):
512
513 2011-02-03  Adam Barth  <abarth@webkit.org>
514
515         Reviewed by Daniel Bates.
516
517         Teach XSSFilter about data URLs
518         https://bugs.webkit.org/show_bug.cgi?id=53662
519
520         The XSS filter doesn't really make sense for data URLs because
521         everything in a "response" from a data URL was part of the request.
522
523         Test: http/tests/security/xssAuditor/data-urls-work.html
524
525         * html/parser/XSSFilter.cpp:
526         (WebCore::XSSFilter::init):
527         (WebCore::XSSFilter::filterToken):
528
529 2011-02-02  Chris Evans  <cevans@chromium.org>
530
531         Reviewed by Darin Fisher.
532
533         window.find() can fail when switching case sensitivity
534         https://bugs.webkit.org/show_bug.cgi?id=53654
535
536         Reset the pattern to a safe one when done, to avoid usearch_reset()
537         indirectly touching the old, stale text pointer.
538
539         Test: fast/text/find-window.html
540
541         * editing/TextIterator.cpp:
542         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
543
544 2011-02-02  Adam Barth  <abarth@webkit.org>
545
546         Reviewed by Daniel Bates.
547
548         Teach XSSFilter that <param> elements can contain URLs
549         https://bugs.webkit.org/show_bug.cgi?id=53652
550
551         When loading plugins for the <object> tag, we're "smart" enough to
552         reach into the <param> elements and pull out the URL in some cases.
553         This patch teaches the XSSFilter how to block injections into those
554         sorts of param elements.
555
556         Fixes:
557             http/tests/security/xssAuditor/object-*
558
559         * html/HTMLParamElement.cpp:
560         (WebCore::HTMLParamElement::isURLParameter):
561         (WebCore::HTMLParamElement::isURLAttribute):
562         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
563         * html/HTMLParamElement.h:
564             - Add a helper function so that HTMLParamElement can share the
565               ground truth for these names with the XSSFilter.
566         * html/parser/XSSFilter.cpp:
567         (WebCore::XSSFilter::filterTokenInitial):
568         (WebCore::XSSFilter::filterParamToken):
569         * html/parser/XSSFilter.h:
570
571 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
572
573         Reviewed by David Levin.
574
575         GCC compiler on ARM issues bogus warnings and fails to compile.
576         https://bugs.webkit.org/show_bug.cgi?id=53620
577
578         Despite warnings explicitly being disallowed (-Wno-uninitialized),
579         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
580
581         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
582
583         The fix is to add an extra condition, which somehow pacifies the compiler.
584
585         * css/CSSPrimitiveValue.cpp:
586         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
587
588 2011-02-02  Adam Barth  <abarth@webkit.org>
589
590         Reviewed by Daniel Bates.
591
592         Teach XSSFilter about X-XSS-Protection
593         https://bugs.webkit.org/show_bug.cgi?id=53640
594
595         This patch causes us to pass:
596             http/tests/security/xssAuditor/full-block-*
597             http/tests/security/xssAuditor/no-protection-script-tag.html
598
599         * html/parser/XSSFilter.cpp:
600         (WebCore::XSSFilter::XSSFilter):
601         (WebCore::XSSFilter::init):
602         (WebCore::XSSFilter::filterToken):
603         * html/parser/XSSFilter.h:
604
605 2011-02-02  Adam Barth  <abarth@webkit.org>
606
607         Reviewed by Daniel Bates.
608
609         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
610         instead of the empty string
611         https://bugs.webkit.org/show_bug.cgi?id=53643
612
613         In a URL context, the empty string completes to the URL of the current
614         page, which causes these tests to go into an infinite loop.  Instead,
615         we should use a "safe" JavaScript URL that does nothing.
616
617         Fixes:
618             http/tests/security/xssAuditor/javascript-link*
619
620         * html/parser/XSSFilter.cpp:
621         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
622
623 2011-02-02  Dan Bernstein  <mitz@apple.com>
624
625         Reviewed by Sam Weinig.
626
627         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
628         https://bugs.webkit.org/show_bug.cgi?id=44942
629
630         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
631
632         * platform/text/BidiResolver.h:
633         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
634         a change to embedding levels.
635         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
636         the explicit embedding sequence, then runs were not added, and we should continue normally.
637
638 2011-02-02  Sam Weinig  <sam@webkit.org>
639
640         Reviewed by Dan Bernstein.
641
642         Fix miscalculation of the overhang area used for painting. We were
643         not correctly accounting for scrollbars resulting in an non-negative
644         overhang even when we weren't over the edge.
645
646         * platform/ScrollView.cpp:
647         (WebCore::ScrollView::calculateOverhangAreasForPainting):
648
649 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
650
651         Reviewed by Nate Chapin.
652
653         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
654         https://bugs.webkit.org/show_bug.cgi?id=52722
655
656         The solution is to change ScriptExecutionContext's destructor to iterate over
657         the list in a way that handles the mutations. This new method is destructive,
658         but that's OK since the object is going away. I've also added a several asserts.
659
660         There should be no behavior change.
661
662         * dom/ScriptExecutionContext.cpp:
663         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
664         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
665         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
666         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
667         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
668         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
669         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
670         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
671         * dom/ScriptExecutionContext.h:
672         * storage/IDBTransaction.cpp:
673         (WebCore::IDBTransaction::contextDestroyed):
674         * storage/IDBTransaction.h:
675
676 2011-02-02  Mark Rowe  <mrowe@apple.com>
677
678         Build fix.
679
680         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
681         * platform/mac/ScrollbarThemeMac.mm:
682         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
683         up in the HashMap rather than relying on a local variable that doesn't
684         exist.
685
686 2011-02-02  Adam Barth  <abarth@webkit.org>
687
688         Reviewed by Daniel Bates.
689
690         Teach XSSFilter about JavaScript URLs
691         https://bugs.webkit.org/show_bug.cgi?id=53635
692
693         This patch teaches the XSSFilter to check for JavaScript URLs in
694         attribute values.  If this approach has too many false positives, we
695         can restrict which attribute names we examine.
696
697         Fixes these tests:
698             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
699             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
700             http/tests/security/xssAuditor/iframe-javascript-url*
701
702         * html/parser/XSSFilter.cpp:
703         (WebCore::HTMLNames::containsJavaScriptURL):
704         (WebCore::XSSFilter::filterTokenInitial):
705         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
706         * html/parser/XSSFilter.h:
707
708 2011-02-02  Dan Bernstein  <mitz@apple.com>
709
710         Reviewed by Sam Weinig, even though this is just a...
711
712         ...build fix.
713
714         * platform/mac/ScrollAnimatorMac.mm:
715         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
716
717 2011-02-02  Mark Rowe  <mrowe@apple.com>
718
719         Reviewed by Beth Dakin.
720
721         <rdar://problem/8952012> Crash on launch inside scrollbar code.
722
723         We need to ensure that we remove ourselves as the delegates of objects when we're going
724         away as failing to do this can lead to crashes if the lifetime of the other objects
725         is longer than ours.
726
727         * platform/mac/ScrollAnimatorMac.mm:
728         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
729         * platform/mac/ScrollbarThemeMac.mm:
730         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
731
732 2011-02-02  Beth Dakin  <bdakin@apple.com>
733
734         Build fix.
735
736         * WebCore.exp.in:
737
738 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
739
740         Unreviewed WinCE build fix for r77397.
741
742         * page/wince/FrameWinCE.cpp:
743         (WebCore::computePageRectsForFrame):
744
745 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
746
747         Unreviewed WinCE build fix for r77398.
748
749         * platform/graphics/wince/PlatformPathWinCE.cpp:
750         (WebCore::containsPoint):
751         (WebCore::inflateRectToContainPoint):
752         (WebCore::PlatformPath::addRect):
753         * platform/graphics/wince/SharedBitmap.cpp:
754         (WebCore::SharedBitmap::drawPattern):
755         * rendering/RenderThemeWinCE.cpp:
756         (WebCore::RenderThemeWinCE::paintMenuListButton):
757         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
758         (WebCore::RenderThemeWinCE::paintSliderTrack):
759         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
760         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
761         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
762         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
763
764 2011-02-02  Jian Li  <jianli@chromium.org>
765
766         Reviewed by Kenneth Russell.
767
768         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
769         https://bugs.webkit.org/show_bug.cgi?id=53559
770
771         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
772
773         * html/canvas/DataView.h:
774         (WebCore::DataView::beyondRange):
775
776 2011-02-02  Sam Weinig  <sam@webkit.org>
777
778         Reviewed by Beth Dakin.
779
780         Add ChromeClient function to paint custom overhang areas.
781         https://bugs.webkit.org/show_bug.cgi?id=53639
782
783         * page/Chrome.cpp:
784         (WebCore::ChromeClient::paintCustomOverhangArea):
785         * page/ChromeClient.h:
786         Add ChromeClient function.
787
788         * page/FrameView.cpp:
789         (WebCore::FrameView::paintOverhangAreas):
790         * page/FrameView.h:
791         Call out the the ChromeClient, call ScrollView base implementation
792         if the ChromeClient returns false.
793
794         * platform/ScrollView.cpp:
795         (WebCore::ScrollView::paintOverhangAreas):
796         * platform/ScrollView.h:
797         Add dirty rect for use when painting overhang areas.
798
799 2011-02-02  Peter Kasting  <pkasting@google.com>
800
801         Not reviewed, build fix.
802
803         Fix compile after r77427.
804         https://bugs.webkit.org/show_bug.cgi?id=53455
805
806         * platform/graphics/qt/ImageDecoderQt.cpp:
807         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
808         * platform/image-decoders/ImageDecoder.cpp:
809         (WebCore::ImageFrame::operator=):
810         * platform/image-decoders/bmp/BMPImageReader.cpp:
811         (WebCore::BMPImageReader::decodeBMP):
812         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
813         (WebCore::JPEGImageDecoder::outputScanlines):
814         * platform/image-decoders/png/PNGImageDecoder.cpp:
815         (WebCore::PNGImageDecoder::rowAvailable):
816         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
817         (WebCore::WEBPImageDecoder::decode):
818
819 2011-02-02  Peter Kasting  <pkasting@google.com>
820
821         Reviewed by David Levin.
822
823         Clean up ImageDecoder's comments (remove/trim/clarify).
824         https://bugs.webkit.org/show_bug.cgi?id=53455
825
826         This also renames or eliminates a couple of functions for clarity, and
827         switches a couple erroneous strncmp() calls to memcmp().
828
829         * platform/image-decoders/ImageDecoder.cpp:
830         (WebCore::ImageDecoder::create):
831         (WebCore::ImageFrame::clearPixelData):
832         (WebCore::ImageFrame::zeroFillPixelData):
833         (WebCore::ImageFrame::setSize):
834         * platform/image-decoders/ImageDecoder.h:
835         (WebCore::ImageFrame::originalFrameRect):
836         (WebCore::ImageFrame::setOriginalFrameRect):
837         (WebCore::ImageDecoder::ImageDecoder):
838         (WebCore::ImageDecoder::~ImageDecoder):
839         (WebCore::ImageDecoder::isSizeAvailable):
840         (WebCore::ImageDecoder::size):
841         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
842         (WebCore::ImageDecoder::clearFrameBufferCache):
843         (WebCore::ImageDecoder::isOverSize):
844         * platform/image-decoders/bmp/BMPImageReader.cpp:
845         (WebCore::BMPImageReader::processNonRLEData):
846         * platform/image-decoders/cg/ImageDecoderCG.cpp:
847         (WebCore::ImageFrame::setSize):
848         * platform/image-decoders/gif/GIFImageDecoder.cpp:
849         (WebCore::GIFImageDecoder::clearFrameBufferCache):
850         (WebCore::GIFImageDecoder::frameComplete):
851         (WebCore::GIFImageDecoder::initFrameBuffer):
852         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
853         * platform/image-decoders/qt/ImageFrameQt.cpp:
854         (WebCore::ImageFrame::operator=):
855         (WebCore::ImageFrame::clearPixelData):
856         (WebCore::ImageFrame::zeroFillPixelData):
857         (WebCore::ImageFrame::setSize):
858         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
859         (WebCore::ImageFrame::operator=):
860         (WebCore::ImageFrame::clearPixelData):
861         (WebCore::ImageFrame::zeroFillPixelData):
862         (WebCore::ImageFrame::setSize):
863         * platform/image-decoders/webp/WEBPImageDecoder.h:
864
865 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
866
867         [chromium] Adding support for reflections to the accelerated
868         compositing path.
869         https://bugs.webkit.org/show_bug.cgi?id=53179
870
871         All layout tests in compositing/reflections generate correct
872         results with the exception of:
873         1. nested-reflection-anchor-point.html : There appears to be
874            some issue with the layer transform math that I haven't been
875            able to track down yet.
876         2. reflection-opacity.html : The current implementation applies
877            opacity before doing the reflection which makes this test
878            produce incorrect results.  This will affect reflected layers
879            with opacity that overlap their original layer.  FIXME comment
880            added in the code.
881
882         Tests: Covered by existing layout tests in compositing/reflections.
883                Please see above for exceptions.
884
885         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
886         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
887         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
888         * platform/graphics/chromium/GraphicsLayerChromium.h:
889         * platform/graphics/chromium/LayerChromium.cpp:
890         (WebCore::LayerChromium::LayerChromium):
891         * platform/graphics/chromium/LayerChromium.h:
892         (WebCore::LayerChromium::setReplicaLayer):
893         (WebCore::LayerChromium::replicaLayer):
894         * platform/graphics/chromium/LayerRendererChromium.cpp:
895         (WebCore::LayerRendererChromium::updateLayersRecursive):
896         (WebCore::LayerRendererChromium::drawLayer):
897         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
898         (WebCore::RenderSurfaceChromium::drawableContentRect):
899         (WebCore::RenderSurfaceChromium::drawSurface):
900         (WebCore::RenderSurfaceChromium::draw):
901         * platform/graphics/chromium/RenderSurfaceChromium.h:
902         (WebCore::RenderSurfaceChromium::drawTransform):
903
904 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
905
906         Reviewed by Tony Chang.
907
908         [Chromium] Select popup with padding has white strip on right
909         https://bugs.webkit.org/show_bug.cgi?id=53602
910
911         No new tests as this change restores old behavior.
912
913         * platform/chromium/PopupMenuChromium.cpp:
914         (WebCore::PopupListBox::layout):
915
916 2011-02-02  Beth Dakin  <bdakin@apple.com>
917
918         Reviewed by Mark Rowe.
919
920         Fix for <rdar://problem/8950343> CrashTracer: [USER]
921         1 crash in WebProcess at com.apple.WebCore: 
922         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
923
924         It is possible for a Scrollbar's ScrollableArea to be null,
925         so we must null check.
926         * platform/mac/ScrollbarThemeMac.mm:
927         (WebCore::ScrollbarThemeMac::registerScrollbar):
928         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
929
930 2011-02-02  Zhenyao Mo  <zmo@google.com>
931
932         Reviewed by Kenneth Russell.
933
934         bufferData and bufferSubData should generate INVALID_VALUE with negative input
935         https://bugs.webkit.org/show_bug.cgi?id=53626
936
937         * html/canvas/WebGLRenderingContext.cpp:
938         (WebCore::WebGLRenderingContext::bufferData):
939         (WebCore::WebGLRenderingContext::bufferSubData):
940
941 2011-02-02  Jeff Miller  <jeffm@apple.com>
942
943         Reviewed by Darin Adler and Steve Falkenburg.
944
945         Add DerivedSources.make to some Visual Studio projects
946         https://bugs.webkit.org/show_bug.cgi?id=53607
947
948         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
949
950 2011-02-02  Cris Neckar  <cdn@chromium.org>
951
952         Reviewed by James Robinson.
953
954         Refcount domwindows when dispatching device orientation events.
955         https://bugs.webkit.org/show_bug.cgi?id=53623
956
957         Test: fast/events/device-orientation-crash.html
958
959         * dom/DeviceMotionController.cpp:
960         (WebCore::DeviceMotionController::timerFired):
961         (WebCore::DeviceMotionController::didChangeDeviceMotion):
962         * dom/DeviceMotionController.h:
963         * dom/DeviceOrientationController.cpp:
964         (WebCore::DeviceOrientationController::timerFired):
965         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
966         * dom/DeviceOrientationController.h:
967
968 2011-02-02  Zhenyao Mo  <zmo@google.com>
969
970         Reviewed by Kenneth Russell.
971
972         A deleted object should never been bound again
973         https://bugs.webkit.org/show_bug.cgi?id=53604
974
975         * html/canvas/WebGLRenderingContext.cpp:
976         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
977         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
978         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
979         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
980         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
981         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
982         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
983         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
984         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
985         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
986         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
987         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
988         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
989         * html/canvas/WebGLRenderingContext.h:
990         * html/canvas/WebGLTexture.h:
991         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
992
993 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
994
995         Unreviewed Efl buildfix after r77399.
996
997         * CMakeListsEfl.txt:
998
999 2011-02-02  Kenneth Russell  <kbr@google.com>
1000
1001         Reviewed by James Robinson.
1002
1003         Rename Typed Array subset to subarray
1004         https://bugs.webkit.org/show_bug.cgi?id=53618
1005
1006         * html/canvas/Float32Array.cpp:
1007         (WebCore::Float32Array::subarray):
1008         * html/canvas/Float32Array.h:
1009         * html/canvas/Float32Array.idl:
1010         * html/canvas/Int16Array.cpp:
1011         (WebCore::Int16Array::subarray):
1012         * html/canvas/Int16Array.h:
1013         * html/canvas/Int16Array.idl:
1014         * html/canvas/Int32Array.cpp:
1015         (WebCore::Int32Array::subarray):
1016         * html/canvas/Int32Array.h:
1017         * html/canvas/Int32Array.idl:
1018         * html/canvas/Int8Array.cpp:
1019         (WebCore::Int8Array::subarray):
1020         * html/canvas/Int8Array.h:
1021         * html/canvas/Int8Array.idl:
1022         * html/canvas/TypedArrayBase.h:
1023         (WebCore::TypedArrayBase::subarrayImpl):
1024         * html/canvas/Uint16Array.cpp:
1025         (WebCore::Uint16Array::subarray):
1026         * html/canvas/Uint16Array.h:
1027         * html/canvas/Uint16Array.idl:
1028         * html/canvas/Uint32Array.cpp:
1029         (WebCore::Uint32Array::subarray):
1030         * html/canvas/Uint32Array.h:
1031         * html/canvas/Uint32Array.idl:
1032         * html/canvas/Uint8Array.cpp:
1033         (WebCore::Uint8Array::subarray):
1034         * html/canvas/Uint8Array.h:
1035         * html/canvas/Uint8Array.idl:
1036
1037 2011-02-02  Adam Barth  <abarth@webkit.org>
1038
1039         Reviewed by Eric Seidel.
1040
1041         Add an empty file for Content Security Policy
1042         https://bugs.webkit.org/show_bug.cgi?id=53573
1043
1044         Posting this as a separate patch because editing the build files is so
1045         painful.
1046
1047         * Android.mk:
1048         * CMakeLists.txt:
1049         * GNUmakefile.am:
1050         * WebCore.gypi:
1051         * WebCore.pro:
1052         * WebCore.vcproj/WebCore.vcproj:
1053         * WebCore.xcodeproj/project.pbxproj:
1054
1055 2011-02-02  Dan Winship  <danw@gnome.org>
1056
1057         Reviewed by Martin Robinson.
1058
1059         [GTK] remove old data: URI handler, fix the SoupRequest-based one
1060         to pass tests
1061         https://bugs.webkit.org/show_bug.cgi?id=50885
1062
1063         * platform/network/soup/ResourceHandleSoup.cpp:
1064         (WebCore::sendRequestCallback): Do content-type sniffing here for
1065         non-HTTP requests.
1066         (WebCore::startHTTPRequest): Rename to match WebKit style.
1067         (WebCore::ResourceHandle::start): Pass everything except HTTP to
1068         startNonHTTPRequest, letting the SoupRequester decide whether it's
1069         supported or not.
1070         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1071         code that was a no-op for file: URIs, but would break some data:
1072         URIs.
1073
1074 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1075
1076         Update even more references to right() and bottom() in Chromium. Sheesh.
1077
1078         * platform/graphics/chromium/LayerRendererChromium.cpp:
1079         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1080
1081 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1082
1083         Unreviewed Gtk3 buildfix after r77286.
1084
1085         https://bugs.webkit.org/show_bug.cgi?id=53520
1086         Remove the physical terminology from IntRect and FloatRect.
1087
1088         * platform/gtk/RenderThemeGtk3.cpp:
1089         (WebCore::RenderThemeGtk::paintMenuList):
1090
1091 2011-02-02  Anders Carlsson  <andersca@apple.com>
1092
1093         Fix build.
1094
1095         * platform/mac/ScrollAnimatorMac.mm:
1096         (WebCore::ScrollAnimatorMac::pinnedInDirection):
1097
1098 2011-02-02  David Hyatt  <hyatt@apple.com>
1099
1100         Reviewed by Dan Bernstein.
1101
1102         https://bugs.webkit.org/show_bug.cgi?id=53619
1103
1104         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1105         with maxX/maxY.  This matches IntRect.
1106
1107         * rendering/RenderBlock.cpp:
1108         (WebCore::RenderBlock::addOverflowFromFloats):
1109         (WebCore::RenderBlock::flipFloatForWritingMode):
1110         (WebCore::RenderBlock::paintFloats):
1111         (WebCore::RenderBlock::selectionGaps):
1112         (WebCore::RenderBlock::addOverhangingFloats):
1113         (WebCore::RenderBlock::addIntrudingFloats):
1114         (WebCore::RenderBlock::hitTestFloats):
1115         (WebCore::RenderBlock::adjustForBorderFit):
1116         * rendering/RenderBlock.h:
1117         (WebCore::RenderBlock::FloatingObject::x):
1118         (WebCore::RenderBlock::FloatingObject::maxX):
1119         (WebCore::RenderBlock::FloatingObject::y):
1120         (WebCore::RenderBlock::FloatingObject::maxY):
1121         (WebCore::RenderBlock::FloatingObject::setX):
1122         (WebCore::RenderBlock::FloatingObject::setY):
1123         (WebCore::RenderBlock::logicalTopForFloat):
1124         (WebCore::RenderBlock::logicalBottomForFloat):
1125         (WebCore::RenderBlock::logicalLeftForFloat):
1126         (WebCore::RenderBlock::logicalRightForFloat):
1127         (WebCore::RenderBlock::setLogicalTopForFloat):
1128         (WebCore::RenderBlock::setLogicalLeftForFloat):
1129         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1130         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1131
1132 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1133
1134         Update more references to right() and bottom() in Chromium Win.
1135
1136         * platform/graphics/chromium/TransparencyWin.cpp:
1137         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1138         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1139         * rendering/RenderThemeChromiumWin.cpp:
1140         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1141
1142 2011-02-02  Adam Roben  <aroben@apple.com>
1143
1144         Encode/decode FormData and FormDataElement objects consistently
1145
1146         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1147         that contains form data fails (asserts in Debug build)
1148
1149         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1150         now, even though we don't have an automated test for it yet. Writing a test is covered by
1151         <http://webkit.org/b/53616>.
1152
1153         Reviewed by Darin Adler.
1154
1155         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1156         FormData objects.
1157
1158         * platform/network/FormData.cpp:
1159         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1160         default-constructed FormDataElement. Failing to do this meant that all future uses of the
1161         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1162         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1163         to correctly set the FormDataElement's type based on this decoded type later in the
1164         function.
1165         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1166         matches its type and how we decode it.
1167
1168 2011-02-02  Dan Winship  <danw@gnome.org>
1169
1170         Reviewed by Martin Robinson.
1171
1172         [GTK] drop soup cache stuff, which has been moved to libsoup
1173         https://bugs.webkit.org/show_bug.cgi?id=50747
1174
1175         Use libsoup-based cache/requester API and remove the WebCore version
1176         of this functionality. This has been pushed upstream fully.
1177
1178         No new tests because this should not change functionality.
1179
1180         * GNUmakefile.am: Update for removed files.
1181         * platform/network/ResourceHandleInternal.h:
1182         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1183         type names, drop m_requester.
1184         * platform/network/soup/ResourceHandleSoup.cpp:
1185         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1186         session.
1187         (WebCore::parseDataUrl):
1188         (WebCore::startHttp): Get the requester from the session rather
1189         than using m_requester.
1190         (WebCore::sendRequestCallback):
1191         (WebCore::ResourceHandle::platformSetDefersLoading):
1192         (WebCore::readCallback):
1193         (WebCore::startGio): Update type names.
1194         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1195         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1196         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1197         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1198         * platform/network/soup/cache/soup-request-data.c: Removed.
1199         * platform/network/soup/cache/soup-request-data.h: Removed.
1200         * platform/network/soup/cache/soup-request-file.c: Removed.
1201         * platform/network/soup/cache/soup-request-file.h: Removed.
1202         * platform/network/soup/cache/soup-request-http.c: Removed.
1203         * platform/network/soup/cache/soup-request-http.h: Removed.
1204         * platform/network/soup/cache/soup-request.c: Removed.
1205         * platform/network/soup/cache/soup-request.h: Removed.
1206         * platform/network/soup/cache/soup-requester.c: Removed.
1207         * platform/network/soup/cache/soup-requester.h: Removed.
1208         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1209         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1210         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1211
1212 2011-02-02  David Hyatt  <hyatt@apple.com>
1213
1214         Reviewed by Darin Adler.
1215
1216         https://bugs.webkit.org/show_bug.cgi?id=53520
1217
1218         Remove physical accessors from IntRect and FloatRect.
1219
1220         * page/FrameView.cpp:
1221         (WebCore::FrameView::adjustPageHeightDeprecated):
1222         * platform/graphics/FloatRect.h:
1223         * platform/graphics/IntRect.h:
1224
1225 2011-02-02  David Hyatt  <hyatt@apple.com>
1226
1227         Reviewed by Dan Bernstein.
1228
1229         https://bugs.webkit.org/show_bug.cgi?id=53614
1230
1231         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
1232
1233         * rendering/InlineFlowBox.cpp:
1234         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1235         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1236         * rendering/InlineFlowBox.h:
1237         (WebCore::InlineFlowBox::minYLayoutOverflow):
1238         (WebCore::InlineFlowBox::maxYLayoutOverflow):
1239         (WebCore::InlineFlowBox::minXLayoutOverflow):
1240         (WebCore::InlineFlowBox::maxXLayoutOverflow):
1241         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1242         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1243         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1244         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1245         (WebCore::InlineFlowBox::minYVisualOverflow):
1246         (WebCore::InlineFlowBox::maxYVisualOverflow):
1247         (WebCore::InlineFlowBox::minXVisualOverflow):
1248         (WebCore::InlineFlowBox::maxXVisualOverflow):
1249         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1250         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1251         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1252         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1253         * rendering/RenderBlock.cpp:
1254         (WebCore::RenderBlock::adjustLinePositionForPagination):
1255         * rendering/RenderBlockLineLayout.cpp:
1256         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1257         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1258         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1259         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1260         * rendering/RenderBox.cpp:
1261         (WebCore::RenderBox::scrollWidth):
1262         (WebCore::RenderBox::scrollHeight):
1263         * rendering/RenderBox.h:
1264         (WebCore::RenderBox::minYLayoutOverflow):
1265         (WebCore::RenderBox::maxYLayoutOverflow):
1266         (WebCore::RenderBox::minXLayoutOverflow):
1267         (WebCore::RenderBox::maxXLayoutOverflow):
1268         (WebCore::RenderBox::logicalLeftLayoutOverflow):
1269         (WebCore::RenderBox::logicalRightLayoutOverflow):
1270         (WebCore::RenderBox::minYVisualOverflow):
1271         (WebCore::RenderBox::maxYVisualOverflow):
1272         (WebCore::RenderBox::minXVisualOverflow):
1273         (WebCore::RenderBox::maxXVisualOverflow):
1274         (WebCore::RenderBox::logicalLeftVisualOverflow):
1275         (WebCore::RenderBox::logicalRightVisualOverflow):
1276         * rendering/RenderInline.cpp:
1277         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1278         * rendering/RenderLayerCompositor.cpp:
1279         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1280         * rendering/RenderLineBoxList.cpp:
1281         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1282         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1283         (WebCore::RenderLineBoxList::paint):
1284         (WebCore::RenderLineBoxList::hitTest):
1285         * rendering/RenderMarquee.cpp:
1286         (WebCore::RenderMarquee::computePosition):
1287         * rendering/RenderOverflow.h:
1288         (WebCore::RenderOverflow::RenderOverflow):
1289         (WebCore::RenderOverflow::minYLayoutOverflow):
1290         (WebCore::RenderOverflow::maxYLayoutOverflow):
1291         (WebCore::RenderOverflow::minXLayoutOverflow):
1292         (WebCore::RenderOverflow::maxXLayoutOverflow):
1293         (WebCore::RenderOverflow::minYVisualOverflow):
1294         (WebCore::RenderOverflow::maxYVisualOverflow):
1295         (WebCore::RenderOverflow::minXVisualOverflow):
1296         (WebCore::RenderOverflow::maxXVisualOverflow):
1297         (WebCore::RenderOverflow::setminYVisualOverflow):
1298         (WebCore::RenderOverflow::visualOverflowRect):
1299         (WebCore::RenderOverflow::move):
1300         (WebCore::RenderOverflow::addVisualOverflow):
1301         (WebCore::RenderOverflow::setVisualOverflow):
1302         * rendering/RenderReplaced.cpp:
1303         (WebCore::RenderReplaced::shouldPaint):
1304         * rendering/RenderTable.cpp:
1305         (WebCore::RenderTable::layout):
1306         (WebCore::RenderTable::paint):
1307         * rendering/RenderTableCell.cpp:
1308         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1309         * rendering/RenderTreeAsText.cpp:
1310         (WebCore::writeLayers):
1311         * rendering/RenderView.cpp:
1312         (WebCore::RenderView::docTop):
1313
1314 2011-02-02  Steve Lacey  <sjl@chromium.org>
1315
1316         Reviewed by Eric Carlson.
1317
1318         Implement basic media statistics on media elements.
1319         https://bugs.webkit.org/show_bug.cgi?id=53322
1320
1321         * Configurations/FeatureDefines.xcconfig:
1322         * GNUmakefile.am:
1323         * features.pri:
1324         * html/HTMLMediaElement.cpp:
1325         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1326         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1327         * html/HTMLMediaElement.h:
1328         * html/HTMLMediaElement.idl:
1329         * html/HTMLVideoElement.cpp:
1330         (WebCore::HTMLVideoElement::webkitDecodedFrames):
1331         (WebCore::HTMLVideoElement::webkitDroppedFrames):
1332         * html/HTMLVideoElement.h:
1333         * html/HTMLVideoElement.idl:
1334         * platform/graphics/MediaPlayer.cpp:
1335         (WebCore::MediaPlayer::decodedFrames):
1336         (WebCore::MediaPlayer::droppedFrames):
1337         (WebCore::MediaPlayer::audioBytesDecoded):
1338         (WebCore::MediaPlayer::videoBytesDecoded):
1339         * platform/graphics/MediaPlayer.h:
1340         * platform/graphics/MediaPlayerPrivate.h:
1341         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1342         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1343         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1344         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1345
1346 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1347
1348         Reviewed by David Hyatt.
1349
1350         More conversion from right()/bottom() to maxX()/maxY().
1351
1352         * page/qt/FrameQt.cpp:
1353         (WebCore::Frame::dragImageForSelection):
1354         * platform/graphics/qt/GraphicsContextQt.cpp:
1355         (WebCore::GraphicsContext::roundToDevicePixels):
1356
1357 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
1358
1359         [wx] Build fixes for wxWebKit.
1360
1361         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1362         (documentWrite):
1363         * bindings/scripts/CodeGeneratorCPP.pm:
1364         * page/wx/DragControllerWx.cpp:
1365         (WebCore::DragController::dragOperation):
1366         * platform/graphics/wx/FontCustomPlatformData.h:
1367         * platform/graphics/wx/FontPlatformData.h:
1368         (WebCore::FontPlatformData::widthVariant):
1369         * platform/graphics/wx/FontPlatformDataWx.cpp:
1370         (WebCore::FontPlatformData::computeHash):
1371         * platform/graphics/wx/FontWx.cpp:
1372         * platform/graphics/wx/GraphicsContextWx.cpp:
1373         (WebCore::GraphicsContext::fillPath):
1374         (WebCore::GraphicsContext::strokePath):
1375         * platform/wx/RenderThemeWx.cpp:
1376
1377 2011-02-02  David Hyatt  <hyatt@apple.com>
1378
1379         Reviewed by Darin Adler.
1380
1381         More right()/bottom() to maxX()/maxY() conversion.
1382
1383         * page/chromium/FrameChromium.cpp:
1384         (WebCore::Frame::nodeImage):
1385         (WebCore::Frame::dragImageForSelection):
1386
1387 2011-02-02  Sam Weinig  <sam@webkit.org>
1388
1389         Fix windows clean build.
1390
1391         * DerivedSources.make:
1392
1393 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
1394
1395         Reviewed by Pavel Feldman.
1396
1397         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1398
1399         https://bugs.webkit.org/show_bug.cgi?id=53606
1400
1401         Display progress while taking a snapshot, and hints while loading
1402         and parsing. This is needed because taking detailed heap snapshots
1403         takes time.
1404
1405         * English.lproj/localizedStrings.js:
1406         * inspector/front-end/DetailedHeapshotView.js:
1407         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1408         * inspector/front-end/ProfilesPanel.js:
1409         (WebInspector.ProfilesPanel.prototype._reset):
1410         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1411         (WebInspector.ProfilesPanel.prototype.getProfiles):
1412         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1413         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1414         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1415         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1416         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1417         * inspector/front-end/SidebarTreeElement.js:
1418         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1419
1420 2011-02-02  David Hyatt  <hyatt@apple.com>
1421
1422         Reviewed by Darin Adler.
1423
1424         More conversion from right()/bottom() to maxX()/maxY().
1425
1426         * platform/win/PopupMenuWin.cpp:
1427         (WebCore::PopupMenuWin::calculatePositionAndSize):
1428         (WebCore::PopupMenuWin::paint):
1429
1430 2011-02-02  David Hyatt  <hyatt@apple.com>
1431
1432         Reviewed by Darin Adler.
1433
1434         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
1435
1436         * platform/chromium/PopupMenuChromium.cpp:
1437         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1438         (WebCore::PopupListBox::scrollToRevealRow):
1439         (WebCore::PopupListBox::layout):
1440         * platform/graphics/FloatRect.h:
1441         * platform/graphics/IntRect.h:
1442         * platform/graphics/cairo/ImageBufferCairo.cpp:
1443         (WebCore::getImageData):
1444         (WebCore::putImageData):
1445         * platform/graphics/chromium/GLES2Canvas.cpp:
1446         (WebCore::GLES2Canvas::drawTexturedRect):
1447         * platform/graphics/chromium/LayerRendererChromium.cpp:
1448         (WebCore::LayerRendererChromium::verticalScrollbarRect):
1449         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
1450         (WebCore::LayerRendererChromium::setScissorToRect):
1451         (WebCore::LayerRendererChromium::setDrawViewportRect):
1452         * platform/graphics/chromium/LayerTilerChromium.cpp:
1453         (WebCore::LayerTilerChromium::contentRectToTileIndices):
1454         (WebCore::LayerTilerChromium::growLayerToContain):
1455         * platform/graphics/gpu/TilingData.cpp:
1456         (WebCore::TilingData::tileBoundsWithBorder):
1457         (WebCore::TilingData::overlappedTileIndices):
1458         * platform/graphics/qt/ImageBufferQt.cpp:
1459         (WebCore::getImageData):
1460         (WebCore::putImageData):
1461         * platform/graphics/skia/FloatRectSkia.cpp:
1462         (WebCore::FloatRect::operator SkRect):
1463         * platform/graphics/skia/ImageBufferSkia.cpp:
1464         (WebCore::getImageData):
1465         (WebCore::putImageData):
1466         * platform/graphics/skia/IntRectSkia.cpp:
1467         (WebCore::IntRect::operator SkIRect):
1468         (WebCore::IntRect::operator SkRect):
1469         * platform/graphics/skia/PlatformContextSkia.cpp:
1470         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
1471         * platform/graphics/win/GraphicsContextWin.cpp:
1472         (WebCore::GraphicsContextPlatformPrivate::clip):
1473         * platform/graphics/win/IntRectWin.cpp:
1474         (WebCore::IntRect::operator RECT):
1475         * platform/graphics/win/UniscribeController.cpp:
1476         (WebCore::UniscribeController::shapeAndPlaceItem):
1477         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1478         (WebCore::roundRect):
1479         (WebCore::mapRect):
1480         (WebCore::TransparentLayerDC::TransparentLayerDC):
1481         (WebCore::GraphicsContext::drawRect):
1482         (WebCore::GraphicsContext::drawEllipse):
1483         (WebCore::GraphicsContext::strokeArc):
1484         (WebCore::GraphicsContext::clip):
1485         (WebCore::GraphicsContext::clipOut):
1486         (WebCore::GraphicsContext::strokeRect):
1487         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1488         (WebCore::GIFImageDecoder::initFrameBuffer):
1489         * platform/win/PopupMenuWin.cpp:
1490         (WebCore::PopupMenuWin::calculatePositionAndSize):
1491         (WebCore::PopupMenuWin::paint):
1492         * plugins/win/PluginViewWin.cpp:
1493         (WebCore::PluginView::updatePluginWidget):
1494         (WebCore::PluginView::invalidateRect):
1495         * rendering/RenderThemeSafari.cpp:
1496         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1497         (WebCore::RenderThemeSafari::paintMenuListButton):
1498         (WebCore::RenderThemeSafari::paintSliderTrack):
1499         * rendering/RenderThemeWin.cpp:
1500         (WebCore::RenderThemeWin::paintInnerSpinButton):
1501         (WebCore::RenderThemeWin::paintMenuListButton):
1502
1503 2011-02-02  Antti Koivisto  <antti@apple.com>
1504
1505         Reviewed by Maciej Stachowiak.
1506
1507         Use Vector instead of a linked list for rules in CSSStyleSelector
1508         https://bugs.webkit.org/show_bug.cgi?id=53581
1509         
1510         - eliminate CSSRuleDataList, replace with Vector<RuleData>
1511         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
1512           (these are selector internal classes, CSS prefix is better reserved for public ones).
1513         - constify a bit
1514         - shrink the vectors to fit after collecting the rules
1515
1516         * css/CSSStyleSelector.cpp:
1517         (WebCore::RuleData::RuleData):
1518         (WebCore::RuleData::position):
1519         (WebCore::RuleData::rule):
1520         (WebCore::RuleData::selector):
1521         (WebCore::RuleSet::disableAutoShrinkToFit):
1522         (WebCore::RuleSet::getIDRules):
1523         (WebCore::RuleSet::getClassRules):
1524         (WebCore::RuleSet::getTagRules):
1525         (WebCore::RuleSet::getPseudoRules):
1526         (WebCore::RuleSet::getUniversalRules):
1527         (WebCore::RuleSet::getPageRules):
1528         (WebCore::collectSiblingRulesInDefaultStyle):
1529         (WebCore::CSSStyleSelector::CSSStyleSelector):
1530         (WebCore::loadFullDefaultStyle):
1531         (WebCore::loadSimpleDefaultStyle):
1532         (WebCore::loadViewSourceStyle):
1533         (WebCore::CSSStyleSelector::matchRules):
1534         (WebCore::CSSStyleSelector::matchRulesForList):
1535         (WebCore::operator >):
1536         (WebCore::operator <=):
1537         (WebCore::CSSStyleSelector::sortMatchedRules):
1538         (WebCore::CSSStyleSelector::matchUARules):
1539         (WebCore::RuleSet::RuleSet):
1540         (WebCore::RuleSet::~RuleSet):
1541         (WebCore::RuleSet::addToRuleSet):
1542         (WebCore::RuleSet::addRule):
1543         (WebCore::RuleSet::addPageRule):
1544         (WebCore::RuleSet::addRulesFromSheet):
1545         (WebCore::RuleSet::addStyleRule):
1546         (WebCore::collectIdsAndSiblingRulesFromList):
1547         (WebCore::RuleSet::collectIdsAndSiblingRules):
1548         (WebCore::shrinkMapVectorsToFit):
1549         (WebCore::RuleSet::shrinkToFit):
1550         (WebCore::CSSStyleSelector::matchPageRules):
1551         (WebCore::CSSStyleSelector::matchPageRulesForList):
1552         * css/CSSStyleSelector.h:
1553         (WebCore::CSSStyleSelector::addMatchedRule):
1554
1555 2011-02-02  Andrey Adaikin  <aandrey@google.com>
1556
1557         Reviewed by Pavel Feldman.
1558
1559         Web Inspector: Use DIVs instead of TABLE in TextViewer
1560         https://bugs.webkit.org/show_bug.cgi?id=53299
1561
1562         * inspector/front-end/SourceFrame.js:
1563         (WebInspector.SourceFrame.prototype._createTextViewer):
1564         (WebInspector.SourceFrame.prototype._mouseDown):
1565         * inspector/front-end/TextViewer.js:
1566         (WebInspector.TextViewer):
1567         (WebInspector.TextViewer.prototype.set mimeType):
1568         (WebInspector.TextViewer.prototype.revealLine):
1569         (WebInspector.TextViewer.prototype.addDecoration):
1570         (WebInspector.TextViewer.prototype.removeDecoration):
1571         (WebInspector.TextViewer.prototype.markAndRevealRange):
1572         (WebInspector.TextViewer.prototype.highlightLine):
1573         (WebInspector.TextViewer.prototype.clearLineHighlight):
1574         (WebInspector.TextViewer.prototype.freeCachedElements):
1575         (WebInspector.TextViewer.prototype._handleKeyDown):
1576         (WebInspector.TextViewer.prototype.editLine.finishEditing):
1577         (WebInspector.TextViewer.prototype.editLine):
1578         (WebInspector.TextViewer.prototype.beginUpdates):
1579         (WebInspector.TextViewer.prototype.endUpdates):
1580         (WebInspector.TextViewer.prototype.resize):
1581         (WebInspector.TextViewer.prototype._textChanged):
1582         (WebInspector.TextViewer.prototype._updatePanelOffsets):
1583         (WebInspector.TextViewer.prototype._syncScroll):
1584         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1585         (WebInspector.TextEditorChunkedPanel):
1586         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
1587         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
1588         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
1589         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
1590         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
1591         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1592         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
1593         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
1594         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
1595         (WebInspector.TextEditorChunkedPanel.prototype.resize):
1596         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1597         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
1598         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
1599         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
1600         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
1601         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
1602         (WebInspector.TextEditorGutterPanel):
1603         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
1604         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
1605         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1606         (WebInspector.TextEditorGutterChunk):
1607         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
1608         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
1609         (WebInspector.TextEditorGutterChunk.prototype.get height):
1610         (WebInspector.TextEditorGutterChunk.prototype._createRow):
1611         (WebInspector.TextEditorMainPanel):
1612         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
1613         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
1614         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1615         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
1616         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
1617         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
1618         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
1619         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
1620         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
1621         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
1622         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1623         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1624         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
1625         (WebInspector.TextEditorMainPanel.prototype._getSelection):
1626         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
1627         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
1628         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
1629         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
1630         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
1631         (WebInspector.TextEditorMainChunk):
1632         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
1633         (WebInspector.TextEditorMainChunk.prototype.set expanded):
1634         (WebInspector.TextEditorMainChunk.prototype.get height):
1635         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
1636         (WebInspector.TextEditorMainChunk.prototype._createRow):
1637         (WebInspector):
1638         * inspector/front-end/textViewer.css:
1639         (.text-editor-lines):
1640         (.text-editor-contents):
1641         (.text-editor-editable):
1642         (.webkit-line-decorations):
1643         (.webkit-line-number):
1644         (.webkit-execution-line.webkit-line-content):
1645         (.diff-container .webkit-added-line.webkit-line-content):
1646         (.diff-container .webkit-removed-line.webkit-line-content):
1647         (.diff-container .webkit-changed-line.webkit-line-content):
1648         (.webkit-highlighted-line.webkit-line-content):
1649
1650 2011-02-02  Hans Wennborg  <hans@chromium.org>
1651
1652         Reviewed by Jeremy Orlow.
1653
1654         IndexedDB: Implement support for cursor updates
1655         https://bugs.webkit.org/show_bug.cgi?id=53421
1656
1657         Implement support for cursor updates using the same pattern as cursor
1658         deletes: forward the calls to the IDBObjectStoreBackend::put().
1659         The put() function's signature needs to be changed to allow for a
1660         "cursor update mode". This makes the signature more clear anyway,
1661         since it replaces the boolean parameter.
1662
1663         Test: storage/indexeddb/cursor-update.html
1664
1665         * storage/IDBCursor.idl:
1666         * storage/IDBCursorBackendImpl.cpp:
1667         (WebCore::IDBCursorBackendImpl::key):
1668         (WebCore::IDBCursorBackendImpl::update):
1669         * storage/IDBCursorBackendImpl.h:
1670         * storage/IDBObjectStore.cpp:
1671         (WebCore::IDBObjectStore::add):
1672         (WebCore::IDBObjectStore::put):
1673         * storage/IDBObjectStoreBackendImpl.cpp:
1674         (WebCore::IDBObjectStoreBackendImpl::put):
1675         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1676         * storage/IDBObjectStoreBackendImpl.h:
1677         * storage/IDBObjectStoreBackendInterface.h:
1678
1679 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
1680
1681         Reviewed by Kent Tamura.
1682
1683         Fix popup menu RTL bug introduced by Changeset 75982.
1684         https://bugs.webkit.org/show_bug.cgi?id=53567
1685
1686         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
1687
1688         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
1689
1690         * platform/chromium/PopupMenuChromium.cpp:
1691         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
1692         (WebCore::PopupContainer::showPopup): Change the passing parameter.
1693         (WebCore::PopupContainer::refresh): Change the passing parameter.
1694         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
1695
1696 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1697
1698         Reviewed by Martin Robinson.
1699
1700         [GTK] Fix dist compilation
1701         https://bugs.webkit.org/show_bug.cgi?id=53579
1702
1703         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
1704         added in r77153.
1705
1706 2011-02-02  Dai Mikurube  <dmikurube@google.com>
1707
1708         Reviewed by David Levin.
1709
1710         Make mime type lookup in File::create(path) thread-safe
1711         https://bugs.webkit.org/show_bug.cgi?id=47700
1712
1713         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
1714         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
1715         both FILE_SYSTEM and WORKERS are enabled.
1716
1717         No tests for this patch. This patch itself doesn't change the behaviors.
1718         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
1719         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
1720         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
1721         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
1722
1723         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
1724         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1725         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
1726         * platform/android/TemporaryLinkStubs.cpp:
1727         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1728         * platform/brew/MIMETypeRegistryBrew.cpp:
1729         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1730         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
1731         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
1732         * platform/efl/MIMETypeRegistryEfl.cpp:
1733         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1734         * platform/gtk/MIMETypeRegistryGtk.cpp:
1735         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1736         * platform/haiku/MIMETypeRegistryHaiku.cpp:
1737         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1738         * platform/mac/MIMETypeRegistryMac.mm:
1739         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1740         * platform/qt/MIMETypeRegistryQt.cpp:
1741         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1742         * platform/win/MIMETypeRegistryWin.cpp:
1743         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1744         * platform/wince/MIMETypeRegistryWinCE.cpp:
1745         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1746         * platform/wx/MimeTypeRegistryWx.cpp:
1747         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1748
1749 2011-02-01  Adam Barth  <abarth@webkit.org>
1750
1751         Reviewed by Alexey Proskuryakov.
1752
1753         Improve readability of updateWidget by converting bool parameter to an enum
1754         https://bugs.webkit.org/show_bug.cgi?id=53576
1755
1756         As requested on webkit-dev.
1757
1758         * html/HTMLEmbedElement.cpp:
1759         (WebCore::HTMLEmbedElement::updateWidget):
1760         * html/HTMLEmbedElement.h:
1761         * html/HTMLMediaElement.cpp:
1762         (WebCore::HTMLMediaElement::updateWidget):
1763         * html/HTMLMediaElement.h:
1764         * html/HTMLObjectElement.cpp:
1765         (WebCore::HTMLObjectElement::updateWidget):
1766         * html/HTMLObjectElement.h:
1767         * html/HTMLPlugInImageElement.cpp:
1768         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1769         * html/HTMLPlugInImageElement.h:
1770         * page/FrameView.cpp:
1771         (WebCore::FrameView::updateWidget):
1772
1773 2011-02-01  James Robinson  <jamesr@chromium.org>
1774
1775         Reviewed by Adam Barth.
1776
1777         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
1778         https://bugs.webkit.org/show_bug.cgi?id=53566
1779
1780         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
1781         Other than being large enough for this one test case, this limit is arbitrary.
1782
1783         * bindings/v8/V8Proxy.h:
1784
1785 2011-02-01  Adam Barth  <abarth@webkit.org>
1786
1787         Reviewed by Andreas Kling.
1788
1789         Remove useless comment
1790         https://bugs.webkit.org/show_bug.cgi?id=53549
1791
1792         The reason for this parameter is captured in
1793         plugins/netscape-plugin-setwindow-size.html, which is a better place to
1794         capture it than in this comment (which otherwise just re-iterates the
1795         name of the parameter).
1796
1797         * html/HTMLPlugInImageElement.cpp:
1798         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1799
1800 2011-02-01  James Simonsen  <simonjam@chromium.org>
1801
1802         Reviewed by Tony Gentilcore.
1803
1804         [WebTiming] Remove asserts that verify timestamp order
1805         https://bugs.webkit.org/show_bug.cgi?id=53548
1806
1807         Covered by existing tests.
1808
1809         * loader/FrameLoader.cpp:
1810         (WebCore::FrameLoader::stopLoading): Remove assert.
1811         * page/DOMWindow.cpp:
1812         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
1813
1814 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
1815
1816         Add the 'default_targets' enclosure to the flags.
1817
1818         * WebCore.gyp/WebCore.gyp: Did it.
1819
1820 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
1821
1822         Reviewed by James Robinson.
1823
1824         Async event handlers should not fire within a modal dialog
1825         https://bugs.webkit.org/show_bug.cgi?id=53202
1826
1827         Asychronous events that use EventQueue would currently fire while a
1828         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
1829         SuspendableTimer (which automatically gets suspended while dialogs are
1830         up and in other cases where JS execution is not allowed).
1831         
1832         Test: fast/events/scroll-event-during-modal-dialog.html
1833
1834         * dom/Document.cpp:
1835         (WebCore::Document::Document):
1836         * dom/EventQueue.cpp:
1837         (WebCore::EventQueueTimer::EventQueueTimer):
1838         (WebCore::EventQueueTimer::fired):
1839         (WebCore::EventQueue::EventQueue):
1840         (WebCore::EventQueue::enqueueEvent):
1841         (WebCore::EventQueue::pendingEventTimerFired):
1842         * dom/EventQueue.h:
1843         (WebCore::EventQueue::create):
1844         * page/SuspendableTimer.cpp:
1845         (WebCore::SuspendableTimer::SuspendableTimer):
1846         (WebCore::SuspendableTimer::suspend):
1847         (WebCore::SuspendableTimer::resume):
1848         * page/SuspendableTimer.h:
1849
1850 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
1851
1852         Reviewed by Andreas Kling.
1853
1854         Change wrong PLATFORM(WIN) to USE(WININET)
1855         https://bugs.webkit.org/show_bug.cgi?id=53547
1856
1857         * platform/network/ResourceHandle.h:
1858
1859 2011-02-01  Beth Dakin  <bdakin@apple.com>
1860
1861         32-bit build fix.
1862
1863         * platform/mac/ScrollAnimatorMac.mm:
1864         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
1865
1866 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
1867
1868         Reviewed by Gustavo Noronha Silva.
1869
1870         [GTK] Two tests crash after r76555
1871         https://bugs.webkit.org/show_bug.cgi?id=53057
1872
1873         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
1874         This ensures that ::start() is not called when there is a scheduled failure and also
1875         reduces code duplication.
1876
1877         * platform/network/soup/ResourceHandleSoup.cpp:
1878         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
1879
1880 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
1881
1882         Reviewed by Eric Seidel.
1883
1884         [GTK] GObject DOM bindings do no support the CallWith attribute
1885         https://bugs.webkit.org/show_bug.cgi?id=53331
1886
1887         Disable building GObject DOM bindings for IndexedDB because we do not support
1888         the CallWith attribute at this time.
1889
1890         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
1891
1892 2011-02-01  Darin Adler  <darin@apple.com>
1893
1894         Reviewed by Brady Eidson.
1895
1896         Fix a couple loose ends from the back/forward tree encode/decode work
1897         https://bugs.webkit.org/show_bug.cgi?id=53537
1898
1899         * history/HistoryItem.cpp:
1900         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
1901         original URL string; no need to encode it twice.
1902         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
1903         * history/HistoryItem.h: Removed declaration for function that is no
1904         longer defined nor used.
1905
1906 2011-02-01  Tony Chang  <tony@chromium.org>
1907
1908         Reviewed by Kent Tamura.
1909
1910         [chromium] disable arm uninitialized variable warnings
1911         https://bugs.webkit.org/show_bug.cgi?id=53553
1912
1913         We just got another error:
1914         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
1915         'colorTransparent.unstatic.4879' may be used uninitialized in this
1916         function
1917
1918         * WebCore.gyp/WebCore.gyp:
1919
1920 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
1921
1922         Reviewed by Adam Barth.
1923
1924         Self-replicating code makes Safari hang and eventually crash
1925         https://bugs.webkit.org/show_bug.cgi?id=15123
1926
1927        
1928         Here we are replicating the Firefox safeguard against
1929         recursive document.write( ) 's.
1930
1931         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
1932         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
1933             a) imposes a recursion limit of 20 on document.write( ) and
1934             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
1935         To see why this is necessary, consider the script : 
1936
1937         <script>
1938            var t = document.body.innerHTML;
1939            document.write(t);
1940         </script> 
1941
1942         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
1943         we just return one level after the recursion limit is reached, we still allow millions of copies to 
1944         duplicate (and execute).   
1945
1946         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
1947         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
1948
1949         Test: fast/dom/Document/document-write-recursion.html        
1950         Test: fast/dom/Document/document-close-iframe-load.html
1951         Test: fast/dom/Document/document-close-nested-iframe-load.html
1952
1953
1954         * dom/Document.cpp:
1955         (WebCore::Document::Document):
1956         (WebCore::Document::write):
1957         * dom/Document.h:
1958
1959 2011-02-01  Johnny Ding  <jnd@chromium.org>
1960
1961         Reviewed by Darin Adler.
1962
1963         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
1964         https://bugs.webkit.org/show_bug.cgi?id=53424
1965
1966         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
1967
1968         * html/HTMLAnchorElement.cpp:
1969         (WebCore::handleLinkClick):
1970
1971 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
1972
1973         Unreviewed Qt buildfix after r77286.
1974
1975         https://bugs.webkit.org/show_bug.cgi?id=53520 
1976         Remove the physical terminology from IntRect and FloatRect.
1977
1978         * platform/graphics/TiledBackingStore.cpp:
1979         (WebCore::TiledBackingStore::createTiles):
1980
1981 2011-02-01  Sam Weinig  <sam@webkit.org>
1982
1983         Fix Mac production builds.
1984
1985         * DerivedSources.make:
1986         * WebCore.xcodeproj/project.pbxproj:
1987         * platform/mac/ScrollAnimatorMac.h:
1988         * platform/mac/ScrollbarThemeMac.h:
1989
1990 2011-02-01  Darin Adler  <darin@apple.com>
1991
1992         Reviewed by Chris Fleizach.
1993
1994         REGRESSION: Removing focus from area element causes unwanted scrolling
1995         https://bugs.webkit.org/show_bug.cgi?id=50169
1996
1997         Test: fast/images/imagemap-scroll.html
1998
1999         * html/HTMLAreaElement.cpp:
2000         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2001         RenderImage::areaElementFocusChanged function.
2002         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2003         here that calls setNeedsLayout on the image's renderer. This was an
2004         attempt to cause repaint of the renderer, but this function does not
2005         need to do that. Also changed this to use the imageElement function
2006         to avoid repeating code.
2007
2008         * html/HTMLAreaElement.h: Updated for above changes.
2009
2010         * rendering/RenderImage.cpp:
2011         (WebCore::RenderImage::paint): Updated for name change.
2012         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2013         paintFocusRing, because it only paints area focus rings, and should
2014         not be confused with paintFocusRing functions in other classes. Also
2015         removed the unused style argument. Removed the code that used an
2016         HTMLCollection to see if the focused area element is for this image
2017         and instead just call imageElement on the area element.
2018         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2019
2020         * rendering/RenderImage.h: Added a public areaElementFocusChanged
2021         function for HTMLAreaElement to call. Made the paintFocusRing function
2022         private, renamed it to paintAreaElementFocusRing, and removed its
2023         unused style argument.
2024
2025 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2026
2027         Unreviewed WinCE build fix for r77286.
2028
2029         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2030         (WebCore::TransparentLayerDC::TransparentLayerDC):
2031
2032 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
2033
2034         Reviewed by Darin Adler.
2035
2036         AX: AXPosition of AXScrollArea is wrong
2037         https://bugs.webkit.org/show_bug.cgi?id=53511
2038
2039         AccessibilityScrollView needed to return a valid documentFrameView() object.
2040         At the same time, the code from document() should be consolidated in 
2041         AccessibilityObject, so all objects can use it.
2042
2043         Test: platform/mac/accessibility/webkit-scrollarea-position.html
2044
2045         * accessibility/AccessibilityObject.cpp:
2046         (WebCore::AccessibilityObject::document):
2047         * accessibility/AccessibilityObject.h:
2048         * accessibility/AccessibilityScrollView.cpp:
2049         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2050         (WebCore::AccessibilityScrollView::documentFrameView):
2051         * accessibility/AccessibilityScrollView.h:
2052
2053 2011-02-01  Zhenyao Mo  <zmo@google.com>
2054
2055         Reviewed by Kenneth Russell.
2056
2057         getUniform should support SAMPLER_2D or SAMPLER_CUBE
2058         https://bugs.webkit.org/show_bug.cgi?id=52190
2059
2060         * html/canvas/WebGLRenderingContext.cpp:
2061         (WebCore::WebGLRenderingContext::getUniform):
2062
2063 2011-02-01  Zhenyao Mo  <zmo@google.com>
2064
2065         Reviewed by Darin Adler.
2066
2067         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2068         https://bugs.webkit.org/show_bug.cgi?id=53531
2069
2070         With this fix, running WebGL conformance tests should no longer crash randomly.
2071
2072         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2073         (WebCore::GraphicsContext3D::getImageData):
2074
2075 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2076
2077         One more Chromium build fix after r77286.
2078
2079         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2080         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2081
2082 2011-02-01  Sam Weinig  <sam@webkit.org>
2083
2084         Fix the build for Beth.
2085
2086         * platform/mac/ScrollAnimatorMac.mm:
2087         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2088
2089 2011-02-01  Sam Weinig  <sam@webkit.org>
2090
2091         Reviewed by Beth Dakin.
2092
2093         Part 2 for <rdar://problem/8492788>
2094         Adopt WKScrollbarPainterController
2095
2096         Use header detection to define scrollbar painting controller #define.
2097
2098         * WebCore.exp.in:
2099         * platform/mac/ScrollAnimatorMac.h:
2100         * platform/mac/ScrollbarThemeMac.h:
2101         * platform/mac/WebCoreSystemInterface.h:
2102         * platform/mac/WebCoreSystemInterface.mm:
2103
2104 2011-02-01  David Hyatt  <hyatt@apple.com>
2105
2106         Reviewed by Oliver Hunt.
2107
2108         https://bugs.webkit.org/show_bug.cgi?id=53520
2109         
2110         Remove the physical terminology from IntRect and FloatRect.
2111         
2112         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2113         we need to update our terminology to be more accurate.
2114
2115         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2116         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2117         even for flipped rectangles.
2118
2119         * accessibility/AccessibilityRenderObject.cpp:
2120         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2121         * accessibility/mac/AccessibilityObjectWrapper.mm:
2122         (-[AccessibilityObjectWrapper position]):
2123         * dom/ClientRect.h:
2124         (WebCore::ClientRect::right):
2125         (WebCore::ClientRect::bottom):
2126         * html/HTMLCanvasElement.cpp:
2127         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2128         * html/canvas/CanvasRenderingContext2D.cpp:
2129         (WebCore::normalizeRect):
2130         * inspector/InspectorAgent.cpp:
2131         (WebCore::InspectorAgent::drawElementTitle):
2132         * page/DOMWindow.cpp:
2133         (WebCore::DOMWindow::adjustWindowRect):
2134         * page/DragController.cpp:
2135         (WebCore::dragLocForSelectionDrag):
2136         * page/EventHandler.cpp:
2137         (WebCore::EventHandler::sendContextMenuEventForKey):
2138         * page/PrintContext.cpp:
2139         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2140         (WebCore::PrintContext::pageNumberForElement):
2141         * page/SpatialNavigation.cpp:
2142         (WebCore::end):
2143         (WebCore::areRectsFullyAligned):
2144         (WebCore::areRectsMoreThanFullScreenApart):
2145         (WebCore::below):
2146         (WebCore::rightOf):
2147         (WebCore::isRectInDirection):
2148         (WebCore::entryAndExitPointsForDirection):
2149         (WebCore::virtualRectForDirection):
2150         * page/WindowFeatures.cpp:
2151         (WebCore::WindowFeatures::WindowFeatures):
2152         * platform/ScrollView.cpp:
2153         (WebCore::ScrollView::wheelEvent):
2154         * platform/Scrollbar.cpp:
2155         (WebCore::Scrollbar::setFrameRect):
2156         * platform/ScrollbarThemeComposite.cpp:
2157         (WebCore::ScrollbarThemeComposite::splitTrack):
2158         * platform/chromium/ScrollbarThemeChromium.cpp:
2159         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2160         * platform/graphics/FloatQuad.h:
2161         (WebCore::FloatQuad::FloatQuad):
2162         * platform/graphics/FloatRect.cpp:
2163         (WebCore::FloatRect::intersects):
2164         (WebCore::FloatRect::contains):
2165         (WebCore::FloatRect::intersect):
2166         (WebCore::FloatRect::unite):
2167         (WebCore::enclosingIntRect):
2168         * platform/graphics/FloatRect.h:
2169         (WebCore::FloatRect::maxX):
2170         (WebCore::FloatRect::maxY):
2171         (WebCore::FloatRect::contains):
2172         * platform/graphics/IntRect.cpp:
2173         (WebCore::IntRect::intersects):
2174         (WebCore::IntRect::contains):
2175         (WebCore::IntRect::intersect):
2176         (WebCore::IntRect::unite):
2177         * platform/graphics/IntRect.h:
2178         (WebCore::IntRect::maxX):
2179         (WebCore::IntRect::maxY):
2180         (WebCore::IntRect::shiftXEdgeTo):
2181         (WebCore::IntRect::shiftMaxXEdgeTo):
2182         (WebCore::IntRect::shiftYEdgeTo):
2183         (WebCore::IntRect::shiftMaxYEdgeTo):
2184         (WebCore::IntRect::contains):
2185         * platform/graphics/WidthIterator.cpp:
2186         (WebCore::WidthIterator::advance):
2187         * platform/graphics/cg/GraphicsContextCG.cpp:
2188         (WebCore::GraphicsContext::drawRect):
2189         (WebCore::GraphicsContext::fillPath):
2190         (WebCore::GraphicsContext::fillRect):
2191         * platform/graphics/cg/ImageBufferCG.cpp:
2192         (WebCore::getImageData):
2193         (WebCore::putImageData):
2194         * platform/graphics/cg/ImageCG.cpp:
2195         (WebCore::BitmapImage::draw):
2196         * platform/graphics/filters/FilterEffect.cpp:
2197         (WebCore::FilterEffect::copyImageBytes):
2198         * platform/graphics/mac/ComplexTextController.cpp:
2199         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2200         * platform/graphics/mac/SimpleFontDataMac.mm:
2201         (WebCore::SimpleFontData::platformBoundsForGlyph):
2202         * platform/graphics/transforms/AffineTransform.cpp:
2203         (WebCore::AffineTransform::mapRect):
2204         * platform/graphics/win/FontCGWin.cpp:
2205         (WebCore::drawGDIGlyphs):
2206         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2207         (WebCore::MediaPlayerPrivate::paint):
2208         * platform/gtk/RenderThemeGtk.cpp:
2209         (WebCore::centerRectVerticallyInParentInputElement):
2210         * platform/mac/WidgetMac.mm:
2211         (WebCore::Widget::paint):
2212         * rendering/InlineFlowBox.cpp:
2213         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2214         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2215         * rendering/InlineTextBox.cpp:
2216         (WebCore::InlineTextBox::selectionRect):
2217         (WebCore::InlineTextBox::paint):
2218         (WebCore::InlineTextBox::positionForOffset):
2219         * rendering/RenderBlock.cpp:
2220         (WebCore::RenderBlock::addOverflowFromChildren):
2221         (WebCore::RenderBlock::paintChildren):
2222         (WebCore::RenderBlock::paintEllipsisBoxes):
2223         (WebCore::RenderBlock::inlineSelectionGaps):
2224         (WebCore::RenderBlock::adjustPointToColumnContents):
2225         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2226         (WebCore::RenderBlock::adjustForColumns):
2227         * rendering/RenderBlock.h:
2228         (WebCore::RenderBlock::FloatingObject::right):
2229         (WebCore::RenderBlock::FloatingObject::bottom):
2230         * rendering/RenderBox.cpp:
2231         (WebCore::RenderBox::reflectedRect):
2232         (WebCore::RenderBox::localCaretRect):
2233         (WebCore::RenderBox::addShadowOverflow):
2234         (WebCore::RenderBox::addLayoutOverflow):
2235         (WebCore::RenderBox::visualOverflowRectForPropagation):
2236         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2237         (WebCore::RenderBox::flipForWritingMode):
2238         * rendering/RenderFrameSet.cpp:
2239         (WebCore::RenderFrameSet::paintColumnBorder):
2240         (WebCore::RenderFrameSet::paintRowBorder):
2241         * rendering/RenderInline.cpp:
2242         (WebCore::RenderInline::paintOutlineForLine):
2243         * rendering/RenderLayer.cpp:
2244         (WebCore::RenderLayer::getRectToExpose):
2245         (WebCore::cornerRect):
2246         (WebCore::RenderLayer::positionOverflowControls):
2247         (WebCore::RenderLayer::overflowBottom):
2248         (WebCore::RenderLayer::overflowRight):
2249         (WebCore::RenderLayer::paintResizer):
2250         * rendering/RenderLineBoxList.cpp:
2251         (WebCore::RenderLineBoxList::rangeIntersectsRect):
2252         (WebCore::RenderLineBoxList::paint):
2253         * rendering/RenderListItem.cpp:
2254         (WebCore::RenderListItem::positionListMarker):
2255         * rendering/RenderListMarker.cpp:
2256         (WebCore::RenderListMarker::paint):
2257         * rendering/RenderObject.cpp:
2258         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2259         * rendering/RenderOverflow.h:
2260         (WebCore::RenderOverflow::RenderOverflow):
2261         (WebCore::RenderOverflow::addLayoutOverflow):
2262         (WebCore::RenderOverflow::addVisualOverflow):
2263         (WebCore::RenderOverflow::setLayoutOverflow):
2264         (WebCore::RenderOverflow::setVisualOverflow):
2265         (WebCore::RenderOverflow::resetLayoutOverflow):
2266         * rendering/RenderReplaced.cpp:
2267         (WebCore::RenderReplaced::shouldPaint):
2268         * rendering/RenderScrollbarTheme.cpp:
2269         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2270         * rendering/RenderTable.cpp:
2271         (WebCore::RenderTable::paint):
2272         * rendering/RenderTableCell.cpp:
2273         (WebCore::RenderTableCell::paint):
2274         * rendering/RenderTableSection.cpp:
2275         (WebCore::RenderTableSection::paintObject):
2276         * rendering/RenderText.cpp:
2277         (WebCore::RenderText::absoluteQuads):
2278         * rendering/RenderTextControlSingleLine.cpp:
2279         (WebCore::RenderTextControlSingleLine::forwardEvent):
2280         * rendering/RenderThemeMac.mm:
2281         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2282         (WebCore::RenderThemeMac::paintMenuListButton):
2283         (WebCore::RenderThemeMac::paintSliderTrack):
2284         * rendering/RenderView.cpp:
2285         (WebCore::RenderView::computeRectForRepaint):
2286         (WebCore::RenderView::docBottom):
2287         (WebCore::RenderView::docRight):
2288         * rendering/RootInlineBox.cpp:
2289         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2290         * rendering/svg/RenderSVGInlineText.cpp:
2291         (WebCore::RenderSVGInlineText::localCaretRect):
2292
2293 2011-02-01  Beth Dakin  <bdakin@apple.com>
2294
2295         Reviewed by Sam Weinig.
2296
2297         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2298
2299         Lots of new WebCoreSystemInterface functions to export.
2300         * WebCore.exp.in:
2301         * platform/mac/WebCoreSystemInterface.h:
2302         * platform/mac/WebCoreSystemInterface.mm:
2303
2304         Let the scrollAnimator know when the mouse has
2305         moved anywhere inside the page, and when the mouse 
2306         has moved in or out of the window. 
2307         * page/EventHandler.cpp:
2308         (WebCore::EventHandler::mouseMoved):
2309         (WebCore::EventHandler::updateMouseEventTargetNode):
2310
2311         Let the scrollAnimator know when the window has become
2312         active or inactive.
2313         * page/FocusController.cpp:
2314         (WebCore::FocusController::setActive):
2315         
2316         Let the scrollAnimator know when all of these things
2317         are happening.
2318         * page/FrameView.cpp:
2319         (WebCore::FrameView::setContentsSize):
2320         (WebCore::FrameView::didMoveOnscreen):
2321         (WebCore::FrameView::willMoveOffscreen):
2322         (WebCore::FrameView::currentMousePosition):
2323         (WebCore::FrameView::contentsResized):
2324         
2325         New functions called through WebKit2 that allow the
2326         scrollAnimator to know when a live resize starts and ends.
2327         (WebCore::FrameView::willStartLiveResize):
2328         (WebCore::FrameView::willEndLiveResize):
2329         * page/FrameView.h:
2330         
2331         New functions on ScrollAnimator that pass information
2332         to the WKPainterController when we're using one.
2333         * platform/ScrollAnimator.h:
2334         (WebCore::ScrollAnimator::scrollableArea):
2335         (WebCore::ScrollAnimator::contentAreaWillPaint):
2336         (WebCore::ScrollAnimator::mouseEnteredContentArea):
2337         (WebCore::ScrollAnimator::mouseExitedContentArea):
2338         (WebCore::ScrollAnimator::mouseMovedInContentArea):
2339         (WebCore::ScrollAnimator::willStartLiveResize):
2340         (WebCore::ScrollAnimator::contentsResized):
2341         (WebCore::ScrollAnimator::willEndLiveResize):
2342         (WebCore::ScrollAnimator::contentAreaDidShow):
2343         (WebCore::ScrollAnimator::contentAreaDidHide):
2344         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2345         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2346         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2347         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2348         (WebCore::ScrollAnimatorMac::notityPositionChanged):
2349         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2350         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2351         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2352         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2353         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2354         (WebCore::ScrollAnimatorMac::contentsResized):
2355         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2356         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2357         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2358         
2359         Let the scrollAnimator know when this is happening.
2360         * platform/ScrollView.cpp:
2361         (WebCore::ScrollView::paint):
2362         
2363         New function lets the scrollAnimator get the current 
2364         mouse position.
2365         * platform/ScrollView.h:
2366         (WebCore::ScrollView::currentMousePosition):
2367         
2368         New function that returns the scrollAnimator when needed.
2369         * platform/ScrollableArea.h:
2370         (WebCore::ScrollableArea::scrollAnimator):
2371         
2372         Keep track of if we're in a live resize using a new memeber
2373         variable.
2374         * platform/mac/ScrollAnimatorMac.h:
2375         (WebCore::ScrollAnimatorMac::inLiveResize):
2376         * platform/mac/ScrollAnimatorMac.mm:
2377         (WebCore::view):
2378         
2379         New delegates for the WKPainter and WKPainterController
2380         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2381         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2382         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2383         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2384         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2385         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2386         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2387         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2388         (-[ScrollKnobAnimation setCurrentProgress:]):
2389         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2390         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2391         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2392         (-[ScrollbarPainterDelegate layer]):
2393         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2394         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2395         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2396         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2397
2398         Get the WKScrollbarPainterRefs to synch up with the 
2399         WKScrollbarPainterControllerRefs when appropriate
2400         * platform/mac/ScrollbarThemeMac.h:
2401         * platform/mac/ScrollbarThemeMac.mm:
2402         (WebCore::ScrollbarThemeMac::registerScrollbar):
2403         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2404         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2405         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2406
2407         Implement ScrollableArea's virtual function contentsSize() for access
2408         through the scrollAnimator.
2409         * rendering/RenderLayer.h:
2410         (WebCore::RenderLayer::contentsSize):
2411
2412 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
2413
2414         Reviewed by David Hyatt.
2415
2416         layoutTestController.counterValueForElementById does not return the correct value
2417         https://bugs.webkit.org/show_bug.cgi?id=53037
2418
2419         Test: fast/css/counters/deep-before.html
2420
2421         * rendering/RenderTreeAsText.cpp:
2422         (WebCore::counterValueForElement):
2423         Modified to use the newly available RenderObject::beforePseudoElement()
2424         and RenderObject::afterPseudoElement() instead of the old imperfect
2425         algorithm to find the before and after pseudo elements.
2426
2427 2011-02-01  Anton Muhin  <antonm@chromium.org>
2428
2429         Reviewed by Adam Barth.
2430
2431         Allow access for security origin same as this.
2432         https://bugs.webkit.org/show_bug.cgi?id=53440
2433
2434         Hard to test as newly added path currently is never hit.
2435
2436         * page/SecurityOrigin.cpp:
2437         (WebCore::SecurityOrigin::canAccess): allow access if this == other
2438
2439 2011-01-31  Oliver Hunt  <oliver@apple.com>
2440
2441         Reviewed by Geoffrey Garen.
2442
2443         Update JSObject storage for new marking API
2444         https://bugs.webkit.org/show_bug.cgi?id=53467
2445
2446         Update WebCore to handle new anonymous slot behaviour.
2447
2448         * bindings/js/JSDOMWindowShell.cpp:
2449         (WebCore::JSDOMWindowShell::setWindow):
2450         * bindings/js/WorkerScriptController.cpp:
2451         (WebCore::WorkerScriptController::initScript):
2452         * bindings/scripts/CodeGeneratorJS.pm:
2453
2454 2011-02-01  Xiaomei Ji  <xji@chromium.org>
2455
2456         Reviewed by David Hyatt.
2457
2458         Fix a text rendering problem when enclosing block is RTL and text runs
2459         are in different directionality.
2460         https://bugs.webkit.org/show_bug.cgi?id=34176
2461
2462         The problem happens in the following example scenario (ABC represents 
2463         Hebrew characters):
2464         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
2465
2466         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
2467         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
2468         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
2469
2470         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
2471
2472         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
2473         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
2474         the run's render object's ancestor (not only its parent) has already 
2475         been constructed or has something following it on the line, in which 
2476         case, create a new box for TextRun2 instead of sharing the same box with
2477         TextRun3.
2478
2479         In other words, the following 2 div should render the same results
2480         (ABC represents Hebrew characters).
2481         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
2482         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
2483
2484         Test: fast/dom/34176.html
2485
2486         * rendering/RenderBlockLineLayout.cpp:
2487         (WebCore::parentIsConstructedOrHaveNext):
2488         (WebCore::RenderBlock::createLineBoxes):
2489
2490 2011-02-01  Abhishek Arya  <inferno@chromium.org>
2491
2492         Reviewed by Dan Bernstein.
2493
2494         Do not add a node in the document's stylesheet candidate node list if the
2495         node is already removed from document.
2496         https://bugs.webkit.org/show_bug.cgi?id=53441
2497
2498         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
2499
2500         * dom/Document.cpp:
2501         (WebCore::Document::addStyleSheetCandidateNode):
2502
2503 2011-02-01  Dave Hyatt  <hyatt@apple.com>
2504
2505         Reviewed by Darin Adler.
2506
2507         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
2508         with vertical text.
2509
2510         Change printing functions to check writing-mode and properly swap width and height
2511         as needed.
2512         
2513         Fix the setScrollOrigin function so that the origin doesn't cause
2514         scroll spasming during printing (this is only partially successful, but it's better
2515         than it was).
2516
2517         Rewrite computePageRects to handle both RTL documents properly as well as vertical
2518         text documents properly.
2519
2520         * WebCore.exp.in:
2521         * page/FrameView.cpp:
2522         (WebCore::FrameView::adjustViewSize):
2523         (WebCore::FrameView::forceLayoutForPagination):
2524         * page/PrintContext.cpp:
2525         (WebCore::PrintContext::computePageRects):
2526         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2527         (WebCore::PrintContext::computeAutomaticScaleFactor):
2528         (WebCore::PrintContext::spoolPage):
2529         (WebCore::PrintContext::spoolRect):
2530         * page/PrintContext.h:
2531         * page/mac/WebCoreFrameView.h:
2532         * platform/ScrollView.cpp:
2533         (WebCore::ScrollView::wheelEvent):
2534         * platform/ScrollView.h:
2535         * platform/mac/ScrollViewMac.mm:
2536         (WebCore::ScrollView::platformSetScrollOrigin):
2537         * rendering/RenderView.cpp:
2538         (WebCore::RenderView::layout):
2539
2540 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
2541
2542         Reviewed by Pavel Feldman.
2543
2544         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
2545
2546         https://bugs.webkit.org/show_bug.cgi?id=53500
2547
2548         * inspector/InspectorProfilerAgent.cpp:
2549         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2550
2551 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
2552
2553         Reviewed by Pavel Feldman.
2554
2555         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
2556
2557         https://bugs.webkit.org/show_bug.cgi?id=53173
2558
2559         Adding code for accessing heap snapshot data and
2560         performing graph calculations.
2561
2562         * English.lproj/localizedStrings.js:
2563         * inspector/front-end/HeapSnapshot.js:
2564         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
2565         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
2566         (WebInspector.HeapSnapshotEdgeIterator):
2567         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
2568         (WebInspector.HeapSnapshotNodeIterator):
2569         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
2570         (WebInspector.HeapSnapshotFilteredOrderedIterator):
2571         (WebInspector.HeapSnapshotEdgesProvider):
2572         (WebInspector.HeapSnapshotNodesProvider):
2573         (WebInspector.HeapSnapshotPathFinder):
2574         * inspector/front-end/HeapSnapshotView.js:
2575         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
2576
2577 2011-02-01  Adam Roben  <aroben@apple.com>
2578
2579         Fix linker warnings in Release_LTCG builds
2580
2581         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
2582         configurations, since they get pulled in via DOMAllInOne.cpp.
2583
2584 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
2585
2586         Reviewed by Yury Semikhatsky.
2587
2588         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
2589         https://bugs.webkit.org/show_bug.cgi?id=53482
2590
2591         * English.lproj/localizedStrings.js:
2592         * inspector/front-end/ElementsPanel.js:
2593         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
2594         * inspector/front-end/inspector.js:
2595         (WebInspector.resourceForURL):
2596         (WebInspector.openLinkExternallyLabel):
2597
2598 2011-02-01  Anton Muhin  <antonm@chromium.org>
2599
2600         Reviewed by Adam Barth.
2601
2602         Propagate parent document security origin to newly create Document XML response
2603         https://bugs.webkit.org/show_bug.cgi?id=53444
2604
2605         Covered by the existing tests.
2606
2607         * xml/XMLHttpRequest.cpp:
2608         (WebCore::XMLHttpRequest::responseXML):
2609
2610 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
2611
2612         Unreviewed. Rollout r77230 which caused many layout tests
2613         crashes on Chromium Debug bots.
2614
2615         Async event handlers should not fire within a modal dialog
2616         https://bugs.webkit.org/show_bug.cgi?id=53202
2617
2618         * dom/Document.cpp:
2619         (WebCore::Document::Document):
2620         * dom/EventQueue.cpp:
2621         (WebCore::EventQueue::EventQueue):
2622         (WebCore::EventQueue::enqueueEvent):
2623         (WebCore::EventQueue::pendingEventTimerFired):
2624         * dom/EventQueue.h:
2625
2626 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
2627
2628         Reviewed by Dirk Schulze.
2629
2630         LightElement changes does not require relayout.
2631         https://bugs.webkit.org/show_bug.cgi?id=53232
2632
2633         When an attribute of a LightElement changes, it
2634         send an update message to the lighting filters
2635         to update its corresponding LightSource objects,
2636         and repaint the filters.
2637
2638         Duplicated 'id' attributes removed from svg-filter-animation.svg.
2639
2640         Existing dynamic-update tests covers this feature.
2641
2642         5x speedup on manual-tests/svg-filter-animation.svg
2643
2644         * manual-tests/svg-filter-animation.svg:
2645         * platform/graphics/filters/DistantLightSource.h:
2646         * platform/graphics/filters/FEDiffuseLighting.cpp:
2647         (WebCore::FEDiffuseLighting::setLightingColor):
2648         (WebCore::FEDiffuseLighting::setSurfaceScale):
2649         (WebCore::FEDiffuseLighting::setDiffuseConstant):
2650         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2651         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2652         * platform/graphics/filters/FEDiffuseLighting.h:
2653         * platform/graphics/filters/LightSource.cpp:
2654         (WebCore::PointLightSource::setX):
2655         (WebCore::PointLightSource::setY):
2656         (WebCore::PointLightSource::setZ):
2657         (WebCore::SpotLightSource::setX):
2658         (WebCore::SpotLightSource::setY):
2659         (WebCore::SpotLightSource::setZ):
2660         (WebCore::SpotLightSource::setPointsAtX):
2661         (WebCore::SpotLightSource::setPointsAtY):
2662         (WebCore::SpotLightSource::setPointsAtZ):
2663         (WebCore::SpotLightSource::setSpecularExponent):
2664         (WebCore::SpotLightSource::setLimitingConeAngle):
2665         (WebCore::DistantLightSource::setAzimuth):
2666         (WebCore::DistantLightSource::setElevation):
2667         (WebCore::LightSource::setAzimuth):
2668         (WebCore::LightSource::setElevation):
2669         (WebCore::LightSource::setX):
2670         (WebCore::LightSource::setY):
2671         (WebCore::LightSource::setZ):
2672         (WebCore::LightSource::setPointsAtX):
2673         (WebCore::LightSource::setPointsAtY):
2674         (WebCore::LightSource::setPointsAtZ):
2675         (WebCore::LightSource::setSpecularExponent):
2676         (WebCore::LightSource::setLimitingConeAngle):
2677         * platform/graphics/filters/LightSource.h:
2678         * platform/graphics/filters/PointLightSource.h:
2679         * platform/graphics/filters/SpotLightSource.h:
2680         * rendering/svg/RenderSVGResourceFilter.cpp:
2681         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2682         * svg/SVGFEDiffuseLightingElement.cpp:
2683         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
2684         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
2685         (WebCore::SVGFEDiffuseLightingElement::build):
2686         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
2687         (WebCore::SVGFEDiffuseLightingElement::findLight):
2688         * svg/SVGFEDiffuseLightingElement.h:
2689         * svg/SVGFELightElement.cpp:
2690         (WebCore::SVGFELightElement::svgAttributeChanged):
2691         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2692         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
2693         * svg/SVGFilterPrimitiveStandardAttributes.h:
2694
2695 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2696
2697         Reviewed by Dimitri Glazkov.
2698
2699         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
2700         https://bugs.webkit.org/show_bug.cgi?id=53289
2701
2702         Moving the nested class DocumentOrderedMap from Document into separate files,
2703         updating code where necessary.
2704
2705         No new tests. (refactoring)
2706
2707         * Android.mk:
2708         * CMakeLists.txt:
2709         * GNUMakefile.am:
2710         * WebCore.gypi:
2711         * WebCore.pro:
2712         * WebCore.vcproj/WebCore.vcproj:
2713         * WebCore.xcodeproj/project.pbxproj:
2714         * dom/Document.cpp:
2715         (WebCore::Document::getElementById):
2716         (WebCore::Document::getImageMap):
2717         * dom/Document.h:
2718         * dom/DocumentOrderedMap.cpp: Added.
2719         (WebCore::keyMatchesId):
2720         (WebCore::keyMatchesMapName):
2721         (WebCore::keyMatchesLowercasedMapName):
2722         (WebCore::DocumentOrderedMap::clear):
2723         (WebCore::DocumentOrderedMap::add):
2724         (WebCore::DocumentOrderedMap::remove):
2725         (WebCore::DocumentOrderedMap::get):
2726         (WebCore::DocumentOrderedMap::getElementById):
2727         (WebCore::DocumentOrderedMap::getElementByMapName):
2728         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2729         * dom/DocumentOrderedMap.h: Added.
2730         (WebCore::DocumentOrderedMap::contains):
2731         (WebCore::DocumentOrderedMap::containsMultiple):
2732         * dom/DOMAllInOne.cpp:
2733
2734 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2735
2736         Reviewed by Martin Robinson.
2737
2738         [Gtk] atk_text_set_caret_offset fails for list items
2739         https://bugs.webkit.org/show_bug.cgi?id=53388
2740
2741         Allow using text ranges across list items.
2742
2743         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2744         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
2745         to the list of accessibility objects supporting text ranges.
2746
2747 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2748
2749         Reviewed by Martin Robinson.
2750
2751         [GTK] character range extents is off when the end of a wrapped line is included
2752         https://bugs.webkit.org/show_bug.cgi?id=53323
2753
2754         Fixed wrong calculation getting the range extents.
2755
2756         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2757         (webkit_accessible_text_get_range_extents): Removed '+1' since the
2758         requested interval shouldn't include the last character.
2759
2760 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2761
2762         Reviewed by Martin Robinson.
2763
2764         [GTK] Caret Offset is one off at the end of wrapped lines
2765         https://bugs.webkit.org/show_bug.cgi?id=53300
2766
2767         Consider linebreaks as special cases.
2768
2769         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2770         (objectAndOffsetUnignored): In order to avoid getting wrong values
2771         when around linebreaks, we need to workaround this by explicitly
2772         avoiding those '\n' text nodes from affecting the result of
2773         calling to TextIterator:rangeLength().
2774
2775 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2776
2777         Unreviewed, rolling out r77229.
2778         http://trac.webkit.org/changeset/77229
2779         https://bugs.webkit.org/show_bug.cgi?id=53289
2780
2781         revert mysterious build breakage
2782
2783         * Android.mk:
2784         * CMakeLists.txt:
2785         * GNUmakefile.am:
2786         * WebCore.gypi:
2787         * WebCore.pro:
2788         * WebCore.vcproj/WebCore.vcproj:
2789         * WebCore.xcodeproj/project.pbxproj:
2790         * dom/DOMAllInOne.cpp:
2791         * dom/Document.cpp:
2792         (WebCore::Document::DocumentOrderedMap::clear):
2793         (WebCore::Document::DocumentOrderedMap::add):
2794         (WebCore::Document::DocumentOrderedMap::remove):
2795         (WebCore::Document::DocumentOrderedMap::get):
2796         (WebCore::keyMatchesId):
2797         (WebCore::Document::getElementById):
2798         (WebCore::keyMatchesMapName):
2799         (WebCore::keyMatchesLowercasedMapName):
2800         (WebCore::Document::getImageMap):
2801         * dom/Document.h:
2802         (WebCore::Document::DocumentOrderedMap::contains):
2803         (WebCore::Document::DocumentOrderedMap::containsMultiple):
2804         * dom/DocumentOrderedMap.cpp: Removed.
2805         * dom/DocumentOrderedMap.h: Removed.
2806
2807 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
2808
2809         Reviewed by James Robinson.
2810
2811         Async event handlers should not fire within a modal dialog
2812         https://bugs.webkit.org/show_bug.cgi?id=53202
2813
2814         Asychronous events that use EventQueue would currently fire while a
2815         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2816         SuspendableTimer (which automatically gets suspended while dialogs are
2817         up and in other cases where JS execution is not allowed).
2818         
2819         Test: fast/events/scroll-event-during-modal-dialog.html
2820
2821         * dom/Document.cpp:
2822         (WebCore::Document::Document):
2823         * dom/EventQueue.cpp:
2824         (WebCore::EventQueueTimer::EventQueueTimer):
2825         (WebCore::EventQueueTimer::fired):
2826         (WebCore::EventQueue::EventQueue):
2827         (WebCore::EventQueue::enqueueEvent):
2828         (WebCore::EventQueue::pendingEventTimerFired):
2829         * dom/EventQueue.h:
2830         (WebCore::EventQueue::create):
2831
2832 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2833
2834         Reviewed by Dimitri Glazkov.
2835
2836         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
2837         https://bugs.webkit.org/show_bug.cgi?id=53289
2838
2839         Moving the nested class DocumentOrderedMap from Document into separate files,
2840         updating code where necessary.
2841
2842         No new tests. (refactoring)
2843
2844         * Android.mk:
2845         * CMakeLists.txt:
2846         * GNUMakefile.am:
2847         * WebCore.gypi:
2848         * WebCore.pro:
2849         * WebCore.vcproj/WebCore.vcproj:
2850         * WebCore.xcodeproj/project.pbxproj:
2851         * dom/Document.cpp:
2852         (WebCore::Document::getElementById):
2853         (WebCore::Document::getImageMap):
2854         * dom/Document.h:
2855         * dom/DocumentOrderedMap.cpp: Added.
2856         (WebCore::keyMatchesId):
2857         (WebCore::keyMatchesMapName):
2858         (WebCore::keyMatchesLowercasedMapName):
2859         (WebCore::DocumentOrderedMap::clear):
2860         (WebCore::DocumentOrderedMap::add):
2861         (WebCore::DocumentOrderedMap::remove):
2862         (WebCore::DocumentOrderedMap::get):
2863         (WebCore::DocumentOrderedMap::getElementById):
2864         (WebCore::DocumentOrderedMap::getElementByMapName):
2865         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2866         * dom/DocumentOrderedMap.h: Added.
2867         (WebCore::DocumentOrderedMap::contains):
2868         (WebCore::DocumentOrderedMap::containsMultiple):
2869         * dom/DOMAllInOne.cpp:
2870
2871 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
2872
2873         Reviewed by Darin Fisher.
2874
2875         [Chromium] Autofill should work with HTML5 form elements
2876         https://bugs.webkit.org/show_bug.cgi?id=51809
2877         http://crbug.com/65654
2878
2879         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
2880
2881         * html/InputType.h: Insert comment for canSetSuggestedValue().
2882         * html/TextFieldInputType.cpp:
2883         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
2884         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
2885         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
2886         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
2887
2888 2011-02-01  Kent Tamura  <tkent@chromium.org>
2889
2890         Reviewed by Dan Bernstein.
2891
2892         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
2893         https://bugs.webkit.org/show_bug.cgi?id=53272
2894
2895         * editing/TextIterator.cpp:
2896         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
2897
2898 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
2899
2900         Reviewed by Maciej Stachowiak.
2901
2902         https://bugs.webkit.org/show_bug.cgi?id=53466
2903         Move WebKit2 to printing via API methods
2904
2905         * WebCore.exp.in: Export IntRect::scale().
2906
2907 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
2908
2909         Reviewed by Adam Barth.
2910
2911         Remove obsolete comment after r41871
2912         https://bugs.webkit.org/show_bug.cgi?id=53406
2913
2914         * dom/Document.h:
2915
2916 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
2917
2918         Fix according to reviewer comments: can just use Color::black now.
2919
2920         * platform/graphics/ShadowBlur.cpp:
2921         (WebCore::ShadowBlur::drawInsetShadow):
2922         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2923
2924 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
2925
2926         Reviewed by Sam Weinig.
2927
2928         Clean up ShadowBlur
2929         https://bugs.webkit.org/show_bug.cgi?id=53472
2930
2931         Some minor ShadowBlur cleanup.
2932
2933         * platform/graphics/ShadowBlur.h:
2934         * platform/graphics/ShadowBlur.cpp:
2935         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
2936         paramter.
2937         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
2938         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
2939         layerRect. Make frameSize a float.
2940         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
2941         layerRect rather than calling calculateLayerBoundingRect() to compute
2942         it itself, since we were calling calculateLayerBoundingRect() twice.
2943         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
2944         only once. The shadowRect variable was unused, so two return paths could be
2945         collapsed into one.
2946         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
2947         beginShadowLayer() now.
2948         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
2949         We always used alpha=1, so no need to pass that in.
2950         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
2951         pass that in. Move shadowRect down to first use.
2952         ShadowBlur::clipBounds() was unused.
2953
2954 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
2955
2956         Reviewed by Kenneth Rohde Christiansen.
2957
2958         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
2959         https://bugs.webkit.org/show_bug.cgi?id=46748
2960
2961         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
2962         Added a regression test to tst_QWebFrame.
2963
2964         * bridge/qt/qt_instance.cpp:
2965         (JSC::Bindings::QtInstance::QtInstance):
2966
2967 2011-01-27  MORITA Hajime  <morrita@google.com>
2968
2969         Reviewed by Dimitri Glazkov.
2970         
2971         Convert <progress> shadow DOM to a DOM-based shadow.
2972         https://bugs.webkit.org/show_bug.cgi?id=50660
2973
2974         * Removed RenderProgress::m_valuePart, moved the shadow node
2975           to the shadow root of HTMLProgressElement.
2976         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
2977           ProgressBarValueElement is defined only for overriding
2978           shadowPseudoId().
2979         
2980         No new tests. No behavioral change.
2981
2982         * css/CSSSelector.cpp:
2983         (WebCore::CSSSelector::pseudoId):
2984         (WebCore::nameToPseudoTypeMap):
2985         (WebCore::CSSSelector::extractPseudoType):
2986         * css/CSSSelector.h:
2987         * html/HTMLProgressElement.cpp:
2988         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
2989         (WebCore::ProgressBarValueElement::shadowPseudoId):
2990         (WebCore::ProgressBarValueElement::create):
2991         (WebCore::ProgressBarValueElement::detach):
2992         (WebCore::HTMLProgressElement::parseMappedAttribute):
2993         (WebCore::HTMLProgressElement::attach):
2994         (WebCore::HTMLProgressElement::valuePart):
2995         (WebCore::HTMLProgressElement::didElementStateChange):
2996         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
2997         * html/HTMLProgressElement.h:
2998         * rendering/RenderProgress.cpp:
2999         (WebCore::RenderProgress::~RenderProgress):
3000         (WebCore::RenderProgress::updateFromElement):
3001         (WebCore::RenderProgress::layoutParts):
3002         (WebCore::RenderProgress::shouldHaveParts):
3003         (WebCore::RenderProgress::valuePart):
3004         * rendering/RenderProgress.h:
3005         * rendering/style/RenderStyleConstants.h:
3006
3007 2011-01-31  Charlie Reis  <creis@chromium.org>
3008
3009         Reviewed by Mihai Parparita.
3010
3011         Add sanity check to help diagnose bug 52819
3012         https://bugs.webkit.org/show_bug.cgi?id=53402
3013
3014         Crash early if the children of fromItem look invalid.
3015
3016         * loader/HistoryController.cpp:
3017
3018 2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
3019
3020         Reviewed by Andreas Kling.
3021
3022         [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
3023         https://bugs.webkit.org/show_bug.cgi?id=53325
3024
3025         Reimplement paintCurrentFrameInContext() rather than delegate the
3026         rendering to paint() to make sure we really do get the video frame
3027         content into the GraphicsContext, regardless of accelerated
3028         compositing and the video scene state.
3029
3030         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3031         (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
3032         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3033
3034 2011-01-31  Emil A Eklund  <eae@chromium.org>
3035
3036         Reviewed by Darin Adler.
3037
3038         Setting "selected" attribute to false should have no effect in single line <select>
3039         https://bugs.webkit.org/show_bug.cgi?id=52436
3040
3041         Change SelectElement::setSelectedIndex to select the first selectable
3042         option when the select state of all options is set to false as required
3043         by the HTML5 specification.
3044
3045         Test: fast/dom/HTMLSelectElement/selected-false.html
3046
3047         * dom/SelectElement.cpp:
3048         (WebCore::SelectElement::setSelectedIndex):
3049
3050 2011-01-31  Alexander Pavlov  <apavlov@chromium.org>
3051
3052         Reviewed by Yury Semikhatsky.
3053
3054         Web Inspector: Console source references need a left-margin
3055         https://bugs.webkit.org/show_bug.cgi?id=53308
3056
3057         * inspector/front-end/inspector.css:
3058         (.console-message-url): Added a 4px margin on the left.
3059
3060 2011-01-31  Carol Szabo  <carol.szabo@nokia.com>
3061
3062         Reviewed by David Hyatt.
3063
3064         Code Changes only.
3065
3066         It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
3067         https://bugs.webkit.org/show_bug.cgi?id=53024
3068
3069         No new tests. No change in functionality
3070
3071         * rendering/RenderObject.h:
3072         (WebCore::RenderObject::before):
3073         (WebCore::RenderObject::after):
3074         (WebCore::RenderObject::generatingNode):
3075         Added new accessors for the use of the CSS 2.1 counters code
3076         (mainlyly)
3077         * rendering/RenderObjectChildList.cpp:
3078         (WebCore::beforeAfterContainer):
3079         (WebCore::RenderObjectChildList::invalidateCounters):
3080         (WebCore::RenderObjectChildList::before):
3081         (WebCore::RenderObjectChildList::after):
3082         Refactored the code to take advantage of the new accessors.
3083         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3084         Changed to store the generating node in the :before and :after
3085         renderers.
3086         * rendering/RenderObjectChildList.h:
3087
3088 2011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>
3089
3090         Reviewed by David Hyatt.
3091
3092         Add background-clip to background shorthand
3093         https://bugs.webkit.org/show_bug.cgi?id=52080
3094
3095         Added background-clip to background-shorthand. Also made changes to
3096         include webkitMaskClip to the mask shorthand to keep both in sync.
3097
3098         * css/CSSParser.cpp:
3099         (WebCore::CSSParser::parseValue):
3100         (WebCore::CSSParser::parseFillShorthand):
3101
3102 2011-01-31  Darin Adler  <darin@apple.com>
3103
3104         Reviewed by Adele Peterson.
3105
3106         WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
3107         https://bugs.webkit.org/show_bug.cgi?id=53460
3108
3109         * editing/EditorCommand.cpp:
3110         (WebCore::executeScrollPageBackward): Added.
3111         (WebCore::executeScrollPageForward): Added.
3112         (WebCore::executeScrollToBeginningOfDocument): Added.
3113         (WebCore::executeScrollToEndOfDocument): Added.
3114         (WebCore::createCommandMap): Added the four commands above to the map.
3115
3116 2011-01-31  Dan Bernstein  <mitz@apple.com>
3117
3118         Reviewed by Adele Peterson.
3119
3120         Inter-ideograph justification should apply to hiragana and katakana as well
3121         https://bugs.webkit.org/show_bug.cgi?id=53464
3122
3123         Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
3124
3125         * platform/graphics/Font.cpp:
3126         (WebCore::Font::expansionOpportunityCount):
3127         * platform/graphics/WidthIterator.cpp:
3128         (WebCore::WidthIterator::advance):
3129         * platform/graphics/mac/ComplexTextController.cpp:
3130         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3131
3132 2011-01-31  Dimitri Glazkov  <dglazkov@chromium.org>
3133
3134         Reviewed by James Robinson.
3135
3136         REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
3137         https://bugs.webkit.org/show_bug.cgi?id=53314
3138
3139         Fixes media/controls-strict.html on Chromium.
3140
3141         * css/mediaControlsChromium.css:
3142         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3143             Added proper box-sizing to avoid differences between strict/quirks mode.
3144
3145 2011-01-31  Kent Tamura  <tkent@chromium.org>
3146
3147         Reviewed by Dimitri Glazkov.
3148
3149         Validation message bubble shouldn't inherit text-security style
3150         https://bugs.webkit.org/show_bug.cgi?id=53457
3151
3152         No new tests because the validation message feature depends on timers
3153         and is enabled only in Chromium port.
3154
3155         * css/html.css:
3156         (::-webkit-validation-bubble): Reset -webkit-text-security.
3157
3158 2011-01-31  Michael Saboff  <msaboff@apple.com>
3159
3160         Reviewed by Geoffrey Garen.
3161
3162         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
3163         https://bugs.webkit.org/show_bug.cgi?id=53271
3164
3165         Reapplying this patch again. 
3166         The removal of this patch in <http://trac.webkit.org/changeset/77125>
3167         as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
3168         removed the both the first (failing) patch (r76893) and this fixed 
3169         patch (r76969).  This patch includes slight changes necessitated by
3170         r77151.
3171
3172         Reapplying this patch with the change that the second ASSERT in 
3173         RootObject::removeRuntimeObject was changed to use
3174         .uncheckedGet() instead of the failing .get().  The object in question
3175         could be in the process of being GC'ed.  The get() call will not return
3176         such an object while the uncheckedGet() call will return the (unsafe) 
3177         object.  This is the behavior we want.
3178
3179         Precautionary change.
3180         Changed RootObject to use WeakGCMap instead of HashSet.
3181         Found will looking for another issue, but can't produce a test case
3182         that is problematic.  THerefore there aren't any new tests.
3183
3184         * bridge/runtime_root.cpp:
3185         (JSC::Bindings::RootObject::invalidate):
3186         (JSC::Bindings::RootObject::addRuntimeObject):
3187         (JSC::Bindings::RootObject::removeRuntimeObject):
3188         * bridge/runtime_root.h:
3189
3190 2011-01-31  Andreas Kling  <kling@webkit.org>
3191
3192         Unbreak Qt build after r77151.
3193
3194         * bridge/qt/qt_instance.cpp:
3195         (JSC::Bindings::QtInstance::removeCachedMethod):
3196         (JSC::Bindings::QtInstance::markAggregate):
3197
3198 2011-01-31  takano takumi  <takano@apple.com>
3199
3200         Reviewed by Dave Hyatt.
3201
3202         Implement text-combine rendering code
3203         https://bugs.webkit.org/show_bug.cgi?id=50621
3204
3205         Test: fast/text/international/text-combine-image-test.html
3206
3207         * Android.mk: Added RenderCombineText.cpp/h
3208         * CMakeLists.txt: Added RenderCombineText.cpp/h
3209         * GNUmakefile.am: Added RenderCombineText.cpp/h
3210         * WebCore.exp.in:
3211         * WebCore.gypi: Added RenderCombineText.cpp/h
3212         * WebCore.pro: Added RenderCombineText.cpp/h
3213         * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
3214         * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
3215         * css/CSSFontFaceSource.cpp:
3216         (WebCore::CSSFontFaceSource::getFontData):
3217         - Added fontDescription.widthVariant to SimpleFontData creation.
3218         * css/CSSStyleSelector.cpp:
3219         (WebCore::CSSStyleSelector::applyProperty):
3220         - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
3221         * dom/Text.cpp:
3222         (WebCore::Text::createRenderer):
3223         - Changed to create RenderCombineText in case of TextCombine.
3224         * loader/cache/CachedFont.cpp:
3225         (WebCore::CachedFont::platformDataFromCustomData):
3226         - Added FontWidthVariant as an argument for FontPlatformData creation.
3227         * loader/cache/CachedFont.h:
3228         - Ditto.
3229         * platform/graphics/Font.h:
3230         (WebCore::Font::widthVariant):
3231         - The accessor to FontWidthVariant member variable.
3232         * platform/graphics/FontCache.cpp:
3233         - Made cache to incorporate FontWidthVariant value.
3234         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3235         (WebCore::FontPlatformDataCacheKey::operator==):
3236         (WebCore::computeHash):
3237         (WebCore::FontCache::getCachedFontPlatformData):
3238         * platform/graphics/FontDescription.h:
3239         - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
3240         (WebCore::FontDescription::FontDescription):
3241         (WebCore::FontDescription::widthVariant):
3242         (WebCore::FontDescription::setWidthVariant):
3243         (WebCore::FontDescription::operator==):
3244         * platform/graphics/FontWidthVariant.h: Added.
3245         * platform/graphics/cairo/FontCustomPlatformData.h:
3246         - Changed to carry FontWidthVariant value.
3247         * platform/graphics/cocoa/FontPlatformData.h:
3248         - Changed to carry FontWidthVariant value.
3249         (WebCore::FontPlatformData::FontPlatformData):
3250         (WebCore::FontPlatformData::widthVariant):
3251         (WebCore::FontPlatformData::hash):
3252         (WebCore::FontPlatformData::operator==):
3253         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3254         (WebCore::FontPlatformData::FontPlatformData):
3255         - Changed to carry FontWidthVariant value.
3256         (WebCore::FontPlatformData::operator=):
3257         - Ditto.
3258         (WebCore::mapFontWidthVariantToCTFeatureSelector):
3259         - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
3260         (WebCore::FontPlatformData::ctFont):
3261         - Changed to create CTFont with text spacing variant based on FontWidthVariant.
3262         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
3263         (WebCore::FontCustomPlatformData::fontPlatformData):
3264         - Changed to carry FontWidthVariant value.
3265         * platform/graphics/haiku/FontCustomPlatformData.cpp:
3266         (WebCore::FontCustomPlatformData::fontPlatformData):
3267         - Changed to carry FontWidthVariant value.
3268         * platform/graphics/haiku/FontCustomPlatformData.h:
3269         * platform/graphics/mac/FontCacheMac.mm:
3270         (WebCore::FontCache::createFontPlatformData):
3271         - Changed to carry FontWidthVariant value.
3272         * platform/graphics/mac/FontCustomPlatformData.cpp:
3273         (WebCore::FontCustomPlatformData::fontPlatformData):
3274         - Changed to carry FontWidthVariant value.
3275         * platform/graphics/mac/FontCustomPlatformData.h:
3276         - Ditto.
3277         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3278         (WebCore::shouldUseCoreText):
3279         - Changed to skip CT path when width variant is specified.
3280         * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
3281         (WebCore::FontCustomPlatformData::fontPlatformData):
3282         - Ditto.
3283         * platform/graphics/qt/FontCustomPlatformData.h:
3284         - Ditto.
3285         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
3286         (WebCore::FontCustomPlatformData::fontPlatformData):
3287         - Ditto.
3288         * platform/graphics/skia/FontCustomPlatformData.cpp:
3289         (WebCore::FontCustomPlatformData::fontPlatformData):
3290         - Ditto.
3291         * platform/graphics/skia/FontCustomPlatformData.h:
3292         - Ditto.
3293         * platform/graphics/win/FontCustomPlatformData.cpp:
3294         (WebCore::FontCustomPlatformData::fontPlatformData):
3295         - Ditto.
3296         * platform/graphics/win/FontCustomPlatformData.h:
3297         - Ditto.
3298         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
3299         - Ditto.
3300         (WebCore::FontCustomPlatformData::fontPlatformData):
3301         - Ditto.
3302         * platform/graphics/win/FontCustomPlatformDataCairo.h:
3303         - Ditto.
3304         * platform/graphics/wince/FontCustomPlatformData.cpp:
3305         (WebCore::FontCustomPlatformData::fontPlatformData):
3306         - Ditto.
3307         * platform/graphics/wince/FontCustomPlatformData.h:
3308         - Ditto.
3309         * platform/graphics/wx/FontCustomPlatformData.cpp:
3310         (WebCore::FontCustomPlatformData::fontPlatformData):
3311         - Ditto.
3312         * platform/graphics/wx/FontCustomPlatformData.h:
3313         - Ditto.
3314         * rendering/InlineTextBox.cpp:
3315         (WebCore::InlineTextBox::paint):
3316         - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
3317         instead of text returned from text().
3318         * rendering/RenderBlock.cpp:
3319         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3320         - Made to call RenderCombinedText's prepareTextCombine() here.
3321         * rendering/RenderBlockLineLayout.cpp:
3322         (WebCore::textWidth):
3323         - Made to always use the render object's width() in case of TextCombine.
3324         (WebCore::RenderBlock::findNextLineBreak):
3325         - Made to call RenderCombinedText's prepareTextCombine() here.
3326         * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
3327         (WebCore::RenderCombineText::RenderCombineText):
3328         (WebCore::RenderCombineText::styleDidChange):
3329         - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
3330         the next call of RenderBlock::findNextLineBreak().
3331         (WebCore::RenderCombineText::setTextInternal):
3332         - Ditto.
3333         (WebCore::RenderCombineText::width):
3334         - Returns 1-em width in case of font combine.
3335         (WebCore::RenderCombineText::adjustTextOrigin):
3336         - Adjust drawing origin point in case of font combine.
3337         (WebCore::RenderCombineText::charactersToRender):
3338         - Return original text instead of current text in case of font combine.
3339         (WebCore::RenderCombineText::combineText):
3340         - This function tries to pack passed text with; 1) the current font as is, 2) the font created
3341         from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
3342         with quarter-width variant.
3343         - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
3344         we give up text-combine as the CSS spec describes.
3345         - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
3346         behave like a single character against text decorations.
3347         * rendering/RenderCombineText.h: Added.
3348         (WebCore::RenderCombineText::isCombined):
3349         (WebCore::RenderCombineText::combinedTextWidth):
3350         - Returns 1-em width in case of font combine.
3351         (WebCore::RenderCombineText::renderName):
3352         (WebCore::toRenderCombineText):
3353         * rendering/RenderText.cpp:
3354         (WebCore::RenderText::widthFromCache):
3355         - Made to call RenderCombineText's combinedTextWidth when the text is combined.
3356         * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
3357         * rendering/style/RenderStyle.h:
3358         (WebCore::InheritedFlags::hasTextCombine):
3359         - Added for a quick test of TextCombine.
3360
3361 2011-01-31  Oliver Hunt  <oliver@apple.com>
3362
3363         Convert markstack to a slot visitor API
3364         https://bugs.webkit.org/show_bug.cgi?id=53219
3365
3366         rolling r77098, r77099, r77100, r77109, and
3367         r77111 back in, along with a few more Qt fix attempts.
3368
3369         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
3370         * WebCore.exp.in:
3371         * bindings/js/DOMWrapperWorld.h:
3372         (WebCore::DOMWrapperWorld::globalData):
3373         * bindings/js/JSAudioConstructor.cpp:
3374         (WebCore::JSAudioConstructor::JSAudioConstructor):
3375         * bindings/js/JSDOMBinding.cpp:
3376         (WebCore::markDOMNodesForDocument):
3377         (WebCore::markDOMObjectWrapper):
3378         (WebCore::markDOMNodeWrapper):
3379         * bindings/js/JSDOMGlobalObject.cpp:
3380         (WebCore::JSDOMGlobalObject::markChildren):
3381         (WebCore::JSDOMGlobalObject::setInjectedScript):
3382         (WebCore::JSDOMGlobalObject::injectedScript):
3383         * bindings/js/JSDOMGlobalObject.h:
3384         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3385         (WebCore::getDOMConstructor):
3386         * bindings/js/JSDOMWindowCustom.cpp:
3387         (WebCore::JSDOMWindow::setLocation):
3388         (WebCore::DialogHandler::dialogCreated):
3389         * bindings/js/JSDOMWindowShell.cpp:
3390         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3391         (WebCore::JSDOMWindowShell::setWindow):
3392         (WebCore::JSDOMWindowShell::markChildren):
3393         (WebCore::JSDOMWindowShell::unwrappedObject):
3394         * bindings/js/JSDOMWindowShell.h:
3395         (WebCore::JSDOMWindowShell::window):
3396         (WebCore::JSDOMWindowShell::setWindow):
3397         * bindings/js/JSDeviceMotionEventCustom.cpp:
3398         (WebCore::createAccelerationObject):
3399         (WebCore::createRotationRateObject):
3400         * bindings/js/JSEventListener.cpp:
3401         (WebCore::JSEventListener::JSEventListener):
3402         (WebCore::JSEventListener::markJSFunction):
3403         * bindings/js/JSEventListener.h:
3404         (WebCore::JSEventListener::jsFunction):
3405         * bindings/js/JSHTMLDocumentCustom.cpp:
3406         (WebCore::JSHTMLDocument::setAll):
3407         * bindings/js/JSImageConstructor.cpp:
3408         (WebCore::JSImageConstructor::JSImageConstructor):
3409         * bindings/js/JSImageDataCustom.cpp:
3410         (WebCore::toJS):
3411         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3412         (WebCore::JSJavaScriptCallFrame::scopeChain):
3413         (WebCore::JSJavaScriptCallFrame::scopeType):
3414         * bindings/js/JSNodeFilterCondition.cpp:
3415         (WebCore::JSNodeFilterCondition::markAggregate):
3416         (WebCore::JSNodeFilterCondition::acceptNode):
3417         * bindings/js/JSNodeFilterCondition.h:
3418         * bindings/js/JSNodeFilterCustom.cpp:
3419         * bindings/js/JSOptionConstructor.cpp:
3420         (WebCore::JSOptionConstructor::JSOptionConstructor):
3421         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3422         (WebCore::JSSQLResultSetRowList::item):
3423         * bindings/js/ScriptCachedFrameData.cpp:
3424         (WebCore::ScriptCachedFrameData::restore):
3425         * bindings/js/ScriptObject.cpp:
3426         (WebCore::ScriptGlobalObject::set):
3427         * bindings/js/SerializedScriptValue.cpp:
3428         (WebCore::CloneDeserializer::putProperty):
3429         * bindings/scripts/CodeGeneratorJS.pm:
3430         * bridge/qt/qt_class.cpp:
3431         (JSC::Bindings::QtClass::fallbackObject):
3432         * bridge/qt/qt_instance.cpp:
3433         (JSC::Bindings::QtInstance::QtInstance):
3434         (JSC::Bindings::QtInstance::removeCachedMethod):
3435         (JSC::Bindings::QtInstance::markAggregate):
3436         * bridge/qt/qt_instance.h:
3437         * bridge/qt/qt_runtime.cpp:
3438         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3439         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3440         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3441         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3442         * bridge/qt/qt_runtime.h:
3443         * dom/Document.h:
3444
3445 2011-01-31  Dan Winship  <danw@gnome.org>
3446
3447         Reviewed by Gustavo Noronha Silva.
3448
3449         wss (websockets ssl) support for gtk via new gio TLS support
3450         https://bugs.webkit.org/show_bug.cgi?id=50344
3451
3452         Update to use GPollableOutputStream and GTlsConnection to
3453         implement wss URLs
3454
3455         * platform/network/soup/SocketStreamHandle.h:
3456         * platform/network/soup/SocketStreamHandleSoup.cpp:
3457         (WebCore::SocketStreamHandle::SocketStreamHandle):
3458         (WebCore::SocketStreamHandle::connected):
3459         (WebCore::SocketStreamHandle::platformSend):
3460         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
3461         (WebCore::writeReadyCallback):
3462
3463 2011-01-31  Abhishek Arya  <inferno@chromium.org>
3464
3465         Reviewed by Dimitri Glazkov.
3466
3467         Check the textarea node still exists in document before casting
3468         it to HTMLTextAreaElement.
3469         https://bugs.webkit.org/show_bug.cgi?id=53429
3470
3471         Test: fast/forms/textarea-node-removed-from-document-crash.html
3472
3473         * rendering/RenderTextControlMultiLine.cpp:
3474         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
3475
3476 2011-01-27  Abhishek Arya  <inferno@chromium.org>
3477
3478         Reviewed by Dave Hyatt.
3479
3480         If beforeChild is wrapped in an anonymous table section, we need to
3481         go the parent to find it and use it before adding childs to table.
3482         https://bugs.webkit.org/show_bug.cgi?id=53276
3483
3484         We need to make sure that beforeChild's parent is "this" before calling
3485         RenderBox::addChild. The previous condition in while is too restrictive
3486         and fails to calculate the right beforeChild value when its display
3487         style is table caption.
3488         Test: fast/table/before-child-non-table-section-add-table-crash.html
3489
3490         * rendering/RenderTable.cpp:
3491         (WebCore::RenderTable::addChild):
3492
3493 2011-01-31  Shane Stephens  <shanestephens@google.com>
3494
3495         Reviewed by Simon Fraser.
3496
3497         AffineTransform::translateRight incorrectly computes a translateLeft.
3498         https://bugs.webkit.org/show_bug.cgi?id=52551
3499
3500         Removed translateRight and converted all uses to perform standard
3501         matrix multiplication.
3502
3503         No new tests because patch doesn't modify functionality.
3504
3505         * platform/graphics/transforms/AffineTransform.cpp:
3506         * platform/graphics/transforms/AffineTransform.h:
3507         (WebCore::AffineTransform::translation):
3508         * rendering/svg/RenderSVGResourceMarker.cpp:
3509         (WebCore::RenderSVGResourceMarker::localToParentTransform):
3510         * rendering/svg/RenderSVGRoot.cpp:
3511         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
3512         (WebCore::RenderSVGRoot::localToParentTransform):
3513         * rendering/svg/RenderSVGViewportContainer.cpp:
3514         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3515         * rendering/svg/SVGTextLayoutEngine.cpp:
3516         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
3517
3518 2011-01-31  Mario Sanchez Prada  <msanchez@igalia.com>
3519
3520         Reviewed by Martin Robinson.
3521
3522         [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
3523         https://bugs.webkit.org/show_bug.cgi?id=53389
3524
3525         Return FALSE when not able to set the caret at the specified offset.
3526
3527         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3528         (webkit_accessible_text_set_caret_offset): Return FALSE when the
3529         range created is NULL and adjust offset to account for list markers.
3530
3531 2011-01-28  Pavel Feldman  <pfeldman@chromium.org>
3532
3533         Reviewed by Yury Semikhatsky.
3534
3535         Web Inspector: copy HAR to clipboard instead of saving blob on export.
3536         https://bugs.webkit.org/show_bug.cgi?id=53328
3537
3538         * inspector/front-end/NetworkPanel.js:
3539         (WebInspector.NetworkPanel.prototype._exportAll):
3540         (WebInspector.NetworkPanel.prototype._exportResource):
3541
3542 2011-01-30  Pavel Feldman  <pfeldman@chromium.org>
3543
3544         Reviewed by Timothy Hatcher.
3545
3546         Web Inspector: speed up network panel rendering.
3547         https://bugs.webkit.org/show_bug.cgi?id=53397
3548
3549         * inspector/front-end/DataGrid.js:
3550         (WebInspector.DataGrid.prototype.get scrollContainer):
3551         * inspector/front-end/NetworkPanel.js:
3552         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
3553         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
3554         (WebInspector.NetworkPanel.prototype._createTable):
3555         (WebInspector.NetworkPanel.prototype._exportResource):
3556         (WebInspector.NetworkPanel.prototype._onScroll):
3557         * inspector/front-end/networkPanel.css:
3558         (.network-sidebar .data-grid.small tr.offscreen):
3559         (.network-sidebar .data-grid tr.offscreen):
3560         (.network-sidebar .data-grid tr.offscreen td):
3561
3562 2011-01-31  Peter Varga  <pvarga@webkit.org>
3563
3564         Reviewed by Andreas Kling.
3565
3566         Remove wrec from WebCore
3567         https://bugs.webkit.org/show_bug.cgi?id=53298
3568
3569         No new tests needed.
3570
3571         * Android.jscbindings.mk:
3572         * ForwardingHeaders/wrec/WREC.h: Removed.
3573         * WebCore.vcproj/WebCore.vcproj:
3574         * WebCore.vcproj/copyForwardingHeaders.cmd:
3575
3576 2011-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3577
3578         Unreviewed, rolling out r76969.
3579         http://trac.webkit.org/changeset/76969
3580         https://bugs.webkit.org/show_bug.cgi?id=53418
3581
3582         "It is causing crashes in GTK+ and Leopard bots" (Requested by
3583         alexg__ on #webkit).
3584
3585         * bridge/runtime_root.cpp:
3586         (JSC::Bindings::RootObject::invalidate):
3587         (JSC::Bindings::RootObject::addRuntimeObject):
3588         (JSC::Bindings::RootObject::removeRuntimeObject):
3589         * bridge/runtime_root.h:
3590
3591 2011-01-31  Antti Koivisto  <antti@apple.com>
3592
3593         Not reviewed.
3594
3595         Spelling.
3596
3597         * css/CSSSelectorList.h:
3598         (WebCore::CSSSelectorList::next):
3599
3600 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
3601
3602         Unreviewed. Fix Chromium compilation on Linux.
3603
3604         * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
3605         * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
3606
3607 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
3608
3609         Unreviewed. Fix Chromium compilation on Mac broken by r77101.
3610
3611         * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
3612
3613 2011-01-31  Mikhail Naganov  <mnaganov@chromium.org>
3614
3615         Reviewed by Yury Semikhatsky.
3616
3617         WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
3618
3619         https://bugs.webkit.org/show_bug.cgi?id=53309
3620
3621         * English.lproj/localizedStrings.js:
3622         * inspector/front-end/ProfilesPanel.js:
3623         (WebInspector.ProfilesPanel):
3624
3625 2011-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3626
3627         Unreviewed, fix the build with current GTK+ 3.x.
3628
3629         * plugins/gtk/gtk2xtbin.c:
3630         * plugins/gtk/gtk2xtbin.h:
3631
3632 2011-01-30  Kenichi Ishibashi  <bashi@google.com>
3633
3634         Reviewed by Kent Tamura.
3635
3636         Dangling form associated elements should not be registered on the document
3637         https://bugs.webkit.org/show_bug.cgi?id=53223
3638
3639         Adds insertedIntoDocument() and remvoedFromDocument() to
3640         FormAssociatedElement class to register the element on the document
3641         if and only if it actually inserted into (removed from) the document.
3642
3643         Test: fast/forms/dangling-form-element-crash.html
3644
3645         * html/FormAssociatedElement.cpp:
3646         (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
3647         (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
3648         (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
3649         the element to a document.
3650         (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
3651         the element from a document.
3652         * html/FormAssociatedElement.h:
3653         * html/HTMLFormControlElement.cpp:
3654         (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
3655         (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
3656         * html/HTMLFormControlElement.h:
3657         * html/HTMLObjectElement.cpp:
3658         (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
3659         FormAssociatedElement::insertedIntoDocument().
3660         (WebCore::HTMLObjectElement::removedFromDocument): Calls
3661         FormAssociatedElement::removedFromDocument().
3662
3663 2011-01-30  Csaba Osztrogon√°c  <ossy@webkit.org>
3664
3665         Unreviewed, rolling out r77098, r77099, r77100, r77109, and
3666         r77111.
3667         http://trac.webkit.org/changeset/77098
3668         http://trac.webkit.org/changeset/77099
3669         http://trac.webkit.org/changeset/77100
3670         http://trac.webkit.org/changeset/77109
3671         http://trac.webkit.org/changeset/77111
3672         https://bugs.webkit.org/show_bug.cgi?id=53219
3673
3674         Qt build is broken
3675
3676         * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
3677         * WebCore.exp.in:
3678         * bindings/js/DOMWrapperWorld.h:
3679         * bindings/js/JSAudioConstructor.cpp:
3680         (WebCore::JSAudioConstructor::JSAudioConstructor):
3681         * bindings/js/JSDOMBinding.cpp:
3682         (WebCore::markDOMNodesForDocument):
3683         (WebCore::markDOMObjectWrapper):
3684         (WebCore::markDOMNodeWrapper):
3685         * bindings/js/JSDOMGlobalObject.cpp:
3686         (WebCore::JSDOMGlobalObject::markChildren):
3687         (WebCore::JSDOMGlobalObject::setInjectedScript):
3688         (WebCore::JSDOMGlobalObject::injectedScript):
3689         * bindings/js/JSDOMGlobalObject.h:
3690         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3691         (WebCore::getDOMConstructor):
3692         * bindings/js/JSDOMWindowCustom.cpp:
3693         (WebCore::JSDOMWindow::setLocation):
3694         (WebCore::DialogHandler::dialogCreated):
3695         * bindings/js/JSDOMWindowShell.cpp:
3696         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3697         (WebCore::JSDOMWindowShell::setWindow):
3698         (WebCore::JSDOMWindowShell::markChildren):
3699         (WebCore::JSDOMWindowShell::unwrappedObject):
3700         * bindings/js/JSDOMWindowShell.h:
3701         (WebCore::JSDOMWindowShell::window):
3702         (WebCore::JSDOMWindowShell::setWindow):
3703         * bindings/js/JSDeviceMotionEventCustom.cpp:
3704         (WebCore::createAccelerationObject):
3705         (WebCore::createRotationRateObject):
3706         * bindings/js/JSEventListener.cpp:
3707         (WebCore::JSEventListener::JSEventListener):
3708         (WebCore::JSEventListener::markJSFunction):
3709         * bindings/js/JSEventListener.h:
3710         (WebCore::JSEventListener::jsFunction):
3711         * bindings/js/JSHTMLDocumentCustom.cpp:
3712         (WebCore::JSHTMLDocument::setAll):
3713         * bindings/js/JSImageConstructor.cpp:
3714         (WebCore::JSImageConstructor::JSImageConstructor):
3715         * bindings/js/JSImageDataCustom.cpp:
3716         (WebCore::toJS):
3717         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3718         (WebCore::JSJavaScriptCallFrame::scopeChain):
3719         (WebCore::JSJavaScriptCallFrame::scopeType):
3720         * bindings/js/JSNodeFilterCondition.cpp:
3721         (WebCore::JSNodeFilterCondition::markAggregate):
3722         (WebCore::JSNodeFilterCondition::acceptNode):
3723         * bindings/js/JSNodeFilterCondition.h:
3724         * bindings/js/JSNodeFilterCustom.cpp:
3725         * bindings/js/JSOptionConstructor.cpp:
3726         (WebCore::JSOptionConstructor::JSOptionConstructor):
3727         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3728         (WebCore::JSSQLResultSetRowList::item):
3729         * bindings/js/ScriptCachedFrameData.cpp:
3730         (WebCore::ScriptCachedFrameData::restore):
3731         * bindings/js/ScriptObject.cpp:
3732         (WebCore::ScriptGlobalObject::set):
3733         * bindings/js/SerializedScriptValue.cpp:
3734         (WebCore::CloneDeserializer::putProperty):
3735         * bindings/scripts/CodeGeneratorJS.pm:
3736         * bridge/qt/qt_instance.cpp:
3737         (JSC::Bindings::QtInstance::QtInstance):
3738         (JSC::Bindings::QtInstance::removeCachedMethod):
3739         (JSC::Bindings::QtInstance::markAggregate):
3740         * bridge/qt/qt_instance.h:
3741         * bridge/qt/qt_runtime.cpp:
3742         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3743         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3744         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3745         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3746         * bridge/qt/qt_runtime.h:
3747         * bridge/runtime_root.cpp:
3748         (JSC::Bindings::RootObject::invalidate):
3749         * bridge/runtime_root.h:
3750         * dom/Document.h:
3751
3752 2011-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3753
3754         Unreviewed, rolling out r77107.
3755         http://trac.webkit.org/changeset/77107
3756         https://bugs.webkit.org/show_bug.cgi?id=53412
3757
3758         Caused 5 new form-related test crashes (Requested by smfr on
3759         #webkit).
3760
3761         * css/CSSSelector.cpp:
3762         (WebCore::CSSSelector::pseudoId):
3763         (WebCore::nameToPseudoTypeMap):
3764         (WebCore::CSSSelector::extractPseudoType):
3765         * css/CSSSelector.h:
3766         * html/HTMLProgressElement.cpp:
3767         (WebCore::HTMLProgressElement::parseMappedAttribute):
3768         (WebCore::HTMLProgressElement::attach):
3769         * html/HTMLProgressElement.h:
3770         * rendering/RenderProgress.cpp:
3771         (WebCore::RenderProgress::~RenderProgress):
3772         (WebCore::RenderProgress::updateFromElement):
3773         (WebCore::RenderProgress::layoutParts):
3774         (WebCore::RenderProgress::shouldHaveParts):
3775         * rendering/RenderProgress.h:
3776         * rendering/style/RenderStyleConstants.h:
3777
3778 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
3779
3780         Reviewed by Sam Weinig.
3781
3782         Enhance ShadowBlur to render inset box shadows
3783         https://bugs.webkit.org/show_bug.cgi?id=51567
3784         
3785         Use ShadowBlur for inset box-shadows with CG. It 
3786         currently lacks a tiled version, but is still much
3787         faster than CG shadows.
3788
3789         Test: fast/box-shadow/inset-box-shadow-radius.html
3790
3791         * platform/graphics/ShadowBlur.cpp:
3792         * platform/graphics/ShadowBlur.h: New method for inset
3793         shadows.
3794         (WebCore::ShadowBlur::drawInsetShadow): 
3795
3796         * platform/graphics/GraphicsContext.cpp: #ifdef out
3797         fillRectWithRoundedHole() for CG.
3798
3799         * platform/graphics/cg/GraphicsContextCG.cpp:
3800         (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
3801         a shadow with a radius > 0, use ShadowBlur.
3802
3803 2011-01-28  Kenneth Russell  <kbr@google.com>
3804
3805         Reviewed by Chris Marrin.
3806
3807         WebGL shows PNG Textures with indexed colors too dark
3808         https://bugs.webkit.org/show_bug.cgi?id=47477
3809
3810         Properly handle indexed PNG images by re-rendering them as RGBA
3811         images before upload. Verified with this layout test and the test
3812         cases from bugs 47477 and 53269.
3813
3814         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3815         (WebCore::GraphicsContext3D::getImageData):
3816
3817 2011-01-27  MORITA Hajime  <morrita@google.com>
3818
3819         Reviewed by Dimitri Glazkov.
3820         
3821         Convert <progress> shadow DOM to a DOM-based shadow.
3822         https://bugs.webkit.org/show_bug.cgi?id=50660
3823
3824         * Removed RenderProgress::m_valuePart, moved the shadow node
3825           to the shadow root of HTMLProgressElement.
3826         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3827           ProgressBarValueElement is defined only for overriding
3828           shadowPseudoId().
3829         
3830         No new tests. No behavioral change.
3831
3832         * css/CSSSelector.cpp:
3833         (WebCore::CSSSelector::pseudoId):
3834         (WebCore::nameToPseudoTypeMap):
3835         (WebCore::CSSSelector::extractPseudoType):
3836         * css/CSSSelector.h:
3837         * html/HTMLProgressElement.cpp:
3838         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3839         (WebCore::ProgressBarValueElement::shadowPseudoId):
3840         (WebCore::ProgressBarValueElement::create):
3841         (WebCore::HTMLProgressElement::parseMappedAttribute):
3842         (WebCore::HTMLProgressElement::attach):
3843         (WebCore::HTMLProgressElement::valuePart):
3844         (WebCore::HTMLProgressElement::didElementStateChange):
3845         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3846         * html/HTMLProgressElement.h:
3847         * rendering/RenderProgress.cpp:
3848         (WebCore::RenderProgress::~RenderProgress):
3849         (WebCore::RenderProgress::updateFromElement):
3850         (WebCore::RenderProgress::layoutParts):
3851         (WebCore::RenderProgress::shouldHaveParts):
3852         (WebCore::RenderProgress::valuePart):
3853         * rendering/RenderProgress.h:
3854         * rendering/style/RenderStyleConstants.h:
3855
3856 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
3857
3858         Reviewed by Ariya Hidayat.
3859
3860         Enhance ShadowBlur to render inset box shadows; Part 1.
3861         https://bugs.webkit.org/show_bug.cgi?id=51567
3862         
3863         Add a new method to GraphicsContext to render a rect with a rounded hole,
3864         for use by inset box-shadow code. Knowledge that we're rendering a rounded
3865         hole will enable ShadowBlur to be used here in future.
3866
3867         * platform/graphics/GraphicsContext.cpp:
3868         (WebCore::GraphicsContext::fillRectWithRoundedHole):
3869         * platform/graphics/GraphicsContext.h:
3870         * rendering/RenderBoxModelObject.cpp:
3871         (WebCore::RenderBoxModelObject::paintBoxShadow):
3872
3873 2011-01-23  MORITA Hajime  <morrita@google.com>
3874
3875         Reviewed by Eric Seidel.
3876
3877         REGRESSION: Inset shadow with too large border radius misses rounded corner.
3878         https://bugs.webkit.org/show_bug.cgi?id=52800
3879
3880         The refactoring on r76083 broke the invariant between border
3881         IntRect and its radii because RoundedIntRect::setRect() is called
3882         after getRoundedInnerBorderWithBorderWidths(), which enforces the
3883         invariant. Th rounded-rect clipping code verifies the invariant,
3884         and discard the invalid radii, that results broken paintings.
3885         
3886         This change moved setRect() before
3887         getRoundedInnerBorderWithBorderWidths() not to modify the valid
3888         RoundedIntRect value.
3889         
3890         Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
3891
3892         * rendering/RenderBoxModelObject.cpp:
3893         (WebCore::RenderBoxModelObject::paintBoxShadow):
3894
3895 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
3896
3897         Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
3898         vcproj.
3899
3900         * WebCore.vcproj/WebCore.vcproj:
3901
3902 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
3903
3904         Reviewed by Dan Bernstein.
3905
3906         -webkit-box-shadow causes awful scroll/resize/redraw performance
3907         https://bugs.webkit.org/show_bug.cgi?id=22102
3908         
3909         Use ShadowBlur for CG, whe rendering shadows on rects and
3910         rounded rects outside of canvas.
3911         
3912         CG shadows with a radius of more than 8px do not render
3913         correctly. We preserve this incorrect rendering by compensating
3914         for it when rending -webkit-box-shadow. Calls that should use
3915         this deprecated radius behavior now use setLegacyShadow().
3916
3917         Test: fast/box-shadow/box-shadow-transformed.html
3918         
3919         * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
3920         for canvas, to indicate that it should use the deprecated radius
3921         behavior.
3922         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
3923         (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
3924         (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
3925         
3926         * platform/graphics/GraphicsContext.cpp:
3927         (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
3928         
3929         * platform/graphics/GraphicsContext.h:
3930         (WebCore::GraphicsContextState::GraphicsContextState): Add a 
3931         shadowsUseLegacyRadius bit to the state.
3932         
3933         * platform/graphics/cg/GraphicsContextCG.cpp:
3934         (WebCore::radiusToLegacyRadius): Map from the actual radius to one
3935         that approximates CG behavior.
3936         (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
3937         with a non-zero blur radius.
3938         (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
3939         (WebCore::GraphicsContext::fillRoundedRect): Ditto.
3940         (WebCore::GraphicsContext::setPlatformShadow): Comment.
3941
3942         * rendering/RenderBoxModelObject.cpp:
3943         (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
3944         for -webkit-box-shadow.
3945
3946         * platform/graphics/ShadowBlur.cpp: 
3947         (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
3948         by rounding up the blur radius.
3949         (WebCore::ShadowBlur::drawRectShadow): Ditto
3950         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
3951
3952 2011-01-30  Oliver Hunt  <oliver@apple.com>
3953
3954         Try to fix Qt build (again).
3955
3956         * bridge/qt/qt_runtime.cpp:
3957         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3958         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3959
3960 2011-01-30  Oliver Hunt  <oliver@apple.com>
3961
3962         Try to fix Qt build.
3963
3964         * bridge/qt/qt_instance.cpp:
3965         (JSC::Bindings::QtInstance::QtInstance):
3966         (JSC::Bindings::QtInstance::removeCachedMethod):
3967         (JSC::Bindings::QtInstance::markAggregate):
3968         * bridge/qt/qt_instance.h:
3969
3970 2011-01-30  Oliver Hunt  <oliver@apple.com>
3971
3972         Convert markstack to a slot visitor API
3973         https://bugs.webkit.org/show_bug.cgi?id=53219
3974
3975         rolling r77006 and r77020 back in.
3976
3977         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
3978         * WebCore.exp.in:
3979         * bindings/js/DOMWrapperWorld.h:
3980         (WebCore::DOMWrapperWorld::globalData):
3981         * bindings/js/JSAudioConstructor.cpp:
3982         (WebCore::JSAudioConstructor::JSAudioConstructor):
3983         * bindings/js/JSDOMBinding.cpp:
3984         (WebCore::markDOMNodesForDocument):
3985         (WebCore::markDOMObjectWrapper):
3986         (WebCore::markDOMNodeWrapper):
3987         * bindings/js/JSDOMGlobalObject.cpp:
3988         (WebCore::JSDOMGlobalObject::markChildren):
3989         (WebCore::JSDOMGlobalObject::setInjectedScript):
3990         (WebCore::JSDOMGlobalObject::injectedScript):
3991         * bindings/js/JSDOMGlobalObject.h:
3992         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3993         (WebCore::getDOMConstructor):
3994         * bindings/js/JSDOMWindowCustom.cpp:
3995         (WebCore::JSDOMWindow::setLocation):
3996         (WebCore::DialogHandler::dialogCreated):
3997         * bindings/js/JSDOMWindowShell.cpp:
3998         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3999         (WebCore::JSDOMWindowShell::setWindow):
4000         (WebCore::JSDOMWindowShell::markChildren):
4001         (WebCore::JSDOMWindowShell::unwrappedObject):
4002         * bindings/js/JSDOMWindowShell.h:
4003         (WebCore::JSDOMWindowShell::window):
4004         (WebCore::JSDOMWindowShell::setWindow):
4005         * bindings/js/JSDeviceMotionEventCustom.cpp:
4006         (WebCore::createAccelerationObject):
4007         (WebCore::createRotationRateObject):
4008         * bindings/js/JSEventListener.cpp:
4009         (WebCore::JSEventListener::JSEventListener):
4010         (WebCore::JSEventListener::markJSFunction):
4011         * bindings/js/JSEventListener.h:
4012         (WebCore::JSEventListener::jsFunction):
4013         * bindings/js/JSHTMLDocumentCustom.cpp:
4014         (WebCore::JSHTMLDocument::setAll):
4015         * bindings/js/JSImageConstructor.cpp:
4016         (WebCore::JSImageConstructor::JSImageConstructor):
4017         * bindings/js/JSImageDataCustom.cpp:
4018         (WebCore::toJS):
4019         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4020         (WebCore::JSJavaScriptCallFrame::scopeChain):
4021         (WebCore::JSJavaScriptCallFrame::scopeType):
4022         * bindings/js/JSNodeFilterCondition.cpp:
4023         (WebCore::JSNodeFilterCondition::markAggregate):
4024         (WebCore::JSNodeFilterCondition::acceptNode):
4025         * bindings/js/JSNodeFilterCondition.h:
4026         * bindings/js/JSNodeFilterCustom.cpp:
4027         * bindings/js/JSOptionConstructor.cpp:
4028         (WebCore::JSOptionConstructor::JSOptionConstructor):
4029         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4030         (WebCore::JSSQLResultSetRowList::item):
4031         * bindings/js/ScriptCachedFrameData.cpp:
4032         (WebCore::ScriptCachedFrameData::restore):
4033         * bindings/js/ScriptObject.cpp:
4034         (WebCore::ScriptGlobalObject::set):
4035         * bindings/js/SerializedScriptValue.cpp:
4036         (WebCore::CloneDeserializer::putProperty):
4037         * bindings/scripts/CodeGeneratorJS.pm:
4038         * bridge/qt/qt_runtime.cpp:
4039         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
4040         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
4041         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
4042         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
4043         * bridge/qt/qt_runtime.h:
4044         * bridge/runtime_root.cpp:
4045         (JSC::Bindings::RootObject::invalidate):
4046         * bridge/runtime_root.h:
4047         * dom/Document.h:
4048
4049 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
4050
4051         Reviewed by Sam Weinig.
4052
4053         Make ContextShadow code cross-platform
4054         https://bugs.webkit.org/show_bug.cgi?id=51312
4055
4056         Add a new class, ShadowBlur, that contains most of the
4057         code from ContextShadow, but is fully cross-platform.
4058         It depends on one new method, GraphicsContext::clipBounds(),
4059         which platforms will have to implement.
4060         
4061         Add ShadowBlur to the Mac Xcode project, but don't use it
4062         anywhere yet.
4063
4064         * WebCore.xcodeproj/project.pbxproj:
4065         * platform/graphics/GraphicsContext.cpp:
4066         (WebCore::GraphicsContext::clipBounds):
4067         * platform/graphics/GraphicsContext.h:
4068         * platform/graphics/ShadowBlur.cpp: Added.
4069         (WebCore::roundUpToMultipleOf32):
4070         (WebCore::ScratchBuffer::ScratchBuffer):
4071         (WebCore::ScratchBuffer::getScratchBuffer):
4072         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
4073         (WebCore::ScratchBuffer::timerFired):
4074         (WebCore::ScratchBuffer::clearScratchBuffer):
4075         (WebCore::ScratchBuffer::shared):
4076         (WebCore::ShadowBlur::ShadowBlur):
4077         (WebCore::ShadowBlur::blurLayerImage):
4078         (WebCore::ShadowBlur::adjustBlurDistance):
4079         (WebCore::ShadowBlur::calculateLayerBoundingRect):
4080         (WebCore::ShadowBlur::beginShadowLayer):
4081         (WebCore::ShadowBlur::endShadowLayer):
4082         (WebCore::ShadowBlur::drawRectShadow):
4083         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
4084         (WebCore::ShadowBlur::drawRectShadowWithTiling):
4085         (WebCore::ShadowBlur::clipBounds):
4086         * platform/graphics/ShadowBlur.h: Added.
4087         (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
4088         (WebCore::ShadowBlur::shadowsIgnoreTransforms):
4089         * platform/graphics/cg/GraphicsContextCG.cpp:
4090         (WebCore::GraphicsContext::clipBounds):
4091
4092 2011-01-29  Simon Fraser  <simon.fraser@apple.com>
4093
4094         Reviewed by Dan Bernstein.
4095
4096         CSS3 gradients with em-based stops fail to repaint when font size changes
4097         https://bugs.webkit.org/show_bug.cgi?id=51845
4098         
4099         Mark as uncacheable gradidients whose color stops depend on font size,
4100         and don't attempt