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