1 2011-02-03 Dirk Pranke <dpranke@chromium.org>
3 Unreviewed, rolling out r77562.
4 http://trac.webkit.org/changeset/77562
5 https://bugs.webkit.org/show_bug.cgi?id=53630
7 broke chromium mac build
9 * WebCore.gyp/WebCore.gyp:
10 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
12 2011-02-03 Adam Barth <abarth@webkit.org>
14 Reviewed by Daniel Bates.
16 XSS Auditor severely affects loading performance after submitting a large form
17 https://bugs.webkit.org/show_bug.cgi?id=49845
19 Switch over from the XSSAuditor to the XSSFilter, improving performance
22 * html/parser/XSSFilter.cpp:
23 (WebCore::XSSFilter::filterToken):
24 * page/XSSAuditor.cpp:
25 (WebCore::XSSAuditor::isEnabled):
27 2011-02-03 Dirk Pranke <dpranke@chromium.org>
29 Unreviewed, rolling out r77567.
30 http://trac.webkit.org/changeset/77567
31 https://bugs.webkit.org/show_bug.cgi?id=53468
33 broke chromium linux svg, canvas tests, possibly win also?
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):
43 2011-02-02 MORITA Hajime <morrita@google.com>
45 Reviewed by Dimitri Glazkov.
47 Refactoring: <progress> should not use ShadowElement
48 https://bugs.webkit.org/show_bug.cgi?id=53583
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
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.
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):
87 2011-02-03 Jia Pu <jpu@apple.com>
89 Reversion should not be marked as misspelled.
90 https://bugs.webkit.org/show_bug.cgi?id=53255
92 This patch includes fix for reported bug, and also some housekeeping changes.
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
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.
110 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
112 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
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.
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.
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.
153 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
155 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
156 were broken by relocated WebCore directory.
158 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
160 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
162 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
164 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
166 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
168 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
170 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
172 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
174 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
176 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
177 were broken by relocated WebCore directory.
179 * rendering/InlineTextBox.cpp:
180 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
182 2011-02-03 Abhishek Arya <inferno@chromium.org>
184 Unreviewed, qt build fix.
186 * rendering/RenderBlock.cpp:
187 (WebCore::RenderBlock::removeFloatingObject):
189 2011-02-03 Brian Salomon <bsalomon@google.com>
191 Reviewed by James Robinson.
193 Handle non-raster backed images in getUnmultipliedImageData()
194 https://bugs.webkit.org/show_bug.cgi?id=53468
196 No new tests. Existing canvas tests sufficient
197 LayoutTests/canvas/philip/...
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):
207 2011-02-03 Abhishek Arya <inferno@chromium.org>
209 Reviewed by James Robinson.
211 Enforce more limits on root inline boxes height calculations.
212 https://bugs.webkit.org/show_bug.cgi?id=53729
214 Test: fast/overflow/overflow-height-float-not-removed-crash.html
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.
223 2011-02-03 David Levin <levin@chromium.org>
225 Reviewed by Adam Barth and Oliver Hunt.
227 Worker.importScript() should clean errors for cross origin imports.
228 https://bugs.webkit.org/show_bug.cgi?id=52871
230 Test: http/tests/workers/worker-importScriptsOnError.html
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
250 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
251 * workers/WorkerScriptLoader.h:
253 2011-02-03 Mark Mentovai <mark@chromium.org>
255 Reviewed by Dimitri Glazkov.
257 Chromium GYP build fix.
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.
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.
271 The build now includes a postbuild step to prevent
272 http://crbug.com/71537 from regressing again. The build will fail upon
275 https://bugs.webkit.org/show_bug.cgi?id=53630
277 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
278 direct_dependent_settings as needed, add the check_objc_rename
280 * WebCore.gyp/mac/check_objc_rename.sh: Added.
282 2011-02-03 Adam Barth <abarth@webkit.org>
284 Reviewed by Eric Seidel.
286 Make XSSFilter go fast by adding a SuffixTree
287 https://bugs.webkit.org/show_bug.cgi?id=53665
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).
292 * html/parser/XSSFilter.cpp:
293 (WebCore::XSSFilter::init):
294 (WebCore::XSSFilter::isContainedInRequest):
295 * html/parser/XSSFilter.h:
297 2011-02-03 Mihai Parparita <mihaip@chromium.org>
299 Reviewed by Alexey Proskuryakov.
301 REGRESSION (r77355): Page cache layout tests crash
302 https://bugs.webkit.org/show_bug.cgi?id=53648
304 Test: fast/events/pagehide-timeout.html
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
310 * history/CachedFrame.cpp:
311 (WebCore::CachedFrame::CachedFrame):
313 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
315 Reviewed by Nate Chapin.
317 SerializedScriptValue should not require v8 to create undefined and null values
318 https://bugs.webkit.org/show_bug.cgi?id=53730
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
325 This is necessary because these methods are called by IndexedDB in the browser
326 process where v8 is not spun up.
328 No functionality changed and not possible to test.
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:
339 2011-02-03 Beth Dakin <bdakin@apple.com>
341 Reviewed by Sam Weinig.
343 Fix for <rdar://problem/8944544> Ability to animate track
344 for WKPainter scrollers
346 Two new WebKitSystemInterface functions.
348 * platform/mac/WebCoreSystemInterface.h:
349 * platform/mac/WebCoreSystemInterface.mm:
351 Use Scrollbar::convertFromContainingView() to return the right point.
352 * platform/mac/ScrollAnimatorMac.mm:
353 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
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:]):
363 Scrollbars need invalodating after the overlay state changes.
364 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
366 2011-02-03 Sam Weinig <sam@webkit.org>
368 Reviewed by Beth Dakin.
370 Scroll thumb jumps to top when resizing horizontally.
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.
377 2011-02-03 Justin Schuh <jschuh@chromium.org>
379 Reviewed by Dirk Schulze.
381 startAnimations should use a local, RefCounted Vector.
382 https://bugs.webkit.org/show_bug.cgi?id=53458
384 Test: svg/custom/use-animation-in-fill.html
386 * svg/SVGDocumentExtensions.cpp:
387 (WebCore::SVGDocumentExtensions::startAnimations):
389 2011-02-03 Adam Barth <abarth@webkit.org>
391 Reviewed by Daniel Bates.
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
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.
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:
412 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
414 Reviewed by Kenneth Russell.
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
421 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
424 * platform/graphics/chromium/LayerRendererChromium.cpp:
425 (WebCore::LayerRendererChromium::drawLayer):
427 2011-02-03 Dan Bernstein <mitz@apple.com>
429 Reviewed by Anders Carlsson.
431 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
432 https://bugs.webkit.org/show_bug.cgi?id=53709
434 Covered by rendering of fast/text/emphasis-vertical.html
436 * platform/graphics/mac/SimpleFontDataMac.mm:
437 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
440 2011-02-02 Levi Weintraub <leviw@chromium.org>
442 Reviewed by Ryosuke Niwa.
444 Moving cursor down in table cycles at the end of a row
445 https://bugs.webkit.org/show_bug.cgi?id=50012
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.
450 Test: editing/selection/move-by-line-cycles-in-table.html
452 * editing/visible_units.cpp:
453 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
456 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
458 Reviewed by Pavel Feldman.
460 Web Inspector: remove dead code related to changes panel.
461 https://bugs.webkit.org/show_bug.cgi?id=53688
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:
474 2011-02-02 Sam Weinig <sam@webkit.org>
476 Reviewed by Anders Carlsson.
478 Add notification of the end of a rubber band.
479 <rdar://problem/8940648>
482 Add additional exprots.
484 * page/ChromeClient.h:
485 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
486 * page/FrameView.cpp:
487 (WebCore::FrameView::didCompleteRubberBand):
489 * platform/ScrollView.cpp:
490 (WebCore::ScrollView::didCompleteRubberBand):
491 * platform/ScrollView.h:
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.
502 * platform/mac/ScrollAnimatorMac.mm:
503 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
504 Call the new hook when the rubberband ends.
506 2011-02-02 Evan Martin <evan@chromium.org>
508 Reviewed by Tony Chang.
510 [chromium] complex joining characters positioned in wrong place
511 https://bugs.webkit.org/show_bug.cgi?id=53637
513 Provide the correct font metrics to Harfbuzz related to the font design space.
514 There are used in some fonts for GPOS positioning.
516 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
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):
528 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
530 Reviewed by Kent Tamura.
532 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
533 https://bugs.webkit.org/show_bug.cgi?id=53634
535 Test: fast/dom/HTMLInputElement/input-slider-update.html
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
545 * html/RangeInputType.h: Added def.
547 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
549 Reviewed by Pavel Feldman.
551 Web Inspector: do not share source frames between resources panel and scripts panel.
552 https://bugs.webkit.org/show_bug.cgi?id=53584
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).
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):
573 2011-02-03 Simon Fraser <simon.fraser@apple.com>
577 * platform/graphics/ShadowBlur.cpp:
578 (WebCore::ShadowBlur::blurLayerImage):
580 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
582 Reviewed by Pavel Feldman.
584 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
585 https://bugs.webkit.org/show_bug.cgi?id=53592
587 In JSC there is no limit, thus 'undefined' value is returned.
588 For V8, the limit reported by the VM is returned.
590 * Android.jscbindings.mk:
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):
610 (WebCore::MemoryInfo::jsHeapSizeLimit):
611 * page/MemoryInfo.idl:
613 2011-01-27 Philippe Normand <pnormand@igalia.com>
615 Reviewed by Martin Robinson.
617 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
618 https://bugs.webkit.org/show_bug.cgi?id=53125
620 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
621 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
623 2011-02-03 Simon Fraser <simon.fraser@apple.com>
625 Reviewed by Sam Weinig.
627 ShadowBlur radius for CSS shadows is slightly too big
628 https://bugs.webkit.org/show_bug.cgi?id=53660
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.
634 Fix with a small fudge factor to reduce the kernel diameter slightly
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.
641 * platform/graphics/ShadowBlur.cpp:
642 (WebCore::ShadowBlur::blurLayerImage):
643 (WebCore::ShadowBlur::drawRectShadowWithTiling):
645 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
647 Reviewed by Pavel Feldman.
649 Web Inspector: introduce new api for managing JavaScript breakpoints.
650 https://bugs.webkit.org/show_bug.cgi?id=53235
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.
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.
659 * bindings/js/ScriptDebugServer.cpp:
660 (WebCore::ScriptDebugServer::setBreakpoint):
661 (WebCore::ScriptDebugServer::removeBreakpoint):
662 * bindings/js/ScriptDebugServer.h:
663 * bindings/v8/DebuggerScript.js:
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:
719 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
721 Reviewed by Dirk Schulze.
723 small text which is scaled to be large renders pixelated
724 https://bugs.webkit.org/show_bug.cgi?id=12448
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
729 misplaced text in SVG
730 https://bugs.webkit.org/show_bug.cgi?id=17053
732 Don't render very small (but zoomed) text inside SVG
733 https://bugs.webkit.org/show_bug.cgi?id=19393
735 Tiny fonts scaled up end up too large in Safari
736 https://bugs.webkit.org/show_bug.cgi?id=20192
738 Stretched SVG Text has awful glyph spacing
739 https://bugs.webkit.org/show_bug.cgi?id=21774
741 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
742 https://bugs.webkit.org/show_bug.cgi?id=49846
744 [Gtk] Text height in zoomed SVG is 1px too high
745 https://bugs.webkit.org/show_bug.cgi?id=50313
747 SVG text smaller than 0.5px not displayed properly
748 https://bugs.webkit.org/show_bug.cgi?id=50528
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.
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>
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.)
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.
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)
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))
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:
798 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
800 Reviewed by Yury Semikhatsky.
802 Web Inspector: resources panel doesn't show frames after reload.
803 https://bugs.webkit.org/show_bug.cgi?id=53430
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):
814 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
816 Reviewed by Pavel Feldman.
818 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
819 https://bugs.webkit.org/show_bug.cgi?id=53492
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):
851 2011-02-03 Adam Barth <abarth@webkit.org>
853 Reviewed by Daniel Bates.
855 Teach XSSFilter about data URLs
856 https://bugs.webkit.org/show_bug.cgi?id=53662
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.
861 Test: http/tests/security/xssAuditor/data-urls-work.html
863 * html/parser/XSSFilter.cpp:
864 (WebCore::XSSFilter::init):
865 (WebCore::XSSFilter::filterToken):
867 2011-02-02 Chris Evans <cevans@chromium.org>
869 Reviewed by Darin Fisher.
871 window.find() can fail when switching case sensitivity
872 https://bugs.webkit.org/show_bug.cgi?id=53654
874 Reset the pattern to a safe one when done, to avoid usearch_reset()
875 indirectly touching the old, stale text pointer.
877 Test: fast/text/find-window.html
879 * editing/TextIterator.cpp:
880 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
882 2011-02-02 Adam Barth <abarth@webkit.org>
884 Reviewed by Daniel Bates.
886 Teach XSSFilter that <param> elements can contain URLs
887 https://bugs.webkit.org/show_bug.cgi?id=53652
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.
895 http/tests/security/xssAuditor/object-*
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:
909 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
911 Reviewed by David Levin.
913 GCC compiler on ARM issues bogus warnings and fails to compile.
914 https://bugs.webkit.org/show_bug.cgi?id=53620
916 Despite warnings explicitly being disallowed (-Wno-uninitialized),
917 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
919 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
921 The fix is to add an extra condition, which somehow pacifies the compiler.
923 * css/CSSPrimitiveValue.cpp:
924 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
926 2011-02-02 Adam Barth <abarth@webkit.org>
928 Reviewed by Daniel Bates.
930 Teach XSSFilter about X-XSS-Protection
931 https://bugs.webkit.org/show_bug.cgi?id=53640
933 This patch causes us to pass:
934 http/tests/security/xssAuditor/full-block-*
935 http/tests/security/xssAuditor/no-protection-script-tag.html
937 * html/parser/XSSFilter.cpp:
938 (WebCore::XSSFilter::XSSFilter):
939 (WebCore::XSSFilter::init):
940 (WebCore::XSSFilter::filterToken):
941 * html/parser/XSSFilter.h:
943 2011-02-02 Adam Barth <abarth@webkit.org>
945 Reviewed by Daniel Bates.
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
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.
956 http/tests/security/xssAuditor/javascript-link*
958 * html/parser/XSSFilter.cpp:
959 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
961 2011-02-02 Dan Bernstein <mitz@apple.com>
963 Reviewed by Sam Weinig.
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
968 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
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.
976 2011-02-02 Sam Weinig <sam@webkit.org>
978 Reviewed by Dan Bernstein.
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.
984 * platform/ScrollView.cpp:
985 (WebCore::ScrollView::calculateOverhangAreasForPainting):
987 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
989 Reviewed by Nate Chapin.
991 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
992 https://bugs.webkit.org/show_bug.cgi?id=52722
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.
998 There should be no behavior change.
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:
1014 2011-02-02 Mark Rowe <mrowe@apple.com>
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
1024 2011-02-02 Adam Barth <abarth@webkit.org>
1026 Reviewed by Daniel Bates.
1028 Teach XSSFilter about JavaScript URLs
1029 https://bugs.webkit.org/show_bug.cgi?id=53635
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.
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*
1040 * html/parser/XSSFilter.cpp:
1041 (WebCore::HTMLNames::containsJavaScriptURL):
1042 (WebCore::XSSFilter::filterTokenInitial):
1043 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1044 * html/parser/XSSFilter.h:
1046 2011-02-02 Dan Bernstein <mitz@apple.com>
1048 Reviewed by Sam Weinig, even though this is just a...
1052 * platform/mac/ScrollAnimatorMac.mm:
1053 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1055 2011-02-02 Mark Rowe <mrowe@apple.com>
1057 Reviewed by Beth Dakin.
1059 <rdar://problem/8952012> Crash on launch inside scrollbar code.
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.
1065 * platform/mac/ScrollAnimatorMac.mm:
1066 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1067 * platform/mac/ScrollbarThemeMac.mm:
1068 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1070 2011-02-02 Beth Dakin <bdakin@apple.com>
1076 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1078 Unreviewed WinCE build fix for r77397.
1080 * page/wince/FrameWinCE.cpp:
1081 (WebCore::computePageRectsForFrame):
1083 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1085 Unreviewed WinCE build fix for r77398.
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):
1102 2011-02-02 Jian Li <jianli@chromium.org>
1104 Reviewed by Kenneth Russell.
1106 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1107 https://bugs.webkit.org/show_bug.cgi?id=53559
1109 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1111 * html/canvas/DataView.h:
1112 (WebCore::DataView::beyondRange):
1114 2011-02-02 Sam Weinig <sam@webkit.org>
1116 Reviewed by Beth Dakin.
1118 Add ChromeClient function to paint custom overhang areas.
1119 https://bugs.webkit.org/show_bug.cgi?id=53639
1122 (WebCore::ChromeClient::paintCustomOverhangArea):
1123 * page/ChromeClient.h:
1124 Add ChromeClient function.
1126 * page/FrameView.cpp:
1127 (WebCore::FrameView::paintOverhangAreas):
1129 Call out the the ChromeClient, call ScrollView base implementation
1130 if the ChromeClient returns false.
1132 * platform/ScrollView.cpp:
1133 (WebCore::ScrollView::paintOverhangAreas):
1134 * platform/ScrollView.h:
1135 Add dirty rect for use when painting overhang areas.
1137 2011-02-02 Peter Kasting <pkasting@google.com>
1139 Not reviewed, build fix.
1141 Fix compile after r77427.
1142 https://bugs.webkit.org/show_bug.cgi?id=53455
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):
1157 2011-02-02 Peter Kasting <pkasting@google.com>
1159 Reviewed by David Levin.
1161 Clean up ImageDecoder's comments (remove/trim/clarify).
1162 https://bugs.webkit.org/show_bug.cgi?id=53455
1164 This also renames or eliminates a couple of functions for clarity, and
1165 switches a couple erroneous strncmp() calls to memcmp().
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:
1203 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1205 [chromium] Adding support for reflections to the accelerated
1207 https://bugs.webkit.org/show_bug.cgi?id=53179
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
1220 Tests: Covered by existing layout tests in compositing/reflections.
1221 Please see above for exceptions.
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):
1242 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1244 Reviewed by Tony Chang.
1246 [Chromium] Select popup with padding has white strip on right
1247 https://bugs.webkit.org/show_bug.cgi?id=53602
1249 No new tests as this change restores old behavior.
1251 * platform/chromium/PopupMenuChromium.cpp:
1252 (WebCore::PopupListBox::layout):
1254 2011-02-02 Beth Dakin <bdakin@apple.com>
1256 Reviewed by Mark Rowe.
1258 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1259 1 crash in WebProcess at com.apple.WebCore:
1260 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
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):
1268 2011-02-02 Zhenyao Mo <zmo@google.com>
1270 Reviewed by Kenneth Russell.
1272 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1273 https://bugs.webkit.org/show_bug.cgi?id=53626
1275 * html/canvas/WebGLRenderingContext.cpp:
1276 (WebCore::WebGLRenderingContext::bufferData):
1277 (WebCore::WebGLRenderingContext::bufferSubData):
1279 2011-02-02 Jeff Miller <jeffm@apple.com>
1281 Reviewed by Darin Adler and Steve Falkenburg.
1283 Add DerivedSources.make to some Visual Studio projects
1284 https://bugs.webkit.org/show_bug.cgi?id=53607
1286 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1288 2011-02-02 Cris Neckar <cdn@chromium.org>
1290 Reviewed by James Robinson.
1292 Refcount domwindows when dispatching device orientation events.
1293 https://bugs.webkit.org/show_bug.cgi?id=53623
1295 Test: fast/events/device-orientation-crash.html
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:
1306 2011-02-02 Zhenyao Mo <zmo@google.com>
1308 Reviewed by Kenneth Russell.
1310 A deleted object should never been bound again
1311 https://bugs.webkit.org/show_bug.cgi?id=53604
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.
1331 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1333 Unreviewed Efl buildfix after r77399.
1335 * CMakeListsEfl.txt:
1337 2011-02-02 Kenneth Russell <kbr@google.com>
1339 Reviewed by James Robinson.
1341 Rename Typed Array subset to subarray
1342 https://bugs.webkit.org/show_bug.cgi?id=53618
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:
1375 2011-02-02 Adam Barth <abarth@webkit.org>
1377 Reviewed by Eric Seidel.
1379 Add an empty file for Content Security Policy
1380 https://bugs.webkit.org/show_bug.cgi?id=53573
1382 Posting this as a separate patch because editing the build files is so
1390 * WebCore.vcproj/WebCore.vcproj:
1391 * WebCore.xcodeproj/project.pbxproj:
1393 2011-02-02 Dan Winship <danw@gnome.org>
1395 Reviewed by Martin Robinson.
1397 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1399 https://bugs.webkit.org/show_bug.cgi?id=50885
1401 * platform/network/soup/ResourceHandleSoup.cpp:
1402 (WebCore::sendRequestCallback): Do content-type sniffing here for
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
1408 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1409 code that was a no-op for file: URIs, but would break some data:
1412 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1414 Update even more references to right() and bottom() in Chromium. Sheesh.
1416 * platform/graphics/chromium/LayerRendererChromium.cpp:
1417 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1419 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1421 Unreviewed Gtk3 buildfix after r77286.
1423 https://bugs.webkit.org/show_bug.cgi?id=53520
1424 Remove the physical terminology from IntRect and FloatRect.
1426 * platform/gtk/RenderThemeGtk3.cpp:
1427 (WebCore::RenderThemeGtk::paintMenuList):
1429 2011-02-02 Anders Carlsson <andersca@apple.com>
1433 * platform/mac/ScrollAnimatorMac.mm:
1434 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1436 2011-02-02 David Hyatt <hyatt@apple.com>
1438 Reviewed by Dan Bernstein.
1440 https://bugs.webkit.org/show_bug.cgi?id=53619
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.
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):
1470 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1472 Update more references to right() and bottom() in Chromium Win.
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.
1480 2011-02-02 Adam Roben <aroben@apple.com>
1482 Encode/decode FormData and FormDataElement objects consistently
1484 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1485 that contains form data fails (asserts in Debug build)
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>.
1491 Reviewed by Darin Adler.
1493 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
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
1503 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1504 matches its type and how we decode it.
1506 2011-02-02 Dan Winship <danw@gnome.org>
1508 Reviewed by Martin Robinson.
1510 [GTK] drop soup cache stuff, which has been moved to libsoup
1511 https://bugs.webkit.org/show_bug.cgi?id=50747
1513 Use libsoup-based cache/requester API and remove the WebCore version
1514 of this functionality. This has been pushed upstream fully.
1516 No new tests because this should not change functionality.
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
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.
1550 2011-02-02 David Hyatt <hyatt@apple.com>
1552 Reviewed by Darin Adler.
1554 https://bugs.webkit.org/show_bug.cgi?id=53520
1556 Remove physical accessors from IntRect and FloatRect.
1558 * page/FrameView.cpp:
1559 (WebCore::FrameView::adjustPageHeightDeprecated):
1560 * platform/graphics/FloatRect.h:
1561 * platform/graphics/IntRect.h:
1563 2011-02-02 David Hyatt <hyatt@apple.com>
1565 Reviewed by Dan Bernstein.
1567 https://bugs.webkit.org/show_bug.cgi?id=53614
1569 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
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):
1652 2011-02-02 Steve Lacey <sjl@chromium.org>
1654 Reviewed by Eric Carlson.
1656 Implement basic media statistics on media elements.
1657 https://bugs.webkit.org/show_bug.cgi?id=53322
1659 * Configurations/FeatureDefines.xcconfig:
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):
1684 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
1686 Reviewed by David Hyatt.
1688 More conversion from right()/bottom() to maxX()/maxY().
1690 * page/qt/FrameQt.cpp:
1691 (WebCore::Frame::dragImageForSelection):
1692 * platform/graphics/qt/GraphicsContextQt.cpp:
1693 (WebCore::GraphicsContext::roundToDevicePixels):
1695 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
1697 [wx] Build fixes for wxWebKit.
1699 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
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:
1715 2011-02-02 David Hyatt <hyatt@apple.com>
1717 Reviewed by Darin Adler.
1719 More right()/bottom() to maxX()/maxY() conversion.
1721 * page/chromium/FrameChromium.cpp:
1722 (WebCore::Frame::nodeImage):
1723 (WebCore::Frame::dragImageForSelection):
1725 2011-02-02 Sam Weinig <sam@webkit.org>
1727 Fix windows clean build.
1729 * DerivedSources.make:
1731 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
1733 Reviewed by Pavel Feldman.
1735 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1737 https://bugs.webkit.org/show_bug.cgi?id=53606
1739 Display progress while taking a snapshot, and hints while loading
1740 and parsing. This is needed because taking detailed heap snapshots
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):
1758 2011-02-02 David Hyatt <hyatt@apple.com>
1760 Reviewed by Darin Adler.
1762 More conversion from right()/bottom() to maxX()/maxY().
1764 * platform/win/PopupMenuWin.cpp:
1765 (WebCore::PopupMenuWin::calculatePositionAndSize):
1766 (WebCore::PopupMenuWin::paint):
1768 2011-02-02 David Hyatt <hyatt@apple.com>
1770 Reviewed by Darin Adler.
1772 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
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):
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):
1841 2011-02-02 Antti Koivisto <antti@apple.com>
1843 Reviewed by Maciej Stachowiak.
1845 Use Vector instead of a linked list for rules in CSSStyleSelector
1846 https://bugs.webkit.org/show_bug.cgi?id=53581
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).
1852 - shrink the vectors to fit after collecting the rules
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):
1893 2011-02-02 Andrey Adaikin <aandrey@google.com>
1895 Reviewed by Pavel Feldman.
1897 Web Inspector: Use DIVs instead of TABLE in TextViewer
1898 https://bugs.webkit.org/show_bug.cgi?id=53299
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):
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):
1988 2011-02-02 Hans Wennborg <hans@chromium.org>
1990 Reviewed by Jeremy Orlow.
1992 IndexedDB: Implement support for cursor updates
1993 https://bugs.webkit.org/show_bug.cgi?id=53421
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.
2001 Test: storage/indexeddb/cursor-update.html
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:
2017 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2019 Reviewed by Kent Tamura.
2021 Fix popup menu RTL bug introduced by Changeset 75982.
2022 https://bugs.webkit.org/show_bug.cgi?id=53567
2024 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
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
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.
2034 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2036 Reviewed by Martin Robinson.
2038 [GTK] Fix dist compilation
2039 https://bugs.webkit.org/show_bug.cgi?id=53579
2041 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2044 2011-02-02 Dai Mikurube <dmikurube@google.com>
2046 Reviewed by David Levin.
2048 Make mime type lookup in File::create(path) thread-safe
2049 https://bugs.webkit.org/show_bug.cgi?id=47700
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.
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.
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):
2087 2011-02-01 Adam Barth <abarth@webkit.org>
2089 Reviewed by Alexey Proskuryakov.
2091 Improve readability of updateWidget by converting bool parameter to an enum
2092 https://bugs.webkit.org/show_bug.cgi?id=53576
2094 As requested on webkit-dev.
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):
2111 2011-02-01 James Robinson <jamesr@chromium.org>
2113 Reviewed by Adam Barth.
2115 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2116 https://bugs.webkit.org/show_bug.cgi?id=53566
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.
2121 * bindings/v8/V8Proxy.h:
2123 2011-02-01 Adam Barth <abarth@webkit.org>
2125 Reviewed by Andreas Kling.
2127 Remove useless comment
2128 https://bugs.webkit.org/show_bug.cgi?id=53549
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).
2135 * html/HTMLPlugInImageElement.cpp:
2136 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2138 2011-02-01 James Simonsen <simonjam@chromium.org>
2140 Reviewed by Tony Gentilcore.
2142 [WebTiming] Remove asserts that verify timestamp order
2143 https://bugs.webkit.org/show_bug.cgi?id=53548
2145 Covered by existing tests.
2147 * loader/FrameLoader.cpp:
2148 (WebCore::FrameLoader::stopLoading): Remove assert.
2149 * page/DOMWindow.cpp:
2150 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2152 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2154 Add the 'default_targets' enclosure to the flags.
2156 * WebCore.gyp/WebCore.gyp: Did it.
2158 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2160 Reviewed by James Robinson.
2162 Async event handlers should not fire within a modal dialog
2163 https://bugs.webkit.org/show_bug.cgi?id=53202
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).
2170 Test: fast/events/scroll-event-during-modal-dialog.html
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):
2181 (WebCore::EventQueue::create):
2182 * page/SuspendableTimer.cpp:
2183 (WebCore::SuspendableTimer::SuspendableTimer):
2184 (WebCore::SuspendableTimer::suspend):
2185 (WebCore::SuspendableTimer::resume):
2186 * page/SuspendableTimer.h:
2188 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2190 Reviewed by Andreas Kling.
2192 Change wrong PLATFORM(WIN) to USE(WININET)
2193 https://bugs.webkit.org/show_bug.cgi?id=53547
2195 * platform/network/ResourceHandle.h:
2197 2011-02-01 Beth Dakin <bdakin@apple.com>
2201 * platform/mac/ScrollAnimatorMac.mm:
2202 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2204 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2206 Reviewed by Gustavo Noronha Silva.
2208 [GTK] Two tests crash after r76555
2209 https://bugs.webkit.org/show_bug.cgi?id=53057
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.
2215 * platform/network/soup/ResourceHandleSoup.cpp:
2216 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2218 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2220 Reviewed by Eric Seidel.
2222 [GTK] GObject DOM bindings do no support the CallWith attribute
2223 https://bugs.webkit.org/show_bug.cgi?id=53331
2225 Disable building GObject DOM bindings for IndexedDB because we do not support
2226 the CallWith attribute at this time.
2228 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2230 2011-02-01 Darin Adler <darin@apple.com>
2232 Reviewed by Brady Eidson.
2234 Fix a couple loose ends from the back/forward tree encode/decode work
2235 https://bugs.webkit.org/show_bug.cgi?id=53537
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.
2244 2011-02-01 Tony Chang <tony@chromium.org>
2246 Reviewed by Kent Tamura.
2248 [chromium] disable arm uninitialized variable warnings
2249 https://bugs.webkit.org/show_bug.cgi?id=53553
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
2256 * WebCore.gyp/WebCore.gyp:
2258 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2260 Reviewed by Adam Barth.
2262 Self-replicating code makes Safari hang and eventually crash
2263 https://bugs.webkit.org/show_bug.cgi?id=15123
2266 Here we are replicating the Firefox safeguard against
2267 recursive document.write( ) 's.
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 :
2276 var t = document.body.innerHTML;
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).
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.)
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
2293 (WebCore::Document::Document):
2294 (WebCore::Document::write):
2297 2011-02-01 Johnny Ding <jnd@chromium.org>
2299 Reviewed by Darin Adler.
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
2304 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2306 * html/HTMLAnchorElement.cpp:
2307 (WebCore::handleLinkClick):
2309 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2311 Unreviewed Qt buildfix after r77286.
2313 https://bugs.webkit.org/show_bug.cgi?id=53520
2314 Remove the physical terminology from IntRect and FloatRect.
2316 * platform/graphics/TiledBackingStore.cpp:
2317 (WebCore::TiledBackingStore::createTiles):
2319 2011-02-01 Sam Weinig <sam@webkit.org>
2321 Fix Mac production builds.
2323 * DerivedSources.make:
2324 * WebCore.xcodeproj/project.pbxproj:
2325 * platform/mac/ScrollAnimatorMac.h:
2326 * platform/mac/ScrollbarThemeMac.h:
2328 2011-02-01 Darin Adler <darin@apple.com>
2330 Reviewed by Chris Fleizach.
2332 REGRESSION: Removing focus from area element causes unwanted scrolling
2333 https://bugs.webkit.org/show_bug.cgi?id=50169
2335 Test: fast/images/imagemap-scroll.html
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.
2346 * html/HTMLAreaElement.h: Updated for above changes.
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.
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.
2363 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2365 Unreviewed WinCE build fix for r77286.
2367 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2368 (WebCore::TransparentLayerDC::TransparentLayerDC):
2370 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2372 Reviewed by Darin Adler.
2374 AX: AXPosition of AXScrollArea is wrong
2375 https://bugs.webkit.org/show_bug.cgi?id=53511
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.
2381 Test: platform/mac/accessibility/webkit-scrollarea-position.html
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:
2391 2011-02-01 Zhenyao Mo <zmo@google.com>
2393 Reviewed by Kenneth Russell.
2395 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2396 https://bugs.webkit.org/show_bug.cgi?id=52190
2398 * html/canvas/WebGLRenderingContext.cpp:
2399 (WebCore::WebGLRenderingContext::getUniform):
2401 2011-02-01 Zhenyao Mo <zmo@google.com>
2403 Reviewed by Darin Adler.
2405 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2406 https://bugs.webkit.org/show_bug.cgi?id=53531
2408 With this fix, running WebGL conformance tests should no longer crash randomly.
2410 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2411 (WebCore::GraphicsContext3D::getImageData):
2413 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2415 One more Chromium build fix after r77286.
2417 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2418 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2420 2011-02-01 Sam Weinig <sam@webkit.org>
2422 Fix the build for Beth.
2424 * platform/mac/ScrollAnimatorMac.mm:
2425 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2427 2011-02-01 Sam Weinig <sam@webkit.org>
2429 Reviewed by Beth Dakin.
2431 Part 2 for <rdar://problem/8492788>
2432 Adopt WKScrollbarPainterController
2434 Use header detection to define scrollbar painting controller #define.
2437 * platform/mac/ScrollAnimatorMac.h:
2438 * platform/mac/ScrollbarThemeMac.h:
2439 * platform/mac/WebCoreSystemInterface.h:
2440 * platform/mac/WebCoreSystemInterface.mm:
2442 2011-02-01 David Hyatt <hyatt@apple.com>
2444 Reviewed by Oliver Hunt.
2446 https://bugs.webkit.org/show_bug.cgi?id=53520
2448 Remove the physical terminology from IntRect and FloatRect.
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.
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.
2457 * accessibility/AccessibilityRenderObject.cpp:
2458 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2459 * accessibility/mac/AccessibilityObjectWrapper.mm:
2460 (-[AccessibilityObjectWrapper position]):
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:
2481 (WebCore::areRectsFullyAligned):
2482 (WebCore::areRectsMoreThanFullScreenApart):
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):
2631 2011-02-01 Beth Dakin <bdakin@apple.com>
2633 Reviewed by Sam Weinig.
2635 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2637 Lots of new WebCoreSystemInterface functions to export.
2639 * platform/mac/WebCoreSystemInterface.h:
2640 * platform/mac/WebCoreSystemInterface.mm:
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):
2649 Let the scrollAnimator know when the window has become
2651 * page/FocusController.cpp:
2652 (WebCore::FocusController::setActive):
2654 Let the scrollAnimator know when all of these things
2656 * page/FrameView.cpp:
2657 (WebCore::FrameView::setContentsSize):
2658 (WebCore::FrameView::didMoveOnscreen):
2659 (WebCore::FrameView::willMoveOffscreen):
2660 (WebCore::FrameView::currentMousePosition):
2661 (WebCore::FrameView::contentsResized):
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):
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):
2697 Let the scrollAnimator know when this is happening.
2698 * platform/ScrollView.cpp:
2699 (WebCore::ScrollView::paint):
2701 New function lets the scrollAnimator get the current
2703 * platform/ScrollView.h:
2704 (WebCore::ScrollView::currentMousePosition):
2706 New function that returns the scrollAnimator when needed.
2707 * platform/ScrollableArea.h:
2708 (WebCore::ScrollableArea::scrollAnimator):
2710 Keep track of if we're in a live resize using a new memeber
2712 * platform/mac/ScrollAnimatorMac.h:
2713 (WebCore::ScrollAnimatorMac::inLiveResize):
2714 * platform/mac/ScrollAnimatorMac.mm:
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:]):
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):
2745 Implement ScrollableArea's virtual function contentsSize() for access
2746 through the scrollAnimator.
2747 * rendering/RenderLayer.h:
2748 (WebCore::RenderLayer::contentsSize):
2750 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
2752 Reviewed by David Hyatt.
2754 layoutTestController.counterValueForElementById does not return the correct value
2755 https://bugs.webkit.org/show_bug.cgi?id=53037
2757 Test: fast/css/counters/deep-before.html
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.
2765 2011-02-01 Anton Muhin <antonm@chromium.org>
2767 Reviewed by Adam Barth.
2769 Allow access for security origin same as this.
2770 https://bugs.webkit.org/show_bug.cgi?id=53440
2772 Hard to test as newly added path currently is never hit.
2774 * page/SecurityOrigin.cpp:
2775 (WebCore::SecurityOrigin::canAccess): allow access if this == other
2777 2011-01-31 Oliver Hunt <oliver@apple.com>
2779 Reviewed by Geoffrey Garen.
2781 Update JSObject storage for new marking API
2782 https://bugs.webkit.org/show_bug.cgi?id=53467
2784 Update WebCore to handle new anonymous slot behaviour.
2786 * bindings/js/JSDOMWindowShell.cpp:
2787 (WebCore::JSDOMWindowShell::setWindow):
2788 * bindings/js/WorkerScriptController.cpp:
2789 (WebCore::WorkerScriptController::initScript):
2790 * bindings/scripts/CodeGeneratorJS.pm:
2792 2011-02-01 Xiaomei Ji <xji@chromium.org>
2794 Reviewed by David Hyatt.
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
2800 The problem happens in the following example scenario (ABC represents
2802 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
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.
2808 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
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
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>
2822 Test: fast/dom/34176.html
2824 * rendering/RenderBlockLineLayout.cpp:
2825 (WebCore::parentIsConstructedOrHaveNext):
2826 (WebCore::RenderBlock::createLineBoxes):
2828 2011-02-01 Abhishek Arya <inferno@chromium.org>
2830 Reviewed by Dan Bernstein.
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
2836 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
2839 (WebCore::Document::addStyleSheetCandidateNode):
2841 2011-02-01 Dave Hyatt <hyatt@apple.com>
2843 Reviewed by Darin Adler.
2845 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
2848 Change printing functions to check writing-mode and properly swap width and height
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
2855 Rewrite computePageRects to handle both RTL documents properly as well as vertical
2856 text documents properly.
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):
2878 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
2880 Reviewed by Pavel Feldman.
2882 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
2884 https://bugs.webkit.org/show_bug.cgi?id=53500
2886 * inspector/InspectorProfilerAgent.cpp:
2887 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2889 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
2891 Reviewed by Pavel Feldman.
2893 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
2895 https://bugs.webkit.org/show_bug.cgi?id=53173
2897 Adding code for accessing heap snapshot data and
2898 performing graph calculations.
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):
2915 2011-02-01 Adam Roben <aroben@apple.com>
2917 Fix linker warnings in Release_LTCG builds
2919 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
2920 configurations, since they get pulled in via DOMAllInOne.cpp.
2922 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
2924 Reviewed by Yury Semikhatsky.
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
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):
2936 2011-02-01 Anton Muhin <antonm@chromium.org>
2938 Reviewed by Adam Barth.
2940 Propagate parent document security origin to newly create Document XML response
2941 https://bugs.webkit.org/show_bug.cgi?id=53444
2943 Covered by the existing tests.
2945 * xml/XMLHttpRequest.cpp:
2946 (WebCore::XMLHttpRequest::responseXML):
2948 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
2950 Unreviewed. Rollout r77230 which caused many layout tests
2951 crashes on Chromium Debug bots.
2953 Async event handlers should not fire within a modal dialog
2954 https://bugs.webkit.org/show_bug.cgi?id=53202
2957 (WebCore::Document::Document):
2958 * dom/EventQueue.cpp:
2959 (WebCore::EventQueue::EventQueue):
2960 (WebCore::EventQueue::enqueueEvent):
2961 (WebCore::EventQueue::pendingEventTimerFired):
2964 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
2966 Reviewed by Dirk Schulze.
2968 LightElement changes does not require relayout.
2969 https://bugs.webkit.org/show_bug.cgi?id=53232
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.
2976 Duplicated 'id' attributes removed from svg-filter-animation.svg.
2978 Existing dynamic-update tests covers this feature.
2980 5x speedup on manual-tests/svg-filter-animation.svg
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:
3033 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3035 Reviewed by Dimitri Glazkov.
3037 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3038 https://bugs.webkit.org/show_bug.cgi?id=53289
3040 Moving the nested class DocumentOrderedMap from Document into separate files,
3041 updating code where necessary.
3043 No new tests. (refactoring)
3050 * WebCore.vcproj/WebCore.vcproj:
3051 * WebCore.xcodeproj/project.pbxproj:
3053 (WebCore::Document::getElementById):
3054 (WebCore::Document::getImageMap):
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:
3072 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3074 Reviewed by Martin Robinson.
3076 [Gtk] atk_text_set_caret_offset fails for list items
3077 https://bugs.webkit.org/show_bug.cgi?id=53388
3079 Allow using text ranges across list items.
3081 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3082 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3083 to the list of accessibility objects supporting text ranges.
3085 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3087 Reviewed by Martin Robinson.
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
3092 Fixed wrong calculation getting the range extents.
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.
3098 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3100 Reviewed by Martin Robinson.
3102 [GTK] Caret Offset is one off at the end of wrapped lines
3103 https://bugs.webkit.org/show_bug.cgi?id=53300
3105 Consider linebreaks as special cases.
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().
3113 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3115 Unreviewed, rolling out r77229.
3116 http://trac.webkit.org/changeset/77229
3117 https://bugs.webkit.org/show_bug.cgi?id=53289
3119 revert mysterious build breakage
3126 * WebCore.vcproj/WebCore.vcproj:
3127 * WebCore.xcodeproj/project.pbxproj:
3128 * dom/DOMAllInOne.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):
3140 (WebCore::Document::DocumentOrderedMap::contains):
3141 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3142 * dom/DocumentOrderedMap.cpp: Removed.
3143 * dom/DocumentOrderedMap.h: Removed.
3145 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3147 Reviewed by James Robinson.
3149 Async event handlers should not fire within a modal dialog
3150 https://bugs.webkit.org/show_bug.cgi?id=53202
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).
3157 Test: fast/events/scroll-event-during-modal-dialog.html
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):
3168 (WebCore::EventQueue::create):
3170 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3172 Reviewed by Dimitri Glazkov.
3174 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3175 https://bugs.webkit.org/show_bug.cgi?id=53289
3177 Moving the nested class DocumentOrderedMap from Document into separate files,
3178 updating code where necessary.
3180 No new tests. (refactoring)
3187 * WebCore.vcproj/WebCore.vcproj:
3188 * WebCore.xcodeproj/project.pbxproj:
3190 (WebCore::Document::getElementById):
3191 (WebCore::Document::getImageMap):
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:
3209 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
3211 Reviewed by Darin Fisher.
3213 [Chromium] Autofill should work with HTML5 form elements
3214 https://bugs.webkit.org/show_bug.cgi?id=51809
3215 http://crbug.com/65654
3217 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
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.
3226 2011-02-01 Kent Tamura <tkent@chromium.org>
3228 Reviewed by Dan Bernstein.
3230 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3231 https://bugs.webkit.org/show_bug.cgi?id=53272
3233 * editing/TextIterator.cpp:
3234 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3236 2011-01-31 Alexey Proskuryakov <ap@apple.com>
3238 Reviewed by Maciej Stachowiak.
3240 https://bugs.webkit.org/show_bug.cgi?id=53466
3241 Move WebKit2 to printing via API methods
3243 * WebCore.exp.in: Export IntRect::scale().
3245 2011-01-31 Patrick Gansterer <paroga@webkit.org>
3247 Reviewed by Adam Barth.
3249 Remove obsolete comment after r41871
3250 https://bugs.webkit.org/show_bug.cgi?id=53406
3254 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3256 Fix according to reviewer comments: can just use Color::black now.
3258 * platform/graphics/ShadowBlur.cpp:
3259 (WebCore::ShadowBlur::drawInsetShadow):
3260 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3262 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3264 Reviewed by Sam Weinig.
3267 https://bugs.webkit.org/show_bug.cgi?id=53472
3269 Some minor ShadowBlur cleanup.
3271 * platform/graphics/ShadowBlur.h:
3272 * platform/graphics/ShadowBlur.cpp:
3273 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
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
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.
3292 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
3294 Reviewed by Kenneth Rohde Christiansen.
3296 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3297 https://bugs.webkit.org/show_bug.cgi?id=46748
3299 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3300 Added a regression test to tst_QWebFrame.
3302 * bridge/qt/qt_instance.cpp:
3303 (JSC::Bindings::QtInstance::QtInstance):
3305 2011-01-27 MORITA Hajime <morrita@google.com>
3307 Reviewed by Dimitri Glazkov.
3309 Convert <progress> shadow DOM to a DOM-based shadow.
3310 https://bugs.webkit.org/show_bug.cgi?id=50660
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
3318 No new tests. No behavioral change.
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:
3345 2011-01-31 Charlie Reis <creis@chromium.org>
3347 Reviewed by Mihai Parparita.
3349 Add sanity check to help diagnose bug 52819
3350 https://bugs.webkit.org/show_bug.cgi?id=53402
3352 Crash early if the children of fromItem look invalid.
3354 * loader/HistoryController.cpp:
3356 2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
3358 Reviewed by Andreas Kling.
3360 [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
3361 https://bugs.webkit.org/show_bug.cgi?id=53325
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.
3368 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3369 (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
3370 * platform/graphics/qt/MediaPlayerPrivateQt.h:
3372 2011-01-31 Emil A Eklund <eae@chromium.org>
3374 Reviewed by Darin Adler.
3376 Setting "selected" attribute to false should have no effect in single line <select>
3377 https://bugs.webkit.org/show_bug.cgi?id=52436
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.
3383 Test: fast/dom/HTMLSelectElement/selected-false.html
3385 * dom/SelectElement.cpp:
3386 (WebCore::SelectElement::setSelectedIndex):
3388 2011-01-31 Alexander Pavlov <apavlov@chromium.org>
3390 Reviewed by Yury Semikhatsky.
3392 Web Inspector: Console source references need a left-margin
3393 https://bugs.webkit.org/show_bug.cgi?id=53308
3395 * inspector/front-end/inspector.css:
3396 (.console-message-url): Added a 4px margin on the left.
3398 2011-01-31 Carol Szabo <carol.szabo@nokia.com>
3400 Reviewed by David Hyatt.
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
3407 No new tests. No change in functionality
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
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
3424 * rendering/RenderObjectChildList.h:
3426 2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
3428 Reviewed by David Hyatt.
3430 Add background-clip to background shorthand
3431 https://bugs.webkit.org/show_bug.cgi?id=52080
3433 Added background-clip to background-shorthand. Also made changes to
3434 include webkitMaskClip to the mask shorthand to keep both in sync.
3436 * css/CSSParser.cpp:
3437 (WebCore::CSSParser::parseValue):
3438 (WebCore::CSSParser::parseFillShorthand):
3440 2011-01-31 Darin Adler <darin@apple.com>
3442 Reviewed by Adele Peterson.
3444 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
3445 https://bugs.webkit.org/show_bug.cgi?id=53460
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.
3454 2011-01-31 Dan Bernstein <mitz@apple.com>
3456 Reviewed by Adele Peterson.
3458 Inter-ideograph justification should apply to hiragana and katakana as well
3459 https://bugs.webkit.org/show_bug.cgi?id=53464
3461 Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
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):
3470 2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
3472 Reviewed by James Robinson.
3474 REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
3475 https://bugs.webkit.org/show_bug.cgi?id=53314
3477 Fixes media/controls-strict.html on Chromium.
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.
3483 2011-01-31 Kent Tamura <tkent@chromium.org>
3485 Reviewed by Dimitri Glazkov.
3487 Validation message bubble shouldn't inherit text-security style
3488 https://bugs.webkit.org/show_bug.cgi?id=53457
3490 No new tests because the validation message feature depends on timers
3491 and is enabled only in Chromium port.
3494 (::-webkit-validation-bubble): Reset -webkit-text-security.
3496 2011-01-31 Michael Saboff <msaboff@apple.com>
3498 Reviewed by Geoffrey Garen.
3500 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
3501 https://bugs.webkit.org/show_bug.cgi?id=53271
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
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.
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.
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:
3528 2011-01-31 Andreas Kling <kling@webkit.org>
3530 Unbreak Qt build after r77151.
3532 * bridge/qt/qt_instance.cpp:
3533 (JSC::Bindings::QtInstance::removeCachedMethod):
3534 (JSC::Bindings::QtInstance::markAggregate):
3536 2011-01-31 takano takumi <takano@apple.com>
3538 Reviewed by Dave Hyatt.
3540 Implement text-combine rendering code
3541 https://bugs.webkit.org/show_bug.cgi?id=50621
3543 Test: fast/text/international/text-combine-image-test.html
3545 * Android.mk: Added RenderCombineText.cpp/h
3546 * CMakeLists.txt: Added RenderCombineText.cpp/h
3547 * GNUmakefile.am: Added RenderCombineText.cpp/h
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.
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:
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=):
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:
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):
3621 * platform/graphics/qt/FontCustomPlatformData.h:
3623 * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
3624 (WebCore::FontCustomPlatformData::fontPlatformData):
3626 * platform/graphics/skia/FontCustomPlatformData.cpp:
3627 (WebCore::FontCustomPlatformData::fontPlatformData):
3629 * platform/graphics/skia/FontCustomPlatformData.h:
3631 * platform/graphics/win/FontCustomPlatformData.cpp:
3632 (WebCore::FontCustomPlatformData::fontPlatformData):
3634 * platform/graphics/win/FontCustomPlatformData.h:
3636 * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
3638 (WebCore::FontCustomPlatformData::fontPlatformData):
3640 * platform/graphics/win/FontCustomPlatformDataCairo.h:
3642 * platform/graphics/wince/FontCustomPlatformData.cpp:
3643 (WebCore::FontCustomPlatformData::fontPlatformData):
3645 * platform/graphics/wince/FontCustomPlatformData.h:
3647 * platform/graphics/wx/FontCustomPlatformData.cpp:
3648 (WebCore::FontCustomPlatformData::fontPlatformData):
3650 * platform/graphics/wx/FontCustomPlatformData.h:
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):
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.
3699 2011-01-31 Oliver Hunt <oliver@apple.com>
3701 Convert markstack to a slot visitor API
3702 https://bugs.webkit.org/show_bug.cgi?id=53219
3704 rolling r77098, r77099, r77100, r77109, and
3705 r77111 back in, along with a few more Qt fix attempts.
3707 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
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:
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:
3783 2011-01-31 Dan Winship <danw@gnome.org>
3785 Reviewed by Gustavo Noronha Silva.
3787 wss (websockets ssl) support for gtk via new gio TLS support
3788 https://bugs.webkit.org/show_bug.cgi?id=50344
3790 Update to use GPollableOutputStream and GTlsConnection to
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):
3801 2011-01-31 Abhishek Arya <inferno@chromium.org>
3803 Reviewed by Dimitri Glazkov.
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
3809 Test: fast/forms/textarea-node-removed-from-document-crash.html
3811 * rendering/RenderTextControlMultiLine.cpp:
3812 (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
3814 2011-01-27 Abhishek Arya <inferno@chromium.org>
3816 Reviewed by Dave Hyatt.
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
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
3828 * rendering/RenderTable.cpp:
3829 (WebCore::RenderTable::addChild):
3831 2011-01-31 Shane Stephens <shanestephens@google.com>
3833 Reviewed by Simon Fraser.
3835 AffineTransform::translateRight incorrectly computes a translateLeft.
3836 https://bugs.webkit.org/show_bug.cgi?id=52551
3838 Removed translateRight and converted all uses to perform standard
3839 matrix multiplication.
3841 No new tests because patch doesn't modify functionality.
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):
3856 2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
3858 Reviewed by Martin Robinson.
3860 [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
3861 https://bugs.webkit.org/show_bug.cgi?id=53389
3863 Return FALSE when not able to set the caret at the specified offset.
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.
3869 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
3871 Reviewed by Yury Semikhatsky.
3873 Web Inspector: copy HAR to clipboard instead of saving blob on export.
3874 https://bugs.webkit.org/show_bug.cgi?id=53328
3876 * inspector/front-end/NetworkPanel.js:
3877 (WebInspector.NetworkPanel.prototype._exportAll):
3878 (WebInspector.NetworkPanel.prototype._exportResource):
3880 2011-01-30 Pavel Feldman <pfeldman@chromium.org>
3882 Reviewed by Timothy Hatcher.
3884 Web Inspector: speed up network panel rendering.
3885 https://bugs.webkit.org/show_bug.cgi?id=53397
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):
3900 2011-01-31 Peter Varga <pvarga@webkit.org>
3902 Reviewed by Andreas Kling.
3904 Remove wrec from WebCore
3905 https://bugs.webkit.org/show_bug.cgi?id=53298
3907 No new tests needed.
3909 * Android.jscbindings.mk:
3910 * ForwardingHeaders/wrec/WREC.h: Removed.
3911 * WebCore.vcproj/WebCore.vcproj:
3912 * WebCore.vcproj/copyForwardingHeaders.cmd:
3914 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
3916 Unreviewed, rolling out r76969.
3917 http://trac.webkit.org/changeset/76969
3918 https://bugs.webkit.org/show_bug.cgi?id=53418
3920 "It is causing crashes in GTK+ and Leopard bots" (Requested by
3921 alexg__ on #webkit).
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:
3929 2011-01-31 Antti Koivisto <antti@apple.com>
3935 * css/CSSSelectorList.h:
3936 (WebCore::CSSSelectorList::next):
3938 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
3940 Unreviewed. Fix Chromium compilation on Linux.
3942 * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
3943 * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
3945 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
3947 Unreviewed. Fix Chromium compilation on Mac broken by r77101.
3949 * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
3951 2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
3953 Reviewed by Yury Semikhatsky.
3955 WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
3957 https://bugs.webkit.org/show_bug.cgi?id=53309
3959 * English.lproj/localizedStrings.js:
3960 * inspector/front-end/ProfilesPanel.js:
3961 (WebInspector.ProfilesPanel):
3963 2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
3965 Unreviewed, fix the build with current GTK+ 3.x.
3967 * plugins/gtk/gtk2xtbin.c:
3968 * plugins/gtk/gtk2xtbin.h:
3970 2011-01-30 Kenichi Ishibashi <bashi@google.com>
3972 Reviewed by Kent Tamura.
3974 Dangling form associated elements should not be registered on the document
3975 https://bugs.webkit.org/show_bug.cgi?id=53223
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.
3981 Test: fast/forms/dangling-form-element-crash.html
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().
4001 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
4003 Unreviewed, rolling out r77098, r77099, r77100, r77109, and
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
4014 * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
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:
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:
4090 2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
4092 Unreviewed, rolling out r77107.
4093 http://trac.webkit.org/changeset/77107
4094 https://bugs.webkit.org/show_bug.cgi?id=53412
4096 Caused 5 new form-related test crashes (Requested by smfr on
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:
4116 2011-01-30 Simon Fraser <simon.fraser@apple.com>
4118 Reviewed by Sam Weinig.
4120 Enhance ShadowBlur to render inset box shadows
4121 https://bugs.webkit.org/show_bug.cgi?id=51567
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.
4127 Test: fast/box-shadow/inset-box-shadow-radius.html
4129 * platform/graphics/ShadowBlur.cpp:
4130 * platform/graphics/ShadowBlur.h: New method for inset
4132 (WebCore::ShadowBlur::drawInsetShadow):
4134 * platform/graphics/GraphicsContext.cpp: #ifdef out
4135 fillRectWithRoundedHole() for CG.
4137 * platform/graphics/cg/GraphicsContextCG.cpp:
4138 (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
4139 a shadow with a radius > 0, use ShadowBlur.
4141 2011-01-28 Kenneth Russell <kbr@google.com>
4143 Reviewed by Chris Marrin.
4145 WebGL shows PNG Textures with indexed colors too dark
4146 https://bugs.webkit.org/show_bug.cgi?id=47477
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.
4152 * platform/graphics/cg/GraphicsContext3DCG.cpp:
4153 (WebCore::GraphicsContext3D::getImageData):
4155 2011-01-27 MORITA Hajime <morrita@google.com>
4157 Reviewed by Dimitri Glazkov.
4159 Convert <progress> shadow DOM to a DOM-based shadow.
4160 https://bugs.webkit.org/show_bug.cgi?id=50660
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
4168 No new tests. No behavioral change.
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):