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