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