1 2011-02-04 Mikhail Naganov <mnaganov@chromium.org>
3 Reviewed by Pavel Feldman.
5 Web Inspector: Add "show more" data grid node and waiting message UI components.
6 https://bugs.webkit.org/show_bug.cgi?id=53763
8 - "show more" data grid node is used for on-demand population of
9 data grid contents (similar to DOM tree capability for limiting
10 displayed nodes count);
12 - waiting message is used for informing user about long lasting
13 operations (with a possibility to cancel them).
15 * English.lproj/localizedStrings.js:
17 * WebCore.vcproj/WebCore.vcproj:
18 * inspector/front-end/PleaseWaitMessage.js: Added.
19 (WebInspector.PleaseWaitMessage):
20 * inspector/front-end/ShowMoreDataGridNode.js: Added.
21 (WebInspector.ShowMoreDataGridNode):
22 * inspector/front-end/WebKit.qrc:
23 * inspector/front-end/inspector.css:
26 * inspector/front-end/inspector.html:
28 2011-02-04 Adele Peterson <adele@apple.com>
30 Reviewed by Dan Bernstein.
32 Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
33 <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
36 fast/forms/textarea-placeholder-visibility-1.html
37 fast/forms/textarea-placeholder-visibility-2.html
38 fast/forms/input-placeholder-visibility-1.html
39 fast/forms/input-placeholder-visibility-2.html
40 fast/forms/input-placeholder-visibility-3.html
42 * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
43 Add a check for shouldShowPlaceholderWhenFocused.
44 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
45 Whenever the value is updated, we should also update placeholder visibility.
46 * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
47 Make the default the same as the existing behavior.
48 * rendering/RenderThemeMac.h:
49 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
50 Show placeholder when appropriate.
52 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
54 Reviewed by Pavel Feldman.
56 Web Inspector: evaluate on hover does not work on a breakpoint.
57 https://bugs.webkit.org/show_bug.cgi?id=53768
59 * inspector/front-end/SourceFrame.js:
60 (WebInspector.SourceFrame.prototype._mouseHover):
62 2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com>
64 Unreviewed, rolling out r77625 and r77626.
65 http://trac.webkit.org/changeset/77625
66 http://trac.webkit.org/changeset/77626
67 https://bugs.webkit.org/show_bug.cgi?id=53765
69 It broke Windows builds (Requested by Ossy_ on #webkit).
71 * Android.jscbindings.mk:
73 * ForwardingHeaders/pcre/pcre.h: Added.
74 * ForwardingHeaders/yarr/Yarr.h: Removed.
75 * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
76 * ForwardingHeaders/yarr/YarrPattern.h: Removed.
77 * WebCore.gyp/WebCore.gyp:
79 * WebCore.vcproj/WebCore.vcproj:
80 * WebCore.vcproj/copyForwardingHeaders.cmd:
81 * platform/text/RegularExpression.cpp:
82 (WebCore::RegularExpression::Private::regexp):
83 (WebCore::RegularExpression::Private::compile):
84 (WebCore::RegularExpression::Private::Private):
85 (WebCore::RegularExpression::Private::create):
86 (WebCore::RegularExpression::Private::~Private):
87 (WebCore::RegularExpression::match):
89 2011-02-04 Peter Varga <pvarga@webkit.org>
91 Rubber-stamped by Csaba Osztrogonác.
93 Replace PCRE with Yarr in WebCore
94 https://bugs.webkit.org/show_bug.cgi?id=53496
96 Speculative windows build fix.
100 * platform/text/RegularExpression.cpp:
102 2011-02-04 Peter Varga <pvarga@webkit.org>
105 Reviewed by Gavin Barraclough.
107 Replace PCRE with Yarr in WebCore
108 https://bugs.webkit.org/show_bug.cgi?id=53496
112 * Android.jscbindings.mk:
114 * ForwardingHeaders/pcre/pcre.h: Removed.
115 * ForwardingHeaders/yarr/Yarr.h: Added.
116 * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
117 * ForwardingHeaders/yarr/YarrPattern.h: Added.
118 * WebCore.gyp/WebCore.gyp:
120 * WebCore.vcproj/WebCore.vcproj:
121 * WebCore.vcproj/copyForwardingHeaders.cmd:
122 * platform/text/RegularExpression.cpp:
123 (WebCore::RegularExpression::Private::create):
124 (WebCore::RegularExpression::Private::Private):
125 (WebCore::RegularExpression::Private::compile):
126 (WebCore::RegularExpression::match):
128 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
130 Reviewed by Yury Semikhatsky.
132 Web Inspector: Network panel filtering is broken.
133 https://bugs.webkit.org/show_bug.cgi?id=53764
135 * inspector/front-end/NetworkPanel.js:
136 (WebInspector.NetworkPanel.prototype._sortItems):
137 (WebInspector.NetworkPanel.prototype._sortByTimeline):
138 (WebInspector.NetworkPanel.prototype._filter):
139 (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
140 (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
141 (WebInspector.NetworkDataGridNode.prototype.get selectable):
142 (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
143 (WebInspector.NetworkTotalGridNode.prototype.get selectable):
145 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
147 Reviewed by Pavel Feldman.
149 Web Inspector: support overriding user agent strings
150 https://bugs.webkit.org/show_bug.cgi?id=51485
152 Test: http/tests/inspector/extensions-useragent.html
154 * inspector/Inspector.idl:
155 * inspector/InspectorController.cpp:
156 (WebCore::InspectorController::disconnectFrontend):
157 (WebCore::InspectorController::setUserAgentOverride):
158 (WebCore::InspectorController::userAgentOverride):
159 * inspector/InspectorController.h:
160 * inspector/front-end/ExtensionAPI.js:
161 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
162 * inspector/front-end/ExtensionServer.js:
163 (WebInspector.ExtensionServer.prototype._onReload):
164 * loader/FrameLoader.cpp:
165 (WebCore::FrameLoader::userAgent):
166 (WebCore::FrameLoader::applyUserAgent):
168 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
170 Reviewed by Pavel Feldman.
172 Web Inspector: scripts panel displays wrong file name after reload.
173 https://bugs.webkit.org/show_bug.cgi?id=53761
175 * inspector/front-end/ScriptsPanel.js:
176 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
178 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
180 Reviewed by Pavel Feldman.
182 Web Inspector: remove settings related methods from InspectorClient
183 https://bugs.webkit.org/show_bug.cgi?id=53686
186 * inspector/CodeGeneratorInspector.pm:
187 * inspector/InspectorClient.h:
188 * inspector/InspectorFrontendClientLocal.cpp:
189 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
190 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
191 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
192 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
193 provide platform-specific settings accessor.
194 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
195 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
196 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
197 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
198 * loader/EmptyClients.h:
200 2011-02-03 Anton Muhin <antonm@chromium.org>
202 Reviewed by Adam Barth.
204 [v8] frame several more JS code invocations into v8::TryCatch
205 https://bugs.webkit.org/show_bug.cgi?id=53594
207 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
208 in v8::ThrowException---currently sometimes exceptions thrown by this method
209 do not reach surrounding v8::TryCatch handler (see
210 http://code.google.com/p/v8/issues/detail?id=1072 and
211 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
212 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
213 one rebaseline as of now.)
215 * bindings/v8/V8Proxy.cpp:
216 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
217 * bindings/v8/V8WindowErrorHandler.cpp:
218 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
220 2011-02-03 Maciej Stachowiak <mjs@apple.com>
222 Reviewed by Dan Bernstein.
224 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
225 https://bugs.webkit.org/show_bug.cgi?id=52897
226 <rdar://problem/8898294>
228 * WebCore.exp.in: Add export now needed by WebKit2
230 2011-02-03 Victoria Kirst <vrk@google.com>
232 Reviewed by James Robinson.
234 Replaces float literals with uniform values in shader code
235 so that buggy drivers unable to parse float values in different
236 locales will not produce a pink video.
238 [chromium] Fix pink video bug with gpu-acceleration enabled
239 https://bugs.webkit.org/show_bug.cgi?id=53568
241 * platform/graphics/chromium/VideoLayerChromium.cpp:
242 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
243 (WebCore::VideoLayerChromium::drawYUV):
244 * platform/graphics/chromium/VideoLayerChromium.h:
245 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
247 2011-02-03 James Kozianski <koz@chromium.org>
249 Reviewed by Dimitri Glazkov.
251 Add navigator.registerProtocolHandler behind a flag.
252 https://bugs.webkit.org/show_bug.cgi?id=52609
254 This method is described in the HTML5 specification here,
255 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
257 This change is largely cribbed from B. Green's 29651 patches. It is
258 behind a flag so as not to break JS feature detection.
260 New layout test fast/dom/registerProtocolHandler.html.
262 * Configurations/FeatureDefines.xcconfig:
263 * loader/EmptyClients.h:
264 (WebCore::EmptyChromeClient::registerProtocolHandler):
266 (WebCore::Chrome::registerProtocolHandler):
268 * page/ChromeClient.h:
269 * page/Navigator.cpp:
270 (WebCore::verifyCustomHandlerURL):
271 (WebCore::verifyProtocolHandlerScheme):
272 (WebCore::Navigator::registerProtocolHandler):
274 * page/Navigator.idl:
276 2011-02-03 Brian Ryner <bryner@chromium.org>
278 Reviewed by Darin Fisher.
280 Add a field to the ResourceResponse for tracking the socket address
281 of the host that the resource was fetched from. Patch was originally
283 https://bugs.webkit.org/show_bug.cgi?id=53699
285 * platform/network/chromium/ResourceResponse.cpp:
286 (WebCore::ResourceResponse::doPlatformCopyData):
287 (WebCore::ResourceResponse::doPlatformAdopt):
288 * platform/network/chromium/ResourceResponse.h:
289 (WebCore::ResourceResponse::socketAddress):
290 (WebCore::ResourceResponse::setSocketAddress):
292 2011-02-03 Adam Langley <agl@chromium.org>
294 Reviewed by Adam Barth.
296 Plumb mixed script URL to FrameLoaderClient
297 https://bugs.webkit.org/show_bug.cgi?id=52384
299 Regressions covered by http/tests/security/mixedContent/*
301 * loader/EmptyClients.h:
302 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
303 * loader/FrameLoader.cpp:
304 (WebCore::FrameLoader::checkIfRunInsecureContent):
305 * loader/FrameLoaderClient.h:
307 2011-02-03 Simon Fraser <simon.fraser@apple.com>
309 Reviewed by Dan Bernstein.
311 REGRESSION: Artifacts on box-shadow corners in some cases
312 https://bugs.webkit.org/show_bug.cgi?id=53731
314 Fix overdrawing artifacts in ShadowBlur's tiling code path,
315 which show up in shadows using a color with alpha.
317 Test: fast/box-shadow/shadow-tiling-artifact.html
319 * platform/graphics/ShadowBlur.cpp:
320 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
321 that the inner rect that gets filled does not overlap with any
322 of the eight tiled areas by having the corner and side dimensions
323 be the same for contiguous areas.
325 2011-02-03 Adam Barth <abarth@webkit.org>
327 Reviewed by Alexey Proskuryakov.
329 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
330 percent signs in large posted data
331 https://bugs.webkit.org/show_bug.cgi?id=53405
333 If the input string contains many non-% characters followed by a %
334 character that is not a valid URL escape sequence, then the old
335 algorithm would only advance the initial search by one character
336 (instead of jumping to just after the % character). That would cause
337 the algorithm to take N^2 time (in the number of characters before the
338 first % character). This patch just advances the search past the first
339 % character so we can start looking for next % character sooner.
342 (WebCore::decodeURLEscapeSequences):
344 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
346 Reviewed by Pavel Feldman.
348 Web Inspector: click on a breakpoint highlights wrong line in source frame.
349 https://bugs.webkit.org/show_bug.cgi?id=53692
351 * inspector/front-end/BreakpointsSidebarPane.js:
352 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
354 2011-02-03 Anton Muhin <antonm@chromium.org>
356 Reviewed by Adam Barth.
358 [v8] Bail out if to string conversion returned empty handle
359 https://bugs.webkit.org/show_bug.cgi?id=53687
361 This a temporary measure: actually one probably should never get empty handle
362 if there was no exception. The root cause is under investigation.
363 The bailout though allows Chromium not to crash---attempt to convert an empty
364 v8 hande into WebCore string crashes with invalid memory access.
366 See http://code.google.com/p/chromium/issues/detail?id=71544
368 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
370 * bindings/v8/V8Binding.cpp:
371 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
372 * bindings/v8/V8Binding.h:
373 (WebCore::V8ParameterBase::prepareBase): Ditto
375 2011-02-03 Adam Barth <abarth@webkit.org>
377 Attempt to fix Chromium build.
379 * html/parser/XSSFilter.cpp:
381 2011-02-03 Dirk Pranke <dpranke@chromium.org>
383 Unreviewed, rolling out r77562.
384 http://trac.webkit.org/changeset/77562
385 https://bugs.webkit.org/show_bug.cgi?id=53630
387 broke chromium mac build
389 * WebCore.gyp/WebCore.gyp:
390 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
392 2011-02-03 Adam Barth <abarth@webkit.org>
394 Reviewed by Daniel Bates.
396 XSS Auditor severely affects loading performance after submitting a large form
397 https://bugs.webkit.org/show_bug.cgi?id=49845
399 Switch over from the XSSAuditor to the XSSFilter, improving performance
402 * html/parser/XSSFilter.cpp:
403 (WebCore::XSSFilter::filterToken):
404 * page/XSSAuditor.cpp:
405 (WebCore::XSSAuditor::isEnabled):
407 2011-02-03 Dirk Pranke <dpranke@chromium.org>
409 Unreviewed, rolling out r77567.
410 http://trac.webkit.org/changeset/77567
411 https://bugs.webkit.org/show_bug.cgi?id=53468
413 broke chromium linux svg, canvas tests, possibly win also?
415 * platform/graphics/skia/ImageBufferSkia.cpp:
416 (WebCore::getImageData):
417 (WebCore::ImageBuffer::getUnmultipliedImageData):
418 (WebCore::ImageBuffer::getPremultipliedImageData):
419 (WebCore::putImageData):
420 (WebCore::ImageBuffer::putUnmultipliedImageData):
421 (WebCore::ImageBuffer::putPremultipliedImageData):
423 2011-02-02 MORITA Hajime <morrita@google.com>
425 Reviewed by Dimitri Glazkov.
427 Refactoring: <progress> should not use ShadowElement
428 https://bugs.webkit.org/show_bug.cgi?id=53583
430 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
431 to be responsible for bar-part layout,
432 which adopted layout logic from ShadowBlockElement.
433 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
434 - Remove dependency from RenderProgress to HTMLProgressElement and
436 - The shadow tree is no longer removed on detach(). It becomes persistent.
437 This is now possible because the ShadowBlockElement dependency is gone.
438 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
439 That didn't make sense.
441 * html/HTMLProgressElement.cpp:
442 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
443 * html/HTMLProgressElement.h:
444 * html/shadow/ProgressBarValueElement.h: Added.
445 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
446 (WebCore::ProgressBarValueElement::shadowPseudoId):
447 (WebCore::ProgressBarValueElement::createRenderer):
448 (WebCore::ProgressBarValueElement::create):
449 * rendering/RenderIndicator.cpp:
450 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
451 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
452 (WebCore::RenderIndicatorPart::layout):
453 (WebCore::RenderIndicatorPart::styleDidChange):
454 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
455 (WebCore::RenderIndicatorPart::originalVisibility):
456 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
457 (WebCore::RenderIndicatorPart::canHaveChildren):
458 * rendering/RenderProgress.cpp:
459 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
460 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
461 (WebCore::RenderProgress::updateFromElement):
462 (WebCore::RenderProgress::layoutParts):
463 (WebCore::RenderProgress::shouldHaveParts):
464 * rendering/RenderProgress.h:
465 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
467 2011-02-03 Jia Pu <jpu@apple.com>
469 Reversion should not be marked as misspelled.
470 https://bugs.webkit.org/show_bug.cgi?id=53255
472 This patch includes fix for reported bug, and also some housekeeping changes.
474 To implement desired behavior, we need:
475 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
476 that shouldn't be spellchecked and text shouldn't be autocorrected.
477 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
478 Otherwise the spell checking code in that function may interfere with autocorrection. This
479 is achieved by explicitly applying pending correction when user types space, line break or
482 Housekeeping code changes include:
483 1. Change manual-tests that were broken by relocated WebCore directory.
484 2. Use TextIterator in various DocumentMarkerController functions instead of using
485 Node::traverseNextNode() directly.
486 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
487 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
488 4. Fixes of minor bugs that were exposed previously.
490 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
492 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
494 * dom/DocumentMarkerController.cpp:
495 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
496 consistent with addMarker() function. Allow passing in multiple marker types in one call.
497 Added a boolean argument to specify the behavior when removing markers that partially
498 overlap the specified range.
499 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
500 multiple marker types in one call.
501 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
502 consistent with addMarker() function. Allow passing in multiple marker types in one call.
504 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
505 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
506 removing markers that partially overlap the specified range.
508 * editing/Editor.cpp:
509 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
510 (WebCore::markerTypesForReplacement): Ditto.
511 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
512 setSelection() to make sure there is no pending correction when entering
513 markAllMisspellingsAndBadGrammarInRanges().
514 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
515 is a top level command to improve efficiency.
516 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
517 (WebCore::Editor::insertLineBreak): Ditto.
518 (WebCore::Editor::insertParagraphSeparator): Ditto.
519 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
520 text carries SpellCheckingExemption marker.
521 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
522 from spellchecker is an empty string.
523 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
524 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
525 efficiency and readability.
526 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
527 applying correction, since it's unnecessary. Also, store pre-correction string together with
528 the marker for reversion panel to use.
529 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
530 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
531 where we have access to EditCommand object.
533 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
535 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
536 were broken by relocated WebCore directory.
538 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
540 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
542 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
544 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
546 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
548 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
550 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
552 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
554 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
556 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
557 were broken by relocated WebCore directory.
559 * rendering/InlineTextBox.cpp:
560 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
562 2011-02-03 Abhishek Arya <inferno@chromium.org>
564 Unreviewed, qt build fix.
566 * rendering/RenderBlock.cpp:
567 (WebCore::RenderBlock::removeFloatingObject):
569 2011-02-03 Brian Salomon <bsalomon@google.com>
571 Reviewed by James Robinson.
573 Handle non-raster backed images in getUnmultipliedImageData()
574 https://bugs.webkit.org/show_bug.cgi?id=53468
576 No new tests. Existing canvas tests sufficient
577 LayoutTests/canvas/philip/...
579 * platform/graphics/skia/ImageBufferSkia.cpp:
580 (WebCore::getImageData):
581 (WebCore::ImageBuffer::getUnmultipliedImageData):
582 (WebCore::ImageBuffer::getPremultipliedImageData):
583 (WebCore::putImageData):
584 (WebCore::ImageBuffer::putUnmultipliedImageData):
585 (WebCore::ImageBuffer::putPremultipliedImageData):
587 2011-02-03 Abhishek Arya <inferno@chromium.org>
589 Reviewed by James Robinson.
591 Enforce more limits on root inline boxes height calculations.
592 https://bugs.webkit.org/show_bug.cgi?id=53729
594 Test: fast/overflow/overflow-height-float-not-removed-crash.html
596 * rendering/RenderBlock.cpp:
597 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
598 become negative when logicalTop is INT_MAX.
599 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
600 is INT_MAX, we should dirty everything. So, we bail out to make
601 afterLowest equal to the lastRootBox() or lowestDirstLine.
603 2011-02-03 David Levin <levin@chromium.org>
605 Reviewed by Adam Barth and Oliver Hunt.
607 Worker.importScript() should clean errors for cross origin imports.
608 https://bugs.webkit.org/show_bug.cgi?id=52871
610 Test: http/tests/workers/worker-importScriptsOnError.html
612 * bindings/js/WorkerScriptController.cpp:
613 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
614 to determine when to create a clean exception.
615 * bindings/v8/WorkerContextExecutionProxy.cpp:
616 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
617 * dom/ScriptExecutionContext.cpp:
618 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
619 if the error needs to be cleaned up.
620 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
621 sanitizeScriptError for use by other places.
622 * dom/ScriptExecutionContext.h:
623 * workers/WorkerContext.cpp:
624 (WebCore::WorkerContext::importScripts): Use the reponse url when
625 telling the evaluate where the script came fro.
626 * workers/WorkerScriptLoader.cpp:
627 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
628 the script was loaded from (which may be different from url() due
630 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
631 * workers/WorkerScriptLoader.h:
633 2011-02-03 Mark Mentovai <mark@chromium.org>
635 Reviewed by Dimitri Glazkov.
637 Chromium GYP build fix.
639 When various settings were moved to webcore_prerequisites in r66364,
640 things that should have been direct_dependent_settings were not marked
641 as such. GYP 'defines', for example, make no sense on a 'none'-type
642 target such as webcore_prerequisites. It appears that it was intended
643 for these settings to be pushed to direct dependents, which would make
644 direct_dependent_settings correct.
646 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
647 http://crbug.com/71537, which at best causes Mac console log spew, and
648 at worst may result in Chromium's copy of WebCore using system
649 definitions of certain Objective-C classes at runtime, or vice-versa.
651 The build now includes a postbuild step to prevent
652 http://crbug.com/71537 from regressing again. The build will fail upon
655 https://bugs.webkit.org/show_bug.cgi?id=53630
657 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
658 direct_dependent_settings as needed, add the check_objc_rename
660 * WebCore.gyp/mac/check_objc_rename.sh: Added.
662 2011-02-03 Adam Barth <abarth@webkit.org>
664 Reviewed by Eric Seidel.
666 Make XSSFilter go fast by adding a SuffixTree
667 https://bugs.webkit.org/show_bug.cgi?id=53665
669 The SuffixTree lets us quickly reject snippets if the POST data is
670 large (because we can avoid a linear scan over the POST data).
672 * html/parser/XSSFilter.cpp:
673 (WebCore::XSSFilter::init):
674 (WebCore::XSSFilter::isContainedInRequest):
675 * html/parser/XSSFilter.h:
677 2011-02-03 Mihai Parparita <mihaip@chromium.org>
679 Reviewed by Alexey Proskuryakov.
681 REGRESSION (r77355): Page cache layout tests crash
682 https://bugs.webkit.org/show_bug.cgi?id=53648
684 Test: fast/events/pagehide-timeout.html
686 Suspend active DOM objects after all pagehide event handlers have run,
687 otherwise it's possible for them to create more objects that weren't
690 * history/CachedFrame.cpp:
691 (WebCore::CachedFrame::CachedFrame):
693 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
695 Reviewed by Nate Chapin.
697 SerializedScriptValue should not require v8 to create undefined and null values
698 https://bugs.webkit.org/show_bug.cgi?id=53730
700 Instead of creating a v8 type and passing that into the constructor, just use
701 the writer class directly. While I was at it, I cleaned up the code a bit too
702 by getting rid of the WireData/StringValue enum as I found that personally
705 This is necessary because these methods are called by IndexedDB in the browser
706 process where v8 is not spun up.
708 No functionality changed and not possible to test.
710 * bindings/v8/SerializedScriptValue.cpp:
711 (WebCore::SerializedScriptValue::createFromWire):
712 (WebCore::SerializedScriptValue::create):
713 (WebCore::SerializedScriptValue::nullValue):
714 (WebCore::SerializedScriptValue::undefinedValue):
715 (WebCore::SerializedScriptValue::release):
716 (WebCore::SerializedScriptValue::SerializedScriptValue):
717 * bindings/v8/SerializedScriptValue.h:
719 2011-02-03 Beth Dakin <bdakin@apple.com>
721 Reviewed by Sam Weinig.
723 Fix for <rdar://problem/8944544> Ability to animate track
724 for WKPainter scrollers
726 Two new WebKitSystemInterface functions.
728 * platform/mac/WebCoreSystemInterface.h:
729 * platform/mac/WebCoreSystemInterface.mm:
731 Use Scrollbar::convertFromContainingView() to return the right point.
732 * platform/mac/ScrollAnimatorMac.mm:
733 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
735 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
736 now be used to animate the knob or the track.
737 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
738 (-[ScrollbarPartAnimation setCurrentProgress:]):
739 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
740 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
741 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
743 Scrollbars need invalodating after the overlay state changes.
744 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
746 2011-02-03 Sam Weinig <sam@webkit.org>
748 Reviewed by Beth Dakin.
750 Scroll thumb jumps to top when resizing horizontally.
752 * platform/ScrollView.cpp:
753 (WebCore::ScrollView::updateScrollbars): Add call to update
754 the scrollbar's offset in the case where we may have created
755 a new scrollbar but have not changed the current position.
757 2011-02-03 Justin Schuh <jschuh@chromium.org>
759 Reviewed by Dirk Schulze.
761 startAnimations should use a local, RefCounted Vector.
762 https://bugs.webkit.org/show_bug.cgi?id=53458
764 Test: svg/custom/use-animation-in-fill.html
766 * svg/SVGDocumentExtensions.cpp:
767 (WebCore::SVGDocumentExtensions::startAnimations):
769 2011-02-03 Adam Barth <abarth@webkit.org>
771 Reviewed by Daniel Bates.
773 XSSFilter shouldn't bother to analyze pages without "injection"
774 characters in the request
775 https://bugs.webkit.org/show_bug.cgi?id=53664
777 If the request lacks these "injection" characters, then it's unlikely
778 that there's a reflective XSS attack happening. This hueristic lets us
779 avoid analyzing the vast majority of responses for XSS. Of course, the
780 hueristic isn't perfect. Because of this huerstic, we miss out on
781 injections into unquoted attributes. However, it's a trade-off that's
782 worked well in the XSSAuditor.
784 * html/parser/XSSFilter.cpp:
785 (WebCore::HTMLNames::isRequiredForInjection):
786 (WebCore::XSSFilter::XSSFilter):
787 (WebCore::XSSFilter::init):
788 (WebCore::XSSFilter::filterToken):
789 (WebCore::XSSFilter::isContainedInRequest):
790 * html/parser/XSSFilter.h:
792 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
794 Reviewed by Kenneth Russell.
796 [chromium] Fixing a compositor crash occurring on layers
797 without an associated RenderSurface.
798 https://bugs.webkit.org/show_bug.cgi?id=53679
799 Regression was introduced by in r77425
801 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
804 * platform/graphics/chromium/LayerRendererChromium.cpp:
805 (WebCore::LayerRendererChromium::drawLayer):
807 2011-02-03 Dan Bernstein <mitz@apple.com>
809 Reviewed by Anders Carlsson.
811 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
812 https://bugs.webkit.org/show_bug.cgi?id=53709
814 Covered by rendering of fast/text/emphasis-vertical.html
816 * platform/graphics/mac/SimpleFontDataMac.mm:
817 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
820 2011-02-02 Levi Weintraub <leviw@chromium.org>
822 Reviewed by Ryosuke Niwa.
824 Moving cursor down in table cycles at the end of a row
825 https://bugs.webkit.org/show_bug.cgi?id=50012
827 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
828 end of a document due to a bug in nextLeafWithSameEditability.
830 Test: editing/selection/move-by-line-cycles-in-table.html
832 * editing/visible_units.cpp:
833 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
836 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
838 Reviewed by Pavel Feldman.
840 Web Inspector: remove dead code related to changes panel.
841 https://bugs.webkit.org/show_bug.cgi?id=53688
844 * WebCore.vcproj/WebCore.vcproj:
845 * inspector/front-end/ChangesView.js: Removed.
846 * inspector/front-end/WebKit.qrc:
847 * inspector/front-end/inspector.css:
848 (#error-warning-count):
849 (#error-warning-count:hover):
850 (#error-count + #warning-count):
851 * inspector/front-end/inspector.html:
852 * inspector/front-end/inspector.js:
854 2011-02-02 Sam Weinig <sam@webkit.org>
856 Reviewed by Anders Carlsson.
858 Add notification of the end of a rubber band.
859 <rdar://problem/8940648>
862 Add additional exprots.
864 * page/ChromeClient.h:
865 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
866 * page/FrameView.cpp:
867 (WebCore::FrameView::didCompleteRubberBand):
869 * platform/ScrollView.cpp:
870 (WebCore::ScrollView::didCompleteRubberBand):
871 * platform/ScrollView.h:
874 * platform/ScrollableArea.h:
875 (WebCore::ScrollableArea::inLiveResize):
876 (WebCore::ScrollableArea::maximumScrollPosition):
877 (WebCore::ScrollableArea::visibleWidth):
878 (WebCore::ScrollableArea::overhangAmount):
879 (WebCore::ScrollableArea::didCompleteRubberBand):
880 Reorganize and de-virtualize live resize notifications.
882 * platform/mac/ScrollAnimatorMac.mm:
883 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
884 Call the new hook when the rubberband ends.
886 2011-02-02 Evan Martin <evan@chromium.org>
888 Reviewed by Tony Chang.
890 [chromium] complex joining characters positioned in wrong place
891 https://bugs.webkit.org/show_bug.cgi?id=53637
893 Provide the correct font metrics to Harfbuzz related to the font design space.
894 There are used in some fonts for GPOS positioning.
896 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
898 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
899 (WebCore::ComplexTextController::setupFontForScriptRun):
900 (WebCore::ComplexTextController::allocHarfbuzzFont):
901 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
902 (WebCore::FontPlatformData::FontPlatformData):
903 (WebCore::FontPlatformData::emSizeInFontUnits):
904 (WebCore::FontPlatformData::operator=):
905 * platform/graphics/chromium/FontPlatformDataLinux.h:
906 (WebCore::FontPlatformData::FontPlatformData):
908 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
910 Reviewed by Kent Tamura.
912 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
913 https://bugs.webkit.org/show_bug.cgi?id=53634
915 Test: fast/dom/HTMLInputElement/input-slider-update.html
917 * html/HTMLInputElement.cpp:
918 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
919 * html/InputType.cpp:
920 (WebCore::InputType::valueChanged): Added empty implementation.
921 * html/InputType.h: Added def.
922 * html/RangeInputType.cpp:
923 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
925 * html/RangeInputType.h: Added def.
927 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
929 Reviewed by Pavel Feldman.
931 Web Inspector: do not share source frames between resources panel and scripts panel.
932 https://bugs.webkit.org/show_bug.cgi?id=53584
934 Currently, we show error messages only for resources. This change will allow showing error
935 messages in source frame even when resource is not available (eval scripts, inlined scripts).
937 * inspector/front-end/ConsoleView.js:
938 (WebInspector.ConsoleView.prototype.addMessage):
939 (WebInspector.ConsoleView.prototype.clearMessages):
940 * inspector/front-end/ResourceView.js:
941 (WebInspector.ResourceView.recreateResourceView):
942 * inspector/front-end/ResourcesPanel.js:
943 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
944 * inspector/front-end/ScriptsPanel.js:
945 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
946 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
947 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
948 (WebInspector.ScriptsPanel.prototype.reset):
949 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
950 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
951 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
953 2011-02-03 Simon Fraser <simon.fraser@apple.com>
957 * platform/graphics/ShadowBlur.cpp:
958 (WebCore::ShadowBlur::blurLayerImage):
960 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
962 Reviewed by Pavel Feldman.
964 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
965 https://bugs.webkit.org/show_bug.cgi?id=53592
967 In JSC there is no limit, thus 'undefined' value is returned.
968 For V8, the limit reported by the VM is returned.
970 * Android.jscbindings.mk:
975 * WebCore.vcproj/WebCore.vcproj:
976 * WebCore.xcodeproj/project.pbxproj:
977 * bindings/js/JSBindingsAllInOne.cpp:
978 * bindings/js/JSMemoryInfoCustom.cpp: Added.
979 * bindings/js/ScriptGCEvent.cpp:
980 (WebCore::ScriptGCEvent::getHeapSize):
981 * bindings/js/ScriptGCEvent.h:
982 * bindings/v8/ScriptGCEvent.cpp:
983 (WebCore::ScriptGCEvent::getHeapSize):
984 * bindings/v8/ScriptGCEvent.h:
985 * inspector/InspectorTimelineAgent.cpp:
986 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
987 * page/MemoryInfo.cpp:
988 (WebCore::MemoryInfo::MemoryInfo):
990 (WebCore::MemoryInfo::jsHeapSizeLimit):
991 * page/MemoryInfo.idl:
993 2011-01-27 Philippe Normand <pnormand@igalia.com>
995 Reviewed by Martin Robinson.
997 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
998 https://bugs.webkit.org/show_bug.cgi?id=53125
1000 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1001 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
1003 2011-02-03 Simon Fraser <simon.fraser@apple.com>
1005 Reviewed by Sam Weinig.
1007 ShadowBlur radius for CSS shadows is slightly too big
1008 https://bugs.webkit.org/show_bug.cgi?id=53660
1010 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
1011 shadows that extend further than the CSS "blur radius", which results
1012 in the shadows being truncated.
1014 Fix with a small fudge factor to reduce the kernel diameter slightly
1017 Also more closely follow the algorithm described in the SVG spec
1018 for computing the kernel size for different diameters, and clean up
1019 some variable naming relating to the shadow bounds.
1021 * platform/graphics/ShadowBlur.cpp:
1022 (WebCore::ShadowBlur::blurLayerImage):
1023 (WebCore::ShadowBlur::drawRectShadowWithTiling):
1025 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
1027 Reviewed by Pavel Feldman.
1029 Web Inspector: introduce new api for managing JavaScript breakpoints.
1030 https://bugs.webkit.org/show_bug.cgi?id=53235
1032 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
1033 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
1034 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
1036 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
1037 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
1039 * bindings/js/ScriptDebugServer.cpp:
1040 (WebCore::ScriptDebugServer::setBreakpoint):
1041 (WebCore::ScriptDebugServer::removeBreakpoint):
1042 * bindings/js/ScriptDebugServer.h:
1043 * bindings/v8/DebuggerScript.js:
1045 * bindings/v8/ScriptDebugServer.cpp:
1046 (WebCore::ScriptDebugServer::setBreakpoint):
1047 * bindings/v8/ScriptDebugServer.h:
1048 * inspector/Inspector.idl:
1049 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
1050 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1051 (WebCore::InspectorAgent::populateScriptObjects):
1052 (WebCore::InspectorAgent::restoreDebugger):
1053 (WebCore::InspectorAgent::showAndEnableDebugger):
1054 (WebCore::InspectorAgent::enableDebugger):
1055 * inspector/InspectorAgent.h:
1056 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
1057 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1058 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
1059 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
1060 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
1061 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
1062 (WebCore::InspectorDebuggerAgent::continueToLocation):
1063 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1064 (WebCore::InspectorDebuggerAgent::getScriptSource):
1065 (WebCore::InspectorDebuggerAgent::didParseSource):
1066 (WebCore::InspectorDebuggerAgent::didPause):
1067 * inspector/InspectorDebuggerAgent.h:
1068 (WebCore::InspectorDebuggerAgent::Script::Script):
1069 * inspector/InspectorValues.cpp:
1070 (WebCore::InspectorValue::asNumber):
1071 (WebCore::InspectorBasicValue::asNumber):
1072 (WebCore::InspectorObject::remove):
1073 * inspector/InspectorValues.h:
1074 (WebCore::InspectorObject::getNumber):
1075 (WebCore::InspectorObject::find):
1076 * inspector/ScriptBreakpoint.h:
1077 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
1078 * inspector/front-end/Breakpoint.js:
1079 (WebInspector.Breakpoint):
1080 (WebInspector.Breakpoint.prototype.addLocation):
1081 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
1082 (WebInspector.BreakpointManager):
1083 (WebInspector.BreakpointManager.prototype._projectChanged):
1084 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1085 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
1086 * inspector/front-end/BreakpointsSidebarPane.js:
1087 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
1088 * inspector/front-end/DebuggerModel.js:
1089 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
1090 * inspector/front-end/Script.js:
1091 (WebInspector.Script.prototype.sourceLine):
1092 * inspector/front-end/ScriptsPanel.js:
1093 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1094 * inspector/front-end/Settings.js:
1095 (WebInspector.Settings):
1096 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
1097 * inspector/front-end/inspector.js:
1099 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
1101 Reviewed by Dirk Schulze.
1103 small text which is scaled to be large renders pixelated
1104 https://bugs.webkit.org/show_bug.cgi?id=12448
1106 SVG <text> with font-size smaller or equal to 1 does not paint correctly
1107 https://bugs.webkit.org/show_bug.cgi?id=14242
1109 misplaced text in SVG
1110 https://bugs.webkit.org/show_bug.cgi?id=17053
1112 Don't render very small (but zoomed) text inside SVG
1113 https://bugs.webkit.org/show_bug.cgi?id=19393
1115 Tiny fonts scaled up end up too large in Safari
1116 https://bugs.webkit.org/show_bug.cgi?id=20192
1118 Stretched SVG Text has awful glyph spacing
1119 https://bugs.webkit.org/show_bug.cgi?id=21774
1121 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
1122 https://bugs.webkit.org/show_bug.cgi?id=49846
1124 [Gtk] Text height in zoomed SVG is 1px too high
1125 https://bugs.webkit.org/show_bug.cgi?id=50313
1127 SVG text smaller than 0.5px not displayed properly
1128 https://bugs.webkit.org/show_bug.cgi?id=50528
1130 When rendering text, we're selecting a font with a size, as specified in the markup.
1131 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
1132 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
1133 problem becomes apparent.
1135 Consider following two snippets, which should render exactly the same:
1136 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
1137 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
1139 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
1140 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
1141 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
1143 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1144 remove any scaling from the context, draw the text using the scaled font size, then reapply
1145 the context scale. This makes the example snippets above render exactly the same and fixes
1146 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1147 internally, depending on the scale of the document, it's very important to use the new
1148 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1150 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1151 svg/hixie/text/003.html (no more pixelation)
1152 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1153 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1154 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1156 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1157 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1158 svg/text/scaled-font.svg (reduction from bug 12448)
1159 svg/text/small-fonts-2.svg (reduction from bug 14242)
1160 svg/text/small-fonts-3.svg (reduction from bug 17053)
1161 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1162 svg/text/small-fonts.svg (reduction from bug 20192))
1164 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1165 * rendering/svg/RenderSVGInlineText.h:
1166 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1167 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1168 * rendering/svg/SVGInlineTextBox.h:
1169 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1170 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1171 * rendering/svg/SVGTextMetrics.h: Ditto.
1172 * rendering/svg/SVGTextQuery.cpp: Ditto.
1173 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1174 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1175 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1176 * svg/SVGTextPositioningElement.h:
1178 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1180 Reviewed by Yury Semikhatsky.
1182 Web Inspector: resources panel doesn't show frames after reload.
1183 https://bugs.webkit.org/show_bug.cgi?id=53430
1185 * inspector/front-end/ResourcesPanel.js:
1186 (WebInspector.ResourcesPanel.prototype.show):
1187 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1188 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1189 (WebInspector.ResourcesPanel.prototype.reset):
1190 (WebInspector.ResourcesPanel.prototype.clear):
1191 * inspector/front-end/inspector.js:
1192 (WebInspector.loadEventFired):
1194 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1196 Reviewed by Pavel Feldman.
1198 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1199 https://bugs.webkit.org/show_bug.cgi?id=53492
1201 * inspector/Inspector.idl:
1202 * inspector/InspectorCSSAgent.cpp:
1203 (WebCore::InspectorCSSAgent::getStylesForNode):
1204 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1205 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1206 (WebCore::InspectorCSSAgent::getAllStyles):
1207 (WebCore::InspectorCSSAgent::getStyleSheet):
1208 (WebCore::InspectorCSSAgent::getStyleSheetText):
1209 (WebCore::InspectorCSSAgent::setStyleSheetText):
1210 (WebCore::InspectorCSSAgent::setPropertyText):
1211 (WebCore::InspectorCSSAgent::toggleProperty):
1212 (WebCore::InspectorCSSAgent::setRuleSelector):
1213 (WebCore::InspectorCSSAgent::addRule):
1214 * inspector/InspectorCSSAgent.h:
1215 * inspector/front-end/AuditRules.js:
1216 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1217 * inspector/front-end/CSSStyleModel.js:
1218 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1219 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1220 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1221 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1222 (WebInspector.CSSStyleModel.prototype.addRule):
1223 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1224 (WebInspector.CSSStyleModel.prototype._onRevert):
1225 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1226 (WebInspector.CSSProperty.prototype.setText):
1227 (WebInspector.CSSProperty.prototype.setDisabled):
1228 (WebInspector.CSSStyleSheet.createForId):
1229 (WebInspector.CSSStyleSheet.prototype.setText):
1231 2011-02-03 Adam Barth <abarth@webkit.org>
1233 Reviewed by Daniel Bates.
1235 Teach XSSFilter about data URLs
1236 https://bugs.webkit.org/show_bug.cgi?id=53662
1238 The XSS filter doesn't really make sense for data URLs because
1239 everything in a "response" from a data URL was part of the request.
1241 Test: http/tests/security/xssAuditor/data-urls-work.html
1243 * html/parser/XSSFilter.cpp:
1244 (WebCore::XSSFilter::init):
1245 (WebCore::XSSFilter::filterToken):
1247 2011-02-02 Chris Evans <cevans@chromium.org>
1249 Reviewed by Darin Fisher.
1251 window.find() can fail when switching case sensitivity
1252 https://bugs.webkit.org/show_bug.cgi?id=53654
1254 Reset the pattern to a safe one when done, to avoid usearch_reset()
1255 indirectly touching the old, stale text pointer.
1257 Test: fast/text/find-window.html
1259 * editing/TextIterator.cpp:
1260 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1262 2011-02-02 Adam Barth <abarth@webkit.org>
1264 Reviewed by Daniel Bates.
1266 Teach XSSFilter that <param> elements can contain URLs
1267 https://bugs.webkit.org/show_bug.cgi?id=53652
1269 When loading plugins for the <object> tag, we're "smart" enough to
1270 reach into the <param> elements and pull out the URL in some cases.
1271 This patch teaches the XSSFilter how to block injections into those
1272 sorts of param elements.
1275 http/tests/security/xssAuditor/object-*
1277 * html/HTMLParamElement.cpp:
1278 (WebCore::HTMLParamElement::isURLParameter):
1279 (WebCore::HTMLParamElement::isURLAttribute):
1280 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1281 * html/HTMLParamElement.h:
1282 - Add a helper function so that HTMLParamElement can share the
1283 ground truth for these names with the XSSFilter.
1284 * html/parser/XSSFilter.cpp:
1285 (WebCore::XSSFilter::filterTokenInitial):
1286 (WebCore::XSSFilter::filterParamToken):
1287 * html/parser/XSSFilter.h:
1289 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1291 Reviewed by David Levin.
1293 GCC compiler on ARM issues bogus warnings and fails to compile.
1294 https://bugs.webkit.org/show_bug.cgi?id=53620
1296 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1297 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1299 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1301 The fix is to add an extra condition, which somehow pacifies the compiler.
1303 * css/CSSPrimitiveValue.cpp:
1304 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1306 2011-02-02 Adam Barth <abarth@webkit.org>
1308 Reviewed by Daniel Bates.
1310 Teach XSSFilter about X-XSS-Protection
1311 https://bugs.webkit.org/show_bug.cgi?id=53640
1313 This patch causes us to pass:
1314 http/tests/security/xssAuditor/full-block-*
1315 http/tests/security/xssAuditor/no-protection-script-tag.html
1317 * html/parser/XSSFilter.cpp:
1318 (WebCore::XSSFilter::XSSFilter):
1319 (WebCore::XSSFilter::init):
1320 (WebCore::XSSFilter::filterToken):
1321 * html/parser/XSSFilter.h:
1323 2011-02-02 Adam Barth <abarth@webkit.org>
1325 Reviewed by Daniel Bates.
1327 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1328 instead of the empty string
1329 https://bugs.webkit.org/show_bug.cgi?id=53643
1331 In a URL context, the empty string completes to the URL of the current
1332 page, which causes these tests to go into an infinite loop. Instead,
1333 we should use a "safe" JavaScript URL that does nothing.
1336 http/tests/security/xssAuditor/javascript-link*
1338 * html/parser/XSSFilter.cpp:
1339 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1341 2011-02-02 Dan Bernstein <mitz@apple.com>
1343 Reviewed by Sam Weinig.
1345 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1346 https://bugs.webkit.org/show_bug.cgi?id=44942
1348 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1350 * platform/text/BidiResolver.h:
1351 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1352 a change to embedding levels.
1353 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1354 the explicit embedding sequence, then runs were not added, and we should continue normally.
1356 2011-02-02 Sam Weinig <sam@webkit.org>
1358 Reviewed by Dan Bernstein.
1360 Fix miscalculation of the overhang area used for painting. We were
1361 not correctly accounting for scrollbars resulting in an non-negative
1362 overhang even when we weren't over the edge.
1364 * platform/ScrollView.cpp:
1365 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1367 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1369 Reviewed by Nate Chapin.
1371 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1372 https://bugs.webkit.org/show_bug.cgi?id=52722
1374 The solution is to change ScriptExecutionContext's destructor to iterate over
1375 the list in a way that handles the mutations. This new method is destructive,
1376 but that's OK since the object is going away. I've also added a several asserts.
1378 There should be no behavior change.
1380 * dom/ScriptExecutionContext.cpp:
1381 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1382 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1383 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1384 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1385 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1386 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1387 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1388 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1389 * dom/ScriptExecutionContext.h:
1390 * storage/IDBTransaction.cpp:
1391 (WebCore::IDBTransaction::contextDestroyed):
1392 * storage/IDBTransaction.h:
1394 2011-02-02 Mark Rowe <mrowe@apple.com>
1398 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1399 * platform/mac/ScrollbarThemeMac.mm:
1400 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1401 up in the HashMap rather than relying on a local variable that doesn't
1404 2011-02-02 Adam Barth <abarth@webkit.org>
1406 Reviewed by Daniel Bates.
1408 Teach XSSFilter about JavaScript URLs
1409 https://bugs.webkit.org/show_bug.cgi?id=53635
1411 This patch teaches the XSSFilter to check for JavaScript URLs in
1412 attribute values. If this approach has too many false positives, we
1413 can restrict which attribute names we examine.
1416 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1417 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1418 http/tests/security/xssAuditor/iframe-javascript-url*
1420 * html/parser/XSSFilter.cpp:
1421 (WebCore::HTMLNames::containsJavaScriptURL):
1422 (WebCore::XSSFilter::filterTokenInitial):
1423 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1424 * html/parser/XSSFilter.h:
1426 2011-02-02 Dan Bernstein <mitz@apple.com>
1428 Reviewed by Sam Weinig, even though this is just a...
1432 * platform/mac/ScrollAnimatorMac.mm:
1433 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1435 2011-02-02 Mark Rowe <mrowe@apple.com>
1437 Reviewed by Beth Dakin.
1439 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1441 We need to ensure that we remove ourselves as the delegates of objects when we're going
1442 away as failing to do this can lead to crashes if the lifetime of the other objects
1443 is longer than ours.
1445 * platform/mac/ScrollAnimatorMac.mm:
1446 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1447 * platform/mac/ScrollbarThemeMac.mm:
1448 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1450 2011-02-02 Beth Dakin <bdakin@apple.com>
1456 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1458 Unreviewed WinCE build fix for r77397.
1460 * page/wince/FrameWinCE.cpp:
1461 (WebCore::computePageRectsForFrame):
1463 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1465 Unreviewed WinCE build fix for r77398.
1467 * platform/graphics/wince/PlatformPathWinCE.cpp:
1468 (WebCore::containsPoint):
1469 (WebCore::inflateRectToContainPoint):
1470 (WebCore::PlatformPath::addRect):
1471 * platform/graphics/wince/SharedBitmap.cpp:
1472 (WebCore::SharedBitmap::drawPattern):
1473 * rendering/RenderThemeWinCE.cpp:
1474 (WebCore::RenderThemeWinCE::paintMenuListButton):
1475 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1476 (WebCore::RenderThemeWinCE::paintSliderTrack):
1477 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1478 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1479 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1480 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1482 2011-02-02 Jian Li <jianli@chromium.org>
1484 Reviewed by Kenneth Russell.
1486 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1487 https://bugs.webkit.org/show_bug.cgi?id=53559
1489 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1491 * html/canvas/DataView.h:
1492 (WebCore::DataView::beyondRange):
1494 2011-02-02 Sam Weinig <sam@webkit.org>
1496 Reviewed by Beth Dakin.
1498 Add ChromeClient function to paint custom overhang areas.
1499 https://bugs.webkit.org/show_bug.cgi?id=53639
1502 (WebCore::ChromeClient::paintCustomOverhangArea):
1503 * page/ChromeClient.h:
1504 Add ChromeClient function.
1506 * page/FrameView.cpp:
1507 (WebCore::FrameView::paintOverhangAreas):
1509 Call out the the ChromeClient, call ScrollView base implementation
1510 if the ChromeClient returns false.
1512 * platform/ScrollView.cpp:
1513 (WebCore::ScrollView::paintOverhangAreas):
1514 * platform/ScrollView.h:
1515 Add dirty rect for use when painting overhang areas.
1517 2011-02-02 Peter Kasting <pkasting@google.com>
1519 Not reviewed, build fix.
1521 Fix compile after r77427.
1522 https://bugs.webkit.org/show_bug.cgi?id=53455
1524 * platform/graphics/qt/ImageDecoderQt.cpp:
1525 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1526 * platform/image-decoders/ImageDecoder.cpp:
1527 (WebCore::ImageFrame::operator=):
1528 * platform/image-decoders/bmp/BMPImageReader.cpp:
1529 (WebCore::BMPImageReader::decodeBMP):
1530 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1531 (WebCore::JPEGImageDecoder::outputScanlines):
1532 * platform/image-decoders/png/PNGImageDecoder.cpp:
1533 (WebCore::PNGImageDecoder::rowAvailable):
1534 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1535 (WebCore::WEBPImageDecoder::decode):
1537 2011-02-02 Peter Kasting <pkasting@google.com>
1539 Reviewed by David Levin.
1541 Clean up ImageDecoder's comments (remove/trim/clarify).
1542 https://bugs.webkit.org/show_bug.cgi?id=53455
1544 This also renames or eliminates a couple of functions for clarity, and
1545 switches a couple erroneous strncmp() calls to memcmp().
1547 * platform/image-decoders/ImageDecoder.cpp:
1548 (WebCore::ImageDecoder::create):
1549 (WebCore::ImageFrame::clearPixelData):
1550 (WebCore::ImageFrame::zeroFillPixelData):
1551 (WebCore::ImageFrame::setSize):
1552 * platform/image-decoders/ImageDecoder.h:
1553 (WebCore::ImageFrame::originalFrameRect):
1554 (WebCore::ImageFrame::setOriginalFrameRect):
1555 (WebCore::ImageDecoder::ImageDecoder):
1556 (WebCore::ImageDecoder::~ImageDecoder):
1557 (WebCore::ImageDecoder::isSizeAvailable):
1558 (WebCore::ImageDecoder::size):
1559 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1560 (WebCore::ImageDecoder::clearFrameBufferCache):
1561 (WebCore::ImageDecoder::isOverSize):
1562 * platform/image-decoders/bmp/BMPImageReader.cpp:
1563 (WebCore::BMPImageReader::processNonRLEData):
1564 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1565 (WebCore::ImageFrame::setSize):
1566 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1567 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1568 (WebCore::GIFImageDecoder::frameComplete):
1569 (WebCore::GIFImageDecoder::initFrameBuffer):
1570 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1571 * platform/image-decoders/qt/ImageFrameQt.cpp:
1572 (WebCore::ImageFrame::operator=):
1573 (WebCore::ImageFrame::clearPixelData):
1574 (WebCore::ImageFrame::zeroFillPixelData):
1575 (WebCore::ImageFrame::setSize):
1576 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1577 (WebCore::ImageFrame::operator=):
1578 (WebCore::ImageFrame::clearPixelData):
1579 (WebCore::ImageFrame::zeroFillPixelData):
1580 (WebCore::ImageFrame::setSize):
1581 * platform/image-decoders/webp/WEBPImageDecoder.h:
1583 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1585 [chromium] Adding support for reflections to the accelerated
1587 https://bugs.webkit.org/show_bug.cgi?id=53179
1589 All layout tests in compositing/reflections generate correct
1590 results with the exception of:
1591 1. nested-reflection-anchor-point.html : There appears to be
1592 some issue with the layer transform math that I haven't been
1593 able to track down yet.
1594 2. reflection-opacity.html : The current implementation applies
1595 opacity before doing the reflection which makes this test
1596 produce incorrect results. This will affect reflected layers
1597 with opacity that overlap their original layer. FIXME comment
1600 Tests: Covered by existing layout tests in compositing/reflections.
1601 Please see above for exceptions.
1603 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1604 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1605 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1606 * platform/graphics/chromium/GraphicsLayerChromium.h:
1607 * platform/graphics/chromium/LayerChromium.cpp:
1608 (WebCore::LayerChromium::LayerChromium):
1609 * platform/graphics/chromium/LayerChromium.h:
1610 (WebCore::LayerChromium::setReplicaLayer):
1611 (WebCore::LayerChromium::replicaLayer):
1612 * platform/graphics/chromium/LayerRendererChromium.cpp:
1613 (WebCore::LayerRendererChromium::updateLayersRecursive):
1614 (WebCore::LayerRendererChromium::drawLayer):
1615 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1616 (WebCore::RenderSurfaceChromium::drawableContentRect):
1617 (WebCore::RenderSurfaceChromium::drawSurface):
1618 (WebCore::RenderSurfaceChromium::draw):
1619 * platform/graphics/chromium/RenderSurfaceChromium.h:
1620 (WebCore::RenderSurfaceChromium::drawTransform):
1622 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1624 Reviewed by Tony Chang.
1626 [Chromium] Select popup with padding has white strip on right
1627 https://bugs.webkit.org/show_bug.cgi?id=53602
1629 No new tests as this change restores old behavior.
1631 * platform/chromium/PopupMenuChromium.cpp:
1632 (WebCore::PopupListBox::layout):
1634 2011-02-02 Beth Dakin <bdakin@apple.com>
1636 Reviewed by Mark Rowe.
1638 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1639 1 crash in WebProcess at com.apple.WebCore:
1640 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1642 It is possible for a Scrollbar's ScrollableArea to be null,
1643 so we must null check.
1644 * platform/mac/ScrollbarThemeMac.mm:
1645 (WebCore::ScrollbarThemeMac::registerScrollbar):
1646 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1648 2011-02-02 Zhenyao Mo <zmo@google.com>
1650 Reviewed by Kenneth Russell.
1652 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1653 https://bugs.webkit.org/show_bug.cgi?id=53626
1655 * html/canvas/WebGLRenderingContext.cpp:
1656 (WebCore::WebGLRenderingContext::bufferData):
1657 (WebCore::WebGLRenderingContext::bufferSubData):
1659 2011-02-02 Jeff Miller <jeffm@apple.com>
1661 Reviewed by Darin Adler and Steve Falkenburg.
1663 Add DerivedSources.make to some Visual Studio projects
1664 https://bugs.webkit.org/show_bug.cgi?id=53607
1666 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1668 2011-02-02 Cris Neckar <cdn@chromium.org>
1670 Reviewed by James Robinson.
1672 Refcount domwindows when dispatching device orientation events.
1673 https://bugs.webkit.org/show_bug.cgi?id=53623
1675 Test: fast/events/device-orientation-crash.html
1677 * dom/DeviceMotionController.cpp:
1678 (WebCore::DeviceMotionController::timerFired):
1679 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1680 * dom/DeviceMotionController.h:
1681 * dom/DeviceOrientationController.cpp:
1682 (WebCore::DeviceOrientationController::timerFired):
1683 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1684 * dom/DeviceOrientationController.h:
1686 2011-02-02 Zhenyao Mo <zmo@google.com>
1688 Reviewed by Kenneth Russell.
1690 A deleted object should never been bound again
1691 https://bugs.webkit.org/show_bug.cgi?id=53604
1693 * html/canvas/WebGLRenderingContext.cpp:
1694 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1695 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1696 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1697 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1698 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1699 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1700 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1701 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1702 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1703 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1704 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1705 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1706 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1707 * html/canvas/WebGLRenderingContext.h:
1708 * html/canvas/WebGLTexture.h:
1709 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1711 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1713 Unreviewed Efl buildfix after r77399.
1715 * CMakeListsEfl.txt:
1717 2011-02-02 Kenneth Russell <kbr@google.com>
1719 Reviewed by James Robinson.
1721 Rename Typed Array subset to subarray
1722 https://bugs.webkit.org/show_bug.cgi?id=53618
1724 * html/canvas/Float32Array.cpp:
1725 (WebCore::Float32Array::subarray):
1726 * html/canvas/Float32Array.h:
1727 * html/canvas/Float32Array.idl:
1728 * html/canvas/Int16Array.cpp:
1729 (WebCore::Int16Array::subarray):
1730 * html/canvas/Int16Array.h:
1731 * html/canvas/Int16Array.idl:
1732 * html/canvas/Int32Array.cpp:
1733 (WebCore::Int32Array::subarray):
1734 * html/canvas/Int32Array.h:
1735 * html/canvas/Int32Array.idl:
1736 * html/canvas/Int8Array.cpp:
1737 (WebCore::Int8Array::subarray):
1738 * html/canvas/Int8Array.h:
1739 * html/canvas/Int8Array.idl:
1740 * html/canvas/TypedArrayBase.h:
1741 (WebCore::TypedArrayBase::subarrayImpl):
1742 * html/canvas/Uint16Array.cpp:
1743 (WebCore::Uint16Array::subarray):
1744 * html/canvas/Uint16Array.h:
1745 * html/canvas/Uint16Array.idl:
1746 * html/canvas/Uint32Array.cpp:
1747 (WebCore::Uint32Array::subarray):
1748 * html/canvas/Uint32Array.h:
1749 * html/canvas/Uint32Array.idl:
1750 * html/canvas/Uint8Array.cpp:
1751 (WebCore::Uint8Array::subarray):
1752 * html/canvas/Uint8Array.h:
1753 * html/canvas/Uint8Array.idl:
1755 2011-02-02 Adam Barth <abarth@webkit.org>
1757 Reviewed by Eric Seidel.
1759 Add an empty file for Content Security Policy
1760 https://bugs.webkit.org/show_bug.cgi?id=53573
1762 Posting this as a separate patch because editing the build files is so
1770 * WebCore.vcproj/WebCore.vcproj:
1771 * WebCore.xcodeproj/project.pbxproj:
1773 2011-02-02 Dan Winship <danw@gnome.org>
1775 Reviewed by Martin Robinson.
1777 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1779 https://bugs.webkit.org/show_bug.cgi?id=50885
1781 * platform/network/soup/ResourceHandleSoup.cpp:
1782 (WebCore::sendRequestCallback): Do content-type sniffing here for
1784 (WebCore::startHTTPRequest): Rename to match WebKit style.
1785 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1786 startNonHTTPRequest, letting the SoupRequester decide whether it's
1788 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1789 code that was a no-op for file: URIs, but would break some data:
1792 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1794 Update even more references to right() and bottom() in Chromium. Sheesh.
1796 * platform/graphics/chromium/LayerRendererChromium.cpp:
1797 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1799 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1801 Unreviewed Gtk3 buildfix after r77286.
1803 https://bugs.webkit.org/show_bug.cgi?id=53520
1804 Remove the physical terminology from IntRect and FloatRect.
1806 * platform/gtk/RenderThemeGtk3.cpp:
1807 (WebCore::RenderThemeGtk::paintMenuList):
1809 2011-02-02 Anders Carlsson <andersca@apple.com>
1813 * platform/mac/ScrollAnimatorMac.mm:
1814 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1816 2011-02-02 David Hyatt <hyatt@apple.com>
1818 Reviewed by Dan Bernstein.
1820 https://bugs.webkit.org/show_bug.cgi?id=53619
1822 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1823 with maxX/maxY. This matches IntRect.
1825 * rendering/RenderBlock.cpp:
1826 (WebCore::RenderBlock::addOverflowFromFloats):
1827 (WebCore::RenderBlock::flipFloatForWritingMode):
1828 (WebCore::RenderBlock::paintFloats):
1829 (WebCore::RenderBlock::selectionGaps):
1830 (WebCore::RenderBlock::addOverhangingFloats):
1831 (WebCore::RenderBlock::addIntrudingFloats):
1832 (WebCore::RenderBlock::hitTestFloats):
1833 (WebCore::RenderBlock::adjustForBorderFit):
1834 * rendering/RenderBlock.h:
1835 (WebCore::RenderBlock::FloatingObject::x):
1836 (WebCore::RenderBlock::FloatingObject::maxX):
1837 (WebCore::RenderBlock::FloatingObject::y):
1838 (WebCore::RenderBlock::FloatingObject::maxY):
1839 (WebCore::RenderBlock::FloatingObject::setX):
1840 (WebCore::RenderBlock::FloatingObject::setY):
1841 (WebCore::RenderBlock::logicalTopForFloat):
1842 (WebCore::RenderBlock::logicalBottomForFloat):
1843 (WebCore::RenderBlock::logicalLeftForFloat):
1844 (WebCore::RenderBlock::logicalRightForFloat):
1845 (WebCore::RenderBlock::setLogicalTopForFloat):
1846 (WebCore::RenderBlock::setLogicalLeftForFloat):
1847 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1848 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1850 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1852 Update more references to right() and bottom() in Chromium Win.
1854 * platform/graphics/chromium/TransparencyWin.cpp:
1855 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1856 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1857 * rendering/RenderThemeChromiumWin.cpp:
1858 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1860 2011-02-02 Adam Roben <aroben@apple.com>
1862 Encode/decode FormData and FormDataElement objects consistently
1864 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1865 that contains form data fails (asserts in Debug build)
1867 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1868 now, even though we don't have an automated test for it yet. Writing a test is covered by
1869 <http://webkit.org/b/53616>.
1871 Reviewed by Darin Adler.
1873 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1876 * platform/network/FormData.cpp:
1877 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1878 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1879 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1880 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1881 to correctly set the FormDataElement's type based on this decoded type later in the
1883 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1884 matches its type and how we decode it.
1886 2011-02-02 Dan Winship <danw@gnome.org>
1888 Reviewed by Martin Robinson.
1890 [GTK] drop soup cache stuff, which has been moved to libsoup
1891 https://bugs.webkit.org/show_bug.cgi?id=50747
1893 Use libsoup-based cache/requester API and remove the WebCore version
1894 of this functionality. This has been pushed upstream fully.
1896 No new tests because this should not change functionality.
1898 * GNUmakefile.am: Update for removed files.
1899 * platform/network/ResourceHandleInternal.h:
1900 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1901 type names, drop m_requester.
1902 * platform/network/soup/ResourceHandleSoup.cpp:
1903 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1905 (WebCore::parseDataUrl):
1906 (WebCore::startHttp): Get the requester from the session rather
1907 than using m_requester.
1908 (WebCore::sendRequestCallback):
1909 (WebCore::ResourceHandle::platformSetDefersLoading):
1910 (WebCore::readCallback):
1911 (WebCore::startGio): Update type names.
1912 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1913 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1914 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1915 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1916 * platform/network/soup/cache/soup-request-data.c: Removed.
1917 * platform/network/soup/cache/soup-request-data.h: Removed.
1918 * platform/network/soup/cache/soup-request-file.c: Removed.
1919 * platform/network/soup/cache/soup-request-file.h: Removed.
1920 * platform/network/soup/cache/soup-request-http.c: Removed.
1921 * platform/network/soup/cache/soup-request-http.h: Removed.
1922 * platform/network/soup/cache/soup-request.c: Removed.
1923 * platform/network/soup/cache/soup-request.h: Removed.
1924 * platform/network/soup/cache/soup-requester.c: Removed.
1925 * platform/network/soup/cache/soup-requester.h: Removed.
1926 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1927 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1928 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1930 2011-02-02 David Hyatt <hyatt@apple.com>
1932 Reviewed by Darin Adler.
1934 https://bugs.webkit.org/show_bug.cgi?id=53520
1936 Remove physical accessors from IntRect and FloatRect.
1938 * page/FrameView.cpp:
1939 (WebCore::FrameView::adjustPageHeightDeprecated):
1940 * platform/graphics/FloatRect.h:
1941 * platform/graphics/IntRect.h:
1943 2011-02-02 David Hyatt <hyatt@apple.com>
1945 Reviewed by Dan Bernstein.
1947 https://bugs.webkit.org/show_bug.cgi?id=53614
1949 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1951 * rendering/InlineFlowBox.cpp:
1952 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1953 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1954 * rendering/InlineFlowBox.h:
1955 (WebCore::InlineFlowBox::minYLayoutOverflow):
1956 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1957 (WebCore::InlineFlowBox::minXLayoutOverflow):
1958 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1959 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1960 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1961 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1962 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1963 (WebCore::InlineFlowBox::minYVisualOverflow):
1964 (WebCore::InlineFlowBox::maxYVisualOverflow):
1965 (WebCore::InlineFlowBox::minXVisualOverflow):
1966 (WebCore::InlineFlowBox::maxXVisualOverflow):
1967 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1968 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1969 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1970 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1971 * rendering/RenderBlock.cpp:
1972 (WebCore::RenderBlock::adjustLinePositionForPagination):
1973 * rendering/RenderBlockLineLayout.cpp:
1974 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1975 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1976 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1977 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1978 * rendering/RenderBox.cpp:
1979 (WebCore::RenderBox::scrollWidth):
1980 (WebCore::RenderBox::scrollHeight):
1981 * rendering/RenderBox.h:
1982 (WebCore::RenderBox::minYLayoutOverflow):
1983 (WebCore::RenderBox::maxYLayoutOverflow):
1984 (WebCore::RenderBox::minXLayoutOverflow):
1985 (WebCore::RenderBox::maxXLayoutOverflow):
1986 (WebCore::RenderBox::logicalLeftLayoutOverflow):
1987 (WebCore::RenderBox::logicalRightLayoutOverflow):
1988 (WebCore::RenderBox::minYVisualOverflow):
1989 (WebCore::RenderBox::maxYVisualOverflow):
1990 (WebCore::RenderBox::minXVisualOverflow):
1991 (WebCore::RenderBox::maxXVisualOverflow):
1992 (WebCore::RenderBox::logicalLeftVisualOverflow):
1993 (WebCore::RenderBox::logicalRightVisualOverflow):
1994 * rendering/RenderInline.cpp:
1995 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1996 * rendering/RenderLayerCompositor.cpp:
1997 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1998 * rendering/RenderLineBoxList.cpp:
1999 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2000 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2001 (WebCore::RenderLineBoxList::paint):
2002 (WebCore::RenderLineBoxList::hitTest):
2003 * rendering/RenderMarquee.cpp:
2004 (WebCore::RenderMarquee::computePosition):
2005 * rendering/RenderOverflow.h:
2006 (WebCore::RenderOverflow::RenderOverflow):
2007 (WebCore::RenderOverflow::minYLayoutOverflow):
2008 (WebCore::RenderOverflow::maxYLayoutOverflow):
2009 (WebCore::RenderOverflow::minXLayoutOverflow):
2010 (WebCore::RenderOverflow::maxXLayoutOverflow):
2011 (WebCore::RenderOverflow::minYVisualOverflow):
2012 (WebCore::RenderOverflow::maxYVisualOverflow):
2013 (WebCore::RenderOverflow::minXVisualOverflow):
2014 (WebCore::RenderOverflow::maxXVisualOverflow):
2015 (WebCore::RenderOverflow::setminYVisualOverflow):
2016 (WebCore::RenderOverflow::visualOverflowRect):
2017 (WebCore::RenderOverflow::move):
2018 (WebCore::RenderOverflow::addVisualOverflow):
2019 (WebCore::RenderOverflow::setVisualOverflow):
2020 * rendering/RenderReplaced.cpp:
2021 (WebCore::RenderReplaced::shouldPaint):
2022 * rendering/RenderTable.cpp:
2023 (WebCore::RenderTable::layout):
2024 (WebCore::RenderTable::paint):
2025 * rendering/RenderTableCell.cpp:
2026 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2027 * rendering/RenderTreeAsText.cpp:
2028 (WebCore::writeLayers):
2029 * rendering/RenderView.cpp:
2030 (WebCore::RenderView::docTop):
2032 2011-02-02 Steve Lacey <sjl@chromium.org>
2034 Reviewed by Eric Carlson.
2036 Implement basic media statistics on media elements.
2037 https://bugs.webkit.org/show_bug.cgi?id=53322
2039 * Configurations/FeatureDefines.xcconfig:
2042 * html/HTMLMediaElement.cpp:
2043 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
2044 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
2045 * html/HTMLMediaElement.h:
2046 * html/HTMLMediaElement.idl:
2047 * html/HTMLVideoElement.cpp:
2048 (WebCore::HTMLVideoElement::webkitDecodedFrames):
2049 (WebCore::HTMLVideoElement::webkitDroppedFrames):
2050 * html/HTMLVideoElement.h:
2051 * html/HTMLVideoElement.idl:
2052 * platform/graphics/MediaPlayer.cpp:
2053 (WebCore::MediaPlayer::decodedFrames):
2054 (WebCore::MediaPlayer::droppedFrames):
2055 (WebCore::MediaPlayer::audioBytesDecoded):
2056 (WebCore::MediaPlayer::videoBytesDecoded):
2057 * platform/graphics/MediaPlayer.h:
2058 * platform/graphics/MediaPlayerPrivate.h:
2059 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
2060 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
2061 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
2062 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
2064 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
2066 Reviewed by David Hyatt.
2068 More conversion from right()/bottom() to maxX()/maxY().
2070 * page/qt/FrameQt.cpp:
2071 (WebCore::Frame::dragImageForSelection):
2072 * platform/graphics/qt/GraphicsContextQt.cpp:
2073 (WebCore::GraphicsContext::roundToDevicePixels):
2075 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
2077 [wx] Build fixes for wxWebKit.
2079 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
2081 * bindings/scripts/CodeGeneratorCPP.pm:
2082 * page/wx/DragControllerWx.cpp:
2083 (WebCore::DragController::dragOperation):
2084 * platform/graphics/wx/FontCustomPlatformData.h:
2085 * platform/graphics/wx/FontPlatformData.h:
2086 (WebCore::FontPlatformData::widthVariant):
2087 * platform/graphics/wx/FontPlatformDataWx.cpp:
2088 (WebCore::FontPlatformData::computeHash):
2089 * platform/graphics/wx/FontWx.cpp:
2090 * platform/graphics/wx/GraphicsContextWx.cpp:
2091 (WebCore::GraphicsContext::fillPath):
2092 (WebCore::GraphicsContext::strokePath):
2093 * platform/wx/RenderThemeWx.cpp:
2095 2011-02-02 David Hyatt <hyatt@apple.com>
2097 Reviewed by Darin Adler.
2099 More right()/bottom() to maxX()/maxY() conversion.
2101 * page/chromium/FrameChromium.cpp:
2102 (WebCore::Frame::nodeImage):
2103 (WebCore::Frame::dragImageForSelection):
2105 2011-02-02 Sam Weinig <sam@webkit.org>
2107 Fix windows clean build.
2109 * DerivedSources.make:
2111 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
2113 Reviewed by Pavel Feldman.
2115 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
2117 https://bugs.webkit.org/show_bug.cgi?id=53606
2119 Display progress while taking a snapshot, and hints while loading
2120 and parsing. This is needed because taking detailed heap snapshots
2123 * English.lproj/localizedStrings.js:
2124 * inspector/front-end/DetailedHeapshotView.js:
2125 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2126 * inspector/front-end/ProfilesPanel.js:
2127 (WebInspector.ProfilesPanel.prototype._reset):
2128 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2129 (WebInspector.ProfilesPanel.prototype.getProfiles):
2130 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2131 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
2132 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2133 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2134 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2135 * inspector/front-end/SidebarTreeElement.js:
2136 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
2138 2011-02-02 David Hyatt <hyatt@apple.com>
2140 Reviewed by Darin Adler.
2142 More conversion from right()/bottom() to maxX()/maxY().
2144 * platform/win/PopupMenuWin.cpp:
2145 (WebCore::PopupMenuWin::calculatePositionAndSize):
2146 (WebCore::PopupMenuWin::paint):
2148 2011-02-02 David Hyatt <hyatt@apple.com>
2150 Reviewed by Darin Adler.
2152 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
2154 * platform/chromium/PopupMenuChromium.cpp:
2155 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2156 (WebCore::PopupListBox::scrollToRevealRow):
2157 (WebCore::PopupListBox::layout):
2158 * platform/graphics/FloatRect.h:
2159 * platform/graphics/IntRect.h:
2160 * platform/graphics/cairo/ImageBufferCairo.cpp:
2161 (WebCore::getImageData):
2162 (WebCore::putImageData):
2163 * platform/graphics/chromium/GLES2Canvas.cpp:
2164 (WebCore::GLES2Canvas::drawTexturedRect):
2165 * platform/graphics/chromium/LayerRendererChromium.cpp:
2166 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2167 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2168 (WebCore::LayerRendererChromium::setScissorToRect):
2169 (WebCore::LayerRendererChromium::setDrawViewportRect):
2170 * platform/graphics/chromium/LayerTilerChromium.cpp:
2171 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2172 (WebCore::LayerTilerChromium::growLayerToContain):
2173 * platform/graphics/gpu/TilingData.cpp:
2174 (WebCore::TilingData::tileBoundsWithBorder):
2175 (WebCore::TilingData::overlappedTileIndices):
2176 * platform/graphics/qt/ImageBufferQt.cpp:
2177 (WebCore::getImageData):
2178 (WebCore::putImageData):
2179 * platform/graphics/skia/FloatRectSkia.cpp:
2180 (WebCore::FloatRect::operator SkRect):
2181 * platform/graphics/skia/ImageBufferSkia.cpp:
2182 (WebCore::getImageData):
2183 (WebCore::putImageData):
2184 * platform/graphics/skia/IntRectSkia.cpp:
2185 (WebCore::IntRect::operator SkIRect):
2186 (WebCore::IntRect::operator SkRect):
2187 * platform/graphics/skia/PlatformContextSkia.cpp:
2188 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2189 * platform/graphics/win/GraphicsContextWin.cpp:
2190 (WebCore::GraphicsContextPlatformPrivate::clip):
2191 * platform/graphics/win/IntRectWin.cpp:
2192 (WebCore::IntRect::operator RECT):
2193 * platform/graphics/win/UniscribeController.cpp:
2194 (WebCore::UniscribeController::shapeAndPlaceItem):
2195 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2196 (WebCore::roundRect):
2198 (WebCore::TransparentLayerDC::TransparentLayerDC):
2199 (WebCore::GraphicsContext::drawRect):
2200 (WebCore::GraphicsContext::drawEllipse):
2201 (WebCore::GraphicsContext::strokeArc):
2202 (WebCore::GraphicsContext::clip):
2203 (WebCore::GraphicsContext::clipOut):
2204 (WebCore::GraphicsContext::strokeRect):
2205 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2206 (WebCore::GIFImageDecoder::initFrameBuffer):
2207 * platform/win/PopupMenuWin.cpp:
2208 (WebCore::PopupMenuWin::calculatePositionAndSize):
2209 (WebCore::PopupMenuWin::paint):
2210 * plugins/win/PluginViewWin.cpp:
2211 (WebCore::PluginView::updatePluginWidget):
2212 (WebCore::PluginView::invalidateRect):
2213 * rendering/RenderThemeSafari.cpp:
2214 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2215 (WebCore::RenderThemeSafari::paintMenuListButton):
2216 (WebCore::RenderThemeSafari::paintSliderTrack):
2217 * rendering/RenderThemeWin.cpp:
2218 (WebCore::RenderThemeWin::paintInnerSpinButton):
2219 (WebCore::RenderThemeWin::paintMenuListButton):
2221 2011-02-02 Antti Koivisto <antti@apple.com>
2223 Reviewed by Maciej Stachowiak.
2225 Use Vector instead of a linked list for rules in CSSStyleSelector
2226 https://bugs.webkit.org/show_bug.cgi?id=53581
2228 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2229 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2230 (these are selector internal classes, CSS prefix is better reserved for public ones).
2232 - shrink the vectors to fit after collecting the rules
2234 * css/CSSStyleSelector.cpp:
2235 (WebCore::RuleData::RuleData):
2236 (WebCore::RuleData::position):
2237 (WebCore::RuleData::rule):
2238 (WebCore::RuleData::selector):
2239 (WebCore::RuleSet::disableAutoShrinkToFit):
2240 (WebCore::RuleSet::getIDRules):
2241 (WebCore::RuleSet::getClassRules):
2242 (WebCore::RuleSet::getTagRules):
2243 (WebCore::RuleSet::getPseudoRules):
2244 (WebCore::RuleSet::getUniversalRules):
2245 (WebCore::RuleSet::getPageRules):
2246 (WebCore::collectSiblingRulesInDefaultStyle):
2247 (WebCore::CSSStyleSelector::CSSStyleSelector):
2248 (WebCore::loadFullDefaultStyle):
2249 (WebCore::loadSimpleDefaultStyle):
2250 (WebCore::loadViewSourceStyle):
2251 (WebCore::CSSStyleSelector::matchRules):
2252 (WebCore::CSSStyleSelector::matchRulesForList):
2253 (WebCore::operator >):
2254 (WebCore::operator <=):
2255 (WebCore::CSSStyleSelector::sortMatchedRules):
2256 (WebCore::CSSStyleSelector::matchUARules):
2257 (WebCore::RuleSet::RuleSet):
2258 (WebCore::RuleSet::~RuleSet):
2259 (WebCore::RuleSet::addToRuleSet):
2260 (WebCore::RuleSet::addRule):
2261 (WebCore::RuleSet::addPageRule):
2262 (WebCore::RuleSet::addRulesFromSheet):
2263 (WebCore::RuleSet::addStyleRule):
2264 (WebCore::collectIdsAndSiblingRulesFromList):
2265 (WebCore::RuleSet::collectIdsAndSiblingRules):
2266 (WebCore::shrinkMapVectorsToFit):
2267 (WebCore::RuleSet::shrinkToFit):
2268 (WebCore::CSSStyleSelector::matchPageRules):
2269 (WebCore::CSSStyleSelector::matchPageRulesForList):
2270 * css/CSSStyleSelector.h:
2271 (WebCore::CSSStyleSelector::addMatchedRule):
2273 2011-02-02 Andrey Adaikin <aandrey@google.com>
2275 Reviewed by Pavel Feldman.
2277 Web Inspector: Use DIVs instead of TABLE in TextViewer
2278 https://bugs.webkit.org/show_bug.cgi?id=53299
2280 * inspector/front-end/SourceFrame.js:
2281 (WebInspector.SourceFrame.prototype._createTextViewer):
2282 (WebInspector.SourceFrame.prototype._mouseDown):
2283 * inspector/front-end/TextViewer.js:
2284 (WebInspector.TextViewer):
2285 (WebInspector.TextViewer.prototype.set mimeType):
2286 (WebInspector.TextViewer.prototype.revealLine):
2287 (WebInspector.TextViewer.prototype.addDecoration):
2288 (WebInspector.TextViewer.prototype.removeDecoration):
2289 (WebInspector.TextViewer.prototype.markAndRevealRange):
2290 (WebInspector.TextViewer.prototype.highlightLine):
2291 (WebInspector.TextViewer.prototype.clearLineHighlight):
2292 (WebInspector.TextViewer.prototype.freeCachedElements):
2293 (WebInspector.TextViewer.prototype._handleKeyDown):
2294 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2295 (WebInspector.TextViewer.prototype.editLine):
2296 (WebInspector.TextViewer.prototype.beginUpdates):
2297 (WebInspector.TextViewer.prototype.endUpdates):
2298 (WebInspector.TextViewer.prototype.resize):
2299 (WebInspector.TextViewer.prototype._textChanged):
2300 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2301 (WebInspector.TextViewer.prototype._syncScroll):
2302 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2303 (WebInspector.TextEditorChunkedPanel):
2304 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2305 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2306 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2307 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2308 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2309 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2310 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2311 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2312 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2313 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2314 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2315 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2316 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2317 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2318 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2319 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2320 (WebInspector.TextEditorGutterPanel):
2321 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2322 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2323 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2324 (WebInspector.TextEditorGutterChunk):
2325 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2326 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2327 (WebInspector.TextEditorGutterChunk.prototype.get height):
2328 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2329 (WebInspector.TextEditorMainPanel):
2330 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2331 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2332 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2333 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2334 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2335 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2336 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2337 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2338 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2339 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2340 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2341 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2342 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2343 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2344 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2345 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2346 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2347 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2348 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2349 (WebInspector.TextEditorMainChunk):
2350 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2351 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2352 (WebInspector.TextEditorMainChunk.prototype.get height):
2353 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2354 (WebInspector.TextEditorMainChunk.prototype._createRow):
2356 * inspector/front-end/textViewer.css:
2357 (.text-editor-lines):
2358 (.text-editor-contents):
2359 (.text-editor-editable):
2360 (.webkit-line-decorations):
2361 (.webkit-line-number):
2362 (.webkit-execution-line.webkit-line-content):
2363 (.diff-container .webkit-added-line.webkit-line-content):
2364 (.diff-container .webkit-removed-line.webkit-line-content):
2365 (.diff-container .webkit-changed-line.webkit-line-content):
2366 (.webkit-highlighted-line.webkit-line-content):
2368 2011-02-02 Hans Wennborg <hans@chromium.org>
2370 Reviewed by Jeremy Orlow.
2372 IndexedDB: Implement support for cursor updates
2373 https://bugs.webkit.org/show_bug.cgi?id=53421
2375 Implement support for cursor updates using the same pattern as cursor
2376 deletes: forward the calls to the IDBObjectStoreBackend::put().
2377 The put() function's signature needs to be changed to allow for a
2378 "cursor update mode". This makes the signature more clear anyway,
2379 since it replaces the boolean parameter.
2381 Test: storage/indexeddb/cursor-update.html
2383 * storage/IDBCursor.idl:
2384 * storage/IDBCursorBackendImpl.cpp:
2385 (WebCore::IDBCursorBackendImpl::key):
2386 (WebCore::IDBCursorBackendImpl::update):
2387 * storage/IDBCursorBackendImpl.h:
2388 * storage/IDBObjectStore.cpp:
2389 (WebCore::IDBObjectStore::add):
2390 (WebCore::IDBObjectStore::put):
2391 * storage/IDBObjectStoreBackendImpl.cpp:
2392 (WebCore::IDBObjectStoreBackendImpl::put):
2393 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2394 * storage/IDBObjectStoreBackendImpl.h:
2395 * storage/IDBObjectStoreBackendInterface.h:
2397 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2399 Reviewed by Kent Tamura.
2401 Fix popup menu RTL bug introduced by Changeset 75982.
2402 https://bugs.webkit.org/show_bug.cgi?id=53567
2404 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2406 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
2408 * platform/chromium/PopupMenuChromium.cpp:
2409 (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.
2410 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2411 (WebCore::PopupContainer::refresh): Change the passing parameter.
2412 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2414 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2416 Reviewed by Martin Robinson.
2418 [GTK] Fix dist compilation
2419 https://bugs.webkit.org/show_bug.cgi?id=53579
2421 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2424 2011-02-02 Dai Mikurube <dmikurube@google.com>
2426 Reviewed by David Levin.
2428 Make mime type lookup in File::create(path) thread-safe
2429 https://bugs.webkit.org/show_bug.cgi?id=47700
2431 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2432 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2433 both FILE_SYSTEM and WORKERS are enabled.
2435 No tests for this patch. This patch itself doesn't change the behaviors.
2436 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2437 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2438 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2439 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2441 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2442 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2443 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2444 * platform/android/TemporaryLinkStubs.cpp:
2445 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2446 * platform/brew/MIMETypeRegistryBrew.cpp:
2447 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2448 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2449 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2450 * platform/efl/MIMETypeRegistryEfl.cpp:
2451 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2452 * platform/gtk/MIMETypeRegistryGtk.cpp:
2453 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2454 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2455 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2456 * platform/mac/MIMETypeRegistryMac.mm:
2457 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2458 * platform/qt/MIMETypeRegistryQt.cpp:
2459 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2460 * platform/win/MIMETypeRegistryWin.cpp:
2461 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2462 * platform/wince/MIMETypeRegistryWinCE.cpp:
2463 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2464 * platform/wx/MimeTypeRegistryWx.cpp:
2465 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2467 2011-02-01 Adam Barth <abarth@webkit.org>
2469 Reviewed by Alexey Proskuryakov.
2471 Improve readability of updateWidget by converting bool parameter to an enum
2472 https://bugs.webkit.org/show_bug.cgi?id=53576
2474 As requested on webkit-dev.
2476 * html/HTMLEmbedElement.cpp:
2477 (WebCore::HTMLEmbedElement::updateWidget):
2478 * html/HTMLEmbedElement.h:
2479 * html/HTMLMediaElement.cpp:
2480 (WebCore::HTMLMediaElement::updateWidget):
2481 * html/HTMLMediaElement.h:
2482 * html/HTMLObjectElement.cpp:
2483 (WebCore::HTMLObjectElement::updateWidget):
2484 * html/HTMLObjectElement.h:
2485 * html/HTMLPlugInImageElement.cpp:
2486 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2487 * html/HTMLPlugInImageElement.h:
2488 * page/FrameView.cpp:
2489 (WebCore::FrameView::updateWidget):
2491 2011-02-01 James Robinson <jamesr@chromium.org>
2493 Reviewed by Adam Barth.
2495 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2496 https://bugs.webkit.org/show_bug.cgi?id=53566
2498 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2499 Other than being large enough for this one test case, this limit is arbitrary.
2501 * bindings/v8/V8Proxy.h:
2503 2011-02-01 Adam Barth <abarth@webkit.org>
2505 Reviewed by Andreas Kling.
2507 Remove useless comment
2508 https://bugs.webkit.org/show_bug.cgi?id=53549
2510 The reason for this parameter is captured in
2511 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2512 capture it than in this comment (which otherwise just re-iterates the
2513 name of the parameter).
2515 * html/HTMLPlugInImageElement.cpp:
2516 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2518 2011-02-01 James Simonsen <simonjam@chromium.org>
2520 Reviewed by Tony Gentilcore.
2522 [WebTiming] Remove asserts that verify timestamp order
2523 https://bugs.webkit.org/show_bug.cgi?id=53548
2525 Covered by existing tests.
2527 * loader/FrameLoader.cpp:
2528 (WebCore::FrameLoader::stopLoading): Remove assert.
2529 * page/DOMWindow.cpp:
2530 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2532 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2534 Add the 'default_targets' enclosure to the flags.
2536 * WebCore.gyp/WebCore.gyp: Did it.
2538 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2540 Reviewed by James Robinson.
2542 Async event handlers should not fire within a modal dialog
2543 https://bugs.webkit.org/show_bug.cgi?id=53202
2545 Asychronous events that use EventQueue would currently fire while a
2546 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2547 SuspendableTimer (which automatically gets suspended while dialogs are
2548 up and in other cases where JS execution is not allowed).
2550 Test: fast/events/scroll-event-during-modal-dialog.html
2553 (WebCore::Document::Document):
2554 * dom/EventQueue.cpp:
2555 (WebCore::EventQueueTimer::EventQueueTimer):
2556 (WebCore::EventQueueTimer::fired):
2557 (WebCore::EventQueue::EventQueue):
2558 (WebCore::EventQueue::enqueueEvent):
2559 (WebCore::EventQueue::pendingEventTimerFired):
2561 (WebCore::EventQueue::create):
2562 * page/SuspendableTimer.cpp:
2563 (WebCore::SuspendableTimer::SuspendableTimer):
2564 (WebCore::SuspendableTimer::suspend):
2565 (WebCore::SuspendableTimer::resume):
2566 * page/SuspendableTimer.h:
2568 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2570 Reviewed by Andreas Kling.
2572 Change wrong PLATFORM(WIN) to USE(WININET)
2573 https://bugs.webkit.org/show_bug.cgi?id=53547
2575 * platform/network/ResourceHandle.h:
2577 2011-02-01 Beth Dakin <bdakin@apple.com>
2581 * platform/mac/ScrollAnimatorMac.mm:
2582 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2584 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2586 Reviewed by Gustavo Noronha Silva.
2588 [GTK] Two tests crash after r76555
2589 https://bugs.webkit.org/show_bug.cgi?id=53057
2591 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2592 This ensures that ::start() is not called when there is a scheduled failure and also
2593 reduces code duplication.
2595 * platform/network/soup/ResourceHandleSoup.cpp:
2596 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2598 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2600 Reviewed by Eric Seidel.
2602 [GTK] GObject DOM bindings do no support the CallWith attribute
2603 https://bugs.webkit.org/show_bug.cgi?id=53331
2605 Disable building GObject DOM bindings for IndexedDB because we do not support
2606 the CallWith attribute at this time.
2608 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2610 2011-02-01 Darin Adler <darin@apple.com>
2612 Reviewed by Brady Eidson.
2614 Fix a couple loose ends from the back/forward tree encode/decode work
2615 https://bugs.webkit.org/show_bug.cgi?id=53537
2617 * history/HistoryItem.cpp:
2618 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2619 original URL string; no need to encode it twice.
2620 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2621 * history/HistoryItem.h: Removed declaration for function that is no
2622 longer defined nor used.
2624 2011-02-01 Tony Chang <tony@chromium.org>
2626 Reviewed by Kent Tamura.
2628 [chromium] disable arm uninitialized variable warnings
2629 https://bugs.webkit.org/show_bug.cgi?id=53553
2631 We just got another error:
2632 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2633 'colorTransparent.unstatic.4879' may be used uninitialized in this
2636 * WebCore.gyp/WebCore.gyp:
2638 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2640 Reviewed by Adam Barth.
2642 Self-replicating code makes Safari hang and eventually crash
2643 https://bugs.webkit.org/show_bug.cgi?id=15123
2646 Here we are replicating the Firefox safeguard against
2647 recursive document.write( ) 's.
2649 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2650 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2651 a) imposes a recursion limit of 20 on document.write( ) and
2652 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2653 To see why this is necessary, consider the script :
2656 var t = document.body.innerHTML;
2660 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2661 we just return one level after the recursion limit is reached, we still allow millions of copies to
2662 duplicate (and execute).
2664 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2665 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2667 Test: fast/dom/Document/document-write-recursion.html
2668 Test: fast/dom/Document/document-close-iframe-load.html
2669 Test: fast/dom/Document/document-close-nested-iframe-load.html
2673 (WebCore::Document::Document):
2674 (WebCore::Document::write):
2677 2011-02-01 Johnny Ding <jnd@chromium.org>
2679 Reviewed by Darin Adler.
2681 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2682 https://bugs.webkit.org/show_bug.cgi?id=53424
2684 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2686 * html/HTMLAnchorElement.cpp:
2687 (WebCore::handleLinkClick):
2689 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2691 Unreviewed Qt buildfix after r77286.
2693 https://bugs.webkit.org/show_bug.cgi?id=53520
2694 Remove the physical terminology from IntRect and FloatRect.
2696 * platform/graphics/TiledBackingStore.cpp:
2697 (WebCore::TiledBackingStore::createTiles):
2699 2011-02-01 Sam Weinig <sam@webkit.org>
2701 Fix Mac production builds.
2703 * DerivedSources.make:
2704 * WebCore.xcodeproj/project.pbxproj:
2705 * platform/mac/ScrollAnimatorMac.h:
2706 * platform/mac/ScrollbarThemeMac.h:
2708 2011-02-01 Darin Adler <darin@apple.com>
2710 Reviewed by Chris Fleizach.
2712 REGRESSION: Removing focus from area element causes unwanted scrolling
2713 https://bugs.webkit.org/show_bug.cgi?id=50169
2715 Test: fast/images/imagemap-scroll.html
2717 * html/HTMLAreaElement.cpp:
2718 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2719 RenderImage::areaElementFocusChanged function.
2720 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2721 here that calls setNeedsLayout on the image's renderer. This was an
2722 attempt to cause repaint of the renderer, but this function does not
2723 need to do that. Also changed this to use the imageElement function
2724 to avoid repeating code.
2726 * html/HTMLAreaElement.h: Updated for above changes.
2728 * rendering/RenderImage.cpp:
2729 (WebCore::RenderImage::paint): Updated for name change.
2730 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2731 paintFocusRing, because it only paints area focus rings, and should
2732 not be confused with paintFocusRing functions in other classes. Also
2733 removed the unused style argument. Removed the code that used an
2734 HTMLCollection to see if the focused area element is for this image
2735 and instead just call imageElement on the area element.
2736 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2738 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2739 function for HTMLAreaElement to call. Made the paintFocusRing function
2740 private, renamed it to paintAreaElementFocusRing, and removed its
2741 unused style argument.
2743 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2745 Unreviewed WinCE build fix for r77286.
2747 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2748 (WebCore::TransparentLayerDC::TransparentLayerDC):
2750 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2752 Reviewed by Darin Adler.
2754 AX: AXPosition of AXScrollArea is wrong
2755 https://bugs.webkit.org/show_bug.cgi?id=53511
2757 AccessibilityScrollView needed to return a valid documentFrameView() object.
2758 At the same time, the code from document() should be consolidated in
2759 AccessibilityObject, so all objects can use it.
2761 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2763 * accessibility/AccessibilityObject.cpp:
2764 (WebCore::AccessibilityObject::document):
2765 * accessibility/AccessibilityObject.h:
2766 * accessibility/AccessibilityScrollView.cpp:
2767 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2768 (WebCore::AccessibilityScrollView::documentFrameView):
2769 * accessibility/AccessibilityScrollView.h:
2771 2011-02-01 Zhenyao Mo <zmo@google.com>
2773 Reviewed by Kenneth Russell.
2775 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2776 https://bugs.webkit.org/show_bug.cgi?id=52190
2778 * html/canvas/WebGLRenderingContext.cpp:
2779 (WebCore::WebGLRenderingContext::getUniform):
2781 2011-02-01 Zhenyao Mo <zmo@google.com>
2783 Reviewed by Darin Adler.
2785 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2786 https://bugs.webkit.org/show_bug.cgi?id=53531
2788 With this fix, running WebGL conformance tests should no longer crash randomly.
2790 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2791 (WebCore::GraphicsContext3D::getImageData):
2793 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2795 One more Chromium build fix after r77286.
2797 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2798 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2800 2011-02-01 Sam Weinig <sam@webkit.org>
2802 Fix the build for Beth.
2804 * platform/mac/ScrollAnimatorMac.mm:
2805 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2807 2011-02-01 Sam Weinig <sam@webkit.org>
2809 Reviewed by Beth Dakin.
2811 Part 2 for <rdar://problem/8492788>
2812 Adopt WKScrollbarPainterController
2814 Use header detection to define scrollbar painting controller #define.
2817 * platform/mac/ScrollAnimatorMac.h:
2818 * platform/mac/ScrollbarThemeMac.h:
2819 * platform/mac/WebCoreSystemInterface.h:
2820 * platform/mac/WebCoreSystemInterface.mm:
2822 2011-02-01 David Hyatt <hyatt@apple.com>
2824 Reviewed by Oliver Hunt.
2826 https://bugs.webkit.org/show_bug.cgi?id=53520
2828 Remove the physical terminology from IntRect and FloatRect.
2830 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2831 we need to update our terminology to be more accurate.
2833 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2834 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2835 even for flipped rectangles.
2837 * accessibility/AccessibilityRenderObject.cpp:
2838 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2839 * accessibility/mac/AccessibilityObjectWrapper.mm:
2840 (-[AccessibilityObjectWrapper position]):
2842 (WebCore::ClientRect::right):
2843 (WebCore::ClientRect::bottom):
2844 * html/HTMLCanvasElement.cpp:
2845 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2846 * html/canvas/CanvasRenderingContext2D.cpp:
2847 (WebCore::normalizeRect):
2848 * inspector/InspectorAgent.cpp:
2849 (WebCore::InspectorAgent::drawElementTitle):
2850 * page/DOMWindow.cpp:
2851 (WebCore::DOMWindow::adjustWindowRect):
2852 * page/DragController.cpp:
2853 (WebCore::dragLocForSelectionDrag):
2854 * page/EventHandler.cpp:
2855 (WebCore::EventHandler::sendContextMenuEventForKey):
2856 * page/PrintContext.cpp:
2857 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2858 (WebCore::PrintContext::pageNumberForElement):
2859 * page/SpatialNavigation.cpp:
2861 (WebCore::areRectsFullyAligned):
2862 (WebCore::areRectsMoreThanFullScreenApart):
2865 (WebCore::isRectInDirection):
2866 (WebCore::entryAndExitPointsForDirection):
2867 (WebCore::virtualRectForDirection):
2868 * page/WindowFeatures.cpp:
2869 (WebCore::WindowFeatures::WindowFeatures):
2870 * platform/ScrollView.cpp:
2871 (WebCore::ScrollView::wheelEvent):
2872 * platform/Scrollbar.cpp:
2873 (WebCore::Scrollbar::setFrameRect):
2874 * platform/ScrollbarThemeComposite.cpp:
2875 (WebCore::ScrollbarThemeComposite::splitTrack):
2876 * platform/chromium/ScrollbarThemeChromium.cpp:
2877 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2878 * platform/graphics/FloatQuad.h:
2879 (WebCore::FloatQuad::FloatQuad):
2880 * platform/graphics/FloatRect.cpp:
2881 (WebCore::FloatRect::intersects):
2882 (WebCore::FloatRect::contains):
2883 (WebCore::FloatRect::intersect):
2884 (WebCore::FloatRect::unite):
2885 (WebCore::enclosingIntRect):
2886 * platform/graphics/FloatRect.h:
2887 (WebCore::FloatRect::maxX):
2888 (WebCore::FloatRect::maxY):
2889 (WebCore::FloatRect::contains):
2890 * platform/graphics/IntRect.cpp:
2891 (WebCore::IntRect::intersects):
2892 (WebCore::IntRect::contains):
2893 (WebCore::IntRect::intersect):
2894 (WebCore::IntRect::unite):
2895 * platform/graphics/IntRect.h:
2896 (WebCore::IntRect::maxX):
2897 (WebCore::IntRect::maxY):
2898 (WebCore::IntRect::shiftXEdgeTo):
2899 (WebCore::IntRect::shiftMaxXEdgeTo):
2900 (WebCore::IntRect::shiftYEdgeTo):
2901 (WebCore::IntRect::shiftMaxYEdgeTo):
2902 (WebCore::IntRect::contains):
2903 * platform/graphics/WidthIterator.cpp:
2904 (WebCore::WidthIterator::advance):
2905 * platform/graphics/cg/GraphicsContextCG.cpp:
2906 (WebCore::GraphicsContext::drawRect):
2907 (WebCore::GraphicsContext::fillPath):
2908 (WebCore::GraphicsContext::fillRect):
2909 * platform/graphics/cg/ImageBufferCG.cpp:
2910 (WebCore::getImageData):
2911 (WebCore::putImageData):
2912 * platform/graphics/cg/ImageCG.cpp:
2913 (WebCore::BitmapImage::draw):
2914 * platform/graphics/filters/FilterEffect.cpp:
2915 (WebCore::FilterEffect::copyImageBytes):
2916 * platform/graphics/mac/ComplexTextController.cpp:
2917 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2918 * platform/graphics/mac/SimpleFontDataMac.mm:
2919 (WebCore::SimpleFontData::platformBoundsForGlyph):
2920 * platform/graphics/transforms/AffineTransform.cpp:
2921 (WebCore::AffineTransform::mapRect):
2922 * platform/graphics/win/FontCGWin.cpp:
2923 (WebCore::drawGDIGlyphs):
2924 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2925 (WebCore::MediaPlayerPrivate::paint):
2926 * platform/gtk/RenderThemeGtk.cpp:
2927 (WebCore::centerRectVerticallyInParentInputElement):
2928 * platform/mac/WidgetMac.mm:
2929 (WebCore::Widget::paint):
2930 * rendering/InlineFlowBox.cpp:
2931 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2932 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2933 * rendering/InlineTextBox.cpp:
2934 (WebCore::InlineTextBox::selectionRect):
2935 (WebCore::InlineTextBox::paint):
2936 (WebCore::InlineTextBox::positionForOffset):
2937 * rendering/RenderBlock.cpp:
2938 (WebCore::RenderBlock::addOverflowFromChildren):
2939 (WebCore::RenderBlock::paintChildren):
2940 (WebCore::RenderBlock::paintEllipsisBoxes):
2941 (WebCore::RenderBlock::inlineSelectionGaps):
2942 (WebCore::RenderBlock::adjustPointToColumnContents):
2943 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2944 (WebCore::RenderBlock::adjustForColumns):
2945 * rendering/RenderBlock.h:
2946 (WebCore::RenderBlock::FloatingObject::right):
2947 (WebCore::RenderBlock::FloatingObject::bottom):
2948 * rendering/RenderBox.cpp:
2949 (WebCore::RenderBox::reflectedRect):
2950 (WebCore::RenderBox::localCaretRect):
2951 (WebCore::RenderBox::addShadowOverflow):
2952 (WebCore::RenderBox::addLayoutOverflow):
2953 (WebCore::RenderBox::visualOverflowRectForPropagation):
2954 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2955 (WebCore::RenderBox::flipForWritingMode):
2956 * rendering/RenderFrameSet.cpp:
2957 (WebCore::RenderFrameSet::paintColumnBorder):
2958 (WebCore::RenderFrameSet::paintRowBorder):
2959 * rendering/RenderInline.cpp:
2960 (WebCore::RenderInline::paintOutlineForLine):
2961 * rendering/RenderLayer.cpp:
2962 (WebCore::RenderLayer::getRectToExpose):
2963 (WebCore::cornerRect):
2964 (WebCore::RenderLayer::positionOverflowControls):
2965 (WebCore::RenderLayer::overflowBottom):
2966 (WebCore::RenderLayer::overflowRight):
2967 (WebCore::RenderLayer::paintResizer):
2968 * rendering/RenderLineBoxList.cpp:
2969 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2970 (WebCore::RenderLineBoxList::paint):
2971 * rendering/RenderListItem.cpp:
2972 (WebCore::RenderListItem::positionListMarker):
2973 * rendering/RenderListMarker.cpp:
2974 (WebCore::RenderListMarker::paint):
2975 * rendering/RenderObject.cpp:
2976 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2977 * rendering/RenderOverflow.h:
2978 (WebCore::RenderOverflow::RenderOverflow):
2979 (WebCore::RenderOverflow::addLayoutOverflow):
2980 (WebCore::RenderOverflow::addVisualOverflow):
2981 (WebCore::RenderOverflow::setLayoutOverflow):
2982 (WebCore::RenderOverflow::setVisualOverflow):
2983 (WebCore::RenderOverflow::resetLayoutOverflow):
2984 * rendering/RenderReplaced.cpp:
2985 (WebCore::RenderReplaced::shouldPaint):
2986 * rendering/RenderScrollbarTheme.cpp:
2987 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2988 * rendering/RenderTable.cpp:
2989 (WebCore::RenderTable::paint):
2990 * rendering/RenderTableCell.cpp:
2991 (WebCore::RenderTableCell::paint):
2992 * rendering/RenderTableSection.cpp:
2993 (WebCore::RenderTableSection::paintObject):
2994 * rendering/RenderText.cpp:
2995 (WebCore::RenderText::absoluteQuads):
2996 * rendering/RenderTextControlSingleLine.cpp:
2997 (WebCore::RenderTextControlSingleLine::forwardEvent):
2998 * rendering/RenderThemeMac.mm:
2999 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3000 (WebCore::RenderThemeMac::paintMenuListButton):
3001 (WebCore::RenderThemeMac::paintSliderTrack):
3002 * rendering/RenderView.cpp:
3003 (WebCore::RenderView::computeRectForRepaint):
3004 (WebCore::RenderView::docBottom):
3005 (WebCore::RenderView::docRight):
3006 * rendering/RootInlineBox.cpp:
3007 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3008 * rendering/svg/RenderSVGInlineText.cpp:
3009 (WebCore::RenderSVGInlineText::localCaretRect):
3011 2011-02-01 Beth Dakin <bdakin@apple.com>
3013 Reviewed by Sam Weinig.
3015 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
3017 Lots of new WebCoreSystemInterface functions to export.
3019 * platform/mac/WebCoreSystemInterface.h:
3020 * platform/mac/WebCoreSystemInterface.mm:
3022 Let the scrollAnimator know when the mouse has
3023 moved anywhere inside the page, and when the mouse
3024 has moved in or out of the window.
3025 * page/EventHandler.cpp:
3026 (WebCore::EventHandler::mouseMoved):
3027 (WebCore::EventHandler::updateMouseEventTargetNode):
3029 Let the scrollAnimator know when the window has become
3031 * page/FocusController.cpp:
3032 (WebCore::FocusController::setActive):
3034 Let the scrollAnimator know when all of these things
3036 * page/FrameView.cpp:
3037 (WebCore::FrameView::setContentsSize):
3038 (WebCore::FrameView::didMoveOnscreen):
3039 (WebCore::FrameView::willMoveOffscreen):
3040 (WebCore::FrameView::currentMousePosition):
3041 (WebCore::FrameView::contentsResized):
3043 New functions called through WebKit2 that allow the
3044 scrollAnimator to know when a live resize starts and ends.
3045 (WebCore::FrameView::willStartLiveResize):
3046 (WebCore::FrameView::willEndLiveResize):
3049 New functions on ScrollAnimator that pass information
3050 to the WKPainterController when we're using one.
3051 * platform/ScrollAnimator.h:
3052 (WebCore::ScrollAnimator::scrollableArea):
3053 (WebCore::ScrollAnimator::contentAreaWillPaint):
3054 (WebCore::ScrollAnimator::mouseEnteredContentArea):
3055 (WebCore::ScrollAnimator::mouseExitedContentArea):
3056 (WebCore::ScrollAnimator::mouseMovedInContentArea):
3057 (WebCore::ScrollAnimator::willStartLiveResize):
3058 (WebCore::ScrollAnimator::contentsResized):
3059 (WebCore::ScrollAnimator::willEndLiveResize):
3060 (WebCore::ScrollAnimator::contentAreaDidShow):
3061 (WebCore::ScrollAnimator::contentAreaDidHide):
3062 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3063 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
3064 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
3065 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
3066 (WebCore::ScrollAnimatorMac::notityPositionChanged):
3067 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
3068 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
3069 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
3070 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
3071 (WebCore::ScrollAnimatorMac::willStartLiveResize):
3072 (WebCore::ScrollAnimatorMac::contentsResized):
3073 (WebCore::ScrollAnimatorMac::willEndLiveResize):
3074 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
3075 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
3077 Let the scrollAnimator know when this is happening.
3078 * platform/ScrollView.cpp:
3079 (WebCore::ScrollView::paint):
3081 New function lets the scrollAnimator get the current
3083 * platform/ScrollView.h:
3084 (WebCore::ScrollView::currentMousePosition):
3086 New function that returns the scrollAnimator when needed.
3087 * platform/ScrollableArea.h:
3088 (WebCore::ScrollableArea::scrollAnimator):
3090 Keep track of if we're in a live resize using a new memeber
3092 * platform/mac/ScrollAnimatorMac.h:
3093 (WebCore::ScrollAnimatorMac::inLiveResize):
3094 * platform/mac/ScrollAnimatorMac.mm:
3097 New delegates for the WKPainter and WKPainterController
3098 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
3099 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3100 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3101 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3102 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3103 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3104 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3105 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
3106 (-[ScrollKnobAnimation setCurrentProgress:]):
3107 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
3108 (-[ScrollbarPainterDelegate convertRectToBacking:]):
3109 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
3110 (-[ScrollbarPainterDelegate layer]):
3111 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
3112 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3113 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3114 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
3116 Get the WKScrollbarPainterRefs to synch up with the
3117 WKScrollbarPainterControllerRefs when appropriate
3118 * platform/mac/ScrollbarThemeMac.h:
3119 * platform/mac/ScrollbarThemeMac.mm:
3120 (WebCore::ScrollbarThemeMac::registerScrollbar):
3121 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
3122 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
3123 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
3125 Implement ScrollableArea's virtual function contentsSize() for access
3126 through the scrollAnimator.
3127 * rendering/RenderLayer.h:
3128 (WebCore::RenderLayer::contentsSize):
3130 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
3132 Reviewed by David Hyatt.
3134 layoutTestController.counterValueForElementById does not return the correct value
3135 https://bugs.webkit.org/show_bug.cgi?id=53037
3137 Test: fast/css/counters/deep-before.html
3139 * rendering/RenderTreeAsText.cpp:
3140 (WebCore::counterValueForElement):
3141 Modified to use the newly available RenderObject::beforePseudoElement()
3142 and RenderObject::afterPseudoElement() instead of the old imperfect
3143 algorithm to find the before and after pseudo elements.
3145 2011-02-01 Anton Muhin <antonm@chromium.org>
3147 Reviewed by Adam Barth.
3149 Allow access for security origin same as this.
3150 https://bugs.webkit.org/show_bug.cgi?id=53440
3152 Hard to test as newly added path currently is never hit.
3154 * page/SecurityOrigin.cpp:
3155 (WebCore::SecurityOrigin::canAccess): allow access if this == other
3157 2011-01-31 Oliver Hunt <oliver@apple.com>
3159 Reviewed by Geoffrey Garen.
3161 Update JSObject storage for new marking API
3162 https://bugs.webkit.org/show_bug.cgi?id=53467
3164 Update WebCore to handle new anonymous slot behaviour.
3166 * bindings/js/JSDOMWindowShell.cpp:
3167 (WebCore::JSDOMWindowShell::setWindow):
3168 * bindings/js/WorkerScriptController.cpp:
3169 (WebCore::WorkerScriptController::initScript):
3170 * bindings/scripts/CodeGeneratorJS.pm:
3172 2011-02-01 Xiaomei Ji <xji@chromium.org>
3174 Reviewed by David Hyatt.
3176 Fix a text rendering problem when enclosing block is RTL and text runs
3177 are in different directionality.
3178 https://bugs.webkit.org/show_bug.cgi?id=34176
3180 The problem happens in the following example scenario (ABC represents
3182 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3184 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3185 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3186 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3188 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3190 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3191 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3192 the run's render object's ancestor (not only its parent) has already
3193 been constructed or has something following it on the line, in which
3194 case, create a new box for TextRun2 instead of sharing the same box with
3197 In other words, the following 2 div should render the same results
3198 (ABC represents Hebrew characters).
3199 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3200 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3202 Test: fast/dom/34176.html
3204 * rendering/RenderBlockLineLayout.cpp:
3205 (WebCore::parentIsConstructedOrHaveNext):
3206 (WebCore::RenderBlock::createLineBoxes):
3208 2011-02-01 Abhishek Arya <inferno@chromium.org>
3210 Reviewed by Dan Bernstein.
3212 Do not add a node in the document's stylesheet candidate node list if the
3213 node is already removed from document.
3214 https://bugs.webkit.org/show_bug.cgi?id=53441
3216 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3219 (WebCore::Document::addStyleSheetCandidateNode):
3221 2011-02-01 Dave Hyatt <hyatt@apple.com>
3223 Reviewed by Darin Adler.
3225 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3228 Change printing functions to check writing-mode and properly swap width and height
3231 Fix the setScrollOrigin function so that the origin doesn't cause
3232 scroll spasming during printing (this is only partially successful, but it's better
3235 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3236 text documents properly.
3239 * page/FrameView.cpp:
3240 (WebCore::FrameView::adjustViewSize):
3241 (WebCore::FrameView::forceLayoutForPagination):
3242 * page/PrintContext.cpp:
3243 (WebCore::PrintContext::computePageRects):
3244 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3245 (WebCore::PrintContext::computeAutomaticScaleFactor):
3246 (WebCore::PrintContext::spoolPage):
3247 (WebCore::PrintContext::spoolRect):
3248 * page/PrintContext.h:
3249 * page/mac/WebCoreFrameView.h:
3250 * platform/ScrollView.cpp:
3251 (WebCore::ScrollView::wheelEvent):
3252 * platform/ScrollView.h:
3253 * platform/mac/ScrollViewMac.mm:
3254 (WebCore::ScrollView::platformSetScrollOrigin):
3255 * rendering/RenderView.cpp:
3256 (WebCore::RenderView::layout):
3258 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3260 Reviewed by Pavel Feldman.
3262 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3264 https://bugs.webkit.org/show_bug.cgi?id=53500
3266 * inspector/InspectorProfilerAgent.cpp:
3267 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3269 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3271 Reviewed by Pavel Feldman.
3273 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3275 https://bugs.webkit.org/show_bug.cgi?id=53173
3277 Adding code for accessing heap snapshot data and
3278 performing graph calculations.
3280 * English.lproj/localizedStrings.js:
3281 * inspector/front-end/HeapSnapshot.js:
3282 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3283 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3284 (WebInspector.HeapSnapshotEdgeIterator):
3285 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3286 (WebInspector.HeapSnapshotNodeIterator):
3287 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3288 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3289 (WebInspector.HeapSnapshotEdgesProvider):
3290 (WebInspector.HeapSnapshotNodesProvider):
3291 (WebInspector.HeapSnapshotPathFinder):
3292 * inspector/front-end/HeapSnapshotView.js:
3293 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3295 2011-02-01 Adam Roben <aroben@apple.com>
3297 Fix linker warnings in Release_LTCG builds
3299 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3300 configurations, since they get pulled in via DOMAllInOne.cpp.
3302 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3304 Reviewed by Yury Semikhatsky.
3306 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3307 https://bugs.webkit.org/show_bug.cgi?id=53482
3309 * English.lproj/localizedStrings.js:
3310 * inspector/front-end/ElementsPanel.js:
3311 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3312 * inspector/front-end/inspector.js:
3313 (WebInspector.resourceForURL):
3314 (WebInspector.openLinkExternallyLabel):
3316 2011-02-01 Anton Muhin <antonm@chromium.org>
3318 Reviewed by Adam Barth.
3320 Propagate parent document security origin to newly create Document XML response
3321 https://bugs.webkit.org/show_bug.cgi?id=53444
3323 Covered by the existing tests.
3325 * xml/XMLHttpRequest.cpp:
3326 (WebCore::XMLHttpRequest::responseXML):
3328 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3330 Unreviewed. Rollout r77230 which caused many layout tests
3331 crashes on Chromium Debug bots.
3333 Async event handlers should not fire within a modal dialog
3334 https://bugs.webkit.org/show_bug.cgi?id=53202
3337 (WebCore::Document::Document):
3338 * dom/EventQueue.cpp:
3339 (WebCore::EventQueue::EventQueue):
3340 (WebCore::EventQueue::enqueueEvent):
3341 (WebCore::EventQueue::pendingEventTimerFired):
3344 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3346 Reviewed by Dirk Schulze.
3348 LightElement changes does not require relayout.
3349 https://bugs.webkit.org/show_bug.cgi?id=53232
3351 When an attribute of a LightElement changes, it
3352 send an update message to the lighting filters
3353 to update its corresponding LightSource objects,
3354 and repaint the filters.
3356 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3358 Existing dynamic-update tests covers this feature.
3360 5x speedup on manual-tests/svg-filter-animation.svg
3362 * manual-tests/svg-filter-animation.svg:
3363 * platform/graphics/filters/DistantLightSource.h:
3364 * platform/graphics/filters/FEDiffuseLighting.cpp:
3365 (WebCore::FEDiffuseLighting::setLightingColor):
3366 (WebCore::FEDiffuseLighting::setSurfaceScale):
3367 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3368 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3369 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3370 * platform/graphics/filters/FEDiffuseLighting.h:
3371 * platform/graphics/filters/LightSource.cpp:
3372 (WebCore::PointLightSource::setX):
3373 (WebCore::PointLightSource::setY):
3374 (WebCore::PointLightSource::setZ):
3375 (WebCore::SpotLightSource::setX):
3376 (WebCore::SpotLightSource::setY):
3377 (WebCore::SpotLightSource::setZ):
3378 (WebCore::SpotLightSource::setPointsAtX):
3379 (WebCore::SpotLightSource::setPointsAtY):
3380 (WebCore::SpotLightSource::setPointsAtZ):
3381 (WebCore::SpotLightSource::setSpecularExponent):
3382 (WebCore::SpotLightSource::setLimitingConeAngle):
3383 (WebCore::DistantLightSource::setAzimuth):
3384 (WebCore::DistantLightSource::setElevation):
3385 (WebCore::LightSource::setAzimuth):
3386 (WebCore::LightSource::setElevation):
3387 (WebCore::LightSource::setX):
3388 (WebCore::LightSource::setY):
3389 (WebCore::LightSource::setZ):
3390 (WebCore::LightSource::setPointsAtX):
3391 (WebCore::LightSource::setPointsAtY):
3392 (WebCore::LightSource::setPointsAtZ):
3393 (WebCore::LightSource::setSpecularExponent):
3394 (WebCore::LightSource::setLimitingConeAngle):
3395 * platform/graphics/filters/LightSource.h:
3396 * platform/graphics/filters/PointLightSource.h:
3397 * platform/graphics/filters/SpotLightSource.h:
3398 * rendering/svg/RenderSVGResourceFilter.cpp:
3399 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3400 * svg/SVGFEDiffuseLightingElement.cpp:
3401 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3402 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3403 (WebCore::SVGFEDiffuseLightingElement::build):
3404 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3405 (WebCore::SVGFEDiffuseLightingElement::findLight):
3406 * svg/SVGFEDiffuseLightingElement.h:
3407 * svg/SVGFELightElement.cpp:
3408 (WebCore::SVGFELightElement::svgAttributeChanged):
3409 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3410 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3411 * svg/SVGFilterPrimitiveStandardAttributes.h:
3413 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3415 Reviewed by Dimitri Glazkov.
3417 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3418 https://bugs.webkit.org/show_bug.cgi?id=53289
3420 Moving the nested class DocumentOrderedMap from Document into separate files,
3421 updating code where necessary.
3423 No new tests. (refactoring)
3430 * WebCore.vcproj/WebCore.vcproj:
3431 * WebCore.xcodeproj/project.pbxproj:
3433 (WebCore::Document::getElementById):
3434 (WebCore::Document::getImageMap):
3436 * dom/DocumentOrderedMap.cpp: Added.
3437 (WebCore::keyMatchesId):
3438 (WebCore::keyMatchesMapName):
3439 (WebCore::keyMatchesLowercasedMapName):
3440 (WebCore::DocumentOrderedMap::clear):
3441 (WebCore::DocumentOrderedMap::add):
3442 (WebCore::DocumentOrderedMap::remove):
3443 (WebCore::DocumentOrderedMap::get):
3444 (WebCore::DocumentOrderedMap::getElementById):
3445 (WebCore::DocumentOrderedMap::getElementByMapName):
3446 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3447 * dom/DocumentOrderedMap.h: Added.
3448 (WebCore::DocumentOrderedMap::contains):
3449 (WebCore::DocumentOrderedMap::containsMultiple):
3450 * dom/DOMAllInOne.cpp:
3452 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3454 Reviewed by Martin Robinson.
3456 [Gtk] atk_text_set_caret_offset fails for list items
3457 https://bugs.webkit.org/show_bug.cgi?id=53388
3459 Allow using text ranges across list items.
3461 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3462 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3463 to the list of accessibility objects supporting text ranges.
3465 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3467 Reviewed by Martin Robinson.
3469 [GTK] character range extents is off when the end of a wrapped line is included
3470 https://bugs.webkit.org/show_bug.cgi?id=53323
3472 Fixed wrong calculation getting the range extents.
3474 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3475 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3476 requested interval shouldn't include the last character.
3478 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3480 Reviewed by Martin Robinson.
3482 [GTK] Caret Offset is one off at the end of wrapped lines
3483 https://bugs.webkit.org/show_bug.cgi?id=53300
3485 Consider linebreaks as special cases.
3487 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3488 (objectAndOffsetUnignored): In order to avoid getting wrong values
3489 when around linebreaks, we need to workaround this by explicitly
3490 avoiding those '\n' text nodes from affecting the result of
3491 calling to TextIterator:rangeLength().
3493 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3495 Unreviewed, rolling out r77229.
3496 http://trac.webkit.org/changeset/77229
3497 https://bugs.webkit.org/show_bug.cgi?id=53289
3499 revert mysterious build breakage
3506 * WebCore.vcproj/WebCore.vcproj:
3507 * WebCore.xcodeproj/project.pbxproj:
3508 * dom/DOMAllInOne.cpp:
3510 (WebCore::Document::DocumentOrderedMap::clear):
3511 (WebCore::Document::DocumentOrderedMap::add):
3512 (WebCore::Document::DocumentOrderedMap::remove):
3513 (WebCore::Document::DocumentOrderedMap::get):
3514 (WebCore::keyMatchesId):
3515 (WebCore::Document::getElementById):
3516 (WebCore::keyMatchesMapName):
3517 (WebCore::keyMatchesLowercasedMapName):
3518 (WebCore::Document::getImageMap):
3520 (WebCore::Document::DocumentOrderedMap::contains):
3521 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3522 * dom/DocumentOrderedMap.cpp: Removed.
3523 * dom/DocumentOrderedMap.h: Removed.
3525 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3527 Reviewed by James Robinson.
3529 Async event handlers should not fire within a modal dialog
3530 https://bugs.webkit.org/show_bug.cgi?id=53202
3532 Asychronous events that use EventQueue would currently fire while a
3533 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3534 SuspendableTimer (which automatically gets suspended while dialogs are
3535 up and in other cases where JS execution is not allowed).
3537 Test: fast/events/scroll-event-during-modal-dialog.html
3540 (WebCore::Document::Document):
3541 * dom/EventQueue.cpp:
3542 (WebCore::EventQueueTimer::EventQueueTimer):
3543 (WebCore::EventQueueTimer::fired):
3544 (WebCore::EventQueue::EventQueue):
3545 (WebCore::EventQueue::enqueueEvent):
3546 (WebCore::EventQueue::pendingEventTimerFired):
3548 (WebCore::EventQueue::create):
3550 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3552 Reviewed by Dimitri Glazkov.
3554 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3555 https://bugs.webkit.org/show_bug.cgi?id=53289
3557 Moving the nested class DocumentOrderedMap from Document into separate files,
3558 updating code where necessary.
3560 No new tests. (refactoring)