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