1 2011-02-03 Dimitri Glazkov <dglazkov@chromium.org>
3 Reviewed by Kent Tamura.
5 REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
6 https://bugs.webkit.org/show_bug.cgi?id=53691
8 Test: fast/repaint/slider-thumb-drag-release.html
10 * html/shadow/SliderThumbElement.cpp:
11 (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
12 that the thumb is repainted.
14 2011-02-04 Mikhail Naganov <mnaganov@chromium.org>
16 Reviewed by Pavel Feldman.
18 Web Inspector: Add "show more" data grid node and waiting message UI components.
19 https://bugs.webkit.org/show_bug.cgi?id=53763
21 - "show more" data grid node is used for on-demand population of
22 data grid contents (similar to DOM tree capability for limiting
23 displayed nodes count);
25 - waiting message is used for informing user about long lasting
26 operations (with a possibility to cancel them).
28 * English.lproj/localizedStrings.js:
30 * WebCore.vcproj/WebCore.vcproj:
31 * inspector/front-end/PleaseWaitMessage.js: Added.
32 (WebInspector.PleaseWaitMessage):
33 * inspector/front-end/ShowMoreDataGridNode.js: Added.
34 (WebInspector.ShowMoreDataGridNode):
35 * inspector/front-end/WebKit.qrc:
36 * inspector/front-end/inspector.css:
39 * inspector/front-end/inspector.html:
41 2011-02-04 Adele Peterson <adele@apple.com>
43 Reviewed by Dan Bernstein.
45 Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
46 <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
49 fast/forms/textarea-placeholder-visibility-1.html
50 fast/forms/textarea-placeholder-visibility-2.html
51 fast/forms/input-placeholder-visibility-1.html
52 fast/forms/input-placeholder-visibility-2.html
53 fast/forms/input-placeholder-visibility-3.html
55 * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
56 Add a check for shouldShowPlaceholderWhenFocused.
57 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
58 Whenever the value is updated, we should also update placeholder visibility.
59 * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
60 Make the default the same as the existing behavior.
61 * rendering/RenderThemeMac.h:
62 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
63 Show placeholder when appropriate.
65 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
67 Reviewed by Pavel Feldman.
69 Web Inspector: evaluate on hover does not work on a breakpoint.
70 https://bugs.webkit.org/show_bug.cgi?id=53768
72 * inspector/front-end/SourceFrame.js:
73 (WebInspector.SourceFrame.prototype._mouseHover):
75 2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com>
77 Unreviewed, rolling out r77625 and r77626.
78 http://trac.webkit.org/changeset/77625
79 http://trac.webkit.org/changeset/77626
80 https://bugs.webkit.org/show_bug.cgi?id=53765
82 It broke Windows builds (Requested by Ossy_ on #webkit).
84 * Android.jscbindings.mk:
86 * ForwardingHeaders/pcre/pcre.h: Added.
87 * ForwardingHeaders/yarr/Yarr.h: Removed.
88 * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
89 * ForwardingHeaders/yarr/YarrPattern.h: Removed.
90 * WebCore.gyp/WebCore.gyp:
92 * WebCore.vcproj/WebCore.vcproj:
93 * WebCore.vcproj/copyForwardingHeaders.cmd:
94 * platform/text/RegularExpression.cpp:
95 (WebCore::RegularExpression::Private::regexp):
96 (WebCore::RegularExpression::Private::compile):
97 (WebCore::RegularExpression::Private::Private):
98 (WebCore::RegularExpression::Private::create):
99 (WebCore::RegularExpression::Private::~Private):
100 (WebCore::RegularExpression::match):
102 2011-02-04 Peter Varga <pvarga@webkit.org>
104 Rubber-stamped by Csaba Osztrogonác.
106 Replace PCRE with Yarr in WebCore
107 https://bugs.webkit.org/show_bug.cgi?id=53496
109 Speculative windows build fix.
113 * platform/text/RegularExpression.cpp:
115 2011-02-04 Peter Varga <pvarga@webkit.org>
118 Reviewed by Gavin Barraclough.
120 Replace PCRE with Yarr in WebCore
121 https://bugs.webkit.org/show_bug.cgi?id=53496
125 * Android.jscbindings.mk:
127 * ForwardingHeaders/pcre/pcre.h: Removed.
128 * ForwardingHeaders/yarr/Yarr.h: Added.
129 * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
130 * ForwardingHeaders/yarr/YarrPattern.h: Added.
131 * WebCore.gyp/WebCore.gyp:
133 * WebCore.vcproj/WebCore.vcproj:
134 * WebCore.vcproj/copyForwardingHeaders.cmd:
135 * platform/text/RegularExpression.cpp:
136 (WebCore::RegularExpression::Private::create):
137 (WebCore::RegularExpression::Private::Private):
138 (WebCore::RegularExpression::Private::compile):
139 (WebCore::RegularExpression::match):
141 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
143 Reviewed by Yury Semikhatsky.
145 Web Inspector: Network panel filtering is broken.
146 https://bugs.webkit.org/show_bug.cgi?id=53764
148 * inspector/front-end/NetworkPanel.js:
149 (WebInspector.NetworkPanel.prototype._sortItems):
150 (WebInspector.NetworkPanel.prototype._sortByTimeline):
151 (WebInspector.NetworkPanel.prototype._filter):
152 (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
153 (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
154 (WebInspector.NetworkDataGridNode.prototype.get selectable):
155 (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
156 (WebInspector.NetworkTotalGridNode.prototype.get selectable):
158 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
160 Reviewed by Pavel Feldman.
162 Web Inspector: support overriding user agent strings
163 https://bugs.webkit.org/show_bug.cgi?id=51485
165 Test: http/tests/inspector/extensions-useragent.html
167 * inspector/Inspector.idl:
168 * inspector/InspectorController.cpp:
169 (WebCore::InspectorController::disconnectFrontend):
170 (WebCore::InspectorController::setUserAgentOverride):
171 (WebCore::InspectorController::userAgentOverride):
172 * inspector/InspectorController.h:
173 * inspector/front-end/ExtensionAPI.js:
174 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
175 * inspector/front-end/ExtensionServer.js:
176 (WebInspector.ExtensionServer.prototype._onReload):
177 * loader/FrameLoader.cpp:
178 (WebCore::FrameLoader::userAgent):
179 (WebCore::FrameLoader::applyUserAgent):
181 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
183 Reviewed by Pavel Feldman.
185 Web Inspector: scripts panel displays wrong file name after reload.
186 https://bugs.webkit.org/show_bug.cgi?id=53761
188 * inspector/front-end/ScriptsPanel.js:
189 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
191 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
193 Reviewed by Pavel Feldman.
195 Web Inspector: remove settings related methods from InspectorClient
196 https://bugs.webkit.org/show_bug.cgi?id=53686
199 * inspector/CodeGeneratorInspector.pm:
200 * inspector/InspectorClient.h:
201 * inspector/InspectorFrontendClientLocal.cpp:
202 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
203 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
204 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
205 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
206 provide platform-specific settings accessor.
207 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
208 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
209 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
210 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
211 * loader/EmptyClients.h:
213 2011-02-03 Anton Muhin <antonm@chromium.org>
215 Reviewed by Adam Barth.
217 [v8] frame several more JS code invocations into v8::TryCatch
218 https://bugs.webkit.org/show_bug.cgi?id=53594
220 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
221 in v8::ThrowException---currently sometimes exceptions thrown by this method
222 do not reach surrounding v8::TryCatch handler (see
223 http://code.google.com/p/v8/issues/detail?id=1072 and
224 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
225 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
226 one rebaseline as of now.)
228 * bindings/v8/V8Proxy.cpp:
229 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
230 * bindings/v8/V8WindowErrorHandler.cpp:
231 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
233 2011-02-03 Maciej Stachowiak <mjs@apple.com>
235 Reviewed by Dan Bernstein.
237 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
238 https://bugs.webkit.org/show_bug.cgi?id=52897
239 <rdar://problem/8898294>
241 * WebCore.exp.in: Add export now needed by WebKit2
243 2011-02-03 Victoria Kirst <vrk@google.com>
245 Reviewed by James Robinson.
247 Replaces float literals with uniform values in shader code
248 so that buggy drivers unable to parse float values in different
249 locales will not produce a pink video.
251 [chromium] Fix pink video bug with gpu-acceleration enabled
252 https://bugs.webkit.org/show_bug.cgi?id=53568
254 * platform/graphics/chromium/VideoLayerChromium.cpp:
255 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
256 (WebCore::VideoLayerChromium::drawYUV):
257 * platform/graphics/chromium/VideoLayerChromium.h:
258 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
260 2011-02-03 James Kozianski <koz@chromium.org>
262 Reviewed by Dimitri Glazkov.
264 Add navigator.registerProtocolHandler behind a flag.
265 https://bugs.webkit.org/show_bug.cgi?id=52609
267 This method is described in the HTML5 specification here,
268 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
270 This change is largely cribbed from B. Green's 29651 patches. It is
271 behind a flag so as not to break JS feature detection.
273 New layout test fast/dom/registerProtocolHandler.html.
275 * Configurations/FeatureDefines.xcconfig:
276 * loader/EmptyClients.h:
277 (WebCore::EmptyChromeClient::registerProtocolHandler):
279 (WebCore::Chrome::registerProtocolHandler):
281 * page/ChromeClient.h:
282 * page/Navigator.cpp:
283 (WebCore::verifyCustomHandlerURL):
284 (WebCore::verifyProtocolHandlerScheme):
285 (WebCore::Navigator::registerProtocolHandler):
287 * page/Navigator.idl:
289 2011-02-03 Brian Ryner <bryner@chromium.org>
291 Reviewed by Darin Fisher.
293 Add a field to the ResourceResponse for tracking the socket address
294 of the host that the resource was fetched from. Patch was originally
296 https://bugs.webkit.org/show_bug.cgi?id=53699
298 * platform/network/chromium/ResourceResponse.cpp:
299 (WebCore::ResourceResponse::doPlatformCopyData):
300 (WebCore::ResourceResponse::doPlatformAdopt):
301 * platform/network/chromium/ResourceResponse.h:
302 (WebCore::ResourceResponse::socketAddress):
303 (WebCore::ResourceResponse::setSocketAddress):
305 2011-02-03 Adam Langley <agl@chromium.org>
307 Reviewed by Adam Barth.
309 Plumb mixed script URL to FrameLoaderClient
310 https://bugs.webkit.org/show_bug.cgi?id=52384
312 Regressions covered by http/tests/security/mixedContent/*
314 * loader/EmptyClients.h:
315 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
316 * loader/FrameLoader.cpp:
317 (WebCore::FrameLoader::checkIfRunInsecureContent):
318 * loader/FrameLoaderClient.h:
320 2011-02-03 Simon Fraser <simon.fraser@apple.com>
322 Reviewed by Dan Bernstein.
324 REGRESSION: Artifacts on box-shadow corners in some cases
325 https://bugs.webkit.org/show_bug.cgi?id=53731
327 Fix overdrawing artifacts in ShadowBlur's tiling code path,
328 which show up in shadows using a color with alpha.
330 Test: fast/box-shadow/shadow-tiling-artifact.html
332 * platform/graphics/ShadowBlur.cpp:
333 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
334 that the inner rect that gets filled does not overlap with any
335 of the eight tiled areas by having the corner and side dimensions
336 be the same for contiguous areas.
338 2011-02-03 Adam Barth <abarth@webkit.org>
340 Reviewed by Alexey Proskuryakov.
342 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
343 percent signs in large posted data
344 https://bugs.webkit.org/show_bug.cgi?id=53405
346 If the input string contains many non-% characters followed by a %
347 character that is not a valid URL escape sequence, then the old
348 algorithm would only advance the initial search by one character
349 (instead of jumping to just after the % character). That would cause
350 the algorithm to take N^2 time (in the number of characters before the
351 first % character). This patch just advances the search past the first
352 % character so we can start looking for next % character sooner.
355 (WebCore::decodeURLEscapeSequences):
357 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
359 Reviewed by Pavel Feldman.
361 Web Inspector: click on a breakpoint highlights wrong line in source frame.
362 https://bugs.webkit.org/show_bug.cgi?id=53692
364 * inspector/front-end/BreakpointsSidebarPane.js:
365 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
367 2011-02-03 Anton Muhin <antonm@chromium.org>
369 Reviewed by Adam Barth.
371 [v8] Bail out if to string conversion returned empty handle
372 https://bugs.webkit.org/show_bug.cgi?id=53687
374 This a temporary measure: actually one probably should never get empty handle
375 if there was no exception. The root cause is under investigation.
376 The bailout though allows Chromium not to crash---attempt to convert an empty
377 v8 hande into WebCore string crashes with invalid memory access.
379 See http://code.google.com/p/chromium/issues/detail?id=71544
381 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
383 * bindings/v8/V8Binding.cpp:
384 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
385 * bindings/v8/V8Binding.h:
386 (WebCore::V8ParameterBase::prepareBase): Ditto
388 2011-02-03 Adam Barth <abarth@webkit.org>
390 Attempt to fix Chromium build.
392 * html/parser/XSSFilter.cpp:
394 2011-02-03 Dirk Pranke <dpranke@chromium.org>
396 Unreviewed, rolling out r77562.
397 http://trac.webkit.org/changeset/77562
398 https://bugs.webkit.org/show_bug.cgi?id=53630
400 broke chromium mac build
402 * WebCore.gyp/WebCore.gyp:
403 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
405 2011-02-03 Adam Barth <abarth@webkit.org>
407 Reviewed by Daniel Bates.
409 XSS Auditor severely affects loading performance after submitting a large form
410 https://bugs.webkit.org/show_bug.cgi?id=49845
412 Switch over from the XSSAuditor to the XSSFilter, improving performance
415 * html/parser/XSSFilter.cpp:
416 (WebCore::XSSFilter::filterToken):
417 * page/XSSAuditor.cpp:
418 (WebCore::XSSAuditor::isEnabled):
420 2011-02-03 Dirk Pranke <dpranke@chromium.org>
422 Unreviewed, rolling out r77567.
423 http://trac.webkit.org/changeset/77567
424 https://bugs.webkit.org/show_bug.cgi?id=53468
426 broke chromium linux svg, canvas tests, possibly win also?
428 * platform/graphics/skia/ImageBufferSkia.cpp:
429 (WebCore::getImageData):
430 (WebCore::ImageBuffer::getUnmultipliedImageData):
431 (WebCore::ImageBuffer::getPremultipliedImageData):
432 (WebCore::putImageData):
433 (WebCore::ImageBuffer::putUnmultipliedImageData):
434 (WebCore::ImageBuffer::putPremultipliedImageData):
436 2011-02-02 MORITA Hajime <morrita@google.com>
438 Reviewed by Dimitri Glazkov.
440 Refactoring: <progress> should not use ShadowElement
441 https://bugs.webkit.org/show_bug.cgi?id=53583
443 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
444 to be responsible for bar-part layout,
445 which adopted layout logic from ShadowBlockElement.
446 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
447 - Remove dependency from RenderProgress to HTMLProgressElement and
449 - The shadow tree is no longer removed on detach(). It becomes persistent.
450 This is now possible because the ShadowBlockElement dependency is gone.
451 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
452 That didn't make sense.
454 * html/HTMLProgressElement.cpp:
455 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
456 * html/HTMLProgressElement.h:
457 * html/shadow/ProgressBarValueElement.h: Added.
458 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
459 (WebCore::ProgressBarValueElement::shadowPseudoId):
460 (WebCore::ProgressBarValueElement::createRenderer):
461 (WebCore::ProgressBarValueElement::create):
462 * rendering/RenderIndicator.cpp:
463 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
464 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
465 (WebCore::RenderIndicatorPart::layout):
466 (WebCore::RenderIndicatorPart::styleDidChange):
467 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
468 (WebCore::RenderIndicatorPart::originalVisibility):
469 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
470 (WebCore::RenderIndicatorPart::canHaveChildren):
471 * rendering/RenderProgress.cpp:
472 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
473 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
474 (WebCore::RenderProgress::updateFromElement):
475 (WebCore::RenderProgress::layoutParts):
476 (WebCore::RenderProgress::shouldHaveParts):
477 * rendering/RenderProgress.h:
478 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
480 2011-02-03 Jia Pu <jpu@apple.com>
482 Reversion should not be marked as misspelled.
483 https://bugs.webkit.org/show_bug.cgi?id=53255
485 This patch includes fix for reported bug, and also some housekeeping changes.
487 To implement desired behavior, we need:
488 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
489 that shouldn't be spellchecked and text shouldn't be autocorrected.
490 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
491 Otherwise the spell checking code in that function may interfere with autocorrection. This
492 is achieved by explicitly applying pending correction when user types space, line break or
495 Housekeeping code changes include:
496 1. Change manual-tests that were broken by relocated WebCore directory.
497 2. Use TextIterator in various DocumentMarkerController functions instead of using
498 Node::traverseNextNode() directly.
499 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
500 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
501 4. Fixes of minor bugs that were exposed previously.
503 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
505 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
507 * dom/DocumentMarkerController.cpp:
508 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
509 consistent with addMarker() function. Allow passing in multiple marker types in one call.
510 Added a boolean argument to specify the behavior when removing markers that partially
511 overlap the specified range.
512 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
513 multiple marker types in one call.
514 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
515 consistent with addMarker() function. Allow passing in multiple marker types in one call.
517 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
518 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
519 removing markers that partially overlap the specified range.
521 * editing/Editor.cpp:
522 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
523 (WebCore::markerTypesForReplacement): Ditto.
524 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
525 setSelection() to make sure there is no pending correction when entering
526 markAllMisspellingsAndBadGrammarInRanges().
527 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
528 is a top level command to improve efficiency.
529 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
530 (WebCore::Editor::insertLineBreak): Ditto.
531 (WebCore::Editor::insertParagraphSeparator): Ditto.
532 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
533 text carries SpellCheckingExemption marker.
534 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
535 from spellchecker is an empty string.
536 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
537 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
538 efficiency and readability.
539 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
540 applying correction, since it's unnecessary. Also, store pre-correction string together with
541 the marker for reversion panel to use.
542 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
543 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
544 where we have access to EditCommand object.
546 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
548 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
549 were broken by relocated WebCore directory.
551 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
553 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
555 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
557 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
559 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
561 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
563 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
565 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
567 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
569 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
570 were broken by relocated WebCore directory.
572 * rendering/InlineTextBox.cpp:
573 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
575 2011-02-03 Abhishek Arya <inferno@chromium.org>
577 Unreviewed, qt build fix.
579 * rendering/RenderBlock.cpp:
580 (WebCore::RenderBlock::removeFloatingObject):
582 2011-02-03 Brian Salomon <bsalomon@google.com>
584 Reviewed by James Robinson.
586 Handle non-raster backed images in getUnmultipliedImageData()
587 https://bugs.webkit.org/show_bug.cgi?id=53468
589 No new tests. Existing canvas tests sufficient
590 LayoutTests/canvas/philip/...
592 * platform/graphics/skia/ImageBufferSkia.cpp:
593 (WebCore::getImageData):
594 (WebCore::ImageBuffer::getUnmultipliedImageData):
595 (WebCore::ImageBuffer::getPremultipliedImageData):
596 (WebCore::putImageData):
597 (WebCore::ImageBuffer::putUnmultipliedImageData):
598 (WebCore::ImageBuffer::putPremultipliedImageData):
600 2011-02-03 Abhishek Arya <inferno@chromium.org>
602 Reviewed by James Robinson.
604 Enforce more limits on root inline boxes height calculations.
605 https://bugs.webkit.org/show_bug.cgi?id=53729
607 Test: fast/overflow/overflow-height-float-not-removed-crash.html
609 * rendering/RenderBlock.cpp:
610 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
611 become negative when logicalTop is INT_MAX.
612 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
613 is INT_MAX, we should dirty everything. So, we bail out to make
614 afterLowest equal to the lastRootBox() or lowestDirstLine.
616 2011-02-03 David Levin <levin@chromium.org>
618 Reviewed by Adam Barth and Oliver Hunt.
620 Worker.importScript() should clean errors for cross origin imports.
621 https://bugs.webkit.org/show_bug.cgi?id=52871
623 Test: http/tests/workers/worker-importScriptsOnError.html
625 * bindings/js/WorkerScriptController.cpp:
626 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
627 to determine when to create a clean exception.
628 * bindings/v8/WorkerContextExecutionProxy.cpp:
629 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
630 * dom/ScriptExecutionContext.cpp:
631 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
632 if the error needs to be cleaned up.
633 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
634 sanitizeScriptError for use by other places.
635 * dom/ScriptExecutionContext.h:
636 * workers/WorkerContext.cpp:
637 (WebCore::WorkerContext::importScripts): Use the reponse url when
638 telling the evaluate where the script came fro.
639 * workers/WorkerScriptLoader.cpp:
640 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
641 the script was loaded from (which may be different from url() due
643 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
644 * workers/WorkerScriptLoader.h:
646 2011-02-03 Mark Mentovai <mark@chromium.org>
648 Reviewed by Dimitri Glazkov.
650 Chromium GYP build fix.
652 When various settings were moved to webcore_prerequisites in r66364,
653 things that should have been direct_dependent_settings were not marked
654 as such. GYP 'defines', for example, make no sense on a 'none'-type
655 target such as webcore_prerequisites. It appears that it was intended
656 for these settings to be pushed to direct dependents, which would make
657 direct_dependent_settings correct.
659 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
660 http://crbug.com/71537, which at best causes Mac console log spew, and
661 at worst may result in Chromium's copy of WebCore using system
662 definitions of certain Objective-C classes at runtime, or vice-versa.
664 The build now includes a postbuild step to prevent
665 http://crbug.com/71537 from regressing again. The build will fail upon
668 https://bugs.webkit.org/show_bug.cgi?id=53630
670 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
671 direct_dependent_settings as needed, add the check_objc_rename
673 * WebCore.gyp/mac/check_objc_rename.sh: Added.
675 2011-02-03 Adam Barth <abarth@webkit.org>
677 Reviewed by Eric Seidel.
679 Make XSSFilter go fast by adding a SuffixTree
680 https://bugs.webkit.org/show_bug.cgi?id=53665
682 The SuffixTree lets us quickly reject snippets if the POST data is
683 large (because we can avoid a linear scan over the POST data).
685 * html/parser/XSSFilter.cpp:
686 (WebCore::XSSFilter::init):
687 (WebCore::XSSFilter::isContainedInRequest):
688 * html/parser/XSSFilter.h:
690 2011-02-03 Mihai Parparita <mihaip@chromium.org>
692 Reviewed by Alexey Proskuryakov.
694 REGRESSION (r77355): Page cache layout tests crash
695 https://bugs.webkit.org/show_bug.cgi?id=53648
697 Test: fast/events/pagehide-timeout.html
699 Suspend active DOM objects after all pagehide event handlers have run,
700 otherwise it's possible for them to create more objects that weren't
703 * history/CachedFrame.cpp:
704 (WebCore::CachedFrame::CachedFrame):
706 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
708 Reviewed by Nate Chapin.
710 SerializedScriptValue should not require v8 to create undefined and null values
711 https://bugs.webkit.org/show_bug.cgi?id=53730
713 Instead of creating a v8 type and passing that into the constructor, just use
714 the writer class directly. While I was at it, I cleaned up the code a bit too
715 by getting rid of the WireData/StringValue enum as I found that personally
718 This is necessary because these methods are called by IndexedDB in the browser
719 process where v8 is not spun up.
721 No functionality changed and not possible to test.
723 * bindings/v8/SerializedScriptValue.cpp:
724 (WebCore::SerializedScriptValue::createFromWire):
725 (WebCore::SerializedScriptValue::create):
726 (WebCore::SerializedScriptValue::nullValue):
727 (WebCore::SerializedScriptValue::undefinedValue):
728 (WebCore::SerializedScriptValue::release):
729 (WebCore::SerializedScriptValue::SerializedScriptValue):
730 * bindings/v8/SerializedScriptValue.h:
732 2011-02-03 Beth Dakin <bdakin@apple.com>
734 Reviewed by Sam Weinig.
736 Fix for <rdar://problem/8944544> Ability to animate track
737 for WKPainter scrollers
739 Two new WebKitSystemInterface functions.
741 * platform/mac/WebCoreSystemInterface.h:
742 * platform/mac/WebCoreSystemInterface.mm:
744 Use Scrollbar::convertFromContainingView() to return the right point.
745 * platform/mac/ScrollAnimatorMac.mm:
746 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
748 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
749 now be used to animate the knob or the track.
750 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
751 (-[ScrollbarPartAnimation setCurrentProgress:]):
752 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
753 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
754 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
756 Scrollbars need invalodating after the overlay state changes.
757 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
759 2011-02-03 Sam Weinig <sam@webkit.org>
761 Reviewed by Beth Dakin.
763 Scroll thumb jumps to top when resizing horizontally.
765 * platform/ScrollView.cpp:
766 (WebCore::ScrollView::updateScrollbars): Add call to update
767 the scrollbar's offset in the case where we may have created
768 a new scrollbar but have not changed the current position.
770 2011-02-03 Justin Schuh <jschuh@chromium.org>
772 Reviewed by Dirk Schulze.
774 startAnimations should use a local, RefCounted Vector.
775 https://bugs.webkit.org/show_bug.cgi?id=53458
777 Test: svg/custom/use-animation-in-fill.html
779 * svg/SVGDocumentExtensions.cpp:
780 (WebCore::SVGDocumentExtensions::startAnimations):
782 2011-02-03 Adam Barth <abarth@webkit.org>
784 Reviewed by Daniel Bates.
786 XSSFilter shouldn't bother to analyze pages without "injection"
787 characters in the request
788 https://bugs.webkit.org/show_bug.cgi?id=53664
790 If the request lacks these "injection" characters, then it's unlikely
791 that there's a reflective XSS attack happening. This hueristic lets us
792 avoid analyzing the vast majority of responses for XSS. Of course, the
793 hueristic isn't perfect. Because of this huerstic, we miss out on
794 injections into unquoted attributes. However, it's a trade-off that's
795 worked well in the XSSAuditor.
797 * html/parser/XSSFilter.cpp:
798 (WebCore::HTMLNames::isRequiredForInjection):
799 (WebCore::XSSFilter::XSSFilter):
800 (WebCore::XSSFilter::init):
801 (WebCore::XSSFilter::filterToken):
802 (WebCore::XSSFilter::isContainedInRequest):
803 * html/parser/XSSFilter.h:
805 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
807 Reviewed by Kenneth Russell.
809 [chromium] Fixing a compositor crash occurring on layers
810 without an associated RenderSurface.
811 https://bugs.webkit.org/show_bug.cgi?id=53679
812 Regression was introduced by in r77425
814 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
817 * platform/graphics/chromium/LayerRendererChromium.cpp:
818 (WebCore::LayerRendererChromium::drawLayer):
820 2011-02-03 Dan Bernstein <mitz@apple.com>
822 Reviewed by Anders Carlsson.
824 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
825 https://bugs.webkit.org/show_bug.cgi?id=53709
827 Covered by rendering of fast/text/emphasis-vertical.html
829 * platform/graphics/mac/SimpleFontDataMac.mm:
830 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
833 2011-02-02 Levi Weintraub <leviw@chromium.org>
835 Reviewed by Ryosuke Niwa.
837 Moving cursor down in table cycles at the end of a row
838 https://bugs.webkit.org/show_bug.cgi?id=50012
840 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
841 end of a document due to a bug in nextLeafWithSameEditability.
843 Test: editing/selection/move-by-line-cycles-in-table.html
845 * editing/visible_units.cpp:
846 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
849 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
851 Reviewed by Pavel Feldman.
853 Web Inspector: remove dead code related to changes panel.
854 https://bugs.webkit.org/show_bug.cgi?id=53688
857 * WebCore.vcproj/WebCore.vcproj:
858 * inspector/front-end/ChangesView.js: Removed.
859 * inspector/front-end/WebKit.qrc:
860 * inspector/front-end/inspector.css:
861 (#error-warning-count):
862 (#error-warning-count:hover):
863 (#error-count + #warning-count):
864 * inspector/front-end/inspector.html:
865 * inspector/front-end/inspector.js:
867 2011-02-02 Sam Weinig <sam@webkit.org>
869 Reviewed by Anders Carlsson.
871 Add notification of the end of a rubber band.
872 <rdar://problem/8940648>
875 Add additional exprots.
877 * page/ChromeClient.h:
878 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
879 * page/FrameView.cpp:
880 (WebCore::FrameView::didCompleteRubberBand):
882 * platform/ScrollView.cpp:
883 (WebCore::ScrollView::didCompleteRubberBand):
884 * platform/ScrollView.h:
887 * platform/ScrollableArea.h:
888 (WebCore::ScrollableArea::inLiveResize):
889 (WebCore::ScrollableArea::maximumScrollPosition):
890 (WebCore::ScrollableArea::visibleWidth):
891 (WebCore::ScrollableArea::overhangAmount):
892 (WebCore::ScrollableArea::didCompleteRubberBand):
893 Reorganize and de-virtualize live resize notifications.
895 * platform/mac/ScrollAnimatorMac.mm:
896 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
897 Call the new hook when the rubberband ends.
899 2011-02-02 Evan Martin <evan@chromium.org>
901 Reviewed by Tony Chang.
903 [chromium] complex joining characters positioned in wrong place
904 https://bugs.webkit.org/show_bug.cgi?id=53637
906 Provide the correct font metrics to Harfbuzz related to the font design space.
907 There are used in some fonts for GPOS positioning.
909 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
911 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
912 (WebCore::ComplexTextController::setupFontForScriptRun):
913 (WebCore::ComplexTextController::allocHarfbuzzFont):
914 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
915 (WebCore::FontPlatformData::FontPlatformData):
916 (WebCore::FontPlatformData::emSizeInFontUnits):
917 (WebCore::FontPlatformData::operator=):
918 * platform/graphics/chromium/FontPlatformDataLinux.h:
919 (WebCore::FontPlatformData::FontPlatformData):
921 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
923 Reviewed by Kent Tamura.
925 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
926 https://bugs.webkit.org/show_bug.cgi?id=53634
928 Test: fast/dom/HTMLInputElement/input-slider-update.html
930 * html/HTMLInputElement.cpp:
931 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
932 * html/InputType.cpp:
933 (WebCore::InputType::valueChanged): Added empty implementation.
934 * html/InputType.h: Added def.
935 * html/RangeInputType.cpp:
936 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
938 * html/RangeInputType.h: Added def.
940 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
942 Reviewed by Pavel Feldman.
944 Web Inspector: do not share source frames between resources panel and scripts panel.
945 https://bugs.webkit.org/show_bug.cgi?id=53584
947 Currently, we show error messages only for resources. This change will allow showing error
948 messages in source frame even when resource is not available (eval scripts, inlined scripts).
950 * inspector/front-end/ConsoleView.js:
951 (WebInspector.ConsoleView.prototype.addMessage):
952 (WebInspector.ConsoleView.prototype.clearMessages):
953 * inspector/front-end/ResourceView.js:
954 (WebInspector.ResourceView.recreateResourceView):
955 * inspector/front-end/ResourcesPanel.js:
956 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
957 * inspector/front-end/ScriptsPanel.js:
958 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
959 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
960 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
961 (WebInspector.ScriptsPanel.prototype.reset):
962 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
963 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
964 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
966 2011-02-03 Simon Fraser <simon.fraser@apple.com>
970 * platform/graphics/ShadowBlur.cpp:
971 (WebCore::ShadowBlur::blurLayerImage):
973 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
975 Reviewed by Pavel Feldman.
977 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
978 https://bugs.webkit.org/show_bug.cgi?id=53592
980 In JSC there is no limit, thus 'undefined' value is returned.
981 For V8, the limit reported by the VM is returned.
983 * Android.jscbindings.mk:
988 * WebCore.vcproj/WebCore.vcproj:
989 * WebCore.xcodeproj/project.pbxproj:
990 * bindings/js/JSBindingsAllInOne.cpp:
991 * bindings/js/JSMemoryInfoCustom.cpp: Added.
992 * bindings/js/ScriptGCEvent.cpp:
993 (WebCore::ScriptGCEvent::getHeapSize):
994 * bindings/js/ScriptGCEvent.h:
995 * bindings/v8/ScriptGCEvent.cpp:
996 (WebCore::ScriptGCEvent::getHeapSize):
997 * bindings/v8/ScriptGCEvent.h:
998 * inspector/InspectorTimelineAgent.cpp:
999 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1000 * page/MemoryInfo.cpp:
1001 (WebCore::MemoryInfo::MemoryInfo):
1002 * page/MemoryInfo.h:
1003 (WebCore::MemoryInfo::jsHeapSizeLimit):
1004 * page/MemoryInfo.idl:
1006 2011-01-27 Philippe Normand <pnormand@igalia.com>
1008 Reviewed by Martin Robinson.
1010 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
1011 https://bugs.webkit.org/show_bug.cgi?id=53125
1013 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1014 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
1016 2011-02-03 Simon Fraser <simon.fraser@apple.com>
1018 Reviewed by Sam Weinig.
1020 ShadowBlur radius for CSS shadows is slightly too big
1021 https://bugs.webkit.org/show_bug.cgi?id=53660
1023 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
1024 shadows that extend further than the CSS "blur radius", which results
1025 in the shadows being truncated.
1027 Fix with a small fudge factor to reduce the kernel diameter slightly
1030 Also more closely follow the algorithm described in the SVG spec
1031 for computing the kernel size for different diameters, and clean up
1032 some variable naming relating to the shadow bounds.
1034 * platform/graphics/ShadowBlur.cpp:
1035 (WebCore::ShadowBlur::blurLayerImage):
1036 (WebCore::ShadowBlur::drawRectShadowWithTiling):
1038 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
1040 Reviewed by Pavel Feldman.
1042 Web Inspector: introduce new api for managing JavaScript breakpoints.
1043 https://bugs.webkit.org/show_bug.cgi?id=53235
1045 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
1046 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
1047 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
1049 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
1050 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
1052 * bindings/js/ScriptDebugServer.cpp:
1053 (WebCore::ScriptDebugServer::setBreakpoint):
1054 (WebCore::ScriptDebugServer::removeBreakpoint):
1055 * bindings/js/ScriptDebugServer.h:
1056 * bindings/v8/DebuggerScript.js:
1058 * bindings/v8/ScriptDebugServer.cpp:
1059 (WebCore::ScriptDebugServer::setBreakpoint):
1060 * bindings/v8/ScriptDebugServer.h:
1061 * inspector/Inspector.idl:
1062 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
1063 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1064 (WebCore::InspectorAgent::populateScriptObjects):
1065 (WebCore::InspectorAgent::restoreDebugger):
1066 (WebCore::InspectorAgent::showAndEnableDebugger):
1067 (WebCore::InspectorAgent::enableDebugger):
1068 * inspector/InspectorAgent.h:
1069 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
1070 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1071 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
1072 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
1073 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
1074 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
1075 (WebCore::InspectorDebuggerAgent::continueToLocation):
1076 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1077 (WebCore::InspectorDebuggerAgent::getScriptSource):
1078 (WebCore::InspectorDebuggerAgent::didParseSource):
1079 (WebCore::InspectorDebuggerAgent::didPause):
1080 * inspector/InspectorDebuggerAgent.h:
1081 (WebCore::InspectorDebuggerAgent::Script::Script):
1082 * inspector/InspectorValues.cpp:
1083 (WebCore::InspectorValue::asNumber):
1084 (WebCore::InspectorBasicValue::asNumber):
1085 (WebCore::InspectorObject::remove):
1086 * inspector/InspectorValues.h:
1087 (WebCore::InspectorObject::getNumber):
1088 (WebCore::InspectorObject::find):
1089 * inspector/ScriptBreakpoint.h:
1090 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
1091 * inspector/front-end/Breakpoint.js:
1092 (WebInspector.Breakpoint):
1093 (WebInspector.Breakpoint.prototype.addLocation):
1094 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
1095 (WebInspector.BreakpointManager):
1096 (WebInspector.BreakpointManager.prototype._projectChanged):
1097 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1098 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
1099 * inspector/front-end/BreakpointsSidebarPane.js:
1100 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
1101 * inspector/front-end/DebuggerModel.js:
1102 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
1103 * inspector/front-end/Script.js:
1104 (WebInspector.Script.prototype.sourceLine):
1105 * inspector/front-end/ScriptsPanel.js:
1106 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1107 * inspector/front-end/Settings.js:
1108 (WebInspector.Settings):
1109 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
1110 * inspector/front-end/inspector.js:
1112 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
1114 Reviewed by Dirk Schulze.
1116 small text which is scaled to be large renders pixelated
1117 https://bugs.webkit.org/show_bug.cgi?id=12448
1119 SVG <text> with font-size smaller or equal to 1 does not paint correctly
1120 https://bugs.webkit.org/show_bug.cgi?id=14242
1122 misplaced text in SVG
1123 https://bugs.webkit.org/show_bug.cgi?id=17053
1125 Don't render very small (but zoomed) text inside SVG
1126 https://bugs.webkit.org/show_bug.cgi?id=19393
1128 Tiny fonts scaled up end up too large in Safari
1129 https://bugs.webkit.org/show_bug.cgi?id=20192
1131 Stretched SVG Text has awful glyph spacing
1132 https://bugs.webkit.org/show_bug.cgi?id=21774
1134 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
1135 https://bugs.webkit.org/show_bug.cgi?id=49846
1137 [Gtk] Text height in zoomed SVG is 1px too high
1138 https://bugs.webkit.org/show_bug.cgi?id=50313
1140 SVG text smaller than 0.5px not displayed properly
1141 https://bugs.webkit.org/show_bug.cgi?id=50528
1143 When rendering text, we're selecting a font with a size, as specified in the markup.
1144 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
1145 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
1146 problem becomes apparent.
1148 Consider following two snippets, which should render exactly the same:
1149 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
1150 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
1152 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
1153 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
1154 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
1156 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1157 remove any scaling from the context, draw the text using the scaled font size, then reapply
1158 the context scale. This makes the example snippets above render exactly the same and fixes
1159 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1160 internally, depending on the scale of the document, it's very important to use the new
1161 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1163 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1164 svg/hixie/text/003.html (no more pixelation)
1165 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1166 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1167 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1169 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1170 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1171 svg/text/scaled-font.svg (reduction from bug 12448)
1172 svg/text/small-fonts-2.svg (reduction from bug 14242)
1173 svg/text/small-fonts-3.svg (reduction from bug 17053)
1174 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1175 svg/text/small-fonts.svg (reduction from bug 20192))
1177 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1178 * rendering/svg/RenderSVGInlineText.h:
1179 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1180 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1181 * rendering/svg/SVGInlineTextBox.h:
1182 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1183 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1184 * rendering/svg/SVGTextMetrics.h: Ditto.
1185 * rendering/svg/SVGTextQuery.cpp: Ditto.
1186 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1187 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1188 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1189 * svg/SVGTextPositioningElement.h:
1191 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1193 Reviewed by Yury Semikhatsky.
1195 Web Inspector: resources panel doesn't show frames after reload.
1196 https://bugs.webkit.org/show_bug.cgi?id=53430
1198 * inspector/front-end/ResourcesPanel.js:
1199 (WebInspector.ResourcesPanel.prototype.show):
1200 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1201 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1202 (WebInspector.ResourcesPanel.prototype.reset):
1203 (WebInspector.ResourcesPanel.prototype.clear):
1204 * inspector/front-end/inspector.js:
1205 (WebInspector.loadEventFired):
1207 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1209 Reviewed by Pavel Feldman.
1211 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1212 https://bugs.webkit.org/show_bug.cgi?id=53492
1214 * inspector/Inspector.idl:
1215 * inspector/InspectorCSSAgent.cpp:
1216 (WebCore::InspectorCSSAgent::getStylesForNode):
1217 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1218 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1219 (WebCore::InspectorCSSAgent::getAllStyles):
1220 (WebCore::InspectorCSSAgent::getStyleSheet):
1221 (WebCore::InspectorCSSAgent::getStyleSheetText):
1222 (WebCore::InspectorCSSAgent::setStyleSheetText):
1223 (WebCore::InspectorCSSAgent::setPropertyText):
1224 (WebCore::InspectorCSSAgent::toggleProperty):
1225 (WebCore::InspectorCSSAgent::setRuleSelector):
1226 (WebCore::InspectorCSSAgent::addRule):
1227 * inspector/InspectorCSSAgent.h:
1228 * inspector/front-end/AuditRules.js:
1229 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1230 * inspector/front-end/CSSStyleModel.js:
1231 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1232 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1233 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1234 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1235 (WebInspector.CSSStyleModel.prototype.addRule):
1236 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1237 (WebInspector.CSSStyleModel.prototype._onRevert):
1238 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1239 (WebInspector.CSSProperty.prototype.setText):
1240 (WebInspector.CSSProperty.prototype.setDisabled):
1241 (WebInspector.CSSStyleSheet.createForId):
1242 (WebInspector.CSSStyleSheet.prototype.setText):
1244 2011-02-03 Adam Barth <abarth@webkit.org>
1246 Reviewed by Daniel Bates.
1248 Teach XSSFilter about data URLs
1249 https://bugs.webkit.org/show_bug.cgi?id=53662
1251 The XSS filter doesn't really make sense for data URLs because
1252 everything in a "response" from a data URL was part of the request.
1254 Test: http/tests/security/xssAuditor/data-urls-work.html
1256 * html/parser/XSSFilter.cpp:
1257 (WebCore::XSSFilter::init):
1258 (WebCore::XSSFilter::filterToken):
1260 2011-02-02 Chris Evans <cevans@chromium.org>
1262 Reviewed by Darin Fisher.
1264 window.find() can fail when switching case sensitivity
1265 https://bugs.webkit.org/show_bug.cgi?id=53654
1267 Reset the pattern to a safe one when done, to avoid usearch_reset()
1268 indirectly touching the old, stale text pointer.
1270 Test: fast/text/find-window.html
1272 * editing/TextIterator.cpp:
1273 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1275 2011-02-02 Adam Barth <abarth@webkit.org>
1277 Reviewed by Daniel Bates.
1279 Teach XSSFilter that <param> elements can contain URLs
1280 https://bugs.webkit.org/show_bug.cgi?id=53652
1282 When loading plugins for the <object> tag, we're "smart" enough to
1283 reach into the <param> elements and pull out the URL in some cases.
1284 This patch teaches the XSSFilter how to block injections into those
1285 sorts of param elements.
1288 http/tests/security/xssAuditor/object-*
1290 * html/HTMLParamElement.cpp:
1291 (WebCore::HTMLParamElement::isURLParameter):
1292 (WebCore::HTMLParamElement::isURLAttribute):
1293 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1294 * html/HTMLParamElement.h:
1295 - Add a helper function so that HTMLParamElement can share the
1296 ground truth for these names with the XSSFilter.
1297 * html/parser/XSSFilter.cpp:
1298 (WebCore::XSSFilter::filterTokenInitial):
1299 (WebCore::XSSFilter::filterParamToken):
1300 * html/parser/XSSFilter.h:
1302 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1304 Reviewed by David Levin.
1306 GCC compiler on ARM issues bogus warnings and fails to compile.
1307 https://bugs.webkit.org/show_bug.cgi?id=53620
1309 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1310 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1312 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1314 The fix is to add an extra condition, which somehow pacifies the compiler.
1316 * css/CSSPrimitiveValue.cpp:
1317 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1319 2011-02-02 Adam Barth <abarth@webkit.org>
1321 Reviewed by Daniel Bates.
1323 Teach XSSFilter about X-XSS-Protection
1324 https://bugs.webkit.org/show_bug.cgi?id=53640
1326 This patch causes us to pass:
1327 http/tests/security/xssAuditor/full-block-*
1328 http/tests/security/xssAuditor/no-protection-script-tag.html
1330 * html/parser/XSSFilter.cpp:
1331 (WebCore::XSSFilter::XSSFilter):
1332 (WebCore::XSSFilter::init):
1333 (WebCore::XSSFilter::filterToken):
1334 * html/parser/XSSFilter.h:
1336 2011-02-02 Adam Barth <abarth@webkit.org>
1338 Reviewed by Daniel Bates.
1340 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1341 instead of the empty string
1342 https://bugs.webkit.org/show_bug.cgi?id=53643
1344 In a URL context, the empty string completes to the URL of the current
1345 page, which causes these tests to go into an infinite loop. Instead,
1346 we should use a "safe" JavaScript URL that does nothing.
1349 http/tests/security/xssAuditor/javascript-link*
1351 * html/parser/XSSFilter.cpp:
1352 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1354 2011-02-02 Dan Bernstein <mitz@apple.com>
1356 Reviewed by Sam Weinig.
1358 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1359 https://bugs.webkit.org/show_bug.cgi?id=44942
1361 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1363 * platform/text/BidiResolver.h:
1364 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1365 a change to embedding levels.
1366 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1367 the explicit embedding sequence, then runs were not added, and we should continue normally.
1369 2011-02-02 Sam Weinig <sam@webkit.org>
1371 Reviewed by Dan Bernstein.
1373 Fix miscalculation of the overhang area used for painting. We were
1374 not correctly accounting for scrollbars resulting in an non-negative
1375 overhang even when we weren't over the edge.
1377 * platform/ScrollView.cpp:
1378 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1380 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1382 Reviewed by Nate Chapin.
1384 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1385 https://bugs.webkit.org/show_bug.cgi?id=52722
1387 The solution is to change ScriptExecutionContext's destructor to iterate over
1388 the list in a way that handles the mutations. This new method is destructive,
1389 but that's OK since the object is going away. I've also added a several asserts.
1391 There should be no behavior change.
1393 * dom/ScriptExecutionContext.cpp:
1394 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1395 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1396 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1397 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1398 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1399 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1400 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1401 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1402 * dom/ScriptExecutionContext.h:
1403 * storage/IDBTransaction.cpp:
1404 (WebCore::IDBTransaction::contextDestroyed):
1405 * storage/IDBTransaction.h:
1407 2011-02-02 Mark Rowe <mrowe@apple.com>
1411 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1412 * platform/mac/ScrollbarThemeMac.mm:
1413 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1414 up in the HashMap rather than relying on a local variable that doesn't
1417 2011-02-02 Adam Barth <abarth@webkit.org>
1419 Reviewed by Daniel Bates.
1421 Teach XSSFilter about JavaScript URLs
1422 https://bugs.webkit.org/show_bug.cgi?id=53635
1424 This patch teaches the XSSFilter to check for JavaScript URLs in
1425 attribute values. If this approach has too many false positives, we
1426 can restrict which attribute names we examine.
1429 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1430 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1431 http/tests/security/xssAuditor/iframe-javascript-url*
1433 * html/parser/XSSFilter.cpp:
1434 (WebCore::HTMLNames::containsJavaScriptURL):
1435 (WebCore::XSSFilter::filterTokenInitial):
1436 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1437 * html/parser/XSSFilter.h:
1439 2011-02-02 Dan Bernstein <mitz@apple.com>
1441 Reviewed by Sam Weinig, even though this is just a...
1445 * platform/mac/ScrollAnimatorMac.mm:
1446 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1448 2011-02-02 Mark Rowe <mrowe@apple.com>
1450 Reviewed by Beth Dakin.
1452 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1454 We need to ensure that we remove ourselves as the delegates of objects when we're going
1455 away as failing to do this can lead to crashes if the lifetime of the other objects
1456 is longer than ours.
1458 * platform/mac/ScrollAnimatorMac.mm:
1459 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1460 * platform/mac/ScrollbarThemeMac.mm:
1461 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1463 2011-02-02 Beth Dakin <bdakin@apple.com>
1469 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1471 Unreviewed WinCE build fix for r77397.
1473 * page/wince/FrameWinCE.cpp:
1474 (WebCore::computePageRectsForFrame):
1476 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1478 Unreviewed WinCE build fix for r77398.
1480 * platform/graphics/wince/PlatformPathWinCE.cpp:
1481 (WebCore::containsPoint):
1482 (WebCore::inflateRectToContainPoint):
1483 (WebCore::PlatformPath::addRect):
1484 * platform/graphics/wince/SharedBitmap.cpp:
1485 (WebCore::SharedBitmap::drawPattern):
1486 * rendering/RenderThemeWinCE.cpp:
1487 (WebCore::RenderThemeWinCE::paintMenuListButton):
1488 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1489 (WebCore::RenderThemeWinCE::paintSliderTrack):
1490 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1491 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1492 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1493 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1495 2011-02-02 Jian Li <jianli@chromium.org>
1497 Reviewed by Kenneth Russell.
1499 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1500 https://bugs.webkit.org/show_bug.cgi?id=53559
1502 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1504 * html/canvas/DataView.h:
1505 (WebCore::DataView::beyondRange):
1507 2011-02-02 Sam Weinig <sam@webkit.org>
1509 Reviewed by Beth Dakin.
1511 Add ChromeClient function to paint custom overhang areas.
1512 https://bugs.webkit.org/show_bug.cgi?id=53639
1515 (WebCore::ChromeClient::paintCustomOverhangArea):
1516 * page/ChromeClient.h:
1517 Add ChromeClient function.
1519 * page/FrameView.cpp:
1520 (WebCore::FrameView::paintOverhangAreas):
1522 Call out the the ChromeClient, call ScrollView base implementation
1523 if the ChromeClient returns false.
1525 * platform/ScrollView.cpp:
1526 (WebCore::ScrollView::paintOverhangAreas):
1527 * platform/ScrollView.h:
1528 Add dirty rect for use when painting overhang areas.
1530 2011-02-02 Peter Kasting <pkasting@google.com>
1532 Not reviewed, build fix.
1534 Fix compile after r77427.
1535 https://bugs.webkit.org/show_bug.cgi?id=53455
1537 * platform/graphics/qt/ImageDecoderQt.cpp:
1538 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1539 * platform/image-decoders/ImageDecoder.cpp:
1540 (WebCore::ImageFrame::operator=):
1541 * platform/image-decoders/bmp/BMPImageReader.cpp:
1542 (WebCore::BMPImageReader::decodeBMP):
1543 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1544 (WebCore::JPEGImageDecoder::outputScanlines):
1545 * platform/image-decoders/png/PNGImageDecoder.cpp:
1546 (WebCore::PNGImageDecoder::rowAvailable):
1547 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1548 (WebCore::WEBPImageDecoder::decode):
1550 2011-02-02 Peter Kasting <pkasting@google.com>
1552 Reviewed by David Levin.
1554 Clean up ImageDecoder's comments (remove/trim/clarify).
1555 https://bugs.webkit.org/show_bug.cgi?id=53455
1557 This also renames or eliminates a couple of functions for clarity, and
1558 switches a couple erroneous strncmp() calls to memcmp().
1560 * platform/image-decoders/ImageDecoder.cpp:
1561 (WebCore::ImageDecoder::create):
1562 (WebCore::ImageFrame::clearPixelData):
1563 (WebCore::ImageFrame::zeroFillPixelData):
1564 (WebCore::ImageFrame::setSize):
1565 * platform/image-decoders/ImageDecoder.h:
1566 (WebCore::ImageFrame::originalFrameRect):
1567 (WebCore::ImageFrame::setOriginalFrameRect):
1568 (WebCore::ImageDecoder::ImageDecoder):
1569 (WebCore::ImageDecoder::~ImageDecoder):
1570 (WebCore::ImageDecoder::isSizeAvailable):
1571 (WebCore::ImageDecoder::size):
1572 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1573 (WebCore::ImageDecoder::clearFrameBufferCache):
1574 (WebCore::ImageDecoder::isOverSize):
1575 * platform/image-decoders/bmp/BMPImageReader.cpp:
1576 (WebCore::BMPImageReader::processNonRLEData):
1577 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1578 (WebCore::ImageFrame::setSize):
1579 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1580 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1581 (WebCore::GIFImageDecoder::frameComplete):
1582 (WebCore::GIFImageDecoder::initFrameBuffer):
1583 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1584 * platform/image-decoders/qt/ImageFrameQt.cpp:
1585 (WebCore::ImageFrame::operator=):
1586 (WebCore::ImageFrame::clearPixelData):
1587 (WebCore::ImageFrame::zeroFillPixelData):
1588 (WebCore::ImageFrame::setSize):
1589 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1590 (WebCore::ImageFrame::operator=):
1591 (WebCore::ImageFrame::clearPixelData):
1592 (WebCore::ImageFrame::zeroFillPixelData):
1593 (WebCore::ImageFrame::setSize):
1594 * platform/image-decoders/webp/WEBPImageDecoder.h:
1596 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1598 [chromium] Adding support for reflections to the accelerated
1600 https://bugs.webkit.org/show_bug.cgi?id=53179
1602 All layout tests in compositing/reflections generate correct
1603 results with the exception of:
1604 1. nested-reflection-anchor-point.html : There appears to be
1605 some issue with the layer transform math that I haven't been
1606 able to track down yet.
1607 2. reflection-opacity.html : The current implementation applies
1608 opacity before doing the reflection which makes this test
1609 produce incorrect results. This will affect reflected layers
1610 with opacity that overlap their original layer. FIXME comment
1613 Tests: Covered by existing layout tests in compositing/reflections.
1614 Please see above for exceptions.
1616 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1617 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1618 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1619 * platform/graphics/chromium/GraphicsLayerChromium.h:
1620 * platform/graphics/chromium/LayerChromium.cpp:
1621 (WebCore::LayerChromium::LayerChromium):
1622 * platform/graphics/chromium/LayerChromium.h:
1623 (WebCore::LayerChromium::setReplicaLayer):
1624 (WebCore::LayerChromium::replicaLayer):
1625 * platform/graphics/chromium/LayerRendererChromium.cpp:
1626 (WebCore::LayerRendererChromium::updateLayersRecursive):
1627 (WebCore::LayerRendererChromium::drawLayer):
1628 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1629 (WebCore::RenderSurfaceChromium::drawableContentRect):
1630 (WebCore::RenderSurfaceChromium::drawSurface):
1631 (WebCore::RenderSurfaceChromium::draw):
1632 * platform/graphics/chromium/RenderSurfaceChromium.h:
1633 (WebCore::RenderSurfaceChromium::drawTransform):
1635 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1637 Reviewed by Tony Chang.
1639 [Chromium] Select popup with padding has white strip on right
1640 https://bugs.webkit.org/show_bug.cgi?id=53602
1642 No new tests as this change restores old behavior.
1644 * platform/chromium/PopupMenuChromium.cpp:
1645 (WebCore::PopupListBox::layout):
1647 2011-02-02 Beth Dakin <bdakin@apple.com>
1649 Reviewed by Mark Rowe.
1651 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1652 1 crash in WebProcess at com.apple.WebCore:
1653 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1655 It is possible for a Scrollbar's ScrollableArea to be null,
1656 so we must null check.
1657 * platform/mac/ScrollbarThemeMac.mm:
1658 (WebCore::ScrollbarThemeMac::registerScrollbar):
1659 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1661 2011-02-02 Zhenyao Mo <zmo@google.com>
1663 Reviewed by Kenneth Russell.
1665 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1666 https://bugs.webkit.org/show_bug.cgi?id=53626
1668 * html/canvas/WebGLRenderingContext.cpp:
1669 (WebCore::WebGLRenderingContext::bufferData):
1670 (WebCore::WebGLRenderingContext::bufferSubData):
1672 2011-02-02 Jeff Miller <jeffm@apple.com>
1674 Reviewed by Darin Adler and Steve Falkenburg.
1676 Add DerivedSources.make to some Visual Studio projects
1677 https://bugs.webkit.org/show_bug.cgi?id=53607
1679 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1681 2011-02-02 Cris Neckar <cdn@chromium.org>
1683 Reviewed by James Robinson.
1685 Refcount domwindows when dispatching device orientation events.
1686 https://bugs.webkit.org/show_bug.cgi?id=53623
1688 Test: fast/events/device-orientation-crash.html
1690 * dom/DeviceMotionController.cpp:
1691 (WebCore::DeviceMotionController::timerFired):
1692 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1693 * dom/DeviceMotionController.h:
1694 * dom/DeviceOrientationController.cpp:
1695 (WebCore::DeviceOrientationController::timerFired):
1696 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1697 * dom/DeviceOrientationController.h:
1699 2011-02-02 Zhenyao Mo <zmo@google.com>
1701 Reviewed by Kenneth Russell.
1703 A deleted object should never been bound again
1704 https://bugs.webkit.org/show_bug.cgi?id=53604
1706 * html/canvas/WebGLRenderingContext.cpp:
1707 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1708 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1709 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1710 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1711 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1712 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1713 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1714 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1715 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1716 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1717 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1718 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1719 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1720 * html/canvas/WebGLRenderingContext.h:
1721 * html/canvas/WebGLTexture.h:
1722 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1724 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1726 Unreviewed Efl buildfix after r77399.
1728 * CMakeListsEfl.txt:
1730 2011-02-02 Kenneth Russell <kbr@google.com>
1732 Reviewed by James Robinson.
1734 Rename Typed Array subset to subarray
1735 https://bugs.webkit.org/show_bug.cgi?id=53618
1737 * html/canvas/Float32Array.cpp:
1738 (WebCore::Float32Array::subarray):
1739 * html/canvas/Float32Array.h:
1740 * html/canvas/Float32Array.idl:
1741 * html/canvas/Int16Array.cpp:
1742 (WebCore::Int16Array::subarray):
1743 * html/canvas/Int16Array.h:
1744 * html/canvas/Int16Array.idl:
1745 * html/canvas/Int32Array.cpp:
1746 (WebCore::Int32Array::subarray):
1747 * html/canvas/Int32Array.h:
1748 * html/canvas/Int32Array.idl:
1749 * html/canvas/Int8Array.cpp:
1750 (WebCore::Int8Array::subarray):
1751 * html/canvas/Int8Array.h:
1752 * html/canvas/Int8Array.idl:
1753 * html/canvas/TypedArrayBase.h:
1754 (WebCore::TypedArrayBase::subarrayImpl):
1755 * html/canvas/Uint16Array.cpp:
1756 (WebCore::Uint16Array::subarray):
1757 * html/canvas/Uint16Array.h:
1758 * html/canvas/Uint16Array.idl:
1759 * html/canvas/Uint32Array.cpp:
1760 (WebCore::Uint32Array::subarray):
1761 * html/canvas/Uint32Array.h:
1762 * html/canvas/Uint32Array.idl:
1763 * html/canvas/Uint8Array.cpp:
1764 (WebCore::Uint8Array::subarray):
1765 * html/canvas/Uint8Array.h:
1766 * html/canvas/Uint8Array.idl:
1768 2011-02-02 Adam Barth <abarth@webkit.org>
1770 Reviewed by Eric Seidel.
1772 Add an empty file for Content Security Policy
1773 https://bugs.webkit.org/show_bug.cgi?id=53573
1775 Posting this as a separate patch because editing the build files is so
1783 * WebCore.vcproj/WebCore.vcproj:
1784 * WebCore.xcodeproj/project.pbxproj:
1786 2011-02-02 Dan Winship <danw@gnome.org>
1788 Reviewed by Martin Robinson.
1790 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1792 https://bugs.webkit.org/show_bug.cgi?id=50885
1794 * platform/network/soup/ResourceHandleSoup.cpp:
1795 (WebCore::sendRequestCallback): Do content-type sniffing here for
1797 (WebCore::startHTTPRequest): Rename to match WebKit style.
1798 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1799 startNonHTTPRequest, letting the SoupRequester decide whether it's
1801 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1802 code that was a no-op for file: URIs, but would break some data:
1805 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1807 Update even more references to right() and bottom() in Chromium. Sheesh.
1809 * platform/graphics/chromium/LayerRendererChromium.cpp:
1810 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1812 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1814 Unreviewed Gtk3 buildfix after r77286.
1816 https://bugs.webkit.org/show_bug.cgi?id=53520
1817 Remove the physical terminology from IntRect and FloatRect.
1819 * platform/gtk/RenderThemeGtk3.cpp:
1820 (WebCore::RenderThemeGtk::paintMenuList):
1822 2011-02-02 Anders Carlsson <andersca@apple.com>
1826 * platform/mac/ScrollAnimatorMac.mm:
1827 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1829 2011-02-02 David Hyatt <hyatt@apple.com>
1831 Reviewed by Dan Bernstein.
1833 https://bugs.webkit.org/show_bug.cgi?id=53619
1835 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1836 with maxX/maxY. This matches IntRect.
1838 * rendering/RenderBlock.cpp:
1839 (WebCore::RenderBlock::addOverflowFromFloats):
1840 (WebCore::RenderBlock::flipFloatForWritingMode):
1841 (WebCore::RenderBlock::paintFloats):
1842 (WebCore::RenderBlock::selectionGaps):
1843 (WebCore::RenderBlock::addOverhangingFloats):
1844 (WebCore::RenderBlock::addIntrudingFloats):
1845 (WebCore::RenderBlock::hitTestFloats):
1846 (WebCore::RenderBlock::adjustForBorderFit):
1847 * rendering/RenderBlock.h:
1848 (WebCore::RenderBlock::FloatingObject::x):
1849 (WebCore::RenderBlock::FloatingObject::maxX):
1850 (WebCore::RenderBlock::FloatingObject::y):
1851 (WebCore::RenderBlock::FloatingObject::maxY):
1852 (WebCore::RenderBlock::FloatingObject::setX):
1853 (WebCore::RenderBlock::FloatingObject::setY):
1854 (WebCore::RenderBlock::logicalTopForFloat):
1855 (WebCore::RenderBlock::logicalBottomForFloat):
1856 (WebCore::RenderBlock::logicalLeftForFloat):
1857 (WebCore::RenderBlock::logicalRightForFloat):
1858 (WebCore::RenderBlock::setLogicalTopForFloat):
1859 (WebCore::RenderBlock::setLogicalLeftForFloat):
1860 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1861 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1863 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1865 Update more references to right() and bottom() in Chromium Win.
1867 * platform/graphics/chromium/TransparencyWin.cpp:
1868 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1869 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1870 * rendering/RenderThemeChromiumWin.cpp:
1871 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1873 2011-02-02 Adam Roben <aroben@apple.com>
1875 Encode/decode FormData and FormDataElement objects consistently
1877 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1878 that contains form data fails (asserts in Debug build)
1880 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1881 now, even though we don't have an automated test for it yet. Writing a test is covered by
1882 <http://webkit.org/b/53616>.
1884 Reviewed by Darin Adler.
1886 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1889 * platform/network/FormData.cpp:
1890 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1891 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1892 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1893 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1894 to correctly set the FormDataElement's type based on this decoded type later in the
1896 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1897 matches its type and how we decode it.
1899 2011-02-02 Dan Winship <danw@gnome.org>
1901 Reviewed by Martin Robinson.
1903 [GTK] drop soup cache stuff, which has been moved to libsoup
1904 https://bugs.webkit.org/show_bug.cgi?id=50747
1906 Use libsoup-based cache/requester API and remove the WebCore version
1907 of this functionality. This has been pushed upstream fully.
1909 No new tests because this should not change functionality.
1911 * GNUmakefile.am: Update for removed files.
1912 * platform/network/ResourceHandleInternal.h:
1913 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1914 type names, drop m_requester.
1915 * platform/network/soup/ResourceHandleSoup.cpp:
1916 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1918 (WebCore::parseDataUrl):
1919 (WebCore::startHttp): Get the requester from the session rather
1920 than using m_requester.
1921 (WebCore::sendRequestCallback):
1922 (WebCore::ResourceHandle::platformSetDefersLoading):
1923 (WebCore::readCallback):
1924 (WebCore::startGio): Update type names.
1925 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1926 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1927 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1928 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1929 * platform/network/soup/cache/soup-request-data.c: Removed.
1930 * platform/network/soup/cache/soup-request-data.h: Removed.
1931 * platform/network/soup/cache/soup-request-file.c: Removed.
1932 * platform/network/soup/cache/soup-request-file.h: Removed.
1933 * platform/network/soup/cache/soup-request-http.c: Removed.
1934 * platform/network/soup/cache/soup-request-http.h: Removed.
1935 * platform/network/soup/cache/soup-request.c: Removed.
1936 * platform/network/soup/cache/soup-request.h: Removed.
1937 * platform/network/soup/cache/soup-requester.c: Removed.
1938 * platform/network/soup/cache/soup-requester.h: Removed.
1939 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1940 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1941 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1943 2011-02-02 David Hyatt <hyatt@apple.com>
1945 Reviewed by Darin Adler.
1947 https://bugs.webkit.org/show_bug.cgi?id=53520
1949 Remove physical accessors from IntRect and FloatRect.
1951 * page/FrameView.cpp:
1952 (WebCore::FrameView::adjustPageHeightDeprecated):
1953 * platform/graphics/FloatRect.h:
1954 * platform/graphics/IntRect.h:
1956 2011-02-02 David Hyatt <hyatt@apple.com>
1958 Reviewed by Dan Bernstein.
1960 https://bugs.webkit.org/show_bug.cgi?id=53614
1962 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1964 * rendering/InlineFlowBox.cpp:
1965 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1966 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1967 * rendering/InlineFlowBox.h:
1968 (WebCore::InlineFlowBox::minYLayoutOverflow):
1969 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1970 (WebCore::InlineFlowBox::minXLayoutOverflow):
1971 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1972 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1973 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1974 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1975 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1976 (WebCore::InlineFlowBox::minYVisualOverflow):
1977 (WebCore::InlineFlowBox::maxYVisualOverflow):
1978 (WebCore::InlineFlowBox::minXVisualOverflow):
1979 (WebCore::InlineFlowBox::maxXVisualOverflow):
1980 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1981 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1982 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1983 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1984 * rendering/RenderBlock.cpp:
1985 (WebCore::RenderBlock::adjustLinePositionForPagination):
1986 * rendering/RenderBlockLineLayout.cpp:
1987 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1988 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1989 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1990 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1991 * rendering/RenderBox.cpp:
1992 (WebCore::RenderBox::scrollWidth):
1993 (WebCore::RenderBox::scrollHeight):
1994 * rendering/RenderBox.h:
1995 (WebCore::RenderBox::minYLayoutOverflow):
1996 (WebCore::RenderBox::maxYLayoutOverflow):
1997 (WebCore::RenderBox::minXLayoutOverflow):
1998 (WebCore::RenderBox::maxXLayoutOverflow):
1999 (WebCore::RenderBox::logicalLeftLayoutOverflow):
2000 (WebCore::RenderBox::logicalRightLayoutOverflow):
2001 (WebCore::RenderBox::minYVisualOverflow):
2002 (WebCore::RenderBox::maxYVisualOverflow):
2003 (WebCore::RenderBox::minXVisualOverflow):
2004 (WebCore::RenderBox::maxXVisualOverflow):
2005 (WebCore::RenderBox::logicalLeftVisualOverflow):
2006 (WebCore::RenderBox::logicalRightVisualOverflow):
2007 * rendering/RenderInline.cpp:
2008 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2009 * rendering/RenderLayerCompositor.cpp:
2010 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2011 * rendering/RenderLineBoxList.cpp:
2012 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2013 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2014 (WebCore::RenderLineBoxList::paint):
2015 (WebCore::RenderLineBoxList::hitTest):
2016 * rendering/RenderMarquee.cpp:
2017 (WebCore::RenderMarquee::computePosition):
2018 * rendering/RenderOverflow.h:
2019 (WebCore::RenderOverflow::RenderOverflow):
2020 (WebCore::RenderOverflow::minYLayoutOverflow):
2021 (WebCore::RenderOverflow::maxYLayoutOverflow):
2022 (WebCore::RenderOverflow::minXLayoutOverflow):
2023 (WebCore::RenderOverflow::maxXLayoutOverflow):
2024 (WebCore::RenderOverflow::minYVisualOverflow):
2025 (WebCore::RenderOverflow::maxYVisualOverflow):
2026 (WebCore::RenderOverflow::minXVisualOverflow):
2027 (WebCore::RenderOverflow::maxXVisualOverflow):
2028 (WebCore::RenderOverflow::setminYVisualOverflow):
2029 (WebCore::RenderOverflow::visualOverflowRect):
2030 (WebCore::RenderOverflow::move):
2031 (WebCore::RenderOverflow::addVisualOverflow):
2032 (WebCore::RenderOverflow::setVisualOverflow):
2033 * rendering/RenderReplaced.cpp:
2034 (WebCore::RenderReplaced::shouldPaint):
2035 * rendering/RenderTable.cpp:
2036 (WebCore::RenderTable::layout):
2037 (WebCore::RenderTable::paint):
2038 * rendering/RenderTableCell.cpp:
2039 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2040 * rendering/RenderTreeAsText.cpp:
2041 (WebCore::writeLayers):
2042 * rendering/RenderView.cpp:
2043 (WebCore::RenderView::docTop):
2045 2011-02-02 Steve Lacey <sjl@chromium.org>
2047 Reviewed by Eric Carlson.
2049 Implement basic media statistics on media elements.
2050 https://bugs.webkit.org/show_bug.cgi?id=53322
2052 * Configurations/FeatureDefines.xcconfig:
2055 * html/HTMLMediaElement.cpp:
2056 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
2057 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
2058 * html/HTMLMediaElement.h:
2059 * html/HTMLMediaElement.idl:
2060 * html/HTMLVideoElement.cpp:
2061 (WebCore::HTMLVideoElement::webkitDecodedFrames):
2062 (WebCore::HTMLVideoElement::webkitDroppedFrames):
2063 * html/HTMLVideoElement.h:
2064 * html/HTMLVideoElement.idl:
2065 * platform/graphics/MediaPlayer.cpp:
2066 (WebCore::MediaPlayer::decodedFrames):
2067 (WebCore::MediaPlayer::droppedFrames):
2068 (WebCore::MediaPlayer::audioBytesDecoded):
2069 (WebCore::MediaPlayer::videoBytesDecoded):
2070 * platform/graphics/MediaPlayer.h:
2071 * platform/graphics/MediaPlayerPrivate.h:
2072 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
2073 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
2074 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
2075 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
2077 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
2079 Reviewed by David Hyatt.
2081 More conversion from right()/bottom() to maxX()/maxY().
2083 * page/qt/FrameQt.cpp:
2084 (WebCore::Frame::dragImageForSelection):
2085 * platform/graphics/qt/GraphicsContextQt.cpp:
2086 (WebCore::GraphicsContext::roundToDevicePixels):
2088 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
2090 [wx] Build fixes for wxWebKit.
2092 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
2094 * bindings/scripts/CodeGeneratorCPP.pm:
2095 * page/wx/DragControllerWx.cpp:
2096 (WebCore::DragController::dragOperation):
2097 * platform/graphics/wx/FontCustomPlatformData.h:
2098 * platform/graphics/wx/FontPlatformData.h:
2099 (WebCore::FontPlatformData::widthVariant):
2100 * platform/graphics/wx/FontPlatformDataWx.cpp:
2101 (WebCore::FontPlatformData::computeHash):
2102 * platform/graphics/wx/FontWx.cpp:
2103 * platform/graphics/wx/GraphicsContextWx.cpp:
2104 (WebCore::GraphicsContext::fillPath):
2105 (WebCore::GraphicsContext::strokePath):
2106 * platform/wx/RenderThemeWx.cpp:
2108 2011-02-02 David Hyatt <hyatt@apple.com>
2110 Reviewed by Darin Adler.
2112 More right()/bottom() to maxX()/maxY() conversion.
2114 * page/chromium/FrameChromium.cpp:
2115 (WebCore::Frame::nodeImage):
2116 (WebCore::Frame::dragImageForSelection):
2118 2011-02-02 Sam Weinig <sam@webkit.org>
2120 Fix windows clean build.
2122 * DerivedSources.make:
2124 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
2126 Reviewed by Pavel Feldman.
2128 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
2130 https://bugs.webkit.org/show_bug.cgi?id=53606
2132 Display progress while taking a snapshot, and hints while loading
2133 and parsing. This is needed because taking detailed heap snapshots
2136 * English.lproj/localizedStrings.js:
2137 * inspector/front-end/DetailedHeapshotView.js:
2138 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2139 * inspector/front-end/ProfilesPanel.js:
2140 (WebInspector.ProfilesPanel.prototype._reset):
2141 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2142 (WebInspector.ProfilesPanel.prototype.getProfiles):
2143 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2144 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
2145 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2146 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2147 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2148 * inspector/front-end/SidebarTreeElement.js:
2149 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
2151 2011-02-02 David Hyatt <hyatt@apple.com>
2153 Reviewed by Darin Adler.
2155 More conversion from right()/bottom() to maxX()/maxY().
2157 * platform/win/PopupMenuWin.cpp:
2158 (WebCore::PopupMenuWin::calculatePositionAndSize):
2159 (WebCore::PopupMenuWin::paint):
2161 2011-02-02 David Hyatt <hyatt@apple.com>
2163 Reviewed by Darin Adler.
2165 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
2167 * platform/chromium/PopupMenuChromium.cpp:
2168 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2169 (WebCore::PopupListBox::scrollToRevealRow):
2170 (WebCore::PopupListBox::layout):
2171 * platform/graphics/FloatRect.h:
2172 * platform/graphics/IntRect.h:
2173 * platform/graphics/cairo/ImageBufferCairo.cpp:
2174 (WebCore::getImageData):
2175 (WebCore::putImageData):
2176 * platform/graphics/chromium/GLES2Canvas.cpp:
2177 (WebCore::GLES2Canvas::drawTexturedRect):
2178 * platform/graphics/chromium/LayerRendererChromium.cpp:
2179 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2180 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2181 (WebCore::LayerRendererChromium::setScissorToRect):
2182 (WebCore::LayerRendererChromium::setDrawViewportRect):
2183 * platform/graphics/chromium/LayerTilerChromium.cpp:
2184 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2185 (WebCore::LayerTilerChromium::growLayerToContain):
2186 * platform/graphics/gpu/TilingData.cpp:
2187 (WebCore::TilingData::tileBoundsWithBorder):
2188 (WebCore::TilingData::overlappedTileIndices):
2189 * platform/graphics/qt/ImageBufferQt.cpp:
2190 (WebCore::getImageData):
2191 (WebCore::putImageData):
2192 * platform/graphics/skia/FloatRectSkia.cpp:
2193 (WebCore::FloatRect::operator SkRect):
2194 * platform/graphics/skia/ImageBufferSkia.cpp:
2195 (WebCore::getImageData):
2196 (WebCore::putImageData):
2197 * platform/graphics/skia/IntRectSkia.cpp:
2198 (WebCore::IntRect::operator SkIRect):
2199 (WebCore::IntRect::operator SkRect):
2200 * platform/graphics/skia/PlatformContextSkia.cpp:
2201 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2202 * platform/graphics/win/GraphicsContextWin.cpp:
2203 (WebCore::GraphicsContextPlatformPrivate::clip):
2204 * platform/graphics/win/IntRectWin.cpp:
2205 (WebCore::IntRect::operator RECT):
2206 * platform/graphics/win/UniscribeController.cpp:
2207 (WebCore::UniscribeController::shapeAndPlaceItem):
2208 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2209 (WebCore::roundRect):
2211 (WebCore::TransparentLayerDC::TransparentLayerDC):
2212 (WebCore::GraphicsContext::drawRect):
2213 (WebCore::GraphicsContext::drawEllipse):
2214 (WebCore::GraphicsContext::strokeArc):
2215 (WebCore::GraphicsContext::clip):
2216 (WebCore::GraphicsContext::clipOut):
2217 (WebCore::GraphicsContext::strokeRect):
2218 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2219 (WebCore::GIFImageDecoder::initFrameBuffer):
2220 * platform/win/PopupMenuWin.cpp:
2221 (WebCore::PopupMenuWin::calculatePositionAndSize):
2222 (WebCore::PopupMenuWin::paint):
2223 * plugins/win/PluginViewWin.cpp:
2224 (WebCore::PluginView::updatePluginWidget):
2225 (WebCore::PluginView::invalidateRect):
2226 * rendering/RenderThemeSafari.cpp:
2227 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2228 (WebCore::RenderThemeSafari::paintMenuListButton):
2229 (WebCore::RenderThemeSafari::paintSliderTrack):
2230 * rendering/RenderThemeWin.cpp:
2231 (WebCore::RenderThemeWin::paintInnerSpinButton):
2232 (WebCore::RenderThemeWin::paintMenuListButton):
2234 2011-02-02 Antti Koivisto <antti@apple.com>
2236 Reviewed by Maciej Stachowiak.
2238 Use Vector instead of a linked list for rules in CSSStyleSelector
2239 https://bugs.webkit.org/show_bug.cgi?id=53581
2241 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2242 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2243 (these are selector internal classes, CSS prefix is better reserved for public ones).
2245 - shrink the vectors to fit after collecting the rules
2247 * css/CSSStyleSelector.cpp:
2248 (WebCore::RuleData::RuleData):
2249 (WebCore::RuleData::position):
2250 (WebCore::RuleData::rule):
2251 (WebCore::RuleData::selector):
2252 (WebCore::RuleSet::disableAutoShrinkToFit):
2253 (WebCore::RuleSet::getIDRules):
2254 (WebCore::RuleSet::getClassRules):
2255 (WebCore::RuleSet::getTagRules):
2256 (WebCore::RuleSet::getPseudoRules):
2257 (WebCore::RuleSet::getUniversalRules):
2258 (WebCore::RuleSet::getPageRules):
2259 (WebCore::collectSiblingRulesInDefaultStyle):
2260 (WebCore::CSSStyleSelector::CSSStyleSelector):
2261 (WebCore::loadFullDefaultStyle):
2262 (WebCore::loadSimpleDefaultStyle):
2263 (WebCore::loadViewSourceStyle):
2264 (WebCore::CSSStyleSelector::matchRules):
2265 (WebCore::CSSStyleSelector::matchRulesForList):
2266 (WebCore::operator >):
2267 (WebCore::operator <=):
2268 (WebCore::CSSStyleSelector::sortMatchedRules):
2269 (WebCore::CSSStyleSelector::matchUARules):
2270 (WebCore::RuleSet::RuleSet):
2271 (WebCore::RuleSet::~RuleSet):
2272 (WebCore::RuleSet::addToRuleSet):
2273 (WebCore::RuleSet::addRule):
2274 (WebCore::RuleSet::addPageRule):
2275 (WebCore::RuleSet::addRulesFromSheet):
2276 (WebCore::RuleSet::addStyleRule):
2277 (WebCore::collectIdsAndSiblingRulesFromList):
2278 (WebCore::RuleSet::collectIdsAndSiblingRules):
2279 (WebCore::shrinkMapVectorsToFit):
2280 (WebCore::RuleSet::shrinkToFit):
2281 (WebCore::CSSStyleSelector::matchPageRules):
2282 (WebCore::CSSStyleSelector::matchPageRulesForList):
2283 * css/CSSStyleSelector.h:
2284 (WebCore::CSSStyleSelector::addMatchedRule):
2286 2011-02-02 Andrey Adaikin <aandrey@google.com>
2288 Reviewed by Pavel Feldman.
2290 Web Inspector: Use DIVs instead of TABLE in TextViewer
2291 https://bugs.webkit.org/show_bug.cgi?id=53299
2293 * inspector/front-end/SourceFrame.js:
2294 (WebInspector.SourceFrame.prototype._createTextViewer):
2295 (WebInspector.SourceFrame.prototype._mouseDown):
2296 * inspector/front-end/TextViewer.js:
2297 (WebInspector.TextViewer):
2298 (WebInspector.TextViewer.prototype.set mimeType):
2299 (WebInspector.TextViewer.prototype.revealLine):
2300 (WebInspector.TextViewer.prototype.addDecoration):
2301 (WebInspector.TextViewer.prototype.removeDecoration):
2302 (WebInspector.TextViewer.prototype.markAndRevealRange):
2303 (WebInspector.TextViewer.prototype.highlightLine):
2304 (WebInspector.TextViewer.prototype.clearLineHighlight):
2305 (WebInspector.TextViewer.prototype.freeCachedElements):
2306 (WebInspector.TextViewer.prototype._handleKeyDown):
2307 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2308 (WebInspector.TextViewer.prototype.editLine):
2309 (WebInspector.TextViewer.prototype.beginUpdates):
2310 (WebInspector.TextViewer.prototype.endUpdates):
2311 (WebInspector.TextViewer.prototype.resize):
2312 (WebInspector.TextViewer.prototype._textChanged):
2313 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2314 (WebInspector.TextViewer.prototype._syncScroll):
2315 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2316 (WebInspector.TextEditorChunkedPanel):
2317 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2318 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2319 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2320 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2321 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2322 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2323 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2324 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2325 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2326 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2327 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2328 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2329 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2330 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2331 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2332 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2333 (WebInspector.TextEditorGutterPanel):
2334 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2335 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2336 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2337 (WebInspector.TextEditorGutterChunk):
2338 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2339 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2340 (WebInspector.TextEditorGutterChunk.prototype.get height):
2341 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2342 (WebInspector.TextEditorMainPanel):
2343 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2344 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2345 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2346 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2347 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2348 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2349 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2350 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2351 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2352 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2353 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2354 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2355 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2356 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2357 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2358 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2359 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2360 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2361 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2362 (WebInspector.TextEditorMainChunk):
2363 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2364 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2365 (WebInspector.TextEditorMainChunk.prototype.get height):
2366 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2367 (WebInspector.TextEditorMainChunk.prototype._createRow):
2369 * inspector/front-end/textViewer.css:
2370 (.text-editor-lines):
2371 (.text-editor-contents):
2372 (.text-editor-editable):
2373 (.webkit-line-decorations):
2374 (.webkit-line-number):
2375 (.webkit-execution-line.webkit-line-content):
2376 (.diff-container .webkit-added-line.webkit-line-content):
2377 (.diff-container .webkit-removed-line.webkit-line-content):
2378 (.diff-container .webkit-changed-line.webkit-line-content):
2379 (.webkit-highlighted-line.webkit-line-content):
2381 2011-02-02 Hans Wennborg <hans@chromium.org>
2383 Reviewed by Jeremy Orlow.
2385 IndexedDB: Implement support for cursor updates
2386 https://bugs.webkit.org/show_bug.cgi?id=53421
2388 Implement support for cursor updates using the same pattern as cursor
2389 deletes: forward the calls to the IDBObjectStoreBackend::put().
2390 The put() function's signature needs to be changed to allow for a
2391 "cursor update mode". This makes the signature more clear anyway,
2392 since it replaces the boolean parameter.
2394 Test: storage/indexeddb/cursor-update.html
2396 * storage/IDBCursor.idl:
2397 * storage/IDBCursorBackendImpl.cpp:
2398 (WebCore::IDBCursorBackendImpl::key):
2399 (WebCore::IDBCursorBackendImpl::update):
2400 * storage/IDBCursorBackendImpl.h:
2401 * storage/IDBObjectStore.cpp:
2402 (WebCore::IDBObjectStore::add):
2403 (WebCore::IDBObjectStore::put):
2404 * storage/IDBObjectStoreBackendImpl.cpp:
2405 (WebCore::IDBObjectStoreBackendImpl::put):
2406 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2407 * storage/IDBObjectStoreBackendImpl.h:
2408 * storage/IDBObjectStoreBackendInterface.h:
2410 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2412 Reviewed by Kent Tamura.
2414 Fix popup menu RTL bug introduced by Changeset 75982.
2415 https://bugs.webkit.org/show_bug.cgi?id=53567
2417 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2419 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
2421 * platform/chromium/PopupMenuChromium.cpp:
2422 (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.
2423 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2424 (WebCore::PopupContainer::refresh): Change the passing parameter.
2425 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2427 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2429 Reviewed by Martin Robinson.
2431 [GTK] Fix dist compilation
2432 https://bugs.webkit.org/show_bug.cgi?id=53579
2434 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2437 2011-02-02 Dai Mikurube <dmikurube@google.com>
2439 Reviewed by David Levin.
2441 Make mime type lookup in File::create(path) thread-safe
2442 https://bugs.webkit.org/show_bug.cgi?id=47700
2444 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2445 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2446 both FILE_SYSTEM and WORKERS are enabled.
2448 No tests for this patch. This patch itself doesn't change the behaviors.
2449 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2450 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2451 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2452 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2454 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2455 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2456 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2457 * platform/android/TemporaryLinkStubs.cpp:
2458 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2459 * platform/brew/MIMETypeRegistryBrew.cpp:
2460 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2461 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2462 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2463 * platform/efl/MIMETypeRegistryEfl.cpp:
2464 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2465 * platform/gtk/MIMETypeRegistryGtk.cpp:
2466 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2467 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2468 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2469 * platform/mac/MIMETypeRegistryMac.mm:
2470 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2471 * platform/qt/MIMETypeRegistryQt.cpp:
2472 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2473 * platform/win/MIMETypeRegistryWin.cpp:
2474 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2475 * platform/wince/MIMETypeRegistryWinCE.cpp:
2476 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2477 * platform/wx/MimeTypeRegistryWx.cpp:
2478 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2480 2011-02-01 Adam Barth <abarth@webkit.org>
2482 Reviewed by Alexey Proskuryakov.
2484 Improve readability of updateWidget by converting bool parameter to an enum
2485 https://bugs.webkit.org/show_bug.cgi?id=53576
2487 As requested on webkit-dev.
2489 * html/HTMLEmbedElement.cpp:
2490 (WebCore::HTMLEmbedElement::updateWidget):
2491 * html/HTMLEmbedElement.h:
2492 * html/HTMLMediaElement.cpp:
2493 (WebCore::HTMLMediaElement::updateWidget):
2494 * html/HTMLMediaElement.h:
2495 * html/HTMLObjectElement.cpp:
2496 (WebCore::HTMLObjectElement::updateWidget):
2497 * html/HTMLObjectElement.h:
2498 * html/HTMLPlugInImageElement.cpp:
2499 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2500 * html/HTMLPlugInImageElement.h:
2501 * page/FrameView.cpp:
2502 (WebCore::FrameView::updateWidget):
2504 2011-02-01 James Robinson <jamesr@chromium.org>
2506 Reviewed by Adam Barth.
2508 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2509 https://bugs.webkit.org/show_bug.cgi?id=53566
2511 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2512 Other than being large enough for this one test case, this limit is arbitrary.
2514 * bindings/v8/V8Proxy.h:
2516 2011-02-01 Adam Barth <abarth@webkit.org>
2518 Reviewed by Andreas Kling.
2520 Remove useless comment
2521 https://bugs.webkit.org/show_bug.cgi?id=53549
2523 The reason for this parameter is captured in
2524 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2525 capture it than in this comment (which otherwise just re-iterates the
2526 name of the parameter).
2528 * html/HTMLPlugInImageElement.cpp:
2529 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2531 2011-02-01 James Simonsen <simonjam@chromium.org>
2533 Reviewed by Tony Gentilcore.
2535 [WebTiming] Remove asserts that verify timestamp order
2536 https://bugs.webkit.org/show_bug.cgi?id=53548
2538 Covered by existing tests.
2540 * loader/FrameLoader.cpp:
2541 (WebCore::FrameLoader::stopLoading): Remove assert.
2542 * page/DOMWindow.cpp:
2543 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2545 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2547 Add the 'default_targets' enclosure to the flags.
2549 * WebCore.gyp/WebCore.gyp: Did it.
2551 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2553 Reviewed by James Robinson.
2555 Async event handlers should not fire within a modal dialog
2556 https://bugs.webkit.org/show_bug.cgi?id=53202
2558 Asychronous events that use EventQueue would currently fire while a
2559 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2560 SuspendableTimer (which automatically gets suspended while dialogs are
2561 up and in other cases where JS execution is not allowed).
2563 Test: fast/events/scroll-event-during-modal-dialog.html
2566 (WebCore::Document::Document):
2567 * dom/EventQueue.cpp:
2568 (WebCore::EventQueueTimer::EventQueueTimer):
2569 (WebCore::EventQueueTimer::fired):
2570 (WebCore::EventQueue::EventQueue):
2571 (WebCore::EventQueue::enqueueEvent):
2572 (WebCore::EventQueue::pendingEventTimerFired):
2574 (WebCore::EventQueue::create):
2575 * page/SuspendableTimer.cpp:
2576 (WebCore::SuspendableTimer::SuspendableTimer):
2577 (WebCore::SuspendableTimer::suspend):
2578 (WebCore::SuspendableTimer::resume):
2579 * page/SuspendableTimer.h:
2581 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2583 Reviewed by Andreas Kling.
2585 Change wrong PLATFORM(WIN) to USE(WININET)
2586 https://bugs.webkit.org/show_bug.cgi?id=53547
2588 * platform/network/ResourceHandle.h:
2590 2011-02-01 Beth Dakin <bdakin@apple.com>
2594 * platform/mac/ScrollAnimatorMac.mm:
2595 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2597 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2599 Reviewed by Gustavo Noronha Silva.
2601 [GTK] Two tests crash after r76555
2602 https://bugs.webkit.org/show_bug.cgi?id=53057
2604 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2605 This ensures that ::start() is not called when there is a scheduled failure and also
2606 reduces code duplication.
2608 * platform/network/soup/ResourceHandleSoup.cpp:
2609 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2611 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2613 Reviewed by Eric Seidel.
2615 [GTK] GObject DOM bindings do no support the CallWith attribute
2616 https://bugs.webkit.org/show_bug.cgi?id=53331
2618 Disable building GObject DOM bindings for IndexedDB because we do not support
2619 the CallWith attribute at this time.
2621 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2623 2011-02-01 Darin Adler <darin@apple.com>
2625 Reviewed by Brady Eidson.
2627 Fix a couple loose ends from the back/forward tree encode/decode work
2628 https://bugs.webkit.org/show_bug.cgi?id=53537
2630 * history/HistoryItem.cpp:
2631 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2632 original URL string; no need to encode it twice.
2633 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2634 * history/HistoryItem.h: Removed declaration for function that is no
2635 longer defined nor used.
2637 2011-02-01 Tony Chang <tony@chromium.org>
2639 Reviewed by Kent Tamura.
2641 [chromium] disable arm uninitialized variable warnings
2642 https://bugs.webkit.org/show_bug.cgi?id=53553
2644 We just got another error:
2645 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2646 'colorTransparent.unstatic.4879' may be used uninitialized in this
2649 * WebCore.gyp/WebCore.gyp:
2651 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2653 Reviewed by Adam Barth.
2655 Self-replicating code makes Safari hang and eventually crash
2656 https://bugs.webkit.org/show_bug.cgi?id=15123
2659 Here we are replicating the Firefox safeguard against
2660 recursive document.write( ) 's.
2662 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2663 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2664 a) imposes a recursion limit of 20 on document.write( ) and
2665 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2666 To see why this is necessary, consider the script :
2669 var t = document.body.innerHTML;
2673 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2674 we just return one level after the recursion limit is reached, we still allow millions of copies to
2675 duplicate (and execute).
2677 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2678 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2680 Test: fast/dom/Document/document-write-recursion.html
2681 Test: fast/dom/Document/document-close-iframe-load.html
2682 Test: fast/dom/Document/document-close-nested-iframe-load.html
2686 (WebCore::Document::Document):
2687 (WebCore::Document::write):
2690 2011-02-01 Johnny Ding <jnd@chromium.org>
2692 Reviewed by Darin Adler.
2694 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2695 https://bugs.webkit.org/show_bug.cgi?id=53424
2697 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2699 * html/HTMLAnchorElement.cpp:
2700 (WebCore::handleLinkClick):
2702 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2704 Unreviewed Qt buildfix after r77286.
2706 https://bugs.webkit.org/show_bug.cgi?id=53520
2707 Remove the physical terminology from IntRect and FloatRect.
2709 * platform/graphics/TiledBackingStore.cpp:
2710 (WebCore::TiledBackingStore::createTiles):
2712 2011-02-01 Sam Weinig <sam@webkit.org>
2714 Fix Mac production builds.
2716 * DerivedSources.make:
2717 * WebCore.xcodeproj/project.pbxproj:
2718 * platform/mac/ScrollAnimatorMac.h:
2719 * platform/mac/ScrollbarThemeMac.h:
2721 2011-02-01 Darin Adler <darin@apple.com>
2723 Reviewed by Chris Fleizach.
2725 REGRESSION: Removing focus from area element causes unwanted scrolling
2726 https://bugs.webkit.org/show_bug.cgi?id=50169
2728 Test: fast/images/imagemap-scroll.html
2730 * html/HTMLAreaElement.cpp:
2731 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2732 RenderImage::areaElementFocusChanged function.
2733 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2734 here that calls setNeedsLayout on the image's renderer. This was an
2735 attempt to cause repaint of the renderer, but this function does not
2736 need to do that. Also changed this to use the imageElement function
2737 to avoid repeating code.
2739 * html/HTMLAreaElement.h: Updated for above changes.
2741 * rendering/RenderImage.cpp:
2742 (WebCore::RenderImage::paint): Updated for name change.
2743 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2744 paintFocusRing, because it only paints area focus rings, and should
2745 not be confused with paintFocusRing functions in other classes. Also
2746 removed the unused style argument. Removed the code that used an
2747 HTMLCollection to see if the focused area element is for this image
2748 and instead just call imageElement on the area element.
2749 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2751 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2752 function for HTMLAreaElement to call. Made the paintFocusRing function
2753 private, renamed it to paintAreaElementFocusRing, and removed its
2754 unused style argument.
2756 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2758 Unreviewed WinCE build fix for r77286.
2760 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2761 (WebCore::TransparentLayerDC::TransparentLayerDC):
2763 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2765 Reviewed by Darin Adler.
2767 AX: AXPosition of AXScrollArea is wrong
2768 https://bugs.webkit.org/show_bug.cgi?id=53511
2770 AccessibilityScrollView needed to return a valid documentFrameView() object.
2771 At the same time, the code from document() should be consolidated in
2772 AccessibilityObject, so all objects can use it.
2774 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2776 * accessibility/AccessibilityObject.cpp:
2777 (WebCore::AccessibilityObject::document):
2778 * accessibility/AccessibilityObject.h:
2779 * accessibility/AccessibilityScrollView.cpp:
2780 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2781 (WebCore::AccessibilityScrollView::documentFrameView):
2782 * accessibility/AccessibilityScrollView.h:
2784 2011-02-01 Zhenyao Mo <zmo@google.com>
2786 Reviewed by Kenneth Russell.
2788 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2789 https://bugs.webkit.org/show_bug.cgi?id=52190
2791 * html/canvas/WebGLRenderingContext.cpp:
2792 (WebCore::WebGLRenderingContext::getUniform):
2794 2011-02-01 Zhenyao Mo <zmo@google.com>
2796 Reviewed by Darin Adler.
2798 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2799 https://bugs.webkit.org/show_bug.cgi?id=53531
2801 With this fix, running WebGL conformance tests should no longer crash randomly.
2803 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2804 (WebCore::GraphicsContext3D::getImageData):
2806 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2808 One more Chromium build fix after r77286.
2810 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2811 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2813 2011-02-01 Sam Weinig <sam@webkit.org>
2815 Fix the build for Beth.
2817 * platform/mac/ScrollAnimatorMac.mm:
2818 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2820 2011-02-01 Sam Weinig <sam@webkit.org>
2822 Reviewed by Beth Dakin.
2824 Part 2 for <rdar://problem/8492788>
2825 Adopt WKScrollbarPainterController
2827 Use header detection to define scrollbar painting controller #define.
2830 * platform/mac/ScrollAnimatorMac.h:
2831 * platform/mac/ScrollbarThemeMac.h:
2832 * platform/mac/WebCoreSystemInterface.h:
2833 * platform/mac/WebCoreSystemInterface.mm:
2835 2011-02-01 David Hyatt <hyatt@apple.com>
2837 Reviewed by Oliver Hunt.
2839 https://bugs.webkit.org/show_bug.cgi?id=53520
2841 Remove the physical terminology from IntRect and FloatRect.
2843 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2844 we need to update our terminology to be more accurate.
2846 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2847 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2848 even for flipped rectangles.
2850 * accessibility/AccessibilityRenderObject.cpp:
2851 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2852 * accessibility/mac/AccessibilityObjectWrapper.mm:
2853 (-[AccessibilityObjectWrapper position]):
2855 (WebCore::ClientRect::right):
2856 (WebCore::ClientRect::bottom):
2857 * html/HTMLCanvasElement.cpp:
2858 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2859 * html/canvas/CanvasRenderingContext2D.cpp:
2860 (WebCore::normalizeRect):
2861 * inspector/InspectorAgent.cpp:
2862 (WebCore::InspectorAgent::drawElementTitle):
2863 * page/DOMWindow.cpp:
2864 (WebCore::DOMWindow::adjustWindowRect):
2865 * page/DragController.cpp:
2866 (WebCore::dragLocForSelectionDrag):
2867 * page/EventHandler.cpp:
2868 (WebCore::EventHandler::sendContextMenuEventForKey):
2869 * page/PrintContext.cpp:
2870 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2871 (WebCore::PrintContext::pageNumberForElement):
2872 * page/SpatialNavigation.cpp:
2874 (WebCore::areRectsFullyAligned):
2875 (WebCore::areRectsMoreThanFullScreenApart):
2878 (WebCore::isRectInDirection):
2879 (WebCore::entryAndExitPointsForDirection):
2880 (WebCore::virtualRectForDirection):
2881 * page/WindowFeatures.cpp:
2882 (WebCore::WindowFeatures::WindowFeatures):
2883 * platform/ScrollView.cpp:
2884 (WebCore::ScrollView::wheelEvent):
2885 * platform/Scrollbar.cpp:
2886 (WebCore::Scrollbar::setFrameRect):
2887 * platform/ScrollbarThemeComposite.cpp:
2888 (WebCore::ScrollbarThemeComposite::splitTrack):
2889 * platform/chromium/ScrollbarThemeChromium.cpp:
2890 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2891 * platform/graphics/FloatQuad.h:
2892 (WebCore::FloatQuad::FloatQuad):
2893 * platform/graphics/FloatRect.cpp:
2894 (WebCore::FloatRect::intersects):
2895 (WebCore::FloatRect::contains):
2896 (WebCore::FloatRect::intersect):
2897 (WebCore::FloatRect::unite):
2898 (WebCore::enclosingIntRect):
2899 * platform/graphics/FloatRect.h:
2900 (WebCore::FloatRect::maxX):
2901 (WebCore::FloatRect::maxY):
2902 (WebCore::FloatRect::contains):
2903 * platform/graphics/IntRect.cpp:
2904 (WebCore::IntRect::intersects):
2905 (WebCore::IntRect::contains):
2906 (WebCore::IntRect::intersect):
2907 (WebCore::IntRect::unite):
2908 * platform/graphics/IntRect.h:
2909 (WebCore::IntRect::maxX):
2910 (WebCore::IntRect::maxY):
2911 (WebCore::IntRect::shiftXEdgeTo):
2912 (WebCore::IntRect::shiftMaxXEdgeTo):
2913 (WebCore::IntRect::shiftYEdgeTo):
2914 (WebCore::IntRect::shiftMaxYEdgeTo):
2915 (WebCore::IntRect::contains):
2916 * platform/graphics/WidthIterator.cpp:
2917 (WebCore::WidthIterator::advance):
2918 * platform/graphics/cg/GraphicsContextCG.cpp:
2919 (WebCore::GraphicsContext::drawRect):
2920 (WebCore::GraphicsContext::fillPath):
2921 (WebCore::GraphicsContext::fillRect):
2922 * platform/graphics/cg/ImageBufferCG.cpp:
2923 (WebCore::getImageData):
2924 (WebCore::putImageData):
2925 * platform/graphics/cg/ImageCG.cpp:
2926 (WebCore::BitmapImage::draw):
2927 * platform/graphics/filters/FilterEffect.cpp:
2928 (WebCore::FilterEffect::copyImageBytes):
2929 * platform/graphics/mac/ComplexTextController.cpp:
2930 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2931 * platform/graphics/mac/SimpleFontDataMac.mm:
2932 (WebCore::SimpleFontData::platformBoundsForGlyph):
2933 * platform/graphics/transforms/AffineTransform.cpp:
2934 (WebCore::AffineTransform::mapRect):
2935 * platform/graphics/win/FontCGWin.cpp:
2936 (WebCore::drawGDIGlyphs):
2937 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2938 (WebCore::MediaPlayerPrivate::paint):
2939 * platform/gtk/RenderThemeGtk.cpp:
2940 (WebCore::centerRectVerticallyInParentInputElement):
2941 * platform/mac/WidgetMac.mm:
2942 (WebCore::Widget::paint):
2943 * rendering/InlineFlowBox.cpp:
2944 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2945 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2946 * rendering/InlineTextBox.cpp:
2947 (WebCore::InlineTextBox::selectionRect):
2948 (WebCore::InlineTextBox::paint):
2949 (WebCore::InlineTextBox::positionForOffset):
2950 * rendering/RenderBlock.cpp:
2951 (WebCore::RenderBlock::addOverflowFromChildren):
2952 (WebCore::RenderBlock::paintChildren):
2953 (WebCore::RenderBlock::paintEllipsisBoxes):
2954 (WebCore::RenderBlock::inlineSelectionGaps):
2955 (WebCore::RenderBlock::adjustPointToColumnContents):
2956 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2957 (WebCore::RenderBlock::adjustForColumns):
2958 * rendering/RenderBlock.h:
2959 (WebCore::RenderBlock::FloatingObject::right):
2960 (WebCore::RenderBlock::FloatingObject::bottom):
2961 * rendering/RenderBox.cpp:
2962 (WebCore::RenderBox::reflectedRect):
2963 (WebCore::RenderBox::localCaretRect):
2964 (WebCore::RenderBox::addShadowOverflow):
2965 (WebCore::RenderBox::addLayoutOverflow):
2966 (WebCore::RenderBox::visualOverflowRectForPropagation):
2967 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2968 (WebCore::RenderBox::flipForWritingMode):
2969 * rendering/RenderFrameSet.cpp:
2970 (WebCore::RenderFrameSet::paintColumnBorder):
2971 (WebCore::RenderFrameSet::paintRowBorder):
2972 * rendering/RenderInline.cpp:
2973 (WebCore::RenderInline::paintOutlineForLine):
2974 * rendering/RenderLayer.cpp:
2975 (WebCore::RenderLayer::getRectToExpose):
2976 (WebCore::cornerRect):
2977 (WebCore::RenderLayer::positionOverflowControls):
2978 (WebCore::RenderLayer::overflowBottom):
2979 (WebCore::RenderLayer::overflowRight):
2980 (WebCore::RenderLayer::paintResizer):
2981 * rendering/RenderLineBoxList.cpp:
2982 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2983 (WebCore::RenderLineBoxList::paint):
2984 * rendering/RenderListItem.cpp:
2985 (WebCore::RenderListItem::positionListMarker):
2986 * rendering/RenderListMarker.cpp:
2987 (WebCore::RenderListMarker::paint):
2988 * rendering/RenderObject.cpp:
2989 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2990 * rendering/RenderOverflow.h:
2991 (WebCore::RenderOverflow::RenderOverflow):
2992 (WebCore::RenderOverflow::addLayoutOverflow):
2993 (WebCore::RenderOverflow::addVisualOverflow):
2994 (WebCore::RenderOverflow::setLayoutOverflow):
2995 (WebCore::RenderOverflow::setVisualOverflow):
2996 (WebCore::RenderOverflow::resetLayoutOverflow):
2997 * rendering/RenderReplaced.cpp:
2998 (WebCore::RenderReplaced::shouldPaint):
2999 * rendering/RenderScrollbarTheme.cpp:
3000 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
3001 * rendering/RenderTable.cpp:
3002 (WebCore::RenderTable::paint):
3003 * rendering/RenderTableCell.cpp:
3004 (WebCore::RenderTableCell::paint):
3005 * rendering/RenderTableSection.cpp:
3006 (WebCore::RenderTableSection::paintObject):
3007 * rendering/RenderText.cpp:
3008 (WebCore::RenderText::absoluteQuads):
3009 * rendering/RenderTextControlSingleLine.cpp:
3010 (WebCore::RenderTextControlSingleLine::forwardEvent):
3011 * rendering/RenderThemeMac.mm:
3012 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3013 (WebCore::RenderThemeMac::paintMenuListButton):
3014 (WebCore::RenderThemeMac::paintSliderTrack):
3015 * rendering/RenderView.cpp:
3016 (WebCore::RenderView::computeRectForRepaint):
3017 (WebCore::RenderView::docBottom):
3018 (WebCore::RenderView::docRight):
3019 * rendering/RootInlineBox.cpp:
3020 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3021 * rendering/svg/RenderSVGInlineText.cpp:
3022 (WebCore::RenderSVGInlineText::localCaretRect):
3024 2011-02-01 Beth Dakin <bdakin@apple.com>
3026 Reviewed by Sam Weinig.
3028 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
3030 Lots of new WebCoreSystemInterface functions to export.
3032 * platform/mac/WebCoreSystemInterface.h:
3033 * platform/mac/WebCoreSystemInterface.mm:
3035 Let the scrollAnimator know when the mouse has
3036 moved anywhere inside the page, and when the mouse
3037 has moved in or out of the window.
3038 * page/EventHandler.cpp:
3039 (WebCore::EventHandler::mouseMoved):
3040 (WebCore::EventHandler::updateMouseEventTargetNode):
3042 Let the scrollAnimator know when the window has become
3044 * page/FocusController.cpp:
3045 (WebCore::FocusController::setActive):
3047 Let the scrollAnimator know when all of these things
3049 * page/FrameView.cpp:
3050 (WebCore::FrameView::setContentsSize):
3051 (WebCore::FrameView::didMoveOnscreen):
3052 (WebCore::FrameView::willMoveOffscreen):
3053 (WebCore::FrameView::currentMousePosition):
3054 (WebCore::FrameView::contentsResized):
3056 New functions called through WebKit2 that allow the
3057 scrollAnimator to know when a live resize starts and ends.
3058 (WebCore::FrameView::willStartLiveResize):
3059 (WebCore::FrameView::willEndLiveResize):
3062 New functions on ScrollAnimator that pass information
3063 to the WKPainterController when we're using one.
3064 * platform/ScrollAnimator.h:
3065 (WebCore::ScrollAnimator::scrollableArea):
3066 (WebCore::ScrollAnimator::contentAreaWillPaint):
3067 (WebCore::ScrollAnimator::mouseEnteredContentArea):
3068 (WebCore::ScrollAnimator::mouseExitedContentArea):
3069 (WebCore::ScrollAnimator::mouseMovedInContentArea):
3070 (WebCore::ScrollAnimator::willStartLiveResize):
3071 (WebCore::ScrollAnimator::contentsResized):
3072 (WebCore::ScrollAnimator::willEndLiveResize):
3073 (WebCore::ScrollAnimator::contentAreaDidShow):
3074 (WebCore::ScrollAnimator::contentAreaDidHide):
3075 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3076 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
3077 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
3078 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
3079 (WebCore::ScrollAnimatorMac::notityPositionChanged):
3080 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
3081 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
3082 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
3083 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
3084 (WebCore::ScrollAnimatorMac::willStartLiveResize):
3085 (WebCore::ScrollAnimatorMac::contentsResized):
3086 (WebCore::ScrollAnimatorMac::willEndLiveResize):
3087 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
3088 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
3090 Let the scrollAnimator know when this is happening.
3091 * platform/ScrollView.cpp:
3092 (WebCore::ScrollView::paint):
3094 New function lets the scrollAnimator get the current
3096 * platform/ScrollView.h:
3097 (WebCore::ScrollView::currentMousePosition):
3099 New function that returns the scrollAnimator when needed.
3100 * platform/ScrollableArea.h:
3101 (WebCore::ScrollableArea::scrollAnimator):
3103 Keep track of if we're in a live resize using a new memeber
3105 * platform/mac/ScrollAnimatorMac.h:
3106 (WebCore::ScrollAnimatorMac::inLiveResize):
3107 * platform/mac/ScrollAnimatorMac.mm:
3110 New delegates for the WKPainter and WKPainterController
3111 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
3112 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3113 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3114 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3115 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3116 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3117 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3118 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
3119 (-[ScrollKnobAnimation setCurrentProgress:]):
3120 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
3121 (-[ScrollbarPainterDelegate convertRectToBacking:]):
3122 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
3123 (-[ScrollbarPainterDelegate layer]):
3124 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
3125 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3126 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3127 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
3129 Get the WKScrollbarPainterRefs to synch up with the
3130 WKScrollbarPainterControllerRefs when appropriate
3131 * platform/mac/ScrollbarThemeMac.h:
3132 * platform/mac/ScrollbarThemeMac.mm:
3133 (WebCore::ScrollbarThemeMac::registerScrollbar):
3134 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
3135 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
3136 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
3138 Implement ScrollableArea's virtual function contentsSize() for access
3139 through the scrollAnimator.
3140 * rendering/RenderLayer.h:
3141 (WebCore::RenderLayer::contentsSize):
3143 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
3145 Reviewed by David Hyatt.
3147 layoutTestController.counterValueForElementById does not return the correct value
3148 https://bugs.webkit.org/show_bug.cgi?id=53037
3150 Test: fast/css/counters/deep-before.html
3152 * rendering/RenderTreeAsText.cpp:
3153 (WebCore::counterValueForElement):
3154 Modified to use the newly available RenderObject::beforePseudoElement()
3155 and RenderObject::afterPseudoElement() instead of the old imperfect
3156 algorithm to find the before and after pseudo elements.
3158 2011-02-01 Anton Muhin <antonm@chromium.org>
3160 Reviewed by Adam Barth.
3162 Allow access for security origin same as this.
3163 https://bugs.webkit.org/show_bug.cgi?id=53440
3165 Hard to test as newly added path currently is never hit.
3167 * page/SecurityOrigin.cpp:
3168 (WebCore::SecurityOrigin::canAccess): allow access if this == other
3170 2011-01-31 Oliver Hunt <oliver@apple.com>
3172 Reviewed by Geoffrey Garen.
3174 Update JSObject storage for new marking API
3175 https://bugs.webkit.org/show_bug.cgi?id=53467
3177 Update WebCore to handle new anonymous slot behaviour.
3179 * bindings/js/JSDOMWindowShell.cpp:
3180 (WebCore::JSDOMWindowShell::setWindow):
3181 * bindings/js/WorkerScriptController.cpp:
3182 (WebCore::WorkerScriptController::initScript):
3183 * bindings/scripts/CodeGeneratorJS.pm:
3185 2011-02-01 Xiaomei Ji <xji@chromium.org>
3187 Reviewed by David Hyatt.
3189 Fix a text rendering problem when enclosing block is RTL and text runs
3190 are in different directionality.
3191 https://bugs.webkit.org/show_bug.cgi?id=34176
3193 The problem happens in the following example scenario (ABC represents
3195 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3197 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3198 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3199 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3201 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3203 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3204 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3205 the run's render object's ancestor (not only its parent) has already
3206 been constructed or has something following it on the line, in which
3207 case, create a new box for TextRun2 instead of sharing the same box with
3210 In other words, the following 2 div should render the same results
3211 (ABC represents Hebrew characters).
3212 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3213 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3215 Test: fast/dom/34176.html
3217 * rendering/RenderBlockLineLayout.cpp:
3218 (WebCore::parentIsConstructedOrHaveNext):
3219 (WebCore::RenderBlock::createLineBoxes):
3221 2011-02-01 Abhishek Arya <inferno@chromium.org>
3223 Reviewed by Dan Bernstein.
3225 Do not add a node in the document's stylesheet candidate node list if the
3226 node is already removed from document.
3227 https://bugs.webkit.org/show_bug.cgi?id=53441
3229 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3232 (WebCore::Document::addStyleSheetCandidateNode):
3234 2011-02-01 Dave Hyatt <hyatt@apple.com>
3236 Reviewed by Darin Adler.
3238 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3241 Change printing functions to check writing-mode and properly swap width and height
3244 Fix the setScrollOrigin function so that the origin doesn't cause
3245 scroll spasming during printing (this is only partially successful, but it's better
3248 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3249 text documents properly.
3252 * page/FrameView.cpp:
3253 (WebCore::FrameView::adjustViewSize):
3254 (WebCore::FrameView::forceLayoutForPagination):
3255 * page/PrintContext.cpp:
3256 (WebCore::PrintContext::computePageRects):
3257 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3258 (WebCore::PrintContext::computeAutomaticScaleFactor):
3259 (WebCore::PrintContext::spoolPage):
3260 (WebCore::PrintContext::spoolRect):
3261 * page/PrintContext.h:
3262 * page/mac/WebCoreFrameView.h:
3263 * platform/ScrollView.cpp:
3264 (WebCore::ScrollView::wheelEvent):
3265 * platform/ScrollView.h:
3266 * platform/mac/ScrollViewMac.mm:
3267 (WebCore::ScrollView::platformSetScrollOrigin):
3268 * rendering/RenderView.cpp:
3269 (WebCore::RenderView::layout):
3271 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3273 Reviewed by Pavel Feldman.
3275 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3277 https://bugs.webkit.org/show_bug.cgi?id=53500
3279 * inspector/InspectorProfilerAgent.cpp:
3280 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3282 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3284 Reviewed by Pavel Feldman.
3286 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3288 https://bugs.webkit.org/show_bug.cgi?id=53173
3290 Adding code for accessing heap snapshot data and
3291 performing graph calculations.
3293 * English.lproj/localizedStrings.js:
3294 * inspector/front-end/HeapSnapshot.js:
3295 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3296 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3297 (WebInspector.HeapSnapshotEdgeIterator):
3298 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3299 (WebInspector.HeapSnapshotNodeIterator):
3300 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3301 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3302 (WebInspector.HeapSnapshotEdgesProvider):
3303 (WebInspector.HeapSnapshotNodesProvider):
3304 (WebInspector.HeapSnapshotPathFinder):
3305 * inspector/front-end/HeapSnapshotView.js:
3306 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3308 2011-02-01 Adam Roben <aroben@apple.com>
3310 Fix linker warnings in Release_LTCG builds
3312 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3313 configurations, since they get pulled in via DOMAllInOne.cpp.
3315 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3317 Reviewed by Yury Semikhatsky.
3319 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3320 https://bugs.webkit.org/show_bug.cgi?id=53482
3322 * English.lproj/localizedStrings.js:
3323 * inspector/front-end/ElementsPanel.js:
3324 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3325 * inspector/front-end/inspector.js:
3326 (WebInspector.resourceForURL):
3327 (WebInspector.openLinkExternallyLabel):
3329 2011-02-01 Anton Muhin <antonm@chromium.org>
3331 Reviewed by Adam Barth.
3333 Propagate parent document security origin to newly create Document XML response
3334 https://bugs.webkit.org/show_bug.cgi?id=53444
3336 Covered by the existing tests.
3338 * xml/XMLHttpRequest.cpp:
3339 (WebCore::XMLHttpRequest::responseXML):
3341 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3343 Unreviewed. Rollout r77230 which caused many layout tests
3344 crashes on Chromium Debug bots.
3346 Async event handlers should not fire within a modal dialog
3347 https://bugs.webkit.org/show_bug.cgi?id=53202
3350 (WebCore::Document::Document):
3351 * dom/EventQueue.cpp:
3352 (WebCore::EventQueue::EventQueue):
3353 (WebCore::EventQueue::enqueueEvent):
3354 (WebCore::EventQueue::pendingEventTimerFired):
3357 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3359 Reviewed by Dirk Schulze.
3361 LightElement changes does not require relayout.
3362 https://bugs.webkit.org/show_bug.cgi?id=53232
3364 When an attribute of a LightElement changes, it
3365 send an update message to the lighting filters
3366 to update its corresponding LightSource objects,
3367 and repaint the filters.
3369 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3371 Existing dynamic-update tests covers this feature.
3373 5x speedup on manual-tests/svg-filter-animation.svg
3375 * manual-tests/svg-filter-animation.svg:
3376 * platform/graphics/filters/DistantLightSource.h:
3377 * platform/graphics/filters/FEDiffuseLighting.cpp:
3378 (WebCore::FEDiffuseLighting::setLightingColor):
3379 (WebCore::FEDiffuseLighting::setSurfaceScale):
3380 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3381 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3382 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3383 * platform/graphics/filters/FEDiffuseLighting.h:
3384 * platform/graphics/filters/LightSource.cpp:
3385 (WebCore::PointLightSource::setX):
3386 (WebCore::PointLightSource::setY):
3387 (WebCore::PointLightSource::setZ):
3388 (WebCore::SpotLightSource::setX):
3389 (WebCore::SpotLightSource::setY):
3390 (WebCore::SpotLightSource::setZ):
3391 (WebCore::SpotLightSource::setPointsAtX):
3392 (WebCore::SpotLightSource::setPointsAtY):
3393 (WebCore::SpotLightSource::setPointsAtZ):
3394 (WebCore::SpotLightSource::setSpecularExponent):
3395 (WebCore::SpotLightSource::setLimitingConeAngle):
3396 (WebCore::DistantLightSource::setAzimuth):
3397 (WebCore::DistantLightSource::setElevation):
3398 (WebCore::LightSource::setAzimuth):
3399 (WebCore::LightSource::setElevation):
3400 (WebCore::LightSource::setX):
3401 (WebCore::LightSource::setY):
3402 (WebCore::LightSource::setZ):
3403 (WebCore::LightSource::setPointsAtX):
3404 (WebCore::LightSource::setPointsAtY):
3405 (WebCore::LightSource::setPointsAtZ):
3406 (WebCore::LightSource::setSpecularExponent):
3407 (WebCore::LightSource::setLimitingConeAngle):
3408 * platform/graphics/filters/LightSource.h:
3409 * platform/graphics/filters/PointLightSource.h:
3410 * platform/graphics/filters/SpotLightSource.h:
3411 * rendering/svg/RenderSVGResourceFilter.cpp:
3412 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3413 * svg/SVGFEDiffuseLightingElement.cpp:
3414 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3415 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3416 (WebCore::SVGFEDiffuseLightingElement::build):
3417 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3418 (WebCore::SVGFEDiffuseLightingElement::findLight):
3419 * svg/SVGFEDiffuseLightingElement.h:
3420 * svg/SVGFELightElement.cpp:
3421 (WebCore::SVGFELightElement::svgAttributeChanged):
3422 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3423 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3424 * svg/SVGFilterPrimitiveStandardAttributes.h:
3426 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3428 Reviewed by Dimitri Glazkov.
3430 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3431 https://bugs.webkit.org/show_bug.cgi?id=53289
3433 Moving the nested class DocumentOrderedMap from Document into separate files,
3434 updating code where necessary.
3436 No new tests. (refactoring)
3443 * WebCore.vcproj/WebCore.vcproj:
3444 * WebCore.xcodeproj/project.pbxproj:
3446 (WebCore::Document::getElementById):
3447 (WebCore::Document::getImageMap):
3449 * dom/DocumentOrderedMap.cpp: Added.
3450 (WebCore::keyMatchesId):
3451 (WebCore::keyMatchesMapName):
3452 (WebCore::keyMatchesLowercasedMapName):
3453 (WebCore::DocumentOrderedMap::clear):
3454 (WebCore::DocumentOrderedMap::add):
3455 (WebCore::DocumentOrderedMap::remove):
3456 (WebCore::DocumentOrderedMap::get):
3457 (WebCore::DocumentOrderedMap::getElementById):
3458 (WebCore::DocumentOrderedMap::getElementByMapName):
3459 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3460 * dom/DocumentOrderedMap.h: Added.
3461 (WebCore::DocumentOrderedMap::contains):
3462 (WebCore::DocumentOrderedMap::containsMultiple):
3463 * dom/DOMAllInOne.cpp:
3465 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3467 Reviewed by Martin Robinson.
3469 [Gtk] atk_text_set_caret_offset fails for list items
3470 https://bugs.webkit.org/show_bug.cgi?id=53388
3472 Allow using text ranges across list items.
3474 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3475 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3476 to the list of accessibility objects supporting text ranges.
3478 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3480 Reviewed by Martin Robinson.
3482 [GTK] character range extents is off when the end of a wrapped line is included
3483 https://bugs.webkit.org/show_bug.cgi?id=53323
3485 Fixed wrong calculation getting the range extents.
3487 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3488 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3489 requested interval shouldn't include the last character.
3491 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3493 Reviewed by Martin Robinson.
3495 [GTK] Caret Offset is one off at the end of wrapped lines
3496 https://bugs.webkit.org/show_bug.cgi?id=53300
3498 Consider linebreaks as special cases.
3500 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3501 (objectAndOffsetUnignored): In order to avoid getting wrong values
3502 when around linebreaks, we need to workaround this by explicitly
3503 avoiding those '\n' text nodes from affecting the result of
3504 calling to TextIterator:rangeLength().
3506 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3508 Unreviewed, rolling out r77229.
3509 http://trac.webkit.org/changeset/77229
3510 https://bugs.webkit.org/show_bug.cgi?id=53289
3512 revert mysterious build breakage
3519 * WebCore.vcproj/WebCore.vcproj:
3520 * WebCore.xcodeproj/project.pbxproj:
3521 * dom/DOMAllInOne.cpp:
3523 (WebCore::Document::DocumentOrderedMap::clear):
3524 (WebCore::Document::DocumentOrderedMap::add):
3525 (WebCore::Document::DocumentOrderedMap::remove):
3526 (WebCore::Document::DocumentOrderedMap::get):
3527 (WebCore::keyMatchesId):
3528 (WebCore::Document::getElementById):
3529 (WebCore::keyMatchesMapName):
3530 (WebCore::keyMatchesLowercasedMapName):
3531 (WebCore::Document::getImageMap):
3533 (WebCore::Document::DocumentOrderedMap::contains):
3534 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3535 * dom/DocumentOrderedMap.cpp: Removed.
3536 * dom/DocumentOrderedMap.h: Removed.
3538 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3540 Reviewed by James Robinson.
3542 Async event handlers should not fire within a modal dialog
3543 https://bugs.webkit.org/show_bug.cgi?id=53202
3545 Asychronous events that use EventQueue would currently fire while a
3546 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3547 SuspendableTimer (which automatically gets suspended while dialogs are
3548 up and in other cases where JS execution is not allowed).
3550 Test: fast/events/scroll-event-during-modal-dialog.html
3553 (WebCore::Document::Document):
3554 * dom/EventQueue.cpp:
3555 (WebCore::EventQueueTimer::EventQueueTimer):
3556 (WebCore::EventQueueTimer::fired):
3557 (WebCore::EventQueue::EventQueue):
3558 (WebCore::EventQueue::enqueueEvent):
3559 (WebCore::EventQueue::pendingEventTimerFired):
3561 (WebCore::EventQueue::create):
3563 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3565 Reviewed by Dimitri Glazkov.