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