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