1 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
3 Reviewed by Pavel Feldman.
5 Web Inspector: scripts panel displays wrong file name after reload.
6 https://bugs.webkit.org/show_bug.cgi?id=53761
8 * inspector/front-end/ScriptsPanel.js:
9 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
11 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
13 Reviewed by Pavel Feldman.
15 Web Inspector: remove settings related methods from InspectorClient
16 https://bugs.webkit.org/show_bug.cgi?id=53686
19 * inspector/CodeGeneratorInspector.pm:
20 * inspector/InspectorClient.h:
21 * inspector/InspectorFrontendClientLocal.cpp:
22 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
23 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
24 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
25 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
26 provide platform-specific settings accessor.
27 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
28 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
29 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
30 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
31 * loader/EmptyClients.h:
33 2011-02-03 Anton Muhin <antonm@chromium.org>
35 Reviewed by Adam Barth.
37 [v8] frame several more JS code invocations into v8::TryCatch
38 https://bugs.webkit.org/show_bug.cgi?id=53594
40 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
41 in v8::ThrowException---currently sometimes exceptions thrown by this method
42 do not reach surrounding v8::TryCatch handler (see
43 http://code.google.com/p/v8/issues/detail?id=1072 and
44 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
45 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
46 one rebaseline as of now.)
48 * bindings/v8/V8Proxy.cpp:
49 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
50 * bindings/v8/V8WindowErrorHandler.cpp:
51 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
53 2011-02-03 Maciej Stachowiak <mjs@apple.com>
55 Reviewed by Dan Bernstein.
57 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
58 https://bugs.webkit.org/show_bug.cgi?id=52897
59 <rdar://problem/8898294>
61 * WebCore.exp.in: Add export now needed by WebKit2
63 2011-02-03 Victoria Kirst <vrk@google.com>
65 Reviewed by James Robinson.
67 Replaces float literals with uniform values in shader code
68 so that buggy drivers unable to parse float values in different
69 locales will not produce a pink video.
71 [chromium] Fix pink video bug with gpu-acceleration enabled
72 https://bugs.webkit.org/show_bug.cgi?id=53568
74 * platform/graphics/chromium/VideoLayerChromium.cpp:
75 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
76 (WebCore::VideoLayerChromium::drawYUV):
77 * platform/graphics/chromium/VideoLayerChromium.h:
78 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
80 2011-02-03 James Kozianski <koz@chromium.org>
82 Reviewed by Dimitri Glazkov.
84 Add navigator.registerProtocolHandler behind a flag.
85 https://bugs.webkit.org/show_bug.cgi?id=52609
87 This method is described in the HTML5 specification here,
88 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
90 This change is largely cribbed from B. Green's 29651 patches. It is
91 behind a flag so as not to break JS feature detection.
93 New layout test fast/dom/registerProtocolHandler.html.
95 * Configurations/FeatureDefines.xcconfig:
96 * loader/EmptyClients.h:
97 (WebCore::EmptyChromeClient::registerProtocolHandler):
99 (WebCore::Chrome::registerProtocolHandler):
101 * page/ChromeClient.h:
102 * page/Navigator.cpp:
103 (WebCore::verifyCustomHandlerURL):
104 (WebCore::verifyProtocolHandlerScheme):
105 (WebCore::Navigator::registerProtocolHandler):
107 * page/Navigator.idl:
109 2011-02-03 Brian Ryner <bryner@chromium.org>
111 Reviewed by Darin Fisher.
113 Add a field to the ResourceResponse for tracking the socket address
114 of the host that the resource was fetched from. Patch was originally
116 https://bugs.webkit.org/show_bug.cgi?id=53699
118 * platform/network/chromium/ResourceResponse.cpp:
119 (WebCore::ResourceResponse::doPlatformCopyData):
120 (WebCore::ResourceResponse::doPlatformAdopt):
121 * platform/network/chromium/ResourceResponse.h:
122 (WebCore::ResourceResponse::socketAddress):
123 (WebCore::ResourceResponse::setSocketAddress):
125 2011-02-03 Adam Langley <agl@chromium.org>
127 Reviewed by Adam Barth.
129 Plumb mixed script URL to FrameLoaderClient
130 https://bugs.webkit.org/show_bug.cgi?id=52384
132 Regressions covered by http/tests/security/mixedContent/*
134 * loader/EmptyClients.h:
135 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
136 * loader/FrameLoader.cpp:
137 (WebCore::FrameLoader::checkIfRunInsecureContent):
138 * loader/FrameLoaderClient.h:
140 2011-02-03 Simon Fraser <simon.fraser@apple.com>
142 Reviewed by Dan Bernstein.
144 REGRESSION: Artifacts on box-shadow corners in some cases
145 https://bugs.webkit.org/show_bug.cgi?id=53731
147 Fix overdrawing artifacts in ShadowBlur's tiling code path,
148 which show up in shadows using a color with alpha.
150 Test: fast/box-shadow/shadow-tiling-artifact.html
152 * platform/graphics/ShadowBlur.cpp:
153 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
154 that the inner rect that gets filled does not overlap with any
155 of the eight tiled areas by having the corner and side dimensions
156 be the same for contiguous areas.
158 2011-02-03 Adam Barth <abarth@webkit.org>
160 Reviewed by Alexey Proskuryakov.
162 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
163 percent signs in large posted data
164 https://bugs.webkit.org/show_bug.cgi?id=53405
166 If the input string contains many non-% characters followed by a %
167 character that is not a valid URL escape sequence, then the old
168 algorithm would only advance the initial search by one character
169 (instead of jumping to just after the % character). That would cause
170 the algorithm to take N^2 time (in the number of characters before the
171 first % character). This patch just advances the search past the first
172 % character so we can start looking for next % character sooner.
175 (WebCore::decodeURLEscapeSequences):
177 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
179 Reviewed by Pavel Feldman.
181 Web Inspector: click on a breakpoint highlights wrong line in source frame.
182 https://bugs.webkit.org/show_bug.cgi?id=53692
184 * inspector/front-end/BreakpointsSidebarPane.js:
185 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
187 2011-02-03 Anton Muhin <antonm@chromium.org>
189 Reviewed by Adam Barth.
191 [v8] Bail out if to string conversion returned empty handle
192 https://bugs.webkit.org/show_bug.cgi?id=53687
194 This a temporary measure: actually one probably should never get empty handle
195 if there was no exception. The root cause is under investigation.
196 The bailout though allows Chromium not to crash---attempt to convert an empty
197 v8 hande into WebCore string crashes with invalid memory access.
199 See http://code.google.com/p/chromium/issues/detail?id=71544
201 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
203 * bindings/v8/V8Binding.cpp:
204 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
205 * bindings/v8/V8Binding.h:
206 (WebCore::V8ParameterBase::prepareBase): Ditto
208 2011-02-03 Adam Barth <abarth@webkit.org>
210 Attempt to fix Chromium build.
212 * html/parser/XSSFilter.cpp:
214 2011-02-03 Dirk Pranke <dpranke@chromium.org>
216 Unreviewed, rolling out r77562.
217 http://trac.webkit.org/changeset/77562
218 https://bugs.webkit.org/show_bug.cgi?id=53630
220 broke chromium mac build
222 * WebCore.gyp/WebCore.gyp:
223 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
225 2011-02-03 Adam Barth <abarth@webkit.org>
227 Reviewed by Daniel Bates.
229 XSS Auditor severely affects loading performance after submitting a large form
230 https://bugs.webkit.org/show_bug.cgi?id=49845
232 Switch over from the XSSAuditor to the XSSFilter, improving performance
235 * html/parser/XSSFilter.cpp:
236 (WebCore::XSSFilter::filterToken):
237 * page/XSSAuditor.cpp:
238 (WebCore::XSSAuditor::isEnabled):
240 2011-02-03 Dirk Pranke <dpranke@chromium.org>
242 Unreviewed, rolling out r77567.
243 http://trac.webkit.org/changeset/77567
244 https://bugs.webkit.org/show_bug.cgi?id=53468
246 broke chromium linux svg, canvas tests, possibly win also?
248 * platform/graphics/skia/ImageBufferSkia.cpp:
249 (WebCore::getImageData):
250 (WebCore::ImageBuffer::getUnmultipliedImageData):
251 (WebCore::ImageBuffer::getPremultipliedImageData):
252 (WebCore::putImageData):
253 (WebCore::ImageBuffer::putUnmultipliedImageData):
254 (WebCore::ImageBuffer::putPremultipliedImageData):
256 2011-02-02 MORITA Hajime <morrita@google.com>
258 Reviewed by Dimitri Glazkov.
260 Refactoring: <progress> should not use ShadowElement
261 https://bugs.webkit.org/show_bug.cgi?id=53583
263 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
264 to be responsible for bar-part layout,
265 which adopted layout logic from ShadowBlockElement.
266 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
267 - Remove dependency from RenderProgress to HTMLProgressElement and
269 - The shadow tree is no longer removed on detach(). It becomes persistent.
270 This is now possible because the ShadowBlockElement dependency is gone.
271 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
272 That didn't make sense.
274 * html/HTMLProgressElement.cpp:
275 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
276 * html/HTMLProgressElement.h:
277 * html/shadow/ProgressBarValueElement.h: Added.
278 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
279 (WebCore::ProgressBarValueElement::shadowPseudoId):
280 (WebCore::ProgressBarValueElement::createRenderer):
281 (WebCore::ProgressBarValueElement::create):
282 * rendering/RenderIndicator.cpp:
283 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
284 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
285 (WebCore::RenderIndicatorPart::layout):
286 (WebCore::RenderIndicatorPart::styleDidChange):
287 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
288 (WebCore::RenderIndicatorPart::originalVisibility):
289 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
290 (WebCore::RenderIndicatorPart::canHaveChildren):
291 * rendering/RenderProgress.cpp:
292 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
293 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
294 (WebCore::RenderProgress::updateFromElement):
295 (WebCore::RenderProgress::layoutParts):
296 (WebCore::RenderProgress::shouldHaveParts):
297 * rendering/RenderProgress.h:
298 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
300 2011-02-03 Jia Pu <jpu@apple.com>
302 Reversion should not be marked as misspelled.
303 https://bugs.webkit.org/show_bug.cgi?id=53255
305 This patch includes fix for reported bug, and also some housekeeping changes.
307 To implement desired behavior, we need:
308 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
309 that shouldn't be spellchecked and text shouldn't be autocorrected.
310 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
311 Otherwise the spell checking code in that function may interfere with autocorrection. This
312 is achieved by explicitly applying pending correction when user types space, line break or
315 Housekeeping code changes include:
316 1. Change manual-tests that were broken by relocated WebCore directory.
317 2. Use TextIterator in various DocumentMarkerController functions instead of using
318 Node::traverseNextNode() directly.
319 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
320 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
321 4. Fixes of minor bugs that were exposed previously.
323 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
325 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
327 * dom/DocumentMarkerController.cpp:
328 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
329 consistent with addMarker() function. Allow passing in multiple marker types in one call.
330 Added a boolean argument to specify the behavior when removing markers that partially
331 overlap the specified range.
332 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
333 multiple marker types in one call.
334 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
335 consistent with addMarker() function. Allow passing in multiple marker types in one call.
337 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
338 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
339 removing markers that partially overlap the specified range.
341 * editing/Editor.cpp:
342 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
343 (WebCore::markerTypesForReplacement): Ditto.
344 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
345 setSelection() to make sure there is no pending correction when entering
346 markAllMisspellingsAndBadGrammarInRanges().
347 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
348 is a top level command to improve efficiency.
349 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
350 (WebCore::Editor::insertLineBreak): Ditto.
351 (WebCore::Editor::insertParagraphSeparator): Ditto.
352 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
353 text carries SpellCheckingExemption marker.
354 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
355 from spellchecker is an empty string.
356 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
357 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
358 efficiency and readability.
359 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
360 applying correction, since it's unnecessary. Also, store pre-correction string together with
361 the marker for reversion panel to use.
362 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
363 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
364 where we have access to EditCommand object.
366 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
368 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
369 were broken by relocated WebCore directory.
371 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
373 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
375 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
377 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
379 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
381 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
383 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
385 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
387 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
389 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
390 were broken by relocated WebCore directory.
392 * rendering/InlineTextBox.cpp:
393 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
395 2011-02-03 Abhishek Arya <inferno@chromium.org>
397 Unreviewed, qt build fix.
399 * rendering/RenderBlock.cpp:
400 (WebCore::RenderBlock::removeFloatingObject):
402 2011-02-03 Brian Salomon <bsalomon@google.com>
404 Reviewed by James Robinson.
406 Handle non-raster backed images in getUnmultipliedImageData()
407 https://bugs.webkit.org/show_bug.cgi?id=53468
409 No new tests. Existing canvas tests sufficient
410 LayoutTests/canvas/philip/...
412 * platform/graphics/skia/ImageBufferSkia.cpp:
413 (WebCore::getImageData):
414 (WebCore::ImageBuffer::getUnmultipliedImageData):
415 (WebCore::ImageBuffer::getPremultipliedImageData):
416 (WebCore::putImageData):
417 (WebCore::ImageBuffer::putUnmultipliedImageData):
418 (WebCore::ImageBuffer::putPremultipliedImageData):
420 2011-02-03 Abhishek Arya <inferno@chromium.org>
422 Reviewed by James Robinson.
424 Enforce more limits on root inline boxes height calculations.
425 https://bugs.webkit.org/show_bug.cgi?id=53729
427 Test: fast/overflow/overflow-height-float-not-removed-crash.html
429 * rendering/RenderBlock.cpp:
430 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
431 become negative when logicalTop is INT_MAX.
432 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
433 is INT_MAX, we should dirty everything. So, we bail out to make
434 afterLowest equal to the lastRootBox() or lowestDirstLine.
436 2011-02-03 David Levin <levin@chromium.org>
438 Reviewed by Adam Barth and Oliver Hunt.
440 Worker.importScript() should clean errors for cross origin imports.
441 https://bugs.webkit.org/show_bug.cgi?id=52871
443 Test: http/tests/workers/worker-importScriptsOnError.html
445 * bindings/js/WorkerScriptController.cpp:
446 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
447 to determine when to create a clean exception.
448 * bindings/v8/WorkerContextExecutionProxy.cpp:
449 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
450 * dom/ScriptExecutionContext.cpp:
451 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
452 if the error needs to be cleaned up.
453 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
454 sanitizeScriptError for use by other places.
455 * dom/ScriptExecutionContext.h:
456 * workers/WorkerContext.cpp:
457 (WebCore::WorkerContext::importScripts): Use the reponse url when
458 telling the evaluate where the script came fro.
459 * workers/WorkerScriptLoader.cpp:
460 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
461 the script was loaded from (which may be different from url() due
463 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
464 * workers/WorkerScriptLoader.h:
466 2011-02-03 Mark Mentovai <mark@chromium.org>
468 Reviewed by Dimitri Glazkov.
470 Chromium GYP build fix.
472 When various settings were moved to webcore_prerequisites in r66364,
473 things that should have been direct_dependent_settings were not marked
474 as such. GYP 'defines', for example, make no sense on a 'none'-type
475 target such as webcore_prerequisites. It appears that it was intended
476 for these settings to be pushed to direct dependents, which would make
477 direct_dependent_settings correct.
479 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
480 http://crbug.com/71537, which at best causes Mac console log spew, and
481 at worst may result in Chromium's copy of WebCore using system
482 definitions of certain Objective-C classes at runtime, or vice-versa.
484 The build now includes a postbuild step to prevent
485 http://crbug.com/71537 from regressing again. The build will fail upon
488 https://bugs.webkit.org/show_bug.cgi?id=53630
490 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
491 direct_dependent_settings as needed, add the check_objc_rename
493 * WebCore.gyp/mac/check_objc_rename.sh: Added.
495 2011-02-03 Adam Barth <abarth@webkit.org>
497 Reviewed by Eric Seidel.
499 Make XSSFilter go fast by adding a SuffixTree
500 https://bugs.webkit.org/show_bug.cgi?id=53665
502 The SuffixTree lets us quickly reject snippets if the POST data is
503 large (because we can avoid a linear scan over the POST data).
505 * html/parser/XSSFilter.cpp:
506 (WebCore::XSSFilter::init):
507 (WebCore::XSSFilter::isContainedInRequest):
508 * html/parser/XSSFilter.h:
510 2011-02-03 Mihai Parparita <mihaip@chromium.org>
512 Reviewed by Alexey Proskuryakov.
514 REGRESSION (r77355): Page cache layout tests crash
515 https://bugs.webkit.org/show_bug.cgi?id=53648
517 Test: fast/events/pagehide-timeout.html
519 Suspend active DOM objects after all pagehide event handlers have run,
520 otherwise it's possible for them to create more objects that weren't
523 * history/CachedFrame.cpp:
524 (WebCore::CachedFrame::CachedFrame):
526 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
528 Reviewed by Nate Chapin.
530 SerializedScriptValue should not require v8 to create undefined and null values
531 https://bugs.webkit.org/show_bug.cgi?id=53730
533 Instead of creating a v8 type and passing that into the constructor, just use
534 the writer class directly. While I was at it, I cleaned up the code a bit too
535 by getting rid of the WireData/StringValue enum as I found that personally
538 This is necessary because these methods are called by IndexedDB in the browser
539 process where v8 is not spun up.
541 No functionality changed and not possible to test.
543 * bindings/v8/SerializedScriptValue.cpp:
544 (WebCore::SerializedScriptValue::createFromWire):
545 (WebCore::SerializedScriptValue::create):
546 (WebCore::SerializedScriptValue::nullValue):
547 (WebCore::SerializedScriptValue::undefinedValue):
548 (WebCore::SerializedScriptValue::release):
549 (WebCore::SerializedScriptValue::SerializedScriptValue):
550 * bindings/v8/SerializedScriptValue.h:
552 2011-02-03 Beth Dakin <bdakin@apple.com>
554 Reviewed by Sam Weinig.
556 Fix for <rdar://problem/8944544> Ability to animate track
557 for WKPainter scrollers
559 Two new WebKitSystemInterface functions.
561 * platform/mac/WebCoreSystemInterface.h:
562 * platform/mac/WebCoreSystemInterface.mm:
564 Use Scrollbar::convertFromContainingView() to return the right point.
565 * platform/mac/ScrollAnimatorMac.mm:
566 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
568 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
569 now be used to animate the knob or the track.
570 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
571 (-[ScrollbarPartAnimation setCurrentProgress:]):
572 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
573 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
574 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
576 Scrollbars need invalodating after the overlay state changes.
577 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
579 2011-02-03 Sam Weinig <sam@webkit.org>
581 Reviewed by Beth Dakin.
583 Scroll thumb jumps to top when resizing horizontally.
585 * platform/ScrollView.cpp:
586 (WebCore::ScrollView::updateScrollbars): Add call to update
587 the scrollbar's offset in the case where we may have created
588 a new scrollbar but have not changed the current position.
590 2011-02-03 Justin Schuh <jschuh@chromium.org>
592 Reviewed by Dirk Schulze.
594 startAnimations should use a local, RefCounted Vector.
595 https://bugs.webkit.org/show_bug.cgi?id=53458
597 Test: svg/custom/use-animation-in-fill.html
599 * svg/SVGDocumentExtensions.cpp:
600 (WebCore::SVGDocumentExtensions::startAnimations):
602 2011-02-03 Adam Barth <abarth@webkit.org>
604 Reviewed by Daniel Bates.
606 XSSFilter shouldn't bother to analyze pages without "injection"
607 characters in the request
608 https://bugs.webkit.org/show_bug.cgi?id=53664
610 If the request lacks these "injection" characters, then it's unlikely
611 that there's a reflective XSS attack happening. This hueristic lets us
612 avoid analyzing the vast majority of responses for XSS. Of course, the
613 hueristic isn't perfect. Because of this huerstic, we miss out on
614 injections into unquoted attributes. However, it's a trade-off that's
615 worked well in the XSSAuditor.
617 * html/parser/XSSFilter.cpp:
618 (WebCore::HTMLNames::isRequiredForInjection):
619 (WebCore::XSSFilter::XSSFilter):
620 (WebCore::XSSFilter::init):
621 (WebCore::XSSFilter::filterToken):
622 (WebCore::XSSFilter::isContainedInRequest):
623 * html/parser/XSSFilter.h:
625 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
627 Reviewed by Kenneth Russell.
629 [chromium] Fixing a compositor crash occurring on layers
630 without an associated RenderSurface.
631 https://bugs.webkit.org/show_bug.cgi?id=53679
632 Regression was introduced by in r77425
634 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
637 * platform/graphics/chromium/LayerRendererChromium.cpp:
638 (WebCore::LayerRendererChromium::drawLayer):
640 2011-02-03 Dan Bernstein <mitz@apple.com>
642 Reviewed by Anders Carlsson.
644 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
645 https://bugs.webkit.org/show_bug.cgi?id=53709
647 Covered by rendering of fast/text/emphasis-vertical.html
649 * platform/graphics/mac/SimpleFontDataMac.mm:
650 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
653 2011-02-02 Levi Weintraub <leviw@chromium.org>
655 Reviewed by Ryosuke Niwa.
657 Moving cursor down in table cycles at the end of a row
658 https://bugs.webkit.org/show_bug.cgi?id=50012
660 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
661 end of a document due to a bug in nextLeafWithSameEditability.
663 Test: editing/selection/move-by-line-cycles-in-table.html
665 * editing/visible_units.cpp:
666 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
669 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
671 Reviewed by Pavel Feldman.
673 Web Inspector: remove dead code related to changes panel.
674 https://bugs.webkit.org/show_bug.cgi?id=53688
677 * WebCore.vcproj/WebCore.vcproj:
678 * inspector/front-end/ChangesView.js: Removed.
679 * inspector/front-end/WebKit.qrc:
680 * inspector/front-end/inspector.css:
681 (#error-warning-count):
682 (#error-warning-count:hover):
683 (#error-count + #warning-count):
684 * inspector/front-end/inspector.html:
685 * inspector/front-end/inspector.js:
687 2011-02-02 Sam Weinig <sam@webkit.org>
689 Reviewed by Anders Carlsson.
691 Add notification of the end of a rubber band.
692 <rdar://problem/8940648>
695 Add additional exprots.
697 * page/ChromeClient.h:
698 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
699 * page/FrameView.cpp:
700 (WebCore::FrameView::didCompleteRubberBand):
702 * platform/ScrollView.cpp:
703 (WebCore::ScrollView::didCompleteRubberBand):
704 * platform/ScrollView.h:
707 * platform/ScrollableArea.h:
708 (WebCore::ScrollableArea::inLiveResize):
709 (WebCore::ScrollableArea::maximumScrollPosition):
710 (WebCore::ScrollableArea::visibleWidth):
711 (WebCore::ScrollableArea::overhangAmount):
712 (WebCore::ScrollableArea::didCompleteRubberBand):
713 Reorganize and de-virtualize live resize notifications.
715 * platform/mac/ScrollAnimatorMac.mm:
716 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
717 Call the new hook when the rubberband ends.
719 2011-02-02 Evan Martin <evan@chromium.org>
721 Reviewed by Tony Chang.
723 [chromium] complex joining characters positioned in wrong place
724 https://bugs.webkit.org/show_bug.cgi?id=53637
726 Provide the correct font metrics to Harfbuzz related to the font design space.
727 There are used in some fonts for GPOS positioning.
729 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
731 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
732 (WebCore::ComplexTextController::setupFontForScriptRun):
733 (WebCore::ComplexTextController::allocHarfbuzzFont):
734 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
735 (WebCore::FontPlatformData::FontPlatformData):
736 (WebCore::FontPlatformData::emSizeInFontUnits):
737 (WebCore::FontPlatformData::operator=):
738 * platform/graphics/chromium/FontPlatformDataLinux.h:
739 (WebCore::FontPlatformData::FontPlatformData):
741 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
743 Reviewed by Kent Tamura.
745 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
746 https://bugs.webkit.org/show_bug.cgi?id=53634
748 Test: fast/dom/HTMLInputElement/input-slider-update.html
750 * html/HTMLInputElement.cpp:
751 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
752 * html/InputType.cpp:
753 (WebCore::InputType::valueChanged): Added empty implementation.
754 * html/InputType.h: Added def.
755 * html/RangeInputType.cpp:
756 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
758 * html/RangeInputType.h: Added def.
760 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
762 Reviewed by Pavel Feldman.
764 Web Inspector: do not share source frames between resources panel and scripts panel.
765 https://bugs.webkit.org/show_bug.cgi?id=53584
767 Currently, we show error messages only for resources. This change will allow showing error
768 messages in source frame even when resource is not available (eval scripts, inlined scripts).
770 * inspector/front-end/ConsoleView.js:
771 (WebInspector.ConsoleView.prototype.addMessage):
772 (WebInspector.ConsoleView.prototype.clearMessages):
773 * inspector/front-end/ResourceView.js:
774 (WebInspector.ResourceView.recreateResourceView):
775 * inspector/front-end/ResourcesPanel.js:
776 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
777 * inspector/front-end/ScriptsPanel.js:
778 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
779 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
780 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
781 (WebInspector.ScriptsPanel.prototype.reset):
782 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
783 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
784 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
786 2011-02-03 Simon Fraser <simon.fraser@apple.com>
790 * platform/graphics/ShadowBlur.cpp:
791 (WebCore::ShadowBlur::blurLayerImage):
793 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
795 Reviewed by Pavel Feldman.
797 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
798 https://bugs.webkit.org/show_bug.cgi?id=53592
800 In JSC there is no limit, thus 'undefined' value is returned.
801 For V8, the limit reported by the VM is returned.
803 * Android.jscbindings.mk:
808 * WebCore.vcproj/WebCore.vcproj:
809 * WebCore.xcodeproj/project.pbxproj:
810 * bindings/js/JSBindingsAllInOne.cpp:
811 * bindings/js/JSMemoryInfoCustom.cpp: Added.
812 * bindings/js/ScriptGCEvent.cpp:
813 (WebCore::ScriptGCEvent::getHeapSize):
814 * bindings/js/ScriptGCEvent.h:
815 * bindings/v8/ScriptGCEvent.cpp:
816 (WebCore::ScriptGCEvent::getHeapSize):
817 * bindings/v8/ScriptGCEvent.h:
818 * inspector/InspectorTimelineAgent.cpp:
819 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
820 * page/MemoryInfo.cpp:
821 (WebCore::MemoryInfo::MemoryInfo):
823 (WebCore::MemoryInfo::jsHeapSizeLimit):
824 * page/MemoryInfo.idl:
826 2011-01-27 Philippe Normand <pnormand@igalia.com>
828 Reviewed by Martin Robinson.
830 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
831 https://bugs.webkit.org/show_bug.cgi?id=53125
833 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
834 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
836 2011-02-03 Simon Fraser <simon.fraser@apple.com>
838 Reviewed by Sam Weinig.
840 ShadowBlur radius for CSS shadows is slightly too big
841 https://bugs.webkit.org/show_bug.cgi?id=53660
843 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
844 shadows that extend further than the CSS "blur radius", which results
845 in the shadows being truncated.
847 Fix with a small fudge factor to reduce the kernel diameter slightly
850 Also more closely follow the algorithm described in the SVG spec
851 for computing the kernel size for different diameters, and clean up
852 some variable naming relating to the shadow bounds.
854 * platform/graphics/ShadowBlur.cpp:
855 (WebCore::ShadowBlur::blurLayerImage):
856 (WebCore::ShadowBlur::drawRectShadowWithTiling):
858 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
860 Reviewed by Pavel Feldman.
862 Web Inspector: introduce new api for managing JavaScript breakpoints.
863 https://bugs.webkit.org/show_bug.cgi?id=53235
865 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
866 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
867 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
869 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
870 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
872 * bindings/js/ScriptDebugServer.cpp:
873 (WebCore::ScriptDebugServer::setBreakpoint):
874 (WebCore::ScriptDebugServer::removeBreakpoint):
875 * bindings/js/ScriptDebugServer.h:
876 * bindings/v8/DebuggerScript.js:
878 * bindings/v8/ScriptDebugServer.cpp:
879 (WebCore::ScriptDebugServer::setBreakpoint):
880 * bindings/v8/ScriptDebugServer.h:
881 * inspector/Inspector.idl:
882 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
883 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
884 (WebCore::InspectorAgent::populateScriptObjects):
885 (WebCore::InspectorAgent::restoreDebugger):
886 (WebCore::InspectorAgent::showAndEnableDebugger):
887 (WebCore::InspectorAgent::enableDebugger):
888 * inspector/InspectorAgent.h:
889 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
890 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
891 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
892 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
893 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
894 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
895 (WebCore::InspectorDebuggerAgent::continueToLocation):
896 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
897 (WebCore::InspectorDebuggerAgent::getScriptSource):
898 (WebCore::InspectorDebuggerAgent::didParseSource):
899 (WebCore::InspectorDebuggerAgent::didPause):
900 * inspector/InspectorDebuggerAgent.h:
901 (WebCore::InspectorDebuggerAgent::Script::Script):
902 * inspector/InspectorValues.cpp:
903 (WebCore::InspectorValue::asNumber):
904 (WebCore::InspectorBasicValue::asNumber):
905 (WebCore::InspectorObject::remove):
906 * inspector/InspectorValues.h:
907 (WebCore::InspectorObject::getNumber):
908 (WebCore::InspectorObject::find):
909 * inspector/ScriptBreakpoint.h:
910 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
911 * inspector/front-end/Breakpoint.js:
912 (WebInspector.Breakpoint):
913 (WebInspector.Breakpoint.prototype.addLocation):
914 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
915 (WebInspector.BreakpointManager):
916 (WebInspector.BreakpointManager.prototype._projectChanged):
917 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
918 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
919 * inspector/front-end/BreakpointsSidebarPane.js:
920 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
921 * inspector/front-end/DebuggerModel.js:
922 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
923 * inspector/front-end/Script.js:
924 (WebInspector.Script.prototype.sourceLine):
925 * inspector/front-end/ScriptsPanel.js:
926 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
927 * inspector/front-end/Settings.js:
928 (WebInspector.Settings):
929 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
930 * inspector/front-end/inspector.js:
932 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
934 Reviewed by Dirk Schulze.
936 small text which is scaled to be large renders pixelated
937 https://bugs.webkit.org/show_bug.cgi?id=12448
939 SVG <text> with font-size smaller or equal to 1 does not paint correctly
940 https://bugs.webkit.org/show_bug.cgi?id=14242
942 misplaced text in SVG
943 https://bugs.webkit.org/show_bug.cgi?id=17053
945 Don't render very small (but zoomed) text inside SVG
946 https://bugs.webkit.org/show_bug.cgi?id=19393
948 Tiny fonts scaled up end up too large in Safari
949 https://bugs.webkit.org/show_bug.cgi?id=20192
951 Stretched SVG Text has awful glyph spacing
952 https://bugs.webkit.org/show_bug.cgi?id=21774
954 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
955 https://bugs.webkit.org/show_bug.cgi?id=49846
957 [Gtk] Text height in zoomed SVG is 1px too high
958 https://bugs.webkit.org/show_bug.cgi?id=50313
960 SVG text smaller than 0.5px not displayed properly
961 https://bugs.webkit.org/show_bug.cgi?id=50528
963 When rendering text, we're selecting a font with a size, as specified in the markup.
964 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
965 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
966 problem becomes apparent.
968 Consider following two snippets, which should render exactly the same:
969 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
970 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
972 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
973 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
974 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
976 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
977 remove any scaling from the context, draw the text using the scaled font size, then reapply
978 the context scale. This makes the example snippets above render exactly the same and fixes
979 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
980 internally, depending on the scale of the document, it's very important to use the new
981 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
983 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
984 svg/hixie/text/003.html (no more pixelation)
985 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
986 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
987 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
989 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
990 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
991 svg/text/scaled-font.svg (reduction from bug 12448)
992 svg/text/small-fonts-2.svg (reduction from bug 14242)
993 svg/text/small-fonts-3.svg (reduction from bug 17053)
994 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
995 svg/text/small-fonts.svg (reduction from bug 20192))
997 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
998 * rendering/svg/RenderSVGInlineText.h:
999 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1000 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1001 * rendering/svg/SVGInlineTextBox.h:
1002 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1003 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1004 * rendering/svg/SVGTextMetrics.h: Ditto.
1005 * rendering/svg/SVGTextQuery.cpp: Ditto.
1006 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1007 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1008 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1009 * svg/SVGTextPositioningElement.h:
1011 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1013 Reviewed by Yury Semikhatsky.
1015 Web Inspector: resources panel doesn't show frames after reload.
1016 https://bugs.webkit.org/show_bug.cgi?id=53430
1018 * inspector/front-end/ResourcesPanel.js:
1019 (WebInspector.ResourcesPanel.prototype.show):
1020 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1021 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1022 (WebInspector.ResourcesPanel.prototype.reset):
1023 (WebInspector.ResourcesPanel.prototype.clear):
1024 * inspector/front-end/inspector.js:
1025 (WebInspector.loadEventFired):
1027 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1029 Reviewed by Pavel Feldman.
1031 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1032 https://bugs.webkit.org/show_bug.cgi?id=53492
1034 * inspector/Inspector.idl:
1035 * inspector/InspectorCSSAgent.cpp:
1036 (WebCore::InspectorCSSAgent::getStylesForNode):
1037 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1038 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1039 (WebCore::InspectorCSSAgent::getAllStyles):
1040 (WebCore::InspectorCSSAgent::getStyleSheet):
1041 (WebCore::InspectorCSSAgent::getStyleSheetText):
1042 (WebCore::InspectorCSSAgent::setStyleSheetText):
1043 (WebCore::InspectorCSSAgent::setPropertyText):
1044 (WebCore::InspectorCSSAgent::toggleProperty):
1045 (WebCore::InspectorCSSAgent::setRuleSelector):
1046 (WebCore::InspectorCSSAgent::addRule):
1047 * inspector/InspectorCSSAgent.h:
1048 * inspector/front-end/AuditRules.js:
1049 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1050 * inspector/front-end/CSSStyleModel.js:
1051 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1052 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1053 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1054 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1055 (WebInspector.CSSStyleModel.prototype.addRule):
1056 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1057 (WebInspector.CSSStyleModel.prototype._onRevert):
1058 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1059 (WebInspector.CSSProperty.prototype.setText):
1060 (WebInspector.CSSProperty.prototype.setDisabled):
1061 (WebInspector.CSSStyleSheet.createForId):
1062 (WebInspector.CSSStyleSheet.prototype.setText):
1064 2011-02-03 Adam Barth <abarth@webkit.org>
1066 Reviewed by Daniel Bates.
1068 Teach XSSFilter about data URLs
1069 https://bugs.webkit.org/show_bug.cgi?id=53662
1071 The XSS filter doesn't really make sense for data URLs because
1072 everything in a "response" from a data URL was part of the request.
1074 Test: http/tests/security/xssAuditor/data-urls-work.html
1076 * html/parser/XSSFilter.cpp:
1077 (WebCore::XSSFilter::init):
1078 (WebCore::XSSFilter::filterToken):
1080 2011-02-02 Chris Evans <cevans@chromium.org>
1082 Reviewed by Darin Fisher.
1084 window.find() can fail when switching case sensitivity
1085 https://bugs.webkit.org/show_bug.cgi?id=53654
1087 Reset the pattern to a safe one when done, to avoid usearch_reset()
1088 indirectly touching the old, stale text pointer.
1090 Test: fast/text/find-window.html
1092 * editing/TextIterator.cpp:
1093 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1095 2011-02-02 Adam Barth <abarth@webkit.org>
1097 Reviewed by Daniel Bates.
1099 Teach XSSFilter that <param> elements can contain URLs
1100 https://bugs.webkit.org/show_bug.cgi?id=53652
1102 When loading plugins for the <object> tag, we're "smart" enough to
1103 reach into the <param> elements and pull out the URL in some cases.
1104 This patch teaches the XSSFilter how to block injections into those
1105 sorts of param elements.
1108 http/tests/security/xssAuditor/object-*
1110 * html/HTMLParamElement.cpp:
1111 (WebCore::HTMLParamElement::isURLParameter):
1112 (WebCore::HTMLParamElement::isURLAttribute):
1113 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1114 * html/HTMLParamElement.h:
1115 - Add a helper function so that HTMLParamElement can share the
1116 ground truth for these names with the XSSFilter.
1117 * html/parser/XSSFilter.cpp:
1118 (WebCore::XSSFilter::filterTokenInitial):
1119 (WebCore::XSSFilter::filterParamToken):
1120 * html/parser/XSSFilter.h:
1122 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1124 Reviewed by David Levin.
1126 GCC compiler on ARM issues bogus warnings and fails to compile.
1127 https://bugs.webkit.org/show_bug.cgi?id=53620
1129 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1130 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1132 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1134 The fix is to add an extra condition, which somehow pacifies the compiler.
1136 * css/CSSPrimitiveValue.cpp:
1137 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1139 2011-02-02 Adam Barth <abarth@webkit.org>
1141 Reviewed by Daniel Bates.
1143 Teach XSSFilter about X-XSS-Protection
1144 https://bugs.webkit.org/show_bug.cgi?id=53640
1146 This patch causes us to pass:
1147 http/tests/security/xssAuditor/full-block-*
1148 http/tests/security/xssAuditor/no-protection-script-tag.html
1150 * html/parser/XSSFilter.cpp:
1151 (WebCore::XSSFilter::XSSFilter):
1152 (WebCore::XSSFilter::init):
1153 (WebCore::XSSFilter::filterToken):
1154 * html/parser/XSSFilter.h:
1156 2011-02-02 Adam Barth <abarth@webkit.org>
1158 Reviewed by Daniel Bates.
1160 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1161 instead of the empty string
1162 https://bugs.webkit.org/show_bug.cgi?id=53643
1164 In a URL context, the empty string completes to the URL of the current
1165 page, which causes these tests to go into an infinite loop. Instead,
1166 we should use a "safe" JavaScript URL that does nothing.
1169 http/tests/security/xssAuditor/javascript-link*
1171 * html/parser/XSSFilter.cpp:
1172 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1174 2011-02-02 Dan Bernstein <mitz@apple.com>
1176 Reviewed by Sam Weinig.
1178 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1179 https://bugs.webkit.org/show_bug.cgi?id=44942
1181 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1183 * platform/text/BidiResolver.h:
1184 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1185 a change to embedding levels.
1186 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1187 the explicit embedding sequence, then runs were not added, and we should continue normally.
1189 2011-02-02 Sam Weinig <sam@webkit.org>
1191 Reviewed by Dan Bernstein.
1193 Fix miscalculation of the overhang area used for painting. We were
1194 not correctly accounting for scrollbars resulting in an non-negative
1195 overhang even when we weren't over the edge.
1197 * platform/ScrollView.cpp:
1198 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1200 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1202 Reviewed by Nate Chapin.
1204 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1205 https://bugs.webkit.org/show_bug.cgi?id=52722
1207 The solution is to change ScriptExecutionContext's destructor to iterate over
1208 the list in a way that handles the mutations. This new method is destructive,
1209 but that's OK since the object is going away. I've also added a several asserts.
1211 There should be no behavior change.
1213 * dom/ScriptExecutionContext.cpp:
1214 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1215 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1216 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1217 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1218 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1219 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1220 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1221 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1222 * dom/ScriptExecutionContext.h:
1223 * storage/IDBTransaction.cpp:
1224 (WebCore::IDBTransaction::contextDestroyed):
1225 * storage/IDBTransaction.h:
1227 2011-02-02 Mark Rowe <mrowe@apple.com>
1231 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1232 * platform/mac/ScrollbarThemeMac.mm:
1233 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1234 up in the HashMap rather than relying on a local variable that doesn't
1237 2011-02-02 Adam Barth <abarth@webkit.org>
1239 Reviewed by Daniel Bates.
1241 Teach XSSFilter about JavaScript URLs
1242 https://bugs.webkit.org/show_bug.cgi?id=53635
1244 This patch teaches the XSSFilter to check for JavaScript URLs in
1245 attribute values. If this approach has too many false positives, we
1246 can restrict which attribute names we examine.
1249 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1250 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1251 http/tests/security/xssAuditor/iframe-javascript-url*
1253 * html/parser/XSSFilter.cpp:
1254 (WebCore::HTMLNames::containsJavaScriptURL):
1255 (WebCore::XSSFilter::filterTokenInitial):
1256 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1257 * html/parser/XSSFilter.h:
1259 2011-02-02 Dan Bernstein <mitz@apple.com>
1261 Reviewed by Sam Weinig, even though this is just a...
1265 * platform/mac/ScrollAnimatorMac.mm:
1266 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1268 2011-02-02 Mark Rowe <mrowe@apple.com>
1270 Reviewed by Beth Dakin.
1272 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1274 We need to ensure that we remove ourselves as the delegates of objects when we're going
1275 away as failing to do this can lead to crashes if the lifetime of the other objects
1276 is longer than ours.
1278 * platform/mac/ScrollAnimatorMac.mm:
1279 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1280 * platform/mac/ScrollbarThemeMac.mm:
1281 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1283 2011-02-02 Beth Dakin <bdakin@apple.com>
1289 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1291 Unreviewed WinCE build fix for r77397.
1293 * page/wince/FrameWinCE.cpp:
1294 (WebCore::computePageRectsForFrame):
1296 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1298 Unreviewed WinCE build fix for r77398.
1300 * platform/graphics/wince/PlatformPathWinCE.cpp:
1301 (WebCore::containsPoint):
1302 (WebCore::inflateRectToContainPoint):
1303 (WebCore::PlatformPath::addRect):
1304 * platform/graphics/wince/SharedBitmap.cpp:
1305 (WebCore::SharedBitmap::drawPattern):
1306 * rendering/RenderThemeWinCE.cpp:
1307 (WebCore::RenderThemeWinCE::paintMenuListButton):
1308 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1309 (WebCore::RenderThemeWinCE::paintSliderTrack):
1310 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1311 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1312 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1313 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1315 2011-02-02 Jian Li <jianli@chromium.org>
1317 Reviewed by Kenneth Russell.
1319 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1320 https://bugs.webkit.org/show_bug.cgi?id=53559
1322 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1324 * html/canvas/DataView.h:
1325 (WebCore::DataView::beyondRange):
1327 2011-02-02 Sam Weinig <sam@webkit.org>
1329 Reviewed by Beth Dakin.
1331 Add ChromeClient function to paint custom overhang areas.
1332 https://bugs.webkit.org/show_bug.cgi?id=53639
1335 (WebCore::ChromeClient::paintCustomOverhangArea):
1336 * page/ChromeClient.h:
1337 Add ChromeClient function.
1339 * page/FrameView.cpp:
1340 (WebCore::FrameView::paintOverhangAreas):
1342 Call out the the ChromeClient, call ScrollView base implementation
1343 if the ChromeClient returns false.
1345 * platform/ScrollView.cpp:
1346 (WebCore::ScrollView::paintOverhangAreas):
1347 * platform/ScrollView.h:
1348 Add dirty rect for use when painting overhang areas.
1350 2011-02-02 Peter Kasting <pkasting@google.com>
1352 Not reviewed, build fix.
1354 Fix compile after r77427.
1355 https://bugs.webkit.org/show_bug.cgi?id=53455
1357 * platform/graphics/qt/ImageDecoderQt.cpp:
1358 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1359 * platform/image-decoders/ImageDecoder.cpp:
1360 (WebCore::ImageFrame::operator=):
1361 * platform/image-decoders/bmp/BMPImageReader.cpp:
1362 (WebCore::BMPImageReader::decodeBMP):
1363 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1364 (WebCore::JPEGImageDecoder::outputScanlines):
1365 * platform/image-decoders/png/PNGImageDecoder.cpp:
1366 (WebCore::PNGImageDecoder::rowAvailable):
1367 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1368 (WebCore::WEBPImageDecoder::decode):
1370 2011-02-02 Peter Kasting <pkasting@google.com>
1372 Reviewed by David Levin.
1374 Clean up ImageDecoder's comments (remove/trim/clarify).
1375 https://bugs.webkit.org/show_bug.cgi?id=53455
1377 This also renames or eliminates a couple of functions for clarity, and
1378 switches a couple erroneous strncmp() calls to memcmp().
1380 * platform/image-decoders/ImageDecoder.cpp:
1381 (WebCore::ImageDecoder::create):
1382 (WebCore::ImageFrame::clearPixelData):
1383 (WebCore::ImageFrame::zeroFillPixelData):
1384 (WebCore::ImageFrame::setSize):
1385 * platform/image-decoders/ImageDecoder.h:
1386 (WebCore::ImageFrame::originalFrameRect):
1387 (WebCore::ImageFrame::setOriginalFrameRect):
1388 (WebCore::ImageDecoder::ImageDecoder):
1389 (WebCore::ImageDecoder::~ImageDecoder):
1390 (WebCore::ImageDecoder::isSizeAvailable):
1391 (WebCore::ImageDecoder::size):
1392 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1393 (WebCore::ImageDecoder::clearFrameBufferCache):
1394 (WebCore::ImageDecoder::isOverSize):
1395 * platform/image-decoders/bmp/BMPImageReader.cpp:
1396 (WebCore::BMPImageReader::processNonRLEData):
1397 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1398 (WebCore::ImageFrame::setSize):
1399 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1400 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1401 (WebCore::GIFImageDecoder::frameComplete):
1402 (WebCore::GIFImageDecoder::initFrameBuffer):
1403 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1404 * platform/image-decoders/qt/ImageFrameQt.cpp:
1405 (WebCore::ImageFrame::operator=):
1406 (WebCore::ImageFrame::clearPixelData):
1407 (WebCore::ImageFrame::zeroFillPixelData):
1408 (WebCore::ImageFrame::setSize):
1409 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1410 (WebCore::ImageFrame::operator=):
1411 (WebCore::ImageFrame::clearPixelData):
1412 (WebCore::ImageFrame::zeroFillPixelData):
1413 (WebCore::ImageFrame::setSize):
1414 * platform/image-decoders/webp/WEBPImageDecoder.h:
1416 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1418 [chromium] Adding support for reflections to the accelerated
1420 https://bugs.webkit.org/show_bug.cgi?id=53179
1422 All layout tests in compositing/reflections generate correct
1423 results with the exception of:
1424 1. nested-reflection-anchor-point.html : There appears to be
1425 some issue with the layer transform math that I haven't been
1426 able to track down yet.
1427 2. reflection-opacity.html : The current implementation applies
1428 opacity before doing the reflection which makes this test
1429 produce incorrect results. This will affect reflected layers
1430 with opacity that overlap their original layer. FIXME comment
1433 Tests: Covered by existing layout tests in compositing/reflections.
1434 Please see above for exceptions.
1436 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1437 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1438 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1439 * platform/graphics/chromium/GraphicsLayerChromium.h:
1440 * platform/graphics/chromium/LayerChromium.cpp:
1441 (WebCore::LayerChromium::LayerChromium):
1442 * platform/graphics/chromium/LayerChromium.h:
1443 (WebCore::LayerChromium::setReplicaLayer):
1444 (WebCore::LayerChromium::replicaLayer):
1445 * platform/graphics/chromium/LayerRendererChromium.cpp:
1446 (WebCore::LayerRendererChromium::updateLayersRecursive):
1447 (WebCore::LayerRendererChromium::drawLayer):
1448 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1449 (WebCore::RenderSurfaceChromium::drawableContentRect):
1450 (WebCore::RenderSurfaceChromium::drawSurface):
1451 (WebCore::RenderSurfaceChromium::draw):
1452 * platform/graphics/chromium/RenderSurfaceChromium.h:
1453 (WebCore::RenderSurfaceChromium::drawTransform):
1455 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1457 Reviewed by Tony Chang.
1459 [Chromium] Select popup with padding has white strip on right
1460 https://bugs.webkit.org/show_bug.cgi?id=53602
1462 No new tests as this change restores old behavior.
1464 * platform/chromium/PopupMenuChromium.cpp:
1465 (WebCore::PopupListBox::layout):
1467 2011-02-02 Beth Dakin <bdakin@apple.com>
1469 Reviewed by Mark Rowe.
1471 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1472 1 crash in WebProcess at com.apple.WebCore:
1473 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1475 It is possible for a Scrollbar's ScrollableArea to be null,
1476 so we must null check.
1477 * platform/mac/ScrollbarThemeMac.mm:
1478 (WebCore::ScrollbarThemeMac::registerScrollbar):
1479 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1481 2011-02-02 Zhenyao Mo <zmo@google.com>
1483 Reviewed by Kenneth Russell.
1485 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1486 https://bugs.webkit.org/show_bug.cgi?id=53626
1488 * html/canvas/WebGLRenderingContext.cpp:
1489 (WebCore::WebGLRenderingContext::bufferData):
1490 (WebCore::WebGLRenderingContext::bufferSubData):
1492 2011-02-02 Jeff Miller <jeffm@apple.com>
1494 Reviewed by Darin Adler and Steve Falkenburg.
1496 Add DerivedSources.make to some Visual Studio projects
1497 https://bugs.webkit.org/show_bug.cgi?id=53607
1499 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1501 2011-02-02 Cris Neckar <cdn@chromium.org>
1503 Reviewed by James Robinson.
1505 Refcount domwindows when dispatching device orientation events.
1506 https://bugs.webkit.org/show_bug.cgi?id=53623
1508 Test: fast/events/device-orientation-crash.html
1510 * dom/DeviceMotionController.cpp:
1511 (WebCore::DeviceMotionController::timerFired):
1512 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1513 * dom/DeviceMotionController.h:
1514 * dom/DeviceOrientationController.cpp:
1515 (WebCore::DeviceOrientationController::timerFired):
1516 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1517 * dom/DeviceOrientationController.h:
1519 2011-02-02 Zhenyao Mo <zmo@google.com>
1521 Reviewed by Kenneth Russell.
1523 A deleted object should never been bound again
1524 https://bugs.webkit.org/show_bug.cgi?id=53604
1526 * html/canvas/WebGLRenderingContext.cpp:
1527 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1528 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1529 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1530 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1531 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1532 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1533 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1534 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1535 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1536 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1537 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1538 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1539 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1540 * html/canvas/WebGLRenderingContext.h:
1541 * html/canvas/WebGLTexture.h:
1542 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1544 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1546 Unreviewed Efl buildfix after r77399.
1548 * CMakeListsEfl.txt:
1550 2011-02-02 Kenneth Russell <kbr@google.com>
1552 Reviewed by James Robinson.
1554 Rename Typed Array subset to subarray
1555 https://bugs.webkit.org/show_bug.cgi?id=53618
1557 * html/canvas/Float32Array.cpp:
1558 (WebCore::Float32Array::subarray):
1559 * html/canvas/Float32Array.h:
1560 * html/canvas/Float32Array.idl:
1561 * html/canvas/Int16Array.cpp:
1562 (WebCore::Int16Array::subarray):
1563 * html/canvas/Int16Array.h:
1564 * html/canvas/Int16Array.idl:
1565 * html/canvas/Int32Array.cpp:
1566 (WebCore::Int32Array::subarray):
1567 * html/canvas/Int32Array.h:
1568 * html/canvas/Int32Array.idl:
1569 * html/canvas/Int8Array.cpp:
1570 (WebCore::Int8Array::subarray):
1571 * html/canvas/Int8Array.h:
1572 * html/canvas/Int8Array.idl:
1573 * html/canvas/TypedArrayBase.h:
1574 (WebCore::TypedArrayBase::subarrayImpl):
1575 * html/canvas/Uint16Array.cpp:
1576 (WebCore::Uint16Array::subarray):
1577 * html/canvas/Uint16Array.h:
1578 * html/canvas/Uint16Array.idl:
1579 * html/canvas/Uint32Array.cpp:
1580 (WebCore::Uint32Array::subarray):
1581 * html/canvas/Uint32Array.h:
1582 * html/canvas/Uint32Array.idl:
1583 * html/canvas/Uint8Array.cpp:
1584 (WebCore::Uint8Array::subarray):
1585 * html/canvas/Uint8Array.h:
1586 * html/canvas/Uint8Array.idl:
1588 2011-02-02 Adam Barth <abarth@webkit.org>
1590 Reviewed by Eric Seidel.
1592 Add an empty file for Content Security Policy
1593 https://bugs.webkit.org/show_bug.cgi?id=53573
1595 Posting this as a separate patch because editing the build files is so
1603 * WebCore.vcproj/WebCore.vcproj:
1604 * WebCore.xcodeproj/project.pbxproj:
1606 2011-02-02 Dan Winship <danw@gnome.org>
1608 Reviewed by Martin Robinson.
1610 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1612 https://bugs.webkit.org/show_bug.cgi?id=50885
1614 * platform/network/soup/ResourceHandleSoup.cpp:
1615 (WebCore::sendRequestCallback): Do content-type sniffing here for
1617 (WebCore::startHTTPRequest): Rename to match WebKit style.
1618 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1619 startNonHTTPRequest, letting the SoupRequester decide whether it's
1621 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1622 code that was a no-op for file: URIs, but would break some data:
1625 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1627 Update even more references to right() and bottom() in Chromium. Sheesh.
1629 * platform/graphics/chromium/LayerRendererChromium.cpp:
1630 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1632 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1634 Unreviewed Gtk3 buildfix after r77286.
1636 https://bugs.webkit.org/show_bug.cgi?id=53520
1637 Remove the physical terminology from IntRect and FloatRect.
1639 * platform/gtk/RenderThemeGtk3.cpp:
1640 (WebCore::RenderThemeGtk::paintMenuList):
1642 2011-02-02 Anders Carlsson <andersca@apple.com>
1646 * platform/mac/ScrollAnimatorMac.mm:
1647 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1649 2011-02-02 David Hyatt <hyatt@apple.com>
1651 Reviewed by Dan Bernstein.
1653 https://bugs.webkit.org/show_bug.cgi?id=53619
1655 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1656 with maxX/maxY. This matches IntRect.
1658 * rendering/RenderBlock.cpp:
1659 (WebCore::RenderBlock::addOverflowFromFloats):
1660 (WebCore::RenderBlock::flipFloatForWritingMode):
1661 (WebCore::RenderBlock::paintFloats):
1662 (WebCore::RenderBlock::selectionGaps):
1663 (WebCore::RenderBlock::addOverhangingFloats):
1664 (WebCore::RenderBlock::addIntrudingFloats):
1665 (WebCore::RenderBlock::hitTestFloats):
1666 (WebCore::RenderBlock::adjustForBorderFit):
1667 * rendering/RenderBlock.h:
1668 (WebCore::RenderBlock::FloatingObject::x):
1669 (WebCore::RenderBlock::FloatingObject::maxX):
1670 (WebCore::RenderBlock::FloatingObject::y):
1671 (WebCore::RenderBlock::FloatingObject::maxY):
1672 (WebCore::RenderBlock::FloatingObject::setX):
1673 (WebCore::RenderBlock::FloatingObject::setY):
1674 (WebCore::RenderBlock::logicalTopForFloat):
1675 (WebCore::RenderBlock::logicalBottomForFloat):
1676 (WebCore::RenderBlock::logicalLeftForFloat):
1677 (WebCore::RenderBlock::logicalRightForFloat):
1678 (WebCore::RenderBlock::setLogicalTopForFloat):
1679 (WebCore::RenderBlock::setLogicalLeftForFloat):
1680 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1681 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1683 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1685 Update more references to right() and bottom() in Chromium Win.
1687 * platform/graphics/chromium/TransparencyWin.cpp:
1688 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1689 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1690 * rendering/RenderThemeChromiumWin.cpp:
1691 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1693 2011-02-02 Adam Roben <aroben@apple.com>
1695 Encode/decode FormData and FormDataElement objects consistently
1697 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1698 that contains form data fails (asserts in Debug build)
1700 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1701 now, even though we don't have an automated test for it yet. Writing a test is covered by
1702 <http://webkit.org/b/53616>.
1704 Reviewed by Darin Adler.
1706 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1709 * platform/network/FormData.cpp:
1710 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1711 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1712 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1713 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1714 to correctly set the FormDataElement's type based on this decoded type later in the
1716 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1717 matches its type and how we decode it.
1719 2011-02-02 Dan Winship <danw@gnome.org>
1721 Reviewed by Martin Robinson.
1723 [GTK] drop soup cache stuff, which has been moved to libsoup
1724 https://bugs.webkit.org/show_bug.cgi?id=50747
1726 Use libsoup-based cache/requester API and remove the WebCore version
1727 of this functionality. This has been pushed upstream fully.
1729 No new tests because this should not change functionality.
1731 * GNUmakefile.am: Update for removed files.
1732 * platform/network/ResourceHandleInternal.h:
1733 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1734 type names, drop m_requester.
1735 * platform/network/soup/ResourceHandleSoup.cpp:
1736 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1738 (WebCore::parseDataUrl):
1739 (WebCore::startHttp): Get the requester from the session rather
1740 than using m_requester.
1741 (WebCore::sendRequestCallback):
1742 (WebCore::ResourceHandle::platformSetDefersLoading):
1743 (WebCore::readCallback):
1744 (WebCore::startGio): Update type names.
1745 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1746 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1747 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1748 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1749 * platform/network/soup/cache/soup-request-data.c: Removed.
1750 * platform/network/soup/cache/soup-request-data.h: Removed.
1751 * platform/network/soup/cache/soup-request-file.c: Removed.
1752 * platform/network/soup/cache/soup-request-file.h: Removed.
1753 * platform/network/soup/cache/soup-request-http.c: Removed.
1754 * platform/network/soup/cache/soup-request-http.h: Removed.
1755 * platform/network/soup/cache/soup-request.c: Removed.
1756 * platform/network/soup/cache/soup-request.h: Removed.
1757 * platform/network/soup/cache/soup-requester.c: Removed.
1758 * platform/network/soup/cache/soup-requester.h: Removed.
1759 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1760 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1761 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1763 2011-02-02 David Hyatt <hyatt@apple.com>
1765 Reviewed by Darin Adler.
1767 https://bugs.webkit.org/show_bug.cgi?id=53520
1769 Remove physical accessors from IntRect and FloatRect.
1771 * page/FrameView.cpp:
1772 (WebCore::FrameView::adjustPageHeightDeprecated):
1773 * platform/graphics/FloatRect.h:
1774 * platform/graphics/IntRect.h:
1776 2011-02-02 David Hyatt <hyatt@apple.com>
1778 Reviewed by Dan Bernstein.
1780 https://bugs.webkit.org/show_bug.cgi?id=53614
1782 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1784 * rendering/InlineFlowBox.cpp:
1785 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1786 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1787 * rendering/InlineFlowBox.h:
1788 (WebCore::InlineFlowBox::minYLayoutOverflow):
1789 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1790 (WebCore::InlineFlowBox::minXLayoutOverflow):
1791 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1792 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1793 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1794 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1795 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1796 (WebCore::InlineFlowBox::minYVisualOverflow):
1797 (WebCore::InlineFlowBox::maxYVisualOverflow):
1798 (WebCore::InlineFlowBox::minXVisualOverflow):
1799 (WebCore::InlineFlowBox::maxXVisualOverflow):
1800 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1801 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1802 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1803 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1804 * rendering/RenderBlock.cpp:
1805 (WebCore::RenderBlock::adjustLinePositionForPagination):
1806 * rendering/RenderBlockLineLayout.cpp:
1807 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1808 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1809 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1810 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1811 * rendering/RenderBox.cpp:
1812 (WebCore::RenderBox::scrollWidth):
1813 (WebCore::RenderBox::scrollHeight):
1814 * rendering/RenderBox.h:
1815 (WebCore::RenderBox::minYLayoutOverflow):
1816 (WebCore::RenderBox::maxYLayoutOverflow):
1817 (WebCore::RenderBox::minXLayoutOverflow):
1818 (WebCore::RenderBox::maxXLayoutOverflow):
1819 (WebCore::RenderBox::logicalLeftLayoutOverflow):
1820 (WebCore::RenderBox::logicalRightLayoutOverflow):
1821 (WebCore::RenderBox::minYVisualOverflow):
1822 (WebCore::RenderBox::maxYVisualOverflow):
1823 (WebCore::RenderBox::minXVisualOverflow):
1824 (WebCore::RenderBox::maxXVisualOverflow):
1825 (WebCore::RenderBox::logicalLeftVisualOverflow):
1826 (WebCore::RenderBox::logicalRightVisualOverflow):
1827 * rendering/RenderInline.cpp:
1828 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1829 * rendering/RenderLayerCompositor.cpp:
1830 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1831 * rendering/RenderLineBoxList.cpp:
1832 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1833 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1834 (WebCore::RenderLineBoxList::paint):
1835 (WebCore::RenderLineBoxList::hitTest):
1836 * rendering/RenderMarquee.cpp:
1837 (WebCore::RenderMarquee::computePosition):
1838 * rendering/RenderOverflow.h:
1839 (WebCore::RenderOverflow::RenderOverflow):
1840 (WebCore::RenderOverflow::minYLayoutOverflow):
1841 (WebCore::RenderOverflow::maxYLayoutOverflow):
1842 (WebCore::RenderOverflow::minXLayoutOverflow):
1843 (WebCore::RenderOverflow::maxXLayoutOverflow):
1844 (WebCore::RenderOverflow::minYVisualOverflow):
1845 (WebCore::RenderOverflow::maxYVisualOverflow):
1846 (WebCore::RenderOverflow::minXVisualOverflow):
1847 (WebCore::RenderOverflow::maxXVisualOverflow):
1848 (WebCore::RenderOverflow::setminYVisualOverflow):
1849 (WebCore::RenderOverflow::visualOverflowRect):
1850 (WebCore::RenderOverflow::move):
1851 (WebCore::RenderOverflow::addVisualOverflow):
1852 (WebCore::RenderOverflow::setVisualOverflow):
1853 * rendering/RenderReplaced.cpp:
1854 (WebCore::RenderReplaced::shouldPaint):
1855 * rendering/RenderTable.cpp:
1856 (WebCore::RenderTable::layout):
1857 (WebCore::RenderTable::paint):
1858 * rendering/RenderTableCell.cpp:
1859 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1860 * rendering/RenderTreeAsText.cpp:
1861 (WebCore::writeLayers):
1862 * rendering/RenderView.cpp:
1863 (WebCore::RenderView::docTop):
1865 2011-02-02 Steve Lacey <sjl@chromium.org>
1867 Reviewed by Eric Carlson.
1869 Implement basic media statistics on media elements.
1870 https://bugs.webkit.org/show_bug.cgi?id=53322
1872 * Configurations/FeatureDefines.xcconfig:
1875 * html/HTMLMediaElement.cpp:
1876 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1877 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1878 * html/HTMLMediaElement.h:
1879 * html/HTMLMediaElement.idl:
1880 * html/HTMLVideoElement.cpp:
1881 (WebCore::HTMLVideoElement::webkitDecodedFrames):
1882 (WebCore::HTMLVideoElement::webkitDroppedFrames):
1883 * html/HTMLVideoElement.h:
1884 * html/HTMLVideoElement.idl:
1885 * platform/graphics/MediaPlayer.cpp:
1886 (WebCore::MediaPlayer::decodedFrames):
1887 (WebCore::MediaPlayer::droppedFrames):
1888 (WebCore::MediaPlayer::audioBytesDecoded):
1889 (WebCore::MediaPlayer::videoBytesDecoded):
1890 * platform/graphics/MediaPlayer.h:
1891 * platform/graphics/MediaPlayerPrivate.h:
1892 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1893 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1894 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1895 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1897 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
1899 Reviewed by David Hyatt.
1901 More conversion from right()/bottom() to maxX()/maxY().
1903 * page/qt/FrameQt.cpp:
1904 (WebCore::Frame::dragImageForSelection):
1905 * platform/graphics/qt/GraphicsContextQt.cpp:
1906 (WebCore::GraphicsContext::roundToDevicePixels):
1908 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
1910 [wx] Build fixes for wxWebKit.
1912 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1914 * bindings/scripts/CodeGeneratorCPP.pm:
1915 * page/wx/DragControllerWx.cpp:
1916 (WebCore::DragController::dragOperation):
1917 * platform/graphics/wx/FontCustomPlatformData.h:
1918 * platform/graphics/wx/FontPlatformData.h:
1919 (WebCore::FontPlatformData::widthVariant):
1920 * platform/graphics/wx/FontPlatformDataWx.cpp:
1921 (WebCore::FontPlatformData::computeHash):
1922 * platform/graphics/wx/FontWx.cpp:
1923 * platform/graphics/wx/GraphicsContextWx.cpp:
1924 (WebCore::GraphicsContext::fillPath):
1925 (WebCore::GraphicsContext::strokePath):
1926 * platform/wx/RenderThemeWx.cpp:
1928 2011-02-02 David Hyatt <hyatt@apple.com>
1930 Reviewed by Darin Adler.
1932 More right()/bottom() to maxX()/maxY() conversion.
1934 * page/chromium/FrameChromium.cpp:
1935 (WebCore::Frame::nodeImage):
1936 (WebCore::Frame::dragImageForSelection):
1938 2011-02-02 Sam Weinig <sam@webkit.org>
1940 Fix windows clean build.
1942 * DerivedSources.make:
1944 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
1946 Reviewed by Pavel Feldman.
1948 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1950 https://bugs.webkit.org/show_bug.cgi?id=53606
1952 Display progress while taking a snapshot, and hints while loading
1953 and parsing. This is needed because taking detailed heap snapshots
1956 * English.lproj/localizedStrings.js:
1957 * inspector/front-end/DetailedHeapshotView.js:
1958 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1959 * inspector/front-end/ProfilesPanel.js:
1960 (WebInspector.ProfilesPanel.prototype._reset):
1961 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1962 (WebInspector.ProfilesPanel.prototype.getProfiles):
1963 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1964 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1965 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1966 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1967 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1968 * inspector/front-end/SidebarTreeElement.js:
1969 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1971 2011-02-02 David Hyatt <hyatt@apple.com>
1973 Reviewed by Darin Adler.
1975 More conversion from right()/bottom() to maxX()/maxY().
1977 * platform/win/PopupMenuWin.cpp:
1978 (WebCore::PopupMenuWin::calculatePositionAndSize):
1979 (WebCore::PopupMenuWin::paint):
1981 2011-02-02 David Hyatt <hyatt@apple.com>
1983 Reviewed by Darin Adler.
1985 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
1987 * platform/chromium/PopupMenuChromium.cpp:
1988 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1989 (WebCore::PopupListBox::scrollToRevealRow):
1990 (WebCore::PopupListBox::layout):
1991 * platform/graphics/FloatRect.h:
1992 * platform/graphics/IntRect.h:
1993 * platform/graphics/cairo/ImageBufferCairo.cpp:
1994 (WebCore::getImageData):
1995 (WebCore::putImageData):
1996 * platform/graphics/chromium/GLES2Canvas.cpp:
1997 (WebCore::GLES2Canvas::drawTexturedRect):
1998 * platform/graphics/chromium/LayerRendererChromium.cpp:
1999 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2000 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2001 (WebCore::LayerRendererChromium::setScissorToRect):
2002 (WebCore::LayerRendererChromium::setDrawViewportRect):
2003 * platform/graphics/chromium/LayerTilerChromium.cpp:
2004 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2005 (WebCore::LayerTilerChromium::growLayerToContain):
2006 * platform/graphics/gpu/TilingData.cpp:
2007 (WebCore::TilingData::tileBoundsWithBorder):
2008 (WebCore::TilingData::overlappedTileIndices):
2009 * platform/graphics/qt/ImageBufferQt.cpp:
2010 (WebCore::getImageData):
2011 (WebCore::putImageData):
2012 * platform/graphics/skia/FloatRectSkia.cpp:
2013 (WebCore::FloatRect::operator SkRect):
2014 * platform/graphics/skia/ImageBufferSkia.cpp:
2015 (WebCore::getImageData):
2016 (WebCore::putImageData):
2017 * platform/graphics/skia/IntRectSkia.cpp:
2018 (WebCore::IntRect::operator SkIRect):
2019 (WebCore::IntRect::operator SkRect):
2020 * platform/graphics/skia/PlatformContextSkia.cpp:
2021 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2022 * platform/graphics/win/GraphicsContextWin.cpp:
2023 (WebCore::GraphicsContextPlatformPrivate::clip):
2024 * platform/graphics/win/IntRectWin.cpp:
2025 (WebCore::IntRect::operator RECT):
2026 * platform/graphics/win/UniscribeController.cpp:
2027 (WebCore::UniscribeController::shapeAndPlaceItem):
2028 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2029 (WebCore::roundRect):
2031 (WebCore::TransparentLayerDC::TransparentLayerDC):
2032 (WebCore::GraphicsContext::drawRect):
2033 (WebCore::GraphicsContext::drawEllipse):
2034 (WebCore::GraphicsContext::strokeArc):
2035 (WebCore::GraphicsContext::clip):
2036 (WebCore::GraphicsContext::clipOut):
2037 (WebCore::GraphicsContext::strokeRect):
2038 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2039 (WebCore::GIFImageDecoder::initFrameBuffer):
2040 * platform/win/PopupMenuWin.cpp:
2041 (WebCore::PopupMenuWin::calculatePositionAndSize):
2042 (WebCore::PopupMenuWin::paint):
2043 * plugins/win/PluginViewWin.cpp:
2044 (WebCore::PluginView::updatePluginWidget):
2045 (WebCore::PluginView::invalidateRect):
2046 * rendering/RenderThemeSafari.cpp:
2047 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2048 (WebCore::RenderThemeSafari::paintMenuListButton):
2049 (WebCore::RenderThemeSafari::paintSliderTrack):
2050 * rendering/RenderThemeWin.cpp:
2051 (WebCore::RenderThemeWin::paintInnerSpinButton):
2052 (WebCore::RenderThemeWin::paintMenuListButton):
2054 2011-02-02 Antti Koivisto <antti@apple.com>
2056 Reviewed by Maciej Stachowiak.
2058 Use Vector instead of a linked list for rules in CSSStyleSelector
2059 https://bugs.webkit.org/show_bug.cgi?id=53581
2061 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2062 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2063 (these are selector internal classes, CSS prefix is better reserved for public ones).
2065 - shrink the vectors to fit after collecting the rules
2067 * css/CSSStyleSelector.cpp:
2068 (WebCore::RuleData::RuleData):
2069 (WebCore::RuleData::position):
2070 (WebCore::RuleData::rule):
2071 (WebCore::RuleData::selector):
2072 (WebCore::RuleSet::disableAutoShrinkToFit):
2073 (WebCore::RuleSet::getIDRules):
2074 (WebCore::RuleSet::getClassRules):
2075 (WebCore::RuleSet::getTagRules):
2076 (WebCore::RuleSet::getPseudoRules):
2077 (WebCore::RuleSet::getUniversalRules):
2078 (WebCore::RuleSet::getPageRules):
2079 (WebCore::collectSiblingRulesInDefaultStyle):
2080 (WebCore::CSSStyleSelector::CSSStyleSelector):
2081 (WebCore::loadFullDefaultStyle):
2082 (WebCore::loadSimpleDefaultStyle):
2083 (WebCore::loadViewSourceStyle):
2084 (WebCore::CSSStyleSelector::matchRules):
2085 (WebCore::CSSStyleSelector::matchRulesForList):
2086 (WebCore::operator >):
2087 (WebCore::operator <=):
2088 (WebCore::CSSStyleSelector::sortMatchedRules):
2089 (WebCore::CSSStyleSelector::matchUARules):
2090 (WebCore::RuleSet::RuleSet):
2091 (WebCore::RuleSet::~RuleSet):
2092 (WebCore::RuleSet::addToRuleSet):
2093 (WebCore::RuleSet::addRule):
2094 (WebCore::RuleSet::addPageRule):
2095 (WebCore::RuleSet::addRulesFromSheet):
2096 (WebCore::RuleSet::addStyleRule):
2097 (WebCore::collectIdsAndSiblingRulesFromList):
2098 (WebCore::RuleSet::collectIdsAndSiblingRules):
2099 (WebCore::shrinkMapVectorsToFit):
2100 (WebCore::RuleSet::shrinkToFit):
2101 (WebCore::CSSStyleSelector::matchPageRules):
2102 (WebCore::CSSStyleSelector::matchPageRulesForList):
2103 * css/CSSStyleSelector.h:
2104 (WebCore::CSSStyleSelector::addMatchedRule):
2106 2011-02-02 Andrey Adaikin <aandrey@google.com>
2108 Reviewed by Pavel Feldman.
2110 Web Inspector: Use DIVs instead of TABLE in TextViewer
2111 https://bugs.webkit.org/show_bug.cgi?id=53299
2113 * inspector/front-end/SourceFrame.js:
2114 (WebInspector.SourceFrame.prototype._createTextViewer):
2115 (WebInspector.SourceFrame.prototype._mouseDown):
2116 * inspector/front-end/TextViewer.js:
2117 (WebInspector.TextViewer):
2118 (WebInspector.TextViewer.prototype.set mimeType):
2119 (WebInspector.TextViewer.prototype.revealLine):
2120 (WebInspector.TextViewer.prototype.addDecoration):
2121 (WebInspector.TextViewer.prototype.removeDecoration):
2122 (WebInspector.TextViewer.prototype.markAndRevealRange):
2123 (WebInspector.TextViewer.prototype.highlightLine):
2124 (WebInspector.TextViewer.prototype.clearLineHighlight):
2125 (WebInspector.TextViewer.prototype.freeCachedElements):
2126 (WebInspector.TextViewer.prototype._handleKeyDown):
2127 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2128 (WebInspector.TextViewer.prototype.editLine):
2129 (WebInspector.TextViewer.prototype.beginUpdates):
2130 (WebInspector.TextViewer.prototype.endUpdates):
2131 (WebInspector.TextViewer.prototype.resize):
2132 (WebInspector.TextViewer.prototype._textChanged):
2133 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2134 (WebInspector.TextViewer.prototype._syncScroll):
2135 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2136 (WebInspector.TextEditorChunkedPanel):
2137 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2138 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2139 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2140 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2141 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2142 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2143 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2144 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2145 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2146 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2147 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2148 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2149 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2150 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2151 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2152 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2153 (WebInspector.TextEditorGutterPanel):
2154 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2155 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2156 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2157 (WebInspector.TextEditorGutterChunk):
2158 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2159 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2160 (WebInspector.TextEditorGutterChunk.prototype.get height):
2161 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2162 (WebInspector.TextEditorMainPanel):
2163 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2164 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2165 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2166 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2167 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2168 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2169 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2170 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2171 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2172 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2173 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2174 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2175 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2176 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2177 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2178 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2179 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2180 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2181 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2182 (WebInspector.TextEditorMainChunk):
2183 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2184 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2185 (WebInspector.TextEditorMainChunk.prototype.get height):
2186 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2187 (WebInspector.TextEditorMainChunk.prototype._createRow):
2189 * inspector/front-end/textViewer.css:
2190 (.text-editor-lines):
2191 (.text-editor-contents):
2192 (.text-editor-editable):
2193 (.webkit-line-decorations):
2194 (.webkit-line-number):
2195 (.webkit-execution-line.webkit-line-content):
2196 (.diff-container .webkit-added-line.webkit-line-content):
2197 (.diff-container .webkit-removed-line.webkit-line-content):
2198 (.diff-container .webkit-changed-line.webkit-line-content):
2199 (.webkit-highlighted-line.webkit-line-content):
2201 2011-02-02 Hans Wennborg <hans@chromium.org>
2203 Reviewed by Jeremy Orlow.
2205 IndexedDB: Implement support for cursor updates
2206 https://bugs.webkit.org/show_bug.cgi?id=53421
2208 Implement support for cursor updates using the same pattern as cursor
2209 deletes: forward the calls to the IDBObjectStoreBackend::put().
2210 The put() function's signature needs to be changed to allow for a
2211 "cursor update mode". This makes the signature more clear anyway,
2212 since it replaces the boolean parameter.
2214 Test: storage/indexeddb/cursor-update.html
2216 * storage/IDBCursor.idl:
2217 * storage/IDBCursorBackendImpl.cpp:
2218 (WebCore::IDBCursorBackendImpl::key):
2219 (WebCore::IDBCursorBackendImpl::update):
2220 * storage/IDBCursorBackendImpl.h:
2221 * storage/IDBObjectStore.cpp:
2222 (WebCore::IDBObjectStore::add):
2223 (WebCore::IDBObjectStore::put):
2224 * storage/IDBObjectStoreBackendImpl.cpp:
2225 (WebCore::IDBObjectStoreBackendImpl::put):
2226 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2227 * storage/IDBObjectStoreBackendImpl.h:
2228 * storage/IDBObjectStoreBackendInterface.h:
2230 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2232 Reviewed by Kent Tamura.
2234 Fix popup menu RTL bug introduced by Changeset 75982.
2235 https://bugs.webkit.org/show_bug.cgi?id=53567
2237 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2239 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
2241 * platform/chromium/PopupMenuChromium.cpp:
2242 (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.
2243 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2244 (WebCore::PopupContainer::refresh): Change the passing parameter.
2245 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2247 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2249 Reviewed by Martin Robinson.
2251 [GTK] Fix dist compilation
2252 https://bugs.webkit.org/show_bug.cgi?id=53579
2254 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2257 2011-02-02 Dai Mikurube <dmikurube@google.com>
2259 Reviewed by David Levin.
2261 Make mime type lookup in File::create(path) thread-safe
2262 https://bugs.webkit.org/show_bug.cgi?id=47700
2264 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2265 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2266 both FILE_SYSTEM and WORKERS are enabled.
2268 No tests for this patch. This patch itself doesn't change the behaviors.
2269 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2270 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2271 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2272 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2274 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2275 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2276 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2277 * platform/android/TemporaryLinkStubs.cpp:
2278 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2279 * platform/brew/MIMETypeRegistryBrew.cpp:
2280 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2281 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2282 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2283 * platform/efl/MIMETypeRegistryEfl.cpp:
2284 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2285 * platform/gtk/MIMETypeRegistryGtk.cpp:
2286 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2287 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2288 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2289 * platform/mac/MIMETypeRegistryMac.mm:
2290 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2291 * platform/qt/MIMETypeRegistryQt.cpp:
2292 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2293 * platform/win/MIMETypeRegistryWin.cpp:
2294 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2295 * platform/wince/MIMETypeRegistryWinCE.cpp:
2296 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2297 * platform/wx/MimeTypeRegistryWx.cpp:
2298 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2300 2011-02-01 Adam Barth <abarth@webkit.org>
2302 Reviewed by Alexey Proskuryakov.
2304 Improve readability of updateWidget by converting bool parameter to an enum
2305 https://bugs.webkit.org/show_bug.cgi?id=53576
2307 As requested on webkit-dev.
2309 * html/HTMLEmbedElement.cpp:
2310 (WebCore::HTMLEmbedElement::updateWidget):
2311 * html/HTMLEmbedElement.h:
2312 * html/HTMLMediaElement.cpp:
2313 (WebCore::HTMLMediaElement::updateWidget):
2314 * html/HTMLMediaElement.h:
2315 * html/HTMLObjectElement.cpp:
2316 (WebCore::HTMLObjectElement::updateWidget):
2317 * html/HTMLObjectElement.h:
2318 * html/HTMLPlugInImageElement.cpp:
2319 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2320 * html/HTMLPlugInImageElement.h:
2321 * page/FrameView.cpp:
2322 (WebCore::FrameView::updateWidget):
2324 2011-02-01 James Robinson <jamesr@chromium.org>
2326 Reviewed by Adam Barth.
2328 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2329 https://bugs.webkit.org/show_bug.cgi?id=53566
2331 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2332 Other than being large enough for this one test case, this limit is arbitrary.
2334 * bindings/v8/V8Proxy.h:
2336 2011-02-01 Adam Barth <abarth@webkit.org>
2338 Reviewed by Andreas Kling.
2340 Remove useless comment
2341 https://bugs.webkit.org/show_bug.cgi?id=53549
2343 The reason for this parameter is captured in
2344 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2345 capture it than in this comment (which otherwise just re-iterates the
2346 name of the parameter).
2348 * html/HTMLPlugInImageElement.cpp:
2349 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2351 2011-02-01 James Simonsen <simonjam@chromium.org>
2353 Reviewed by Tony Gentilcore.
2355 [WebTiming] Remove asserts that verify timestamp order
2356 https://bugs.webkit.org/show_bug.cgi?id=53548
2358 Covered by existing tests.
2360 * loader/FrameLoader.cpp:
2361 (WebCore::FrameLoader::stopLoading): Remove assert.
2362 * page/DOMWindow.cpp:
2363 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2365 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2367 Add the 'default_targets' enclosure to the flags.
2369 * WebCore.gyp/WebCore.gyp: Did it.
2371 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2373 Reviewed by James Robinson.
2375 Async event handlers should not fire within a modal dialog
2376 https://bugs.webkit.org/show_bug.cgi?id=53202
2378 Asychronous events that use EventQueue would currently fire while a
2379 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2380 SuspendableTimer (which automatically gets suspended while dialogs are
2381 up and in other cases where JS execution is not allowed).
2383 Test: fast/events/scroll-event-during-modal-dialog.html
2386 (WebCore::Document::Document):
2387 * dom/EventQueue.cpp:
2388 (WebCore::EventQueueTimer::EventQueueTimer):
2389 (WebCore::EventQueueTimer::fired):
2390 (WebCore::EventQueue::EventQueue):
2391 (WebCore::EventQueue::enqueueEvent):
2392 (WebCore::EventQueue::pendingEventTimerFired):
2394 (WebCore::EventQueue::create):
2395 * page/SuspendableTimer.cpp:
2396 (WebCore::SuspendableTimer::SuspendableTimer):
2397 (WebCore::SuspendableTimer::suspend):
2398 (WebCore::SuspendableTimer::resume):
2399 * page/SuspendableTimer.h:
2401 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2403 Reviewed by Andreas Kling.
2405 Change wrong PLATFORM(WIN) to USE(WININET)
2406 https://bugs.webkit.org/show_bug.cgi?id=53547
2408 * platform/network/ResourceHandle.h:
2410 2011-02-01 Beth Dakin <bdakin@apple.com>
2414 * platform/mac/ScrollAnimatorMac.mm:
2415 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2417 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2419 Reviewed by Gustavo Noronha Silva.
2421 [GTK] Two tests crash after r76555
2422 https://bugs.webkit.org/show_bug.cgi?id=53057
2424 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2425 This ensures that ::start() is not called when there is a scheduled failure and also
2426 reduces code duplication.
2428 * platform/network/soup/ResourceHandleSoup.cpp:
2429 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2431 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2433 Reviewed by Eric Seidel.
2435 [GTK] GObject DOM bindings do no support the CallWith attribute
2436 https://bugs.webkit.org/show_bug.cgi?id=53331
2438 Disable building GObject DOM bindings for IndexedDB because we do not support
2439 the CallWith attribute at this time.
2441 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2443 2011-02-01 Darin Adler <darin@apple.com>
2445 Reviewed by Brady Eidson.
2447 Fix a couple loose ends from the back/forward tree encode/decode work
2448 https://bugs.webkit.org/show_bug.cgi?id=53537
2450 * history/HistoryItem.cpp:
2451 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2452 original URL string; no need to encode it twice.
2453 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2454 * history/HistoryItem.h: Removed declaration for function that is no
2455 longer defined nor used.
2457 2011-02-01 Tony Chang <tony@chromium.org>
2459 Reviewed by Kent Tamura.
2461 [chromium] disable arm uninitialized variable warnings
2462 https://bugs.webkit.org/show_bug.cgi?id=53553
2464 We just got another error:
2465 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2466 'colorTransparent.unstatic.4879' may be used uninitialized in this
2469 * WebCore.gyp/WebCore.gyp:
2471 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2473 Reviewed by Adam Barth.
2475 Self-replicating code makes Safari hang and eventually crash
2476 https://bugs.webkit.org/show_bug.cgi?id=15123
2479 Here we are replicating the Firefox safeguard against
2480 recursive document.write( ) 's.
2482 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2483 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2484 a) imposes a recursion limit of 20 on document.write( ) and
2485 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2486 To see why this is necessary, consider the script :
2489 var t = document.body.innerHTML;
2493 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2494 we just return one level after the recursion limit is reached, we still allow millions of copies to
2495 duplicate (and execute).
2497 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2498 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2500 Test: fast/dom/Document/document-write-recursion.html
2501 Test: fast/dom/Document/document-close-iframe-load.html
2502 Test: fast/dom/Document/document-close-nested-iframe-load.html
2506 (WebCore::Document::Document):
2507 (WebCore::Document::write):
2510 2011-02-01 Johnny Ding <jnd@chromium.org>
2512 Reviewed by Darin Adler.
2514 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2515 https://bugs.webkit.org/show_bug.cgi?id=53424
2517 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2519 * html/HTMLAnchorElement.cpp:
2520 (WebCore::handleLinkClick):
2522 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2524 Unreviewed Qt buildfix after r77286.
2526 https://bugs.webkit.org/show_bug.cgi?id=53520
2527 Remove the physical terminology from IntRect and FloatRect.
2529 * platform/graphics/TiledBackingStore.cpp:
2530 (WebCore::TiledBackingStore::createTiles):
2532 2011-02-01 Sam Weinig <sam@webkit.org>
2534 Fix Mac production builds.
2536 * DerivedSources.make:
2537 * WebCore.xcodeproj/project.pbxproj:
2538 * platform/mac/ScrollAnimatorMac.h:
2539 * platform/mac/ScrollbarThemeMac.h:
2541 2011-02-01 Darin Adler <darin@apple.com>
2543 Reviewed by Chris Fleizach.
2545 REGRESSION: Removing focus from area element causes unwanted scrolling
2546 https://bugs.webkit.org/show_bug.cgi?id=50169
2548 Test: fast/images/imagemap-scroll.html
2550 * html/HTMLAreaElement.cpp:
2551 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2552 RenderImage::areaElementFocusChanged function.
2553 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2554 here that calls setNeedsLayout on the image's renderer. This was an
2555 attempt to cause repaint of the renderer, but this function does not
2556 need to do that. Also changed this to use the imageElement function
2557 to avoid repeating code.
2559 * html/HTMLAreaElement.h: Updated for above changes.
2561 * rendering/RenderImage.cpp:
2562 (WebCore::RenderImage::paint): Updated for name change.
2563 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2564 paintFocusRing, because it only paints area focus rings, and should
2565 not be confused with paintFocusRing functions in other classes. Also
2566 removed the unused style argument. Removed the code that used an
2567 HTMLCollection to see if the focused area element is for this image
2568 and instead just call imageElement on the area element.
2569 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2571 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2572 function for HTMLAreaElement to call. Made the paintFocusRing function
2573 private, renamed it to paintAreaElementFocusRing, and removed its
2574 unused style argument.
2576 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2578 Unreviewed WinCE build fix for r77286.
2580 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2581 (WebCore::TransparentLayerDC::TransparentLayerDC):
2583 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2585 Reviewed by Darin Adler.
2587 AX: AXPosition of AXScrollArea is wrong
2588 https://bugs.webkit.org/show_bug.cgi?id=53511
2590 AccessibilityScrollView needed to return a valid documentFrameView() object.
2591 At the same time, the code from document() should be consolidated in
2592 AccessibilityObject, so all objects can use it.
2594 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2596 * accessibility/AccessibilityObject.cpp:
2597 (WebCore::AccessibilityObject::document):
2598 * accessibility/AccessibilityObject.h:
2599 * accessibility/AccessibilityScrollView.cpp:
2600 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2601 (WebCore::AccessibilityScrollView::documentFrameView):
2602 * accessibility/AccessibilityScrollView.h:
2604 2011-02-01 Zhenyao Mo <zmo@google.com>
2606 Reviewed by Kenneth Russell.
2608 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2609 https://bugs.webkit.org/show_bug.cgi?id=52190
2611 * html/canvas/WebGLRenderingContext.cpp:
2612 (WebCore::WebGLRenderingContext::getUniform):
2614 2011-02-01 Zhenyao Mo <zmo@google.com>
2616 Reviewed by Darin Adler.
2618 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2619 https://bugs.webkit.org/show_bug.cgi?id=53531
2621 With this fix, running WebGL conformance tests should no longer crash randomly.
2623 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2624 (WebCore::GraphicsContext3D::getImageData):
2626 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2628 One more Chromium build fix after r77286.
2630 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2631 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2633 2011-02-01 Sam Weinig <sam@webkit.org>
2635 Fix the build for Beth.
2637 * platform/mac/ScrollAnimatorMac.mm:
2638 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2640 2011-02-01 Sam Weinig <sam@webkit.org>
2642 Reviewed by Beth Dakin.
2644 Part 2 for <rdar://problem/8492788>
2645 Adopt WKScrollbarPainterController
2647 Use header detection to define scrollbar painting controller #define.
2650 * platform/mac/ScrollAnimatorMac.h:
2651 * platform/mac/ScrollbarThemeMac.h:
2652 * platform/mac/WebCoreSystemInterface.h:
2653 * platform/mac/WebCoreSystemInterface.mm:
2655 2011-02-01 David Hyatt <hyatt@apple.com>
2657 Reviewed by Oliver Hunt.
2659 https://bugs.webkit.org/show_bug.cgi?id=53520
2661 Remove the physical terminology from IntRect and FloatRect.
2663 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2664 we need to update our terminology to be more accurate.
2666 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2667 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2668 even for flipped rectangles.
2670 * accessibility/AccessibilityRenderObject.cpp:
2671 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2672 * accessibility/mac/AccessibilityObjectWrapper.mm:
2673 (-[AccessibilityObjectWrapper position]):
2675 (WebCore::ClientRect::right):
2676 (WebCore::ClientRect::bottom):
2677 * html/HTMLCanvasElement.cpp:
2678 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2679 * html/canvas/CanvasRenderingContext2D.cpp:
2680 (WebCore::normalizeRect):
2681 * inspector/InspectorAgent.cpp:
2682 (WebCore::InspectorAgent::drawElementTitle):
2683 * page/DOMWindow.cpp:
2684 (WebCore::DOMWindow::adjustWindowRect):
2685 * page/DragController.cpp:
2686 (WebCore::dragLocForSelectionDrag):
2687 * page/EventHandler.cpp:
2688 (WebCore::EventHandler::sendContextMenuEventForKey):
2689 * page/PrintContext.cpp:
2690 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2691 (WebCore::PrintContext::pageNumberForElement):
2692 * page/SpatialNavigation.cpp:
2694 (WebCore::areRectsFullyAligned):
2695 (WebCore::areRectsMoreThanFullScreenApart):
2698 (WebCore::isRectInDirection):
2699 (WebCore::entryAndExitPointsForDirection):
2700 (WebCore::virtualRectForDirection):
2701 * page/WindowFeatures.cpp:
2702 (WebCore::WindowFeatures::WindowFeatures):
2703 * platform/ScrollView.cpp:
2704 (WebCore::ScrollView::wheelEvent):
2705 * platform/Scrollbar.cpp:
2706 (WebCore::Scrollbar::setFrameRect):
2707 * platform/ScrollbarThemeComposite.cpp:
2708 (WebCore::ScrollbarThemeComposite::splitTrack):
2709 * platform/chromium/ScrollbarThemeChromium.cpp:
2710 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2711 * platform/graphics/FloatQuad.h:
2712 (WebCore::FloatQuad::FloatQuad):
2713 * platform/graphics/FloatRect.cpp:
2714 (WebCore::FloatRect::intersects):
2715 (WebCore::FloatRect::contains):
2716 (WebCore::FloatRect::intersect):
2717 (WebCore::FloatRect::unite):
2718 (WebCore::enclosingIntRect):
2719 * platform/graphics/FloatRect.h:
2720 (WebCore::FloatRect::maxX):
2721 (WebCore::FloatRect::maxY):
2722 (WebCore::FloatRect::contains):
2723 * platform/graphics/IntRect.cpp:
2724 (WebCore::IntRect::intersects):
2725 (WebCore::IntRect::contains):
2726 (WebCore::IntRect::intersect):
2727 (WebCore::IntRect::unite):
2728 * platform/graphics/IntRect.h:
2729 (WebCore::IntRect::maxX):
2730 (WebCore::IntRect::maxY):
2731 (WebCore::IntRect::shiftXEdgeTo):
2732 (WebCore::IntRect::shiftMaxXEdgeTo):
2733 (WebCore::IntRect::shiftYEdgeTo):
2734 (WebCore::IntRect::shiftMaxYEdgeTo):
2735 (WebCore::IntRect::contains):
2736 * platform/graphics/WidthIterator.cpp:
2737 (WebCore::WidthIterator::advance):
2738 * platform/graphics/cg/GraphicsContextCG.cpp:
2739 (WebCore::GraphicsContext::drawRect):
2740 (WebCore::GraphicsContext::fillPath):
2741 (WebCore::GraphicsContext::fillRect):
2742 * platform/graphics/cg/ImageBufferCG.cpp:
2743 (WebCore::getImageData):
2744 (WebCore::putImageData):
2745 * platform/graphics/cg/ImageCG.cpp:
2746 (WebCore::BitmapImage::draw):
2747 * platform/graphics/filters/FilterEffect.cpp:
2748 (WebCore::FilterEffect::copyImageBytes):
2749 * platform/graphics/mac/ComplexTextController.cpp:
2750 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2751 * platform/graphics/mac/SimpleFontDataMac.mm:
2752 (WebCore::SimpleFontData::platformBoundsForGlyph):
2753 * platform/graphics/transforms/AffineTransform.cpp:
2754 (WebCore::AffineTransform::mapRect):
2755 * platform/graphics/win/FontCGWin.cpp:
2756 (WebCore::drawGDIGlyphs):
2757 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2758 (WebCore::MediaPlayerPrivate::paint):
2759 * platform/gtk/RenderThemeGtk.cpp:
2760 (WebCore::centerRectVerticallyInParentInputElement):
2761 * platform/mac/WidgetMac.mm:
2762 (WebCore::Widget::paint):
2763 * rendering/InlineFlowBox.cpp:
2764 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2765 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2766 * rendering/InlineTextBox.cpp:
2767 (WebCore::InlineTextBox::selectionRect):
2768 (WebCore::InlineTextBox::paint):
2769 (WebCore::InlineTextBox::positionForOffset):
2770 * rendering/RenderBlock.cpp:
2771 (WebCore::RenderBlock::addOverflowFromChildren):
2772 (WebCore::RenderBlock::paintChildren):
2773 (WebCore::RenderBlock::paintEllipsisBoxes):
2774 (WebCore::RenderBlock::inlineSelectionGaps):
2775 (WebCore::RenderBlock::adjustPointToColumnContents):
2776 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2777 (WebCore::RenderBlock::adjustForColumns):
2778 * rendering/RenderBlock.h:
2779 (WebCore::RenderBlock::FloatingObject::right):
2780 (WebCore::RenderBlock::FloatingObject::bottom):
2781 * rendering/RenderBox.cpp:
2782 (WebCore::RenderBox::reflectedRect):
2783 (WebCore::RenderBox::localCaretRect):
2784 (WebCore::RenderBox::addShadowOverflow):
2785 (WebCore::RenderBox::addLayoutOverflow):
2786 (WebCore::RenderBox::visualOverflowRectForPropagation):
2787 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2788 (WebCore::RenderBox::flipForWritingMode):
2789 * rendering/RenderFrameSet.cpp:
2790 (WebCore::RenderFrameSet::paintColumnBorder):
2791 (WebCore::RenderFrameSet::paintRowBorder):
2792 * rendering/RenderInline.cpp:
2793 (WebCore::RenderInline::paintOutlineForLine):
2794 * rendering/RenderLayer.cpp:
2795 (WebCore::RenderLayer::getRectToExpose):
2796 (WebCore::cornerRect):
2797 (WebCore::RenderLayer::positionOverflowControls):
2798 (WebCore::RenderLayer::overflowBottom):
2799 (WebCore::RenderLayer::overflowRight):
2800 (WebCore::RenderLayer::paintResizer):
2801 * rendering/RenderLineBoxList.cpp:
2802 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2803 (WebCore::RenderLineBoxList::paint):
2804 * rendering/RenderListItem.cpp:
2805 (WebCore::RenderListItem::positionListMarker):
2806 * rendering/RenderListMarker.cpp:
2807 (WebCore::RenderListMarker::paint):
2808 * rendering/RenderObject.cpp:
2809 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2810 * rendering/RenderOverflow.h:
2811 (WebCore::RenderOverflow::RenderOverflow):
2812 (WebCore::RenderOverflow::addLayoutOverflow):
2813 (WebCore::RenderOverflow::addVisualOverflow):
2814 (WebCore::RenderOverflow::setLayoutOverflow):
2815 (WebCore::RenderOverflow::setVisualOverflow):
2816 (WebCore::RenderOverflow::resetLayoutOverflow):
2817 * rendering/RenderReplaced.cpp:
2818 (WebCore::RenderReplaced::shouldPaint):
2819 * rendering/RenderScrollbarTheme.cpp:
2820 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2821 * rendering/RenderTable.cpp:
2822 (WebCore::RenderTable::paint):
2823 * rendering/RenderTableCell.cpp:
2824 (WebCore::RenderTableCell::paint):
2825 * rendering/RenderTableSection.cpp:
2826 (WebCore::RenderTableSection::paintObject):
2827 * rendering/RenderText.cpp:
2828 (WebCore::RenderText::absoluteQuads):
2829 * rendering/RenderTextControlSingleLine.cpp:
2830 (WebCore::RenderTextControlSingleLine::forwardEvent):
2831 * rendering/RenderThemeMac.mm:
2832 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2833 (WebCore::RenderThemeMac::paintMenuListButton):
2834 (WebCore::RenderThemeMac::paintSliderTrack):
2835 * rendering/RenderView.cpp:
2836 (WebCore::RenderView::computeRectForRepaint):
2837 (WebCore::RenderView::docBottom):
2838 (WebCore::RenderView::docRight):
2839 * rendering/RootInlineBox.cpp:
2840 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2841 * rendering/svg/RenderSVGInlineText.cpp:
2842 (WebCore::RenderSVGInlineText::localCaretRect):
2844 2011-02-01 Beth Dakin <bdakin@apple.com>
2846 Reviewed by Sam Weinig.
2848 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2850 Lots of new WebCoreSystemInterface functions to export.
2852 * platform/mac/WebCoreSystemInterface.h:
2853 * platform/mac/WebCoreSystemInterface.mm:
2855 Let the scrollAnimator know when the mouse has
2856 moved anywhere inside the page, and when the mouse
2857 has moved in or out of the window.
2858 * page/EventHandler.cpp:
2859 (WebCore::EventHandler::mouseMoved):
2860 (WebCore::EventHandler::updateMouseEventTargetNode):
2862 Let the scrollAnimator know when the window has become
2864 * page/FocusController.cpp:
2865 (WebCore::FocusController::setActive):
2867 Let the scrollAnimator know when all of these things
2869 * page/FrameView.cpp:
2870 (WebCore::FrameView::setContentsSize):
2871 (WebCore::FrameView::didMoveOnscreen):
2872 (WebCore::FrameView::willMoveOffscreen):
2873 (WebCore::FrameView::currentMousePosition):
2874 (WebCore::FrameView::contentsResized):
2876 New functions called through WebKit2 that allow the
2877 scrollAnimator to know when a live resize starts and ends.
2878 (WebCore::FrameView::willStartLiveResize):
2879 (WebCore::FrameView::willEndLiveResize):
2882 New functions on ScrollAnimator that pass information
2883 to the WKPainterController when we're using one.
2884 * platform/ScrollAnimator.h:
2885 (WebCore::ScrollAnimator::scrollableArea):
2886 (WebCore::ScrollAnimator::contentAreaWillPaint):
2887 (WebCore::ScrollAnimator::mouseEnteredContentArea):
2888 (WebCore::ScrollAnimator::mouseExitedContentArea):
2889 (WebCore::ScrollAnimator::mouseMovedInContentArea):
2890 (WebCore::ScrollAnimator::willStartLiveResize):
2891 (WebCore::ScrollAnimator::contentsResized):
2892 (WebCore::ScrollAnimator::willEndLiveResize):
2893 (WebCore::ScrollAnimator::contentAreaDidShow):
2894 (WebCore::ScrollAnimator::contentAreaDidHide):
2895 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2896 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2897 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2898 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2899 (WebCore::ScrollAnimatorMac::notityPositionChanged):
2900 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2901 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2902 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2903 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2904 (WebCore::ScrollAnimatorMac::willStartLiveResize):
2905 (WebCore::ScrollAnimatorMac::contentsResized):
2906 (WebCore::ScrollAnimatorMac::willEndLiveResize):
2907 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2908 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2910 Let the scrollAnimator know when this is happening.
2911 * platform/ScrollView.cpp:
2912 (WebCore::ScrollView::paint):
2914 New function lets the scrollAnimator get the current
2916 * platform/ScrollView.h:
2917 (WebCore::ScrollView::currentMousePosition):
2919 New function that returns the scrollAnimator when needed.
2920 * platform/ScrollableArea.h:
2921 (WebCore::ScrollableArea::scrollAnimator):
2923 Keep track of if we're in a live resize using a new memeber
2925 * platform/mac/ScrollAnimatorMac.h:
2926 (WebCore::ScrollAnimatorMac::inLiveResize):
2927 * platform/mac/ScrollAnimatorMac.mm:
2930 New delegates for the WKPainter and WKPainterController
2931 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2932 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2933 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2934 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2935 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2936 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2937 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2938 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2939 (-[ScrollKnobAnimation setCurrentProgress:]):
2940 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2941 (-[ScrollbarPainterDelegate convertRectToBacking:]):
2942 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2943 (-[ScrollbarPainterDelegate layer]):
2944 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2945 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2946 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2947 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2949 Get the WKScrollbarPainterRefs to synch up with the
2950 WKScrollbarPainterControllerRefs when appropriate
2951 * platform/mac/ScrollbarThemeMac.h:
2952 * platform/mac/ScrollbarThemeMac.mm:
2953 (WebCore::ScrollbarThemeMac::registerScrollbar):
2954 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2955 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2956 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2958 Implement ScrollableArea's virtual function contentsSize() for access
2959 through the scrollAnimator.
2960 * rendering/RenderLayer.h:
2961 (WebCore::RenderLayer::contentsSize):
2963 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
2965 Reviewed by David Hyatt.
2967 layoutTestController.counterValueForElementById does not return the correct value
2968 https://bugs.webkit.org/show_bug.cgi?id=53037
2970 Test: fast/css/counters/deep-before.html
2972 * rendering/RenderTreeAsText.cpp:
2973 (WebCore::counterValueForElement):
2974 Modified to use the newly available RenderObject::beforePseudoElement()
2975 and RenderObject::afterPseudoElement() instead of the old imperfect
2976 algorithm to find the before and after pseudo elements.
2978 2011-02-01 Anton Muhin <antonm@chromium.org>
2980 Reviewed by Adam Barth.
2982 Allow access for security origin same as this.
2983 https://bugs.webkit.org/show_bug.cgi?id=53440
2985 Hard to test as newly added path currently is never hit.
2987 * page/SecurityOrigin.cpp:
2988 (WebCore::SecurityOrigin::canAccess): allow access if this == other
2990 2011-01-31 Oliver Hunt <oliver@apple.com>
2992 Reviewed by Geoffrey Garen.
2994 Update JSObject storage for new marking API
2995 https://bugs.webkit.org/show_bug.cgi?id=53467
2997 Update WebCore to handle new anonymous slot behaviour.
2999 * bindings/js/JSDOMWindowShell.cpp:
3000 (WebCore::JSDOMWindowShell::setWindow):
3001 * bindings/js/WorkerScriptController.cpp:
3002 (WebCore::WorkerScriptController::initScript):
3003 * bindings/scripts/CodeGeneratorJS.pm:
3005 2011-02-01 Xiaomei Ji <xji@chromium.org>
3007 Reviewed by David Hyatt.
3009 Fix a text rendering problem when enclosing block is RTL and text runs
3010 are in different directionality.
3011 https://bugs.webkit.org/show_bug.cgi?id=34176
3013 The problem happens in the following example scenario (ABC represents
3015 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3017 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3018 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3019 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3021 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3023 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3024 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3025 the run's render object's ancestor (not only its parent) has already
3026 been constructed or has something following it on the line, in which
3027 case, create a new box for TextRun2 instead of sharing the same box with
3030 In other words, the following 2 div should render the same results
3031 (ABC represents Hebrew characters).
3032 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3033 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3035 Test: fast/dom/34176.html
3037 * rendering/RenderBlockLineLayout.cpp:
3038 (WebCore::parentIsConstructedOrHaveNext):
3039 (WebCore::RenderBlock::createLineBoxes):
3041 2011-02-01 Abhishek Arya <inferno@chromium.org>
3043 Reviewed by Dan Bernstein.
3045 Do not add a node in the document's stylesheet candidate node list if the
3046 node is already removed from document.
3047 https://bugs.webkit.org/show_bug.cgi?id=53441
3049 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3052 (WebCore::Document::addStyleSheetCandidateNode):
3054 2011-02-01 Dave Hyatt <hyatt@apple.com>
3056 Reviewed by Darin Adler.
3058 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3061 Change printing functions to check writing-mode and properly swap width and height
3064 Fix the setScrollOrigin function so that the origin doesn't cause
3065 scroll spasming during printing (this is only partially successful, but it's better
3068 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3069 text documents properly.
3072 * page/FrameView.cpp:
3073 (WebCore::FrameView::adjustViewSize):
3074 (WebCore::FrameView::forceLayoutForPagination):
3075 * page/PrintContext.cpp:
3076 (WebCore::PrintContext::computePageRects):
3077 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3078 (WebCore::PrintContext::computeAutomaticScaleFactor):
3079 (WebCore::PrintContext::spoolPage):
3080 (WebCore::PrintContext::spoolRect):
3081 * page/PrintContext.h:
3082 * page/mac/WebCoreFrameView.h:
3083 * platform/ScrollView.cpp:
3084 (WebCore::ScrollView::wheelEvent):
3085 * platform/ScrollView.h:
3086 * platform/mac/ScrollViewMac.mm:
3087 (WebCore::ScrollView::platformSetScrollOrigin):
3088 * rendering/RenderView.cpp:
3089 (WebCore::RenderView::layout):
3091 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3093 Reviewed by Pavel Feldman.
3095 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3097 https://bugs.webkit.org/show_bug.cgi?id=53500
3099 * inspector/InspectorProfilerAgent.cpp:
3100 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3102 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3104 Reviewed by Pavel Feldman.
3106 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3108 https://bugs.webkit.org/show_bug.cgi?id=53173
3110 Adding code for accessing heap snapshot data and
3111 performing graph calculations.
3113 * English.lproj/localizedStrings.js:
3114 * inspector/front-end/HeapSnapshot.js:
3115 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3116 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3117 (WebInspector.HeapSnapshotEdgeIterator):
3118 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3119 (WebInspector.HeapSnapshotNodeIterator):
3120 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3121 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3122 (WebInspector.HeapSnapshotEdgesProvider):
3123 (WebInspector.HeapSnapshotNodesProvider):
3124 (WebInspector.HeapSnapshotPathFinder):
3125 * inspector/front-end/HeapSnapshotView.js:
3126 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3128 2011-02-01 Adam Roben <aroben@apple.com>
3130 Fix linker warnings in Release_LTCG builds
3132 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3133 configurations, since they get pulled in via DOMAllInOne.cpp.
3135 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3137 Reviewed by Yury Semikhatsky.
3139 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3140 https://bugs.webkit.org/show_bug.cgi?id=53482
3142 * English.lproj/localizedStrings.js:
3143 * inspector/front-end/ElementsPanel.js:
3144 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3145 * inspector/front-end/inspector.js:
3146 (WebInspector.resourceForURL):
3147 (WebInspector.openLinkExternallyLabel):
3149 2011-02-01 Anton Muhin <antonm@chromium.org>
3151 Reviewed by Adam Barth.
3153 Propagate parent document security origin to newly create Document XML response
3154 https://bugs.webkit.org/show_bug.cgi?id=53444
3156 Covered by the existing tests.
3158 * xml/XMLHttpRequest.cpp:
3159 (WebCore::XMLHttpRequest::responseXML):
3161 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3163 Unreviewed. Rollout r77230 which caused many layout tests
3164 crashes on Chromium Debug bots.
3166 Async event handlers should not fire within a modal dialog
3167 https://bugs.webkit.org/show_bug.cgi?id=53202
3170 (WebCore::Document::Document):
3171 * dom/EventQueue.cpp:
3172 (WebCore::EventQueue::EventQueue):
3173 (WebCore::EventQueue::enqueueEvent):
3174 (WebCore::EventQueue::pendingEventTimerFired):
3177 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3179 Reviewed by Dirk Schulze.
3181 LightElement changes does not require relayout.
3182 https://bugs.webkit.org/show_bug.cgi?id=53232
3184 When an attribute of a LightElement changes, it
3185 send an update message to the lighting filters
3186 to update its corresponding LightSource objects,
3187 and repaint the filters.
3189 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3191 Existing dynamic-update tests covers this feature.
3193 5x speedup on manual-tests/svg-filter-animation.svg
3195 * manual-tests/svg-filter-animation.svg:
3196 * platform/graphics/filters/DistantLightSource.h:
3197 * platform/graphics/filters/FEDiffuseLighting.cpp:
3198 (WebCore::FEDiffuseLighting::setLightingColor):
3199 (WebCore::FEDiffuseLighting::setSurfaceScale):
3200 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3201 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3202 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3203 * platform/graphics/filters/FEDiffuseLighting.h:
3204 * platform/graphics/filters/LightSource.cpp:
3205 (WebCore::PointLightSource::setX):
3206 (WebCore::PointLightSource::setY):
3207 (WebCore::PointLightSource::setZ):
3208 (WebCore::SpotLightSource::setX):
3209 (WebCore::SpotLightSource::setY):
3210 (WebCore::SpotLightSource::setZ):
3211 (WebCore::SpotLightSource::setPointsAtX):
3212 (WebCore::SpotLightSource::setPointsAtY):
3213 (WebCore::SpotLightSource::setPointsAtZ):
3214 (WebCore::SpotLightSource::setSpecularExponent):
3215 (WebCore::SpotLightSource::setLimitingConeAngle):
3216 (WebCore::DistantLightSource::setAzimuth):
3217 (WebCore::DistantLightSource::setElevation):
3218 (WebCore::LightSource::setAzimuth):
3219 (WebCore::LightSource::setElevation):
3220 (WebCore::LightSource::setX):
3221 (WebCore::LightSource::setY):
3222 (WebCore::LightSource::setZ):
3223 (WebCore::LightSource::setPointsAtX):
3224 (WebCore::LightSource::setPointsAtY):
3225 (WebCore::LightSource::setPointsAtZ):
3226 (WebCore::LightSource::setSpecularExponent):
3227 (WebCore::LightSource::setLimitingConeAngle):
3228 * platform/graphics/filters/LightSource.h:
3229 * platform/graphics/filters/PointLightSource.h:
3230 * platform/graphics/filters/SpotLightSource.h:
3231 * rendering/svg/RenderSVGResourceFilter.cpp:
3232 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3233 * svg/SVGFEDiffuseLightingElement.cpp:
3234 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3235 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3236 (WebCore::SVGFEDiffuseLightingElement::build):
3237 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3238 (WebCore::SVGFEDiffuseLightingElement::findLight):
3239 * svg/SVGFEDiffuseLightingElement.h:
3240 * svg/SVGFELightElement.cpp:
3241 (WebCore::SVGFELightElement::svgAttributeChanged):
3242 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3243 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3244 * svg/SVGFilterPrimitiveStandardAttributes.h:
3246 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3248 Reviewed by Dimitri Glazkov.
3250 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3251 https://bugs.webkit.org/show_bug.cgi?id=53289
3253 Moving the nested class DocumentOrderedMap from Document into separate files,
3254 updating code where necessary.
3256 No new tests. (refactoring)
3263 * WebCore.vcproj/WebCore.vcproj:
3264 * WebCore.xcodeproj/project.pbxproj:
3266 (WebCore::Document::getElementById):
3267 (WebCore::Document::getImageMap):
3269 * dom/DocumentOrderedMap.cpp: Added.
3270 (WebCore::keyMatchesId):
3271 (WebCore::keyMatchesMapName):
3272 (WebCore::keyMatchesLowercasedMapName):
3273 (WebCore::DocumentOrderedMap::clear):
3274 (WebCore::DocumentOrderedMap::add):
3275 (WebCore::DocumentOrderedMap::remove):
3276 (WebCore::DocumentOrderedMap::get):
3277 (WebCore::DocumentOrderedMap::getElementById):
3278 (WebCore::DocumentOrderedMap::getElementByMapName):
3279 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3280 * dom/DocumentOrderedMap.h: Added.
3281 (WebCore::DocumentOrderedMap::contains):
3282 (WebCore::DocumentOrderedMap::containsMultiple):
3283 * dom/DOMAllInOne.cpp:
3285 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3287 Reviewed by Martin Robinson.
3289 [Gtk] atk_text_set_caret_offset fails for list items
3290 https://bugs.webkit.org/show_bug.cgi?id=53388
3292 Allow using text ranges across list items.
3294 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3295 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3296 to the list of accessibility objects supporting text ranges.
3298 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3300 Reviewed by Martin Robinson.
3302 [GTK] character range extents is off when the end of a wrapped line is included
3303 https://bugs.webkit.org/show_bug.cgi?id=53323
3305 Fixed wrong calculation getting the range extents.
3307 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3308 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3309 requested interval shouldn't include the last character.
3311 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3313 Reviewed by Martin Robinson.
3315 [GTK] Caret Offset is one off at the end of wrapped lines
3316 https://bugs.webkit.org/show_bug.cgi?id=53300
3318 Consider linebreaks as special cases.
3320 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3321 (objectAndOffsetUnignored): In order to avoid getting wrong values
3322 when around linebreaks, we need to workaround this by explicitly
3323 avoiding those '\n' text nodes from affecting the result of
3324 calling to TextIterator:rangeLength().
3326 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3328 Unreviewed, rolling out r77229.
3329 http://trac.webkit.org/changeset/77229
3330 https://bugs.webkit.org/show_bug.cgi?id=53289
3332 revert mysterious build breakage
3339 * WebCore.vcproj/WebCore.vcproj:
3340 * WebCore.xcodeproj/project.pbxproj:
3341 * dom/DOMAllInOne.cpp:
3343 (WebCore::Document::DocumentOrderedMap::clear):
3344 (WebCore::Document::DocumentOrderedMap::add):
3345 (WebCore::Document::DocumentOrderedMap::remove):
3346 (WebCore::Document::DocumentOrderedMap::get):
3347 (WebCore::keyMatchesId):
3348 (WebCore::Document::getElementById):
3349 (WebCore::keyMatchesMapName):
3350 (WebCore::keyMatchesLowercasedMapName):
3351 (WebCore::Document::getImageMap):
3353 (WebCore::Document::DocumentOrderedMap::contains):
3354 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3355 * dom/DocumentOrderedMap.cpp: Removed.
3356 * dom/DocumentOrderedMap.h: Removed.
3358 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3360 Reviewed by James Robinson.
3362 Async event handlers should not fire within a modal dialog
3363 https://bugs.webkit.org/show_bug.cgi?id=53202
3365 Asychronous events that use EventQueue would currently fire while a
3366 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3367 SuspendableTimer (which automatically gets suspended while dialogs are
3368 up and in other cases where JS execution is not allowed).
3370 Test: fast/events/scroll-event-during-modal-dialog.html
3373 (WebCore::Document::Document):
3374 * dom/EventQueue.cpp:
3375 (WebCore::EventQueueTimer::EventQueueTimer):
3376 (WebCore::EventQueueTimer::fired):
3377 (WebCore::EventQueue::EventQueue):
3378 (WebCore::EventQueue::enqueueEvent):
3379 (WebCore::EventQueue::pendingEventTimerFired):
3381 (WebCore::EventQueue::create):
3383 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3385 Reviewed by Dimitri Glazkov.
3387 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3388 https://bugs.webkit.org/show_bug.cgi?id=53289
3390 Moving the nested class DocumentOrderedMap from Document into separate files,
3391 updating code where necessary.
3393 No new tests. (refactoring)
3400 * WebCore.vcproj/WebCore.vcproj:
3401 * WebCore.xcodeproj/project.pbxproj:
3403 (WebCore::Document::getElementById):
3404 (WebCore::Document::getImageMap):
3406 * dom/DocumentOrderedMap.cpp: Added.
3407 (WebCore::keyMatchesId):
3408 (WebCore::keyMatchesMapName):
3409 (WebCore::keyMatchesLowercasedMapName):
3410 (WebCore::DocumentOrderedMap::clear):
3411 (WebCore::DocumentOrderedMap::add):
3412 (WebCore::DocumentOrderedMap::remove):
3413 (WebCore::DocumentOrderedMap::get):
3414 (WebCore::DocumentOrderedMap::getElementById):
3415 (WebCore::DocumentOrderedMap::getElementByMapName):
3416 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3417 * dom/DocumentOrderedMap.h: Added.
3418 (WebCore::DocumentOrderedMap::contains):
3419 (WebCore::DocumentOrderedMap::containsMultiple):
3420 * dom/DOMAllInOne.cpp:
3422 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
3424 Reviewed by Darin Fisher.
3426 [Chromium] Autofill should work with HTML5 form elements
3427 https://bugs.webkit.org/show_bug.cgi?id=51809
3428 http://crbug.com/65654
3430 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3432 * html/InputType.h: Insert comment for canSetSuggestedValue().
3433 * html/TextFieldInputType.cpp:
3434 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3435 * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3436 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3437 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3439 2011-02-01 Kent Tamura <tkent@chromium.org>
3441 Reviewed by Dan Bernstein.
3443 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3444 https://bugs.webkit.org/show_bug.cgi?id=53272
3446 * editing/TextIterator.cpp:
3447 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3449 2011-01-31 Alexey Proskuryakov <ap@apple.com>
3451 Reviewed by Maciej Stachowiak.
3453 https://bugs.webkit.org/show_bug.cgi?id=53466
3454 Move WebKit2 to printing via API methods
3456 * WebCore.exp.in: Export IntRect::scale().
3458 2011-01-31 Patrick Gansterer <paroga@webkit.org>
3460 Reviewed by Adam Barth.
3462 Remove obsolete comment after r41871
3463 https://bugs.webkit.org/show_bug.cgi?id=53406
3467 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3469 Fix according to reviewer comments: can just use Color::black now.
3471 * platform/graphics/ShadowBlur.cpp:
3472 (WebCore::ShadowBlur::drawInsetShadow):
3473 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3475 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3477 Reviewed by Sam Weinig.
3480 https://bugs.webkit.org/show_bug.cgi?id=53472
3482 Some minor ShadowBlur cleanup.
3484 * platform/graphics/ShadowBlur.h:
3485 * platform/graphics/ShadowBlur.cpp:
3486 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3488 (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3489 (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3490 layerRect. Make frameSize a float.
3491 (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3492 layerRect rather than calling calculateLayerBoundingRect() to compute
3493 it itself, since we were calling calculateLayerBoundingRect() twice.
3494 (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3495 only once. The shadowRect variable was unused, so two return paths could be
3497 (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3498 beginShadowLayer() now.
3499 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3500 We always used alpha=1, so no need to pass that in.
3501 (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3502 pass that in. Move shadowRect down to first use.
3503 ShadowBlur::clipBounds() was unused.
3505 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
3507 Reviewed by Kenneth Rohde Christiansen.
3509 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3510 https://bugs.webkit.org/show_bug.cgi?id=46748
3512 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3513 Added a regression test to tst_QWebFrame.
3515 * bridge/qt/qt_instance.cpp:
3516 (JSC::Bindings::QtInstance::QtInstance):
3518 2011-01-27 MORITA Hajime <morrita@google.com>
3520 Reviewed by Dimitri Glazkov.
3522 Convert <progress> shadow DOM to a DOM-based shadow.
3523 https://bugs.webkit.org/show_bug.cgi?id=50660
3525 * Removed RenderProgress::m_valuePart, moved the shadow node
3526 to the shadow root of HTMLProgressElement.
3527 * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3528 ProgressBarValueElement is defined only for overriding
3531 No new tests. No behavioral change.
3533 * css/CSSSelector.cpp:
3534 (WebCore::CSSSelector::pseudoId):
3535 (WebCore::nameToPseudoTypeMap):
3536 (WebCore::CSSSelector::extractPseudoType):
3537 * css/CSSSelector.h:
3538 * html/HTMLProgressElement.cpp:
3539 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3540 (WebCore::ProgressBarValueElement::shadowPseudoId):
3541 (WebCore::ProgressBarValueElement::create):
3542 (WebCore::ProgressBarValueElement::detach):
3543 (WebCore::HTMLProgressElement::parseMappedAttribute):
3544 (WebCore::HTMLProgressElement::attach):
3545 (WebCore::HTMLProgressElement::valuePart):
3546 (WebCore::HTMLProgressElement::didElementStateChange):
3547 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3548 * html/HTMLProgressElement.h:
3549 * rendering/RenderProgress.cpp:
3550 (WebCore::RenderProgress::~RenderProgress):
3551 (WebCore::RenderProgress::updateFromElement):
3552 (WebCore::RenderProgress::layoutParts):
3553 (WebCore::RenderProgress::shouldHaveParts):
3554 (WebCore::RenderProgress::valuePart):
3555 * rendering/RenderProgress.h:
3556 * rendering/style/RenderStyleConstants.h:
3558 2011-01-31 Charlie Reis <creis@chromium.org>
3560 Reviewed by Mihai Parparita.