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