1 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
3 Reviewed by Pavel Feldman.
5 Web Inspector: support overriding user agent strings
6 https://bugs.webkit.org/show_bug.cgi?id=51485
8 Test: http/tests/inspector/extensions-useragent.html
10 * inspector/Inspector.idl:
11 * inspector/InspectorController.cpp:
12 (WebCore::InspectorController::disconnectFrontend):
13 (WebCore::InspectorController::setUserAgentOverride):
14 (WebCore::InspectorController::userAgentOverride):
15 * inspector/InspectorController.h:
16 * inspector/front-end/ExtensionAPI.js:
17 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
18 * inspector/front-end/ExtensionServer.js:
19 (WebInspector.ExtensionServer.prototype._onReload):
20 * loader/FrameLoader.cpp:
21 (WebCore::FrameLoader::userAgent):
22 (WebCore::FrameLoader::applyUserAgent):
24 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
26 Reviewed by Pavel Feldman.
28 Web Inspector: scripts panel displays wrong file name after reload.
29 https://bugs.webkit.org/show_bug.cgi?id=53761
31 * inspector/front-end/ScriptsPanel.js:
32 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
34 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
36 Reviewed by Pavel Feldman.
38 Web Inspector: remove settings related methods from InspectorClient
39 https://bugs.webkit.org/show_bug.cgi?id=53686
42 * inspector/CodeGeneratorInspector.pm:
43 * inspector/InspectorClient.h:
44 * inspector/InspectorFrontendClientLocal.cpp:
45 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
46 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
47 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
48 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
49 provide platform-specific settings accessor.
50 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
51 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
52 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
53 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
54 * loader/EmptyClients.h:
56 2011-02-03 Anton Muhin <antonm@chromium.org>
58 Reviewed by Adam Barth.
60 [v8] frame several more JS code invocations into v8::TryCatch
61 https://bugs.webkit.org/show_bug.cgi?id=53594
63 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
64 in v8::ThrowException---currently sometimes exceptions thrown by this method
65 do not reach surrounding v8::TryCatch handler (see
66 http://code.google.com/p/v8/issues/detail?id=1072 and
67 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
68 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
69 one rebaseline as of now.)
71 * bindings/v8/V8Proxy.cpp:
72 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
73 * bindings/v8/V8WindowErrorHandler.cpp:
74 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
76 2011-02-03 Maciej Stachowiak <mjs@apple.com>
78 Reviewed by Dan Bernstein.
80 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
81 https://bugs.webkit.org/show_bug.cgi?id=52897
82 <rdar://problem/8898294>
84 * WebCore.exp.in: Add export now needed by WebKit2
86 2011-02-03 Victoria Kirst <vrk@google.com>
88 Reviewed by James Robinson.
90 Replaces float literals with uniform values in shader code
91 so that buggy drivers unable to parse float values in different
92 locales will not produce a pink video.
94 [chromium] Fix pink video bug with gpu-acceleration enabled
95 https://bugs.webkit.org/show_bug.cgi?id=53568
97 * platform/graphics/chromium/VideoLayerChromium.cpp:
98 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
99 (WebCore::VideoLayerChromium::drawYUV):
100 * platform/graphics/chromium/VideoLayerChromium.h:
101 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
103 2011-02-03 James Kozianski <koz@chromium.org>
105 Reviewed by Dimitri Glazkov.
107 Add navigator.registerProtocolHandler behind a flag.
108 https://bugs.webkit.org/show_bug.cgi?id=52609
110 This method is described in the HTML5 specification here,
111 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
113 This change is largely cribbed from B. Green's 29651 patches. It is
114 behind a flag so as not to break JS feature detection.
116 New layout test fast/dom/registerProtocolHandler.html.
118 * Configurations/FeatureDefines.xcconfig:
119 * loader/EmptyClients.h:
120 (WebCore::EmptyChromeClient::registerProtocolHandler):
122 (WebCore::Chrome::registerProtocolHandler):
124 * page/ChromeClient.h:
125 * page/Navigator.cpp:
126 (WebCore::verifyCustomHandlerURL):
127 (WebCore::verifyProtocolHandlerScheme):
128 (WebCore::Navigator::registerProtocolHandler):
130 * page/Navigator.idl:
132 2011-02-03 Brian Ryner <bryner@chromium.org>
134 Reviewed by Darin Fisher.
136 Add a field to the ResourceResponse for tracking the socket address
137 of the host that the resource was fetched from. Patch was originally
139 https://bugs.webkit.org/show_bug.cgi?id=53699
141 * platform/network/chromium/ResourceResponse.cpp:
142 (WebCore::ResourceResponse::doPlatformCopyData):
143 (WebCore::ResourceResponse::doPlatformAdopt):
144 * platform/network/chromium/ResourceResponse.h:
145 (WebCore::ResourceResponse::socketAddress):
146 (WebCore::ResourceResponse::setSocketAddress):
148 2011-02-03 Adam Langley <agl@chromium.org>
150 Reviewed by Adam Barth.
152 Plumb mixed script URL to FrameLoaderClient
153 https://bugs.webkit.org/show_bug.cgi?id=52384
155 Regressions covered by http/tests/security/mixedContent/*
157 * loader/EmptyClients.h:
158 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
159 * loader/FrameLoader.cpp:
160 (WebCore::FrameLoader::checkIfRunInsecureContent):
161 * loader/FrameLoaderClient.h:
163 2011-02-03 Simon Fraser <simon.fraser@apple.com>
165 Reviewed by Dan Bernstein.
167 REGRESSION: Artifacts on box-shadow corners in some cases
168 https://bugs.webkit.org/show_bug.cgi?id=53731
170 Fix overdrawing artifacts in ShadowBlur's tiling code path,
171 which show up in shadows using a color with alpha.
173 Test: fast/box-shadow/shadow-tiling-artifact.html
175 * platform/graphics/ShadowBlur.cpp:
176 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
177 that the inner rect that gets filled does not overlap with any
178 of the eight tiled areas by having the corner and side dimensions
179 be the same for contiguous areas.
181 2011-02-03 Adam Barth <abarth@webkit.org>
183 Reviewed by Alexey Proskuryakov.
185 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
186 percent signs in large posted data
187 https://bugs.webkit.org/show_bug.cgi?id=53405
189 If the input string contains many non-% characters followed by a %
190 character that is not a valid URL escape sequence, then the old
191 algorithm would only advance the initial search by one character
192 (instead of jumping to just after the % character). That would cause
193 the algorithm to take N^2 time (in the number of characters before the
194 first % character). This patch just advances the search past the first
195 % character so we can start looking for next % character sooner.
198 (WebCore::decodeURLEscapeSequences):
200 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
202 Reviewed by Pavel Feldman.
204 Web Inspector: click on a breakpoint highlights wrong line in source frame.
205 https://bugs.webkit.org/show_bug.cgi?id=53692
207 * inspector/front-end/BreakpointsSidebarPane.js:
208 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
210 2011-02-03 Anton Muhin <antonm@chromium.org>
212 Reviewed by Adam Barth.
214 [v8] Bail out if to string conversion returned empty handle
215 https://bugs.webkit.org/show_bug.cgi?id=53687
217 This a temporary measure: actually one probably should never get empty handle
218 if there was no exception. The root cause is under investigation.
219 The bailout though allows Chromium not to crash---attempt to convert an empty
220 v8 hande into WebCore string crashes with invalid memory access.
222 See http://code.google.com/p/chromium/issues/detail?id=71544
224 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
226 * bindings/v8/V8Binding.cpp:
227 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
228 * bindings/v8/V8Binding.h:
229 (WebCore::V8ParameterBase::prepareBase): Ditto
231 2011-02-03 Adam Barth <abarth@webkit.org>
233 Attempt to fix Chromium build.
235 * html/parser/XSSFilter.cpp:
237 2011-02-03 Dirk Pranke <dpranke@chromium.org>
239 Unreviewed, rolling out r77562.
240 http://trac.webkit.org/changeset/77562
241 https://bugs.webkit.org/show_bug.cgi?id=53630
243 broke chromium mac build
245 * WebCore.gyp/WebCore.gyp:
246 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
248 2011-02-03 Adam Barth <abarth@webkit.org>
250 Reviewed by Daniel Bates.
252 XSS Auditor severely affects loading performance after submitting a large form
253 https://bugs.webkit.org/show_bug.cgi?id=49845
255 Switch over from the XSSAuditor to the XSSFilter, improving performance
258 * html/parser/XSSFilter.cpp:
259 (WebCore::XSSFilter::filterToken):
260 * page/XSSAuditor.cpp:
261 (WebCore::XSSAuditor::isEnabled):
263 2011-02-03 Dirk Pranke <dpranke@chromium.org>
265 Unreviewed, rolling out r77567.
266 http://trac.webkit.org/changeset/77567
267 https://bugs.webkit.org/show_bug.cgi?id=53468
269 broke chromium linux svg, canvas tests, possibly win also?
271 * platform/graphics/skia/ImageBufferSkia.cpp:
272 (WebCore::getImageData):
273 (WebCore::ImageBuffer::getUnmultipliedImageData):
274 (WebCore::ImageBuffer::getPremultipliedImageData):
275 (WebCore::putImageData):
276 (WebCore::ImageBuffer::putUnmultipliedImageData):
277 (WebCore::ImageBuffer::putPremultipliedImageData):
279 2011-02-02 MORITA Hajime <morrita@google.com>
281 Reviewed by Dimitri Glazkov.
283 Refactoring: <progress> should not use ShadowElement
284 https://bugs.webkit.org/show_bug.cgi?id=53583
286 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
287 to be responsible for bar-part layout,
288 which adopted layout logic from ShadowBlockElement.
289 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
290 - Remove dependency from RenderProgress to HTMLProgressElement and
292 - The shadow tree is no longer removed on detach(). It becomes persistent.
293 This is now possible because the ShadowBlockElement dependency is gone.
294 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
295 That didn't make sense.
297 * html/HTMLProgressElement.cpp:
298 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
299 * html/HTMLProgressElement.h:
300 * html/shadow/ProgressBarValueElement.h: Added.
301 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
302 (WebCore::ProgressBarValueElement::shadowPseudoId):
303 (WebCore::ProgressBarValueElement::createRenderer):
304 (WebCore::ProgressBarValueElement::create):
305 * rendering/RenderIndicator.cpp:
306 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
307 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
308 (WebCore::RenderIndicatorPart::layout):
309 (WebCore::RenderIndicatorPart::styleDidChange):
310 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
311 (WebCore::RenderIndicatorPart::originalVisibility):
312 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
313 (WebCore::RenderIndicatorPart::canHaveChildren):
314 * rendering/RenderProgress.cpp:
315 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
316 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
317 (WebCore::RenderProgress::updateFromElement):
318 (WebCore::RenderProgress::layoutParts):
319 (WebCore::RenderProgress::shouldHaveParts):
320 * rendering/RenderProgress.h:
321 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
323 2011-02-03 Jia Pu <jpu@apple.com>
325 Reversion should not be marked as misspelled.
326 https://bugs.webkit.org/show_bug.cgi?id=53255
328 This patch includes fix for reported bug, and also some housekeeping changes.
330 To implement desired behavior, we need:
331 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
332 that shouldn't be spellchecked and text shouldn't be autocorrected.
333 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
334 Otherwise the spell checking code in that function may interfere with autocorrection. This
335 is achieved by explicitly applying pending correction when user types space, line break or
338 Housekeeping code changes include:
339 1. Change manual-tests that were broken by relocated WebCore directory.
340 2. Use TextIterator in various DocumentMarkerController functions instead of using
341 Node::traverseNextNode() directly.
342 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
343 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
344 4. Fixes of minor bugs that were exposed previously.
346 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
348 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
350 * dom/DocumentMarkerController.cpp:
351 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
352 consistent with addMarker() function. Allow passing in multiple marker types in one call.
353 Added a boolean argument to specify the behavior when removing markers that partially
354 overlap the specified range.
355 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
356 multiple marker types in one call.
357 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
358 consistent with addMarker() function. Allow passing in multiple marker types in one call.
360 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
361 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
362 removing markers that partially overlap the specified range.
364 * editing/Editor.cpp:
365 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
366 (WebCore::markerTypesForReplacement): Ditto.
367 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
368 setSelection() to make sure there is no pending correction when entering
369 markAllMisspellingsAndBadGrammarInRanges().
370 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
371 is a top level command to improve efficiency.
372 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
373 (WebCore::Editor::insertLineBreak): Ditto.
374 (WebCore::Editor::insertParagraphSeparator): Ditto.
375 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
376 text carries SpellCheckingExemption marker.
377 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
378 from spellchecker is an empty string.
379 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
380 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
381 efficiency and readability.
382 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
383 applying correction, since it's unnecessary. Also, store pre-correction string together with
384 the marker for reversion panel to use.
385 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
386 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
387 where we have access to EditCommand object.
389 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
391 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
392 were broken by relocated WebCore directory.
394 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
396 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
398 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
400 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
402 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
404 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
406 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
408 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
410 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
412 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
413 were broken by relocated WebCore directory.
415 * rendering/InlineTextBox.cpp:
416 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
418 2011-02-03 Abhishek Arya <inferno@chromium.org>
420 Unreviewed, qt build fix.
422 * rendering/RenderBlock.cpp:
423 (WebCore::RenderBlock::removeFloatingObject):
425 2011-02-03 Brian Salomon <bsalomon@google.com>
427 Reviewed by James Robinson.
429 Handle non-raster backed images in getUnmultipliedImageData()
430 https://bugs.webkit.org/show_bug.cgi?id=53468
432 No new tests. Existing canvas tests sufficient
433 LayoutTests/canvas/philip/...
435 * platform/graphics/skia/ImageBufferSkia.cpp:
436 (WebCore::getImageData):
437 (WebCore::ImageBuffer::getUnmultipliedImageData):
438 (WebCore::ImageBuffer::getPremultipliedImageData):
439 (WebCore::putImageData):
440 (WebCore::ImageBuffer::putUnmultipliedImageData):
441 (WebCore::ImageBuffer::putPremultipliedImageData):
443 2011-02-03 Abhishek Arya <inferno@chromium.org>
445 Reviewed by James Robinson.
447 Enforce more limits on root inline boxes height calculations.
448 https://bugs.webkit.org/show_bug.cgi?id=53729
450 Test: fast/overflow/overflow-height-float-not-removed-crash.html
452 * rendering/RenderBlock.cpp:
453 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
454 become negative when logicalTop is INT_MAX.
455 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
456 is INT_MAX, we should dirty everything. So, we bail out to make
457 afterLowest equal to the lastRootBox() or lowestDirstLine.
459 2011-02-03 David Levin <levin@chromium.org>
461 Reviewed by Adam Barth and Oliver Hunt.
463 Worker.importScript() should clean errors for cross origin imports.
464 https://bugs.webkit.org/show_bug.cgi?id=52871
466 Test: http/tests/workers/worker-importScriptsOnError.html
468 * bindings/js/WorkerScriptController.cpp:
469 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
470 to determine when to create a clean exception.
471 * bindings/v8/WorkerContextExecutionProxy.cpp:
472 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
473 * dom/ScriptExecutionContext.cpp:
474 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
475 if the error needs to be cleaned up.
476 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
477 sanitizeScriptError for use by other places.
478 * dom/ScriptExecutionContext.h:
479 * workers/WorkerContext.cpp:
480 (WebCore::WorkerContext::importScripts): Use the reponse url when
481 telling the evaluate where the script came fro.
482 * workers/WorkerScriptLoader.cpp:
483 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
484 the script was loaded from (which may be different from url() due
486 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
487 * workers/WorkerScriptLoader.h:
489 2011-02-03 Mark Mentovai <mark@chromium.org>
491 Reviewed by Dimitri Glazkov.
493 Chromium GYP build fix.
495 When various settings were moved to webcore_prerequisites in r66364,
496 things that should have been direct_dependent_settings were not marked
497 as such. GYP 'defines', for example, make no sense on a 'none'-type
498 target such as webcore_prerequisites. It appears that it was intended
499 for these settings to be pushed to direct dependents, which would make
500 direct_dependent_settings correct.
502 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
503 http://crbug.com/71537, which at best causes Mac console log spew, and
504 at worst may result in Chromium's copy of WebCore using system
505 definitions of certain Objective-C classes at runtime, or vice-versa.
507 The build now includes a postbuild step to prevent
508 http://crbug.com/71537 from regressing again. The build will fail upon
511 https://bugs.webkit.org/show_bug.cgi?id=53630
513 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
514 direct_dependent_settings as needed, add the check_objc_rename
516 * WebCore.gyp/mac/check_objc_rename.sh: Added.
518 2011-02-03 Adam Barth <abarth@webkit.org>
520 Reviewed by Eric Seidel.
522 Make XSSFilter go fast by adding a SuffixTree
523 https://bugs.webkit.org/show_bug.cgi?id=53665
525 The SuffixTree lets us quickly reject snippets if the POST data is
526 large (because we can avoid a linear scan over the POST data).
528 * html/parser/XSSFilter.cpp:
529 (WebCore::XSSFilter::init):
530 (WebCore::XSSFilter::isContainedInRequest):
531 * html/parser/XSSFilter.h:
533 2011-02-03 Mihai Parparita <mihaip@chromium.org>
535 Reviewed by Alexey Proskuryakov.
537 REGRESSION (r77355): Page cache layout tests crash
538 https://bugs.webkit.org/show_bug.cgi?id=53648
540 Test: fast/events/pagehide-timeout.html
542 Suspend active DOM objects after all pagehide event handlers have run,
543 otherwise it's possible for them to create more objects that weren't
546 * history/CachedFrame.cpp:
547 (WebCore::CachedFrame::CachedFrame):
549 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
551 Reviewed by Nate Chapin.
553 SerializedScriptValue should not require v8 to create undefined and null values
554 https://bugs.webkit.org/show_bug.cgi?id=53730
556 Instead of creating a v8 type and passing that into the constructor, just use
557 the writer class directly. While I was at it, I cleaned up the code a bit too
558 by getting rid of the WireData/StringValue enum as I found that personally
561 This is necessary because these methods are called by IndexedDB in the browser
562 process where v8 is not spun up.
564 No functionality changed and not possible to test.
566 * bindings/v8/SerializedScriptValue.cpp:
567 (WebCore::SerializedScriptValue::createFromWire):
568 (WebCore::SerializedScriptValue::create):
569 (WebCore::SerializedScriptValue::nullValue):
570 (WebCore::SerializedScriptValue::undefinedValue):
571 (WebCore::SerializedScriptValue::release):
572 (WebCore::SerializedScriptValue::SerializedScriptValue):
573 * bindings/v8/SerializedScriptValue.h:
575 2011-02-03 Beth Dakin <bdakin@apple.com>
577 Reviewed by Sam Weinig.
579 Fix for <rdar://problem/8944544> Ability to animate track
580 for WKPainter scrollers
582 Two new WebKitSystemInterface functions.
584 * platform/mac/WebCoreSystemInterface.h:
585 * platform/mac/WebCoreSystemInterface.mm:
587 Use Scrollbar::convertFromContainingView() to return the right point.
588 * platform/mac/ScrollAnimatorMac.mm:
589 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
591 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
592 now be used to animate the knob or the track.
593 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
594 (-[ScrollbarPartAnimation setCurrentProgress:]):
595 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
596 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
597 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
599 Scrollbars need invalodating after the overlay state changes.
600 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
602 2011-02-03 Sam Weinig <sam@webkit.org>
604 Reviewed by Beth Dakin.
606 Scroll thumb jumps to top when resizing horizontally.
608 * platform/ScrollView.cpp:
609 (WebCore::ScrollView::updateScrollbars): Add call to update
610 the scrollbar's offset in the case where we may have created
611 a new scrollbar but have not changed the current position.
613 2011-02-03 Justin Schuh <jschuh@chromium.org>
615 Reviewed by Dirk Schulze.
617 startAnimations should use a local, RefCounted Vector.
618 https://bugs.webkit.org/show_bug.cgi?id=53458
620 Test: svg/custom/use-animation-in-fill.html
622 * svg/SVGDocumentExtensions.cpp:
623 (WebCore::SVGDocumentExtensions::startAnimations):
625 2011-02-03 Adam Barth <abarth@webkit.org>
627 Reviewed by Daniel Bates.
629 XSSFilter shouldn't bother to analyze pages without "injection"
630 characters in the request
631 https://bugs.webkit.org/show_bug.cgi?id=53664
633 If the request lacks these "injection" characters, then it's unlikely
634 that there's a reflective XSS attack happening. This hueristic lets us
635 avoid analyzing the vast majority of responses for XSS. Of course, the
636 hueristic isn't perfect. Because of this huerstic, we miss out on
637 injections into unquoted attributes. However, it's a trade-off that's
638 worked well in the XSSAuditor.
640 * html/parser/XSSFilter.cpp:
641 (WebCore::HTMLNames::isRequiredForInjection):
642 (WebCore::XSSFilter::XSSFilter):
643 (WebCore::XSSFilter::init):
644 (WebCore::XSSFilter::filterToken):
645 (WebCore::XSSFilter::isContainedInRequest):
646 * html/parser/XSSFilter.h:
648 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
650 Reviewed by Kenneth Russell.
652 [chromium] Fixing a compositor crash occurring on layers
653 without an associated RenderSurface.
654 https://bugs.webkit.org/show_bug.cgi?id=53679
655 Regression was introduced by in r77425
657 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
660 * platform/graphics/chromium/LayerRendererChromium.cpp:
661 (WebCore::LayerRendererChromium::drawLayer):
663 2011-02-03 Dan Bernstein <mitz@apple.com>
665 Reviewed by Anders Carlsson.
667 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
668 https://bugs.webkit.org/show_bug.cgi?id=53709
670 Covered by rendering of fast/text/emphasis-vertical.html
672 * platform/graphics/mac/SimpleFontDataMac.mm:
673 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
676 2011-02-02 Levi Weintraub <leviw@chromium.org>
678 Reviewed by Ryosuke Niwa.
680 Moving cursor down in table cycles at the end of a row
681 https://bugs.webkit.org/show_bug.cgi?id=50012
683 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
684 end of a document due to a bug in nextLeafWithSameEditability.
686 Test: editing/selection/move-by-line-cycles-in-table.html
688 * editing/visible_units.cpp:
689 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
692 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
694 Reviewed by Pavel Feldman.
696 Web Inspector: remove dead code related to changes panel.
697 https://bugs.webkit.org/show_bug.cgi?id=53688
700 * WebCore.vcproj/WebCore.vcproj:
701 * inspector/front-end/ChangesView.js: Removed.
702 * inspector/front-end/WebKit.qrc:
703 * inspector/front-end/inspector.css:
704 (#error-warning-count):
705 (#error-warning-count:hover):
706 (#error-count + #warning-count):
707 * inspector/front-end/inspector.html:
708 * inspector/front-end/inspector.js:
710 2011-02-02 Sam Weinig <sam@webkit.org>
712 Reviewed by Anders Carlsson.
714 Add notification of the end of a rubber band.
715 <rdar://problem/8940648>
718 Add additional exprots.
720 * page/ChromeClient.h:
721 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
722 * page/FrameView.cpp:
723 (WebCore::FrameView::didCompleteRubberBand):
725 * platform/ScrollView.cpp:
726 (WebCore::ScrollView::didCompleteRubberBand):
727 * platform/ScrollView.h:
730 * platform/ScrollableArea.h:
731 (WebCore::ScrollableArea::inLiveResize):
732 (WebCore::ScrollableArea::maximumScrollPosition):
733 (WebCore::ScrollableArea::visibleWidth):
734 (WebCore::ScrollableArea::overhangAmount):
735 (WebCore::ScrollableArea::didCompleteRubberBand):
736 Reorganize and de-virtualize live resize notifications.
738 * platform/mac/ScrollAnimatorMac.mm:
739 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
740 Call the new hook when the rubberband ends.
742 2011-02-02 Evan Martin <evan@chromium.org>
744 Reviewed by Tony Chang.
746 [chromium] complex joining characters positioned in wrong place
747 https://bugs.webkit.org/show_bug.cgi?id=53637
749 Provide the correct font metrics to Harfbuzz related to the font design space.
750 There are used in some fonts for GPOS positioning.
752 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
754 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
755 (WebCore::ComplexTextController::setupFontForScriptRun):
756 (WebCore::ComplexTextController::allocHarfbuzzFont):
757 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
758 (WebCore::FontPlatformData::FontPlatformData):
759 (WebCore::FontPlatformData::emSizeInFontUnits):
760 (WebCore::FontPlatformData::operator=):
761 * platform/graphics/chromium/FontPlatformDataLinux.h:
762 (WebCore::FontPlatformData::FontPlatformData):
764 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
766 Reviewed by Kent Tamura.
768 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
769 https://bugs.webkit.org/show_bug.cgi?id=53634
771 Test: fast/dom/HTMLInputElement/input-slider-update.html
773 * html/HTMLInputElement.cpp:
774 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
775 * html/InputType.cpp:
776 (WebCore::InputType::valueChanged): Added empty implementation.
777 * html/InputType.h: Added def.
778 * html/RangeInputType.cpp:
779 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
781 * html/RangeInputType.h: Added def.
783 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
785 Reviewed by Pavel Feldman.
787 Web Inspector: do not share source frames between resources panel and scripts panel.
788 https://bugs.webkit.org/show_bug.cgi?id=53584
790 Currently, we show error messages only for resources. This change will allow showing error
791 messages in source frame even when resource is not available (eval scripts, inlined scripts).
793 * inspector/front-end/ConsoleView.js:
794 (WebInspector.ConsoleView.prototype.addMessage):
795 (WebInspector.ConsoleView.prototype.clearMessages):
796 * inspector/front-end/ResourceView.js:
797 (WebInspector.ResourceView.recreateResourceView):
798 * inspector/front-end/ResourcesPanel.js:
799 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
800 * inspector/front-end/ScriptsPanel.js:
801 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
802 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
803 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
804 (WebInspector.ScriptsPanel.prototype.reset):
805 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
806 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
807 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
809 2011-02-03 Simon Fraser <simon.fraser@apple.com>
813 * platform/graphics/ShadowBlur.cpp:
814 (WebCore::ShadowBlur::blurLayerImage):
816 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
818 Reviewed by Pavel Feldman.
820 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
821 https://bugs.webkit.org/show_bug.cgi?id=53592
823 In JSC there is no limit, thus 'undefined' value is returned.
824 For V8, the limit reported by the VM is returned.
826 * Android.jscbindings.mk:
831 * WebCore.vcproj/WebCore.vcproj:
832 * WebCore.xcodeproj/project.pbxproj:
833 * bindings/js/JSBindingsAllInOne.cpp:
834 * bindings/js/JSMemoryInfoCustom.cpp: Added.
835 * bindings/js/ScriptGCEvent.cpp:
836 (WebCore::ScriptGCEvent::getHeapSize):
837 * bindings/js/ScriptGCEvent.h:
838 * bindings/v8/ScriptGCEvent.cpp:
839 (WebCore::ScriptGCEvent::getHeapSize):
840 * bindings/v8/ScriptGCEvent.h:
841 * inspector/InspectorTimelineAgent.cpp:
842 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
843 * page/MemoryInfo.cpp:
844 (WebCore::MemoryInfo::MemoryInfo):
846 (WebCore::MemoryInfo::jsHeapSizeLimit):
847 * page/MemoryInfo.idl:
849 2011-01-27 Philippe Normand <pnormand@igalia.com>
851 Reviewed by Martin Robinson.
853 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
854 https://bugs.webkit.org/show_bug.cgi?id=53125
856 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
857 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
859 2011-02-03 Simon Fraser <simon.fraser@apple.com>
861 Reviewed by Sam Weinig.
863 ShadowBlur radius for CSS shadows is slightly too big
864 https://bugs.webkit.org/show_bug.cgi?id=53660
866 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
867 shadows that extend further than the CSS "blur radius", which results
868 in the shadows being truncated.
870 Fix with a small fudge factor to reduce the kernel diameter slightly
873 Also more closely follow the algorithm described in the SVG spec
874 for computing the kernel size for different diameters, and clean up
875 some variable naming relating to the shadow bounds.
877 * platform/graphics/ShadowBlur.cpp:
878 (WebCore::ShadowBlur::blurLayerImage):
879 (WebCore::ShadowBlur::drawRectShadowWithTiling):
881 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
883 Reviewed by Pavel Feldman.
885 Web Inspector: introduce new api for managing JavaScript breakpoints.
886 https://bugs.webkit.org/show_bug.cgi?id=53235
888 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
889 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
890 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
892 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
893 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
895 * bindings/js/ScriptDebugServer.cpp:
896 (WebCore::ScriptDebugServer::setBreakpoint):
897 (WebCore::ScriptDebugServer::removeBreakpoint):
898 * bindings/js/ScriptDebugServer.h:
899 * bindings/v8/DebuggerScript.js:
901 * bindings/v8/ScriptDebugServer.cpp:
902 (WebCore::ScriptDebugServer::setBreakpoint):
903 * bindings/v8/ScriptDebugServer.h:
904 * inspector/Inspector.idl:
905 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
906 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
907 (WebCore::InspectorAgent::populateScriptObjects):
908 (WebCore::InspectorAgent::restoreDebugger):
909 (WebCore::InspectorAgent::showAndEnableDebugger):
910 (WebCore::InspectorAgent::enableDebugger):
911 * inspector/InspectorAgent.h:
912 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
913 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
914 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
915 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
916 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
917 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
918 (WebCore::InspectorDebuggerAgent::continueToLocation):
919 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
920 (WebCore::InspectorDebuggerAgent::getScriptSource):
921 (WebCore::InspectorDebuggerAgent::didParseSource):
922 (WebCore::InspectorDebuggerAgent::didPause):
923 * inspector/InspectorDebuggerAgent.h:
924 (WebCore::InspectorDebuggerAgent::Script::Script):
925 * inspector/InspectorValues.cpp:
926 (WebCore::InspectorValue::asNumber):
927 (WebCore::InspectorBasicValue::asNumber):
928 (WebCore::InspectorObject::remove):
929 * inspector/InspectorValues.h:
930 (WebCore::InspectorObject::getNumber):
931 (WebCore::InspectorObject::find):
932 * inspector/ScriptBreakpoint.h:
933 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
934 * inspector/front-end/Breakpoint.js:
935 (WebInspector.Breakpoint):
936 (WebInspector.Breakpoint.prototype.addLocation):
937 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
938 (WebInspector.BreakpointManager):
939 (WebInspector.BreakpointManager.prototype._projectChanged):
940 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
941 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
942 * inspector/front-end/BreakpointsSidebarPane.js:
943 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
944 * inspector/front-end/DebuggerModel.js:
945 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
946 * inspector/front-end/Script.js:
947 (WebInspector.Script.prototype.sourceLine):
948 * inspector/front-end/ScriptsPanel.js:
949 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
950 * inspector/front-end/Settings.js:
951 (WebInspector.Settings):
952 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
953 * inspector/front-end/inspector.js:
955 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
957 Reviewed by Dirk Schulze.
959 small text which is scaled to be large renders pixelated
960 https://bugs.webkit.org/show_bug.cgi?id=12448
962 SVG <text> with font-size smaller or equal to 1 does not paint correctly
963 https://bugs.webkit.org/show_bug.cgi?id=14242
965 misplaced text in SVG
966 https://bugs.webkit.org/show_bug.cgi?id=17053
968 Don't render very small (but zoomed) text inside SVG
969 https://bugs.webkit.org/show_bug.cgi?id=19393
971 Tiny fonts scaled up end up too large in Safari
972 https://bugs.webkit.org/show_bug.cgi?id=20192
974 Stretched SVG Text has awful glyph spacing
975 https://bugs.webkit.org/show_bug.cgi?id=21774
977 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
978 https://bugs.webkit.org/show_bug.cgi?id=49846
980 [Gtk] Text height in zoomed SVG is 1px too high
981 https://bugs.webkit.org/show_bug.cgi?id=50313
983 SVG text smaller than 0.5px not displayed properly
984 https://bugs.webkit.org/show_bug.cgi?id=50528
986 When rendering text, we're selecting a font with a size, as specified in the markup.
987 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
988 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
989 problem becomes apparent.
991 Consider following two snippets, which should render exactly the same:
992 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
993 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
995 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
996 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
997 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
999 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1000 remove any scaling from the context, draw the text using the scaled font size, then reapply
1001 the context scale. This makes the example snippets above render exactly the same and fixes
1002 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1003 internally, depending on the scale of the document, it's very important to use the new
1004 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1006 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1007 svg/hixie/text/003.html (no more pixelation)
1008 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1009 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1010 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1012 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1013 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1014 svg/text/scaled-font.svg (reduction from bug 12448)
1015 svg/text/small-fonts-2.svg (reduction from bug 14242)
1016 svg/text/small-fonts-3.svg (reduction from bug 17053)
1017 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1018 svg/text/small-fonts.svg (reduction from bug 20192))
1020 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1021 * rendering/svg/RenderSVGInlineText.h:
1022 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1023 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1024 * rendering/svg/SVGInlineTextBox.h:
1025 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1026 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1027 * rendering/svg/SVGTextMetrics.h: Ditto.
1028 * rendering/svg/SVGTextQuery.cpp: Ditto.
1029 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1030 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1031 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1032 * svg/SVGTextPositioningElement.h:
1034 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1036 Reviewed by Yury Semikhatsky.
1038 Web Inspector: resources panel doesn't show frames after reload.
1039 https://bugs.webkit.org/show_bug.cgi?id=53430
1041 * inspector/front-end/ResourcesPanel.js:
1042 (WebInspector.ResourcesPanel.prototype.show):
1043 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1044 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1045 (WebInspector.ResourcesPanel.prototype.reset):
1046 (WebInspector.ResourcesPanel.prototype.clear):
1047 * inspector/front-end/inspector.js:
1048 (WebInspector.loadEventFired):
1050 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1052 Reviewed by Pavel Feldman.
1054 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1055 https://bugs.webkit.org/show_bug.cgi?id=53492
1057 * inspector/Inspector.idl:
1058 * inspector/InspectorCSSAgent.cpp:
1059 (WebCore::InspectorCSSAgent::getStylesForNode):
1060 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1061 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1062 (WebCore::InspectorCSSAgent::getAllStyles):
1063 (WebCore::InspectorCSSAgent::getStyleSheet):
1064 (WebCore::InspectorCSSAgent::getStyleSheetText):
1065 (WebCore::InspectorCSSAgent::setStyleSheetText):
1066 (WebCore::InspectorCSSAgent::setPropertyText):
1067 (WebCore::InspectorCSSAgent::toggleProperty):
1068 (WebCore::InspectorCSSAgent::setRuleSelector):
1069 (WebCore::InspectorCSSAgent::addRule):
1070 * inspector/InspectorCSSAgent.h:
1071 * inspector/front-end/AuditRules.js:
1072 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1073 * inspector/front-end/CSSStyleModel.js:
1074 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1075 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1076 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1077 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1078 (WebInspector.CSSStyleModel.prototype.addRule):
1079 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1080 (WebInspector.CSSStyleModel.prototype._onRevert):
1081 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1082 (WebInspector.CSSProperty.prototype.setText):
1083 (WebInspector.CSSProperty.prototype.setDisabled):
1084 (WebInspector.CSSStyleSheet.createForId):
1085 (WebInspector.CSSStyleSheet.prototype.setText):
1087 2011-02-03 Adam Barth <abarth@webkit.org>
1089 Reviewed by Daniel Bates.
1091 Teach XSSFilter about data URLs
1092 https://bugs.webkit.org/show_bug.cgi?id=53662
1094 The XSS filter doesn't really make sense for data URLs because
1095 everything in a "response" from a data URL was part of the request.
1097 Test: http/tests/security/xssAuditor/data-urls-work.html
1099 * html/parser/XSSFilter.cpp:
1100 (WebCore::XSSFilter::init):
1101 (WebCore::XSSFilter::filterToken):
1103 2011-02-02 Chris Evans <cevans@chromium.org>
1105 Reviewed by Darin Fisher.
1107 window.find() can fail when switching case sensitivity
1108 https://bugs.webkit.org/show_bug.cgi?id=53654
1110 Reset the pattern to a safe one when done, to avoid usearch_reset()
1111 indirectly touching the old, stale text pointer.
1113 Test: fast/text/find-window.html
1115 * editing/TextIterator.cpp:
1116 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1118 2011-02-02 Adam Barth <abarth@webkit.org>
1120 Reviewed by Daniel Bates.
1122 Teach XSSFilter that <param> elements can contain URLs
1123 https://bugs.webkit.org/show_bug.cgi?id=53652
1125 When loading plugins for the <object> tag, we're "smart" enough to
1126 reach into the <param> elements and pull out the URL in some cases.
1127 This patch teaches the XSSFilter how to block injections into those
1128 sorts of param elements.
1131 http/tests/security/xssAuditor/object-*
1133 * html/HTMLParamElement.cpp:
1134 (WebCore::HTMLParamElement::isURLParameter):
1135 (WebCore::HTMLParamElement::isURLAttribute):
1136 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1137 * html/HTMLParamElement.h:
1138 - Add a helper function so that HTMLParamElement can share the
1139 ground truth for these names with the XSSFilter.
1140 * html/parser/XSSFilter.cpp:
1141 (WebCore::XSSFilter::filterTokenInitial):
1142 (WebCore::XSSFilter::filterParamToken):
1143 * html/parser/XSSFilter.h:
1145 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1147 Reviewed by David Levin.
1149 GCC compiler on ARM issues bogus warnings and fails to compile.
1150 https://bugs.webkit.org/show_bug.cgi?id=53620
1152 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1153 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1155 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1157 The fix is to add an extra condition, which somehow pacifies the compiler.
1159 * css/CSSPrimitiveValue.cpp:
1160 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1162 2011-02-02 Adam Barth <abarth@webkit.org>
1164 Reviewed by Daniel Bates.
1166 Teach XSSFilter about X-XSS-Protection
1167 https://bugs.webkit.org/show_bug.cgi?id=53640
1169 This patch causes us to pass:
1170 http/tests/security/xssAuditor/full-block-*
1171 http/tests/security/xssAuditor/no-protection-script-tag.html
1173 * html/parser/XSSFilter.cpp:
1174 (WebCore::XSSFilter::XSSFilter):
1175 (WebCore::XSSFilter::init):
1176 (WebCore::XSSFilter::filterToken):
1177 * html/parser/XSSFilter.h:
1179 2011-02-02 Adam Barth <abarth@webkit.org>
1181 Reviewed by Daniel Bates.
1183 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1184 instead of the empty string
1185 https://bugs.webkit.org/show_bug.cgi?id=53643
1187 In a URL context, the empty string completes to the URL of the current
1188 page, which causes these tests to go into an infinite loop. Instead,
1189 we should use a "safe" JavaScript URL that does nothing.
1192 http/tests/security/xssAuditor/javascript-link*
1194 * html/parser/XSSFilter.cpp:
1195 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1197 2011-02-02 Dan Bernstein <mitz@apple.com>
1199 Reviewed by Sam Weinig.
1201 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1202 https://bugs.webkit.org/show_bug.cgi?id=44942
1204 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1206 * platform/text/BidiResolver.h:
1207 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1208 a change to embedding levels.
1209 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1210 the explicit embedding sequence, then runs were not added, and we should continue normally.
1212 2011-02-02 Sam Weinig <sam@webkit.org>
1214 Reviewed by Dan Bernstein.
1216 Fix miscalculation of the overhang area used for painting. We were
1217 not correctly accounting for scrollbars resulting in an non-negative
1218 overhang even when we weren't over the edge.
1220 * platform/ScrollView.cpp:
1221 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1223 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1225 Reviewed by Nate Chapin.
1227 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1228 https://bugs.webkit.org/show_bug.cgi?id=52722
1230 The solution is to change ScriptExecutionContext's destructor to iterate over
1231 the list in a way that handles the mutations. This new method is destructive,
1232 but that's OK since the object is going away. I've also added a several asserts.
1234 There should be no behavior change.
1236 * dom/ScriptExecutionContext.cpp:
1237 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1238 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1239 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1240 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1241 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1242 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1243 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1244 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1245 * dom/ScriptExecutionContext.h:
1246 * storage/IDBTransaction.cpp:
1247 (WebCore::IDBTransaction::contextDestroyed):
1248 * storage/IDBTransaction.h:
1250 2011-02-02 Mark Rowe <mrowe@apple.com>
1254 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1255 * platform/mac/ScrollbarThemeMac.mm:
1256 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1257 up in the HashMap rather than relying on a local variable that doesn't
1260 2011-02-02 Adam Barth <abarth@webkit.org>
1262 Reviewed by Daniel Bates.
1264 Teach XSSFilter about JavaScript URLs
1265 https://bugs.webkit.org/show_bug.cgi?id=53635
1267 This patch teaches the XSSFilter to check for JavaScript URLs in
1268 attribute values. If this approach has too many false positives, we
1269 can restrict which attribute names we examine.
1272 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1273 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1274 http/tests/security/xssAuditor/iframe-javascript-url*
1276 * html/parser/XSSFilter.cpp:
1277 (WebCore::HTMLNames::containsJavaScriptURL):
1278 (WebCore::XSSFilter::filterTokenInitial):
1279 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1280 * html/parser/XSSFilter.h:
1282 2011-02-02 Dan Bernstein <mitz@apple.com>
1284 Reviewed by Sam Weinig, even though this is just a...
1288 * platform/mac/ScrollAnimatorMac.mm:
1289 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1291 2011-02-02 Mark Rowe <mrowe@apple.com>
1293 Reviewed by Beth Dakin.
1295 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1297 We need to ensure that we remove ourselves as the delegates of objects when we're going
1298 away as failing to do this can lead to crashes if the lifetime of the other objects
1299 is longer than ours.
1301 * platform/mac/ScrollAnimatorMac.mm:
1302 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1303 * platform/mac/ScrollbarThemeMac.mm:
1304 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1306 2011-02-02 Beth Dakin <bdakin@apple.com>
1312 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1314 Unreviewed WinCE build fix for r77397.
1316 * page/wince/FrameWinCE.cpp:
1317 (WebCore::computePageRectsForFrame):
1319 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1321 Unreviewed WinCE build fix for r77398.
1323 * platform/graphics/wince/PlatformPathWinCE.cpp:
1324 (WebCore::containsPoint):
1325 (WebCore::inflateRectToContainPoint):
1326 (WebCore::PlatformPath::addRect):
1327 * platform/graphics/wince/SharedBitmap.cpp:
1328 (WebCore::SharedBitmap::drawPattern):
1329 * rendering/RenderThemeWinCE.cpp:
1330 (WebCore::RenderThemeWinCE::paintMenuListButton):
1331 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1332 (WebCore::RenderThemeWinCE::paintSliderTrack):
1333 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1334 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1335 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1336 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1338 2011-02-02 Jian Li <jianli@chromium.org>
1340 Reviewed by Kenneth Russell.
1342 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1343 https://bugs.webkit.org/show_bug.cgi?id=53559
1345 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1347 * html/canvas/DataView.h:
1348 (WebCore::DataView::beyondRange):
1350 2011-02-02 Sam Weinig <sam@webkit.org>
1352 Reviewed by Beth Dakin.
1354 Add ChromeClient function to paint custom overhang areas.
1355 https://bugs.webkit.org/show_bug.cgi?id=53639
1358 (WebCore::ChromeClient::paintCustomOverhangArea):
1359 * page/ChromeClient.h:
1360 Add ChromeClient function.
1362 * page/FrameView.cpp:
1363 (WebCore::FrameView::paintOverhangAreas):
1365 Call out the the ChromeClient, call ScrollView base implementation
1366 if the ChromeClient returns false.
1368 * platform/ScrollView.cpp:
1369 (WebCore::ScrollView::paintOverhangAreas):
1370 * platform/ScrollView.h:
1371 Add dirty rect for use when painting overhang areas.
1373 2011-02-02 Peter Kasting <pkasting@google.com>
1375 Not reviewed, build fix.
1377 Fix compile after r77427.
1378 https://bugs.webkit.org/show_bug.cgi?id=53455
1380 * platform/graphics/qt/ImageDecoderQt.cpp:
1381 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1382 * platform/image-decoders/ImageDecoder.cpp:
1383 (WebCore::ImageFrame::operator=):
1384 * platform/image-decoders/bmp/BMPImageReader.cpp:
1385 (WebCore::BMPImageReader::decodeBMP):
1386 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1387 (WebCore::JPEGImageDecoder::outputScanlines):
1388 * platform/image-decoders/png/PNGImageDecoder.cpp:
1389 (WebCore::PNGImageDecoder::rowAvailable):
1390 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1391 (WebCore::WEBPImageDecoder::decode):
1393 2011-02-02 Peter Kasting <pkasting@google.com>
1395 Reviewed by David Levin.
1397 Clean up ImageDecoder's comments (remove/trim/clarify).
1398 https://bugs.webkit.org/show_bug.cgi?id=53455
1400 This also renames or eliminates a couple of functions for clarity, and
1401 switches a couple erroneous strncmp() calls to memcmp().
1403 * platform/image-decoders/ImageDecoder.cpp:
1404 (WebCore::ImageDecoder::create):
1405 (WebCore::ImageFrame::clearPixelData):
1406 (WebCore::ImageFrame::zeroFillPixelData):
1407 (WebCore::ImageFrame::setSize):
1408 * platform/image-decoders/ImageDecoder.h:
1409 (WebCore::ImageFrame::originalFrameRect):
1410 (WebCore::ImageFrame::setOriginalFrameRect):
1411 (WebCore::ImageDecoder::ImageDecoder):
1412 (WebCore::ImageDecoder::~ImageDecoder):
1413 (WebCore::ImageDecoder::isSizeAvailable):
1414 (WebCore::ImageDecoder::size):
1415 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1416 (WebCore::ImageDecoder::clearFrameBufferCache):
1417 (WebCore::ImageDecoder::isOverSize):
1418 * platform/image-decoders/bmp/BMPImageReader.cpp:
1419 (WebCore::BMPImageReader::processNonRLEData):
1420 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1421 (WebCore::ImageFrame::setSize):
1422 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1423 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1424 (WebCore::GIFImageDecoder::frameComplete):
1425 (WebCore::GIFImageDecoder::initFrameBuffer):
1426 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1427 * platform/image-decoders/qt/ImageFrameQt.cpp:
1428 (WebCore::ImageFrame::operator=):
1429 (WebCore::ImageFrame::clearPixelData):
1430 (WebCore::ImageFrame::zeroFillPixelData):
1431 (WebCore::ImageFrame::setSize):
1432 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1433 (WebCore::ImageFrame::operator=):
1434 (WebCore::ImageFrame::clearPixelData):
1435 (WebCore::ImageFrame::zeroFillPixelData):
1436 (WebCore::ImageFrame::setSize):
1437 * platform/image-decoders/webp/WEBPImageDecoder.h:
1439 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1441 [chromium] Adding support for reflections to the accelerated
1443 https://bugs.webkit.org/show_bug.cgi?id=53179
1445 All layout tests in compositing/reflections generate correct
1446 results with the exception of:
1447 1. nested-reflection-anchor-point.html : There appears to be
1448 some issue with the layer transform math that I haven't been
1449 able to track down yet.
1450 2. reflection-opacity.html : The current implementation applies
1451 opacity before doing the reflection which makes this test
1452 produce incorrect results. This will affect reflected layers
1453 with opacity that overlap their original layer. FIXME comment
1456 Tests: Covered by existing layout tests in compositing/reflections.
1457 Please see above for exceptions.
1459 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1460 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1461 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1462 * platform/graphics/chromium/GraphicsLayerChromium.h:
1463 * platform/graphics/chromium/LayerChromium.cpp:
1464 (WebCore::LayerChromium::LayerChromium):
1465 * platform/graphics/chromium/LayerChromium.h:
1466 (WebCore::LayerChromium::setReplicaLayer):
1467 (WebCore::LayerChromium::replicaLayer):
1468 * platform/graphics/chromium/LayerRendererChromium.cpp:
1469 (WebCore::LayerRendererChromium::updateLayersRecursive):
1470 (WebCore::LayerRendererChromium::drawLayer):
1471 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1472 (WebCore::RenderSurfaceChromium::drawableContentRect):
1473 (WebCore::RenderSurfaceChromium::drawSurface):
1474 (WebCore::RenderSurfaceChromium::draw):
1475 * platform/graphics/chromium/RenderSurfaceChromium.h:
1476 (WebCore::RenderSurfaceChromium::drawTransform):
1478 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1480 Reviewed by Tony Chang.
1482 [Chromium] Select popup with padding has white strip on right
1483 https://bugs.webkit.org/show_bug.cgi?id=53602
1485 No new tests as this change restores old behavior.
1487 * platform/chromium/PopupMenuChromium.cpp:
1488 (WebCore::PopupListBox::layout):
1490 2011-02-02 Beth Dakin <bdakin@apple.com>
1492 Reviewed by Mark Rowe.
1494 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1495 1 crash in WebProcess at com.apple.WebCore:
1496 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1498 It is possible for a Scrollbar's ScrollableArea to be null,
1499 so we must null check.
1500 * platform/mac/ScrollbarThemeMac.mm:
1501 (WebCore::ScrollbarThemeMac::registerScrollbar):
1502 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1504 2011-02-02 Zhenyao Mo <zmo@google.com>
1506 Reviewed by Kenneth Russell.
1508 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1509 https://bugs.webkit.org/show_bug.cgi?id=53626
1511 * html/canvas/WebGLRenderingContext.cpp:
1512 (WebCore::WebGLRenderingContext::bufferData):
1513 (WebCore::WebGLRenderingContext::bufferSubData):
1515 2011-02-02 Jeff Miller <jeffm@apple.com>
1517 Reviewed by Darin Adler and Steve Falkenburg.
1519 Add DerivedSources.make to some Visual Studio projects
1520 https://bugs.webkit.org/show_bug.cgi?id=53607
1522 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1524 2011-02-02 Cris Neckar <cdn@chromium.org>
1526 Reviewed by James Robinson.
1528 Refcount domwindows when dispatching device orientation events.
1529 https://bugs.webkit.org/show_bug.cgi?id=53623
1531 Test: fast/events/device-orientation-crash.html
1533 * dom/DeviceMotionController.cpp:
1534 (WebCore::DeviceMotionController::timerFired):
1535 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1536 * dom/DeviceMotionController.h:
1537 * dom/DeviceOrientationController.cpp:
1538 (WebCore::DeviceOrientationController::timerFired):
1539 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1540 * dom/DeviceOrientationController.h:
1542 2011-02-02 Zhenyao Mo <zmo@google.com>
1544 Reviewed by Kenneth Russell.
1546 A deleted object should never been bound again
1547 https://bugs.webkit.org/show_bug.cgi?id=53604
1549 * html/canvas/WebGLRenderingContext.cpp:
1550 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1551 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1552 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1553 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1554 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1555 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1556 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1557 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1558 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1559 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1560 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1561 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1562 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1563 * html/canvas/WebGLRenderingContext.h:
1564 * html/canvas/WebGLTexture.h:
1565 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1567 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1569 Unreviewed Efl buildfix after r77399.
1571 * CMakeListsEfl.txt:
1573 2011-02-02 Kenneth Russell <kbr@google.com>
1575 Reviewed by James Robinson.
1577 Rename Typed Array subset to subarray
1578 https://bugs.webkit.org/show_bug.cgi?id=53618
1580 * html/canvas/Float32Array.cpp:
1581 (WebCore::Float32Array::subarray):
1582 * html/canvas/Float32Array.h:
1583 * html/canvas/Float32Array.idl:
1584 * html/canvas/Int16Array.cpp:
1585 (WebCore::Int16Array::subarray):
1586 * html/canvas/Int16Array.h:
1587 * html/canvas/Int16Array.idl:
1588 * html/canvas/Int32Array.cpp:
1589 (WebCore::Int32Array::subarray):
1590 * html/canvas/Int32Array.h:
1591 * html/canvas/Int32Array.idl:
1592 * html/canvas/Int8Array.cpp:
1593 (WebCore::Int8Array::subarray):
1594 * html/canvas/Int8Array.h:
1595 * html/canvas/Int8Array.idl:
1596 * html/canvas/TypedArrayBase.h:
1597 (WebCore::TypedArrayBase::subarrayImpl):
1598 * html/canvas/Uint16Array.cpp:
1599 (WebCore::Uint16Array::subarray):
1600 * html/canvas/Uint16Array.h:
1601 * html/canvas/Uint16Array.idl:
1602 * html/canvas/Uint32Array.cpp:
1603 (WebCore::Uint32Array::subarray):
1604 * html/canvas/Uint32Array.h:
1605 * html/canvas/Uint32Array.idl:
1606 * html/canvas/Uint8Array.cpp:
1607 (WebCore::Uint8Array::subarray):
1608 * html/canvas/Uint8Array.h:
1609 * html/canvas/Uint8Array.idl:
1611 2011-02-02 Adam Barth <abarth@webkit.org>
1613 Reviewed by Eric Seidel.
1615 Add an empty file for Content Security Policy
1616 https://bugs.webkit.org/show_bug.cgi?id=53573
1618 Posting this as a separate patch because editing the build files is so
1626 * WebCore.vcproj/WebCore.vcproj:
1627 * WebCore.xcodeproj/project.pbxproj:
1629 2011-02-02 Dan Winship <danw@gnome.org>
1631 Reviewed by Martin Robinson.
1633 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1635 https://bugs.webkit.org/show_bug.cgi?id=50885
1637 * platform/network/soup/ResourceHandleSoup.cpp:
1638 (WebCore::sendRequestCallback): Do content-type sniffing here for
1640 (WebCore::startHTTPRequest): Rename to match WebKit style.
1641 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1642 startNonHTTPRequest, letting the SoupRequester decide whether it's
1644 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1645 code that was a no-op for file: URIs, but would break some data:
1648 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1650 Update even more references to right() and bottom() in Chromium. Sheesh.
1652 * platform/graphics/chromium/LayerRendererChromium.cpp:
1653 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1655 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1657 Unreviewed Gtk3 buildfix after r77286.
1659 https://bugs.webkit.org/show_bug.cgi?id=53520
1660 Remove the physical terminology from IntRect and FloatRect.
1662 * platform/gtk/RenderThemeGtk3.cpp:
1663 (WebCore::RenderThemeGtk::paintMenuList):
1665 2011-02-02 Anders Carlsson <andersca@apple.com>
1669 * platform/mac/ScrollAnimatorMac.mm:
1670 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1672 2011-02-02 David Hyatt <hyatt@apple.com>
1674 Reviewed by Dan Bernstein.
1676 https://bugs.webkit.org/show_bug.cgi?id=53619
1678 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1679 with maxX/maxY. This matches IntRect.
1681 * rendering/RenderBlock.cpp:
1682 (WebCore::RenderBlock::addOverflowFromFloats):
1683 (WebCore::RenderBlock::flipFloatForWritingMode):
1684 (WebCore::RenderBlock::paintFloats):
1685 (WebCore::RenderBlock::selectionGaps):
1686 (WebCore::RenderBlock::addOverhangingFloats):
1687 (WebCore::RenderBlock::addIntrudingFloats):
1688 (WebCore::RenderBlock::hitTestFloats):
1689 (WebCore::RenderBlock::adjustForBorderFit):
1690 * rendering/RenderBlock.h:
1691 (WebCore::RenderBlock::FloatingObject::x):
1692 (WebCore::RenderBlock::FloatingObject::maxX):
1693 (WebCore::RenderBlock::FloatingObject::y):
1694 (WebCore::RenderBlock::FloatingObject::maxY):
1695 (WebCore::RenderBlock::FloatingObject::setX):
1696 (WebCore::RenderBlock::FloatingObject::setY):
1697 (WebCore::RenderBlock::logicalTopForFloat):
1698 (WebCore::RenderBlock::logicalBottomForFloat):
1699 (WebCore::RenderBlock::logicalLeftForFloat):
1700 (WebCore::RenderBlock::logicalRightForFloat):
1701 (WebCore::RenderBlock::setLogicalTopForFloat):
1702 (WebCore::RenderBlock::setLogicalLeftForFloat):
1703 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1704 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1706 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1708 Update more references to right() and bottom() in Chromium Win.
1710 * platform/graphics/chromium/TransparencyWin.cpp:
1711 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1712 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1713 * rendering/RenderThemeChromiumWin.cpp:
1714 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1716 2011-02-02 Adam Roben <aroben@apple.com>
1718 Encode/decode FormData and FormDataElement objects consistently
1720 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1721 that contains form data fails (asserts in Debug build)
1723 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1724 now, even though we don't have an automated test for it yet. Writing a test is covered by
1725 <http://webkit.org/b/53616>.
1727 Reviewed by Darin Adler.
1729 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1732 * platform/network/FormData.cpp:
1733 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1734 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1735 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1736 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1737 to correctly set the FormDataElement's type based on this decoded type later in the
1739 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1740 matches its type and how we decode it.
1742 2011-02-02 Dan Winship <danw@gnome.org>
1744 Reviewed by Martin Robinson.
1746 [GTK] drop soup cache stuff, which has been moved to libsoup
1747 https://bugs.webkit.org/show_bug.cgi?id=50747
1749 Use libsoup-based cache/requester API and remove the WebCore version
1750 of this functionality. This has been pushed upstream fully.
1752 No new tests because this should not change functionality.
1754 * GNUmakefile.am: Update for removed files.
1755 * platform/network/ResourceHandleInternal.h:
1756 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1757 type names, drop m_requester.
1758 * platform/network/soup/ResourceHandleSoup.cpp:
1759 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1761 (WebCore::parseDataUrl):
1762 (WebCore::startHttp): Get the requester from the session rather
1763 than using m_requester.
1764 (WebCore::sendRequestCallback):
1765 (WebCore::ResourceHandle::platformSetDefersLoading):
1766 (WebCore::readCallback):
1767 (WebCore::startGio): Update type names.
1768 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1769 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1770 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1771 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1772 * platform/network/soup/cache/soup-request-data.c: Removed.
1773 * platform/network/soup/cache/soup-request-data.h: Removed.
1774 * platform/network/soup/cache/soup-request-file.c: Removed.
1775 * platform/network/soup/cache/soup-request-file.h: Removed.
1776 * platform/network/soup/cache/soup-request-http.c: Removed.
1777 * platform/network/soup/cache/soup-request-http.h: Removed.
1778 * platform/network/soup/cache/soup-request.c: Removed.
1779 * platform/network/soup/cache/soup-request.h: Removed.
1780 * platform/network/soup/cache/soup-requester.c: Removed.
1781 * platform/network/soup/cache/soup-requester.h: Removed.
1782 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1783 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1784 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1786 2011-02-02 David Hyatt <hyatt@apple.com>
1788 Reviewed by Darin Adler.
1790 https://bugs.webkit.org/show_bug.cgi?id=53520
1792 Remove physical accessors from IntRect and FloatRect.
1794 * page/FrameView.cpp:
1795 (WebCore::FrameView::adjustPageHeightDeprecated):
1796 * platform/graphics/FloatRect.h:
1797 * platform/graphics/IntRect.h:
1799 2011-02-02 David Hyatt <hyatt@apple.com>
1801 Reviewed by Dan Bernstein.
1803 https://bugs.webkit.org/show_bug.cgi?id=53614
1805 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1807 * rendering/InlineFlowBox.cpp:
1808 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1809 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1810 * rendering/InlineFlowBox.h:
1811 (WebCore::InlineFlowBox::minYLayoutOverflow):
1812 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1813 (WebCore::InlineFlowBox::minXLayoutOverflow):
1814 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1815 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1816 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1817 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1818 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1819 (WebCore::InlineFlowBox::minYVisualOverflow):
1820 (WebCore::InlineFlowBox::maxYVisualOverflow):
1821 (WebCore::InlineFlowBox::minXVisualOverflow):
1822 (WebCore::InlineFlowBox::maxXVisualOverflow):
1823 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1824 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1825 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1826 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1827 * rendering/RenderBlock.cpp:
1828 (WebCore::RenderBlock::adjustLinePositionForPagination):
1829 * rendering/RenderBlockLineLayout.cpp:
1830 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1831 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1832 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1833 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1834 * rendering/RenderBox.cpp:
1835 (WebCore::RenderBox::scrollWidth):
1836 (WebCore::RenderBox::scrollHeight):
1837 * rendering/RenderBox.h:
1838 (WebCore::RenderBox::minYLayoutOverflow):
1839 (WebCore::RenderBox::maxYLayoutOverflow):
1840 (WebCore::RenderBox::minXLayoutOverflow):
1841 (WebCore::RenderBox::maxXLayoutOverflow):
1842 (WebCore::RenderBox::logicalLeftLayoutOverflow):
1843 (WebCore::RenderBox::logicalRightLayoutOverflow):
1844 (WebCore::RenderBox::minYVisualOverflow):
1845 (WebCore::RenderBox::maxYVisualOverflow):
1846 (WebCore::RenderBox::minXVisualOverflow):
1847 (WebCore::RenderBox::maxXVisualOverflow):
1848 (WebCore::RenderBox::logicalLeftVisualOverflow):
1849 (WebCore::RenderBox::logicalRightVisualOverflow):
1850 * rendering/RenderInline.cpp:
1851 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1852 * rendering/RenderLayerCompositor.cpp:
1853 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1854 * rendering/RenderLineBoxList.cpp:
1855 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1856 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1857 (WebCore::RenderLineBoxList::paint):
1858 (WebCore::RenderLineBoxList::hitTest):
1859 * rendering/RenderMarquee.cpp:
1860 (WebCore::RenderMarquee::computePosition):
1861 * rendering/RenderOverflow.h:
1862 (WebCore::RenderOverflow::RenderOverflow):
1863 (WebCore::RenderOverflow::minYLayoutOverflow):
1864 (WebCore::RenderOverflow::maxYLayoutOverflow):
1865 (WebCore::RenderOverflow::minXLayoutOverflow):
1866 (WebCore::RenderOverflow::maxXLayoutOverflow):
1867 (WebCore::RenderOverflow::minYVisualOverflow):
1868 (WebCore::RenderOverflow::maxYVisualOverflow):
1869 (WebCore::RenderOverflow::minXVisualOverflow):
1870 (WebCore::RenderOverflow::maxXVisualOverflow):
1871 (WebCore::RenderOverflow::setminYVisualOverflow):
1872 (WebCore::RenderOverflow::visualOverflowRect):
1873 (WebCore::RenderOverflow::move):
1874 (WebCore::RenderOverflow::addVisualOverflow):
1875 (WebCore::RenderOverflow::setVisualOverflow):
1876 * rendering/RenderReplaced.cpp:
1877 (WebCore::RenderReplaced::shouldPaint):
1878 * rendering/RenderTable.cpp:
1879 (WebCore::RenderTable::layout):
1880 (WebCore::RenderTable::paint):
1881 * rendering/RenderTableCell.cpp:
1882 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1883 * rendering/RenderTreeAsText.cpp:
1884 (WebCore::writeLayers):
1885 * rendering/RenderView.cpp:
1886 (WebCore::RenderView::docTop):
1888 2011-02-02 Steve Lacey <sjl@chromium.org>
1890 Reviewed by Eric Carlson.
1892 Implement basic media statistics on media elements.
1893 https://bugs.webkit.org/show_bug.cgi?id=53322
1895 * Configurations/FeatureDefines.xcconfig:
1898 * html/HTMLMediaElement.cpp:
1899 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1900 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1901 * html/HTMLMediaElement.h:
1902 * html/HTMLMediaElement.idl:
1903 * html/HTMLVideoElement.cpp:
1904 (WebCore::HTMLVideoElement::webkitDecodedFrames):
1905 (WebCore::HTMLVideoElement::webkitDroppedFrames):
1906 * html/HTMLVideoElement.h:
1907 * html/HTMLVideoElement.idl:
1908 * platform/graphics/MediaPlayer.cpp:
1909 (WebCore::MediaPlayer::decodedFrames):
1910 (WebCore::MediaPlayer::droppedFrames):
1911 (WebCore::MediaPlayer::audioBytesDecoded):
1912 (WebCore::MediaPlayer::videoBytesDecoded):
1913 * platform/graphics/MediaPlayer.h:
1914 * platform/graphics/MediaPlayerPrivate.h:
1915 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1916 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1917 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1918 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1920 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
1922 Reviewed by David Hyatt.
1924 More conversion from right()/bottom() to maxX()/maxY().
1926 * page/qt/FrameQt.cpp:
1927 (WebCore::Frame::dragImageForSelection):
1928 * platform/graphics/qt/GraphicsContextQt.cpp:
1929 (WebCore::GraphicsContext::roundToDevicePixels):
1931 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
1933 [wx] Build fixes for wxWebKit.
1935 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1937 * bindings/scripts/CodeGeneratorCPP.pm:
1938 * page/wx/DragControllerWx.cpp:
1939 (WebCore::DragController::dragOperation):
1940 * platform/graphics/wx/FontCustomPlatformData.h:
1941 * platform/graphics/wx/FontPlatformData.h:
1942 (WebCore::FontPlatformData::widthVariant):
1943 * platform/graphics/wx/FontPlatformDataWx.cpp:
1944 (WebCore::FontPlatformData::computeHash):
1945 * platform/graphics/wx/FontWx.cpp:
1946 * platform/graphics/wx/GraphicsContextWx.cpp:
1947 (WebCore::GraphicsContext::fillPath):
1948 (WebCore::GraphicsContext::strokePath):
1949 * platform/wx/RenderThemeWx.cpp:
1951 2011-02-02 David Hyatt <hyatt@apple.com>
1953 Reviewed by Darin Adler.
1955 More right()/bottom() to maxX()/maxY() conversion.
1957 * page/chromium/FrameChromium.cpp:
1958 (WebCore::Frame::nodeImage):
1959 (WebCore::Frame::dragImageForSelection):
1961 2011-02-02 Sam Weinig <sam@webkit.org>
1963 Fix windows clean build.
1965 * DerivedSources.make:
1967 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
1969 Reviewed by Pavel Feldman.
1971 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1973 https://bugs.webkit.org/show_bug.cgi?id=53606
1975 Display progress while taking a snapshot, and hints while loading
1976 and parsing. This is needed because taking detailed heap snapshots
1979 * English.lproj/localizedStrings.js:
1980 * inspector/front-end/DetailedHeapshotView.js:
1981 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1982 * inspector/front-end/ProfilesPanel.js:
1983 (WebInspector.ProfilesPanel.prototype._reset):
1984 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1985 (WebInspector.ProfilesPanel.prototype.getProfiles):
1986 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1987 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1988 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1989 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1990 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1991 * inspector/front-end/SidebarTreeElement.js:
1992 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1994 2011-02-02 David Hyatt <hyatt@apple.com>
1996 Reviewed by Darin Adler.
1998 More conversion from right()/bottom() to maxX()/maxY().
2000 * platform/win/PopupMenuWin.cpp:
2001 (WebCore::PopupMenuWin::calculatePositionAndSize):
2002 (WebCore::PopupMenuWin::paint):
2004 2011-02-02 David Hyatt <hyatt@apple.com>
2006 Reviewed by Darin Adler.
2008 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
2010 * platform/chromium/PopupMenuChromium.cpp:
2011 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2012 (WebCore::PopupListBox::scrollToRevealRow):
2013 (WebCore::PopupListBox::layout):
2014 * platform/graphics/FloatRect.h:
2015 * platform/graphics/IntRect.h:
2016 * platform/graphics/cairo/ImageBufferCairo.cpp:
2017 (WebCore::getImageData):
2018 (WebCore::putImageData):
2019 * platform/graphics/chromium/GLES2Canvas.cpp:
2020 (WebCore::GLES2Canvas::drawTexturedRect):
2021 * platform/graphics/chromium/LayerRendererChromium.cpp:
2022 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2023 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2024 (WebCore::LayerRendererChromium::setScissorToRect):
2025 (WebCore::LayerRendererChromium::setDrawViewportRect):
2026 * platform/graphics/chromium/LayerTilerChromium.cpp:
2027 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2028 (WebCore::LayerTilerChromium::growLayerToContain):
2029 * platform/graphics/gpu/TilingData.cpp:
2030 (WebCore::TilingData::tileBoundsWithBorder):
2031 (WebCore::TilingData::overlappedTileIndices):
2032 * platform/graphics/qt/ImageBufferQt.cpp:
2033 (WebCore::getImageData):
2034 (WebCore::putImageData):
2035 * platform/graphics/skia/FloatRectSkia.cpp:
2036 (WebCore::FloatRect::operator SkRect):
2037 * platform/graphics/skia/ImageBufferSkia.cpp:
2038 (WebCore::getImageData):
2039 (WebCore::putImageData):
2040 * platform/graphics/skia/IntRectSkia.cpp:
2041 (WebCore::IntRect::operator SkIRect):
2042 (WebCore::IntRect::operator SkRect):
2043 * platform/graphics/skia/PlatformContextSkia.cpp:
2044 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2045 * platform/graphics/win/GraphicsContextWin.cpp:
2046 (WebCore::GraphicsContextPlatformPrivate::clip):
2047 * platform/graphics/win/IntRectWin.cpp:
2048 (WebCore::IntRect::operator RECT):
2049 * platform/graphics/win/UniscribeController.cpp:
2050 (WebCore::UniscribeController::shapeAndPlaceItem):
2051 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2052 (WebCore::roundRect):
2054 (WebCore::TransparentLayerDC::TransparentLayerDC):
2055 (WebCore::GraphicsContext::drawRect):
2056 (WebCore::GraphicsContext::drawEllipse):
2057 (WebCore::GraphicsContext::strokeArc):
2058 (WebCore::GraphicsContext::clip):
2059 (WebCore::GraphicsContext::clipOut):
2060 (WebCore::GraphicsContext::strokeRect):
2061 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2062 (WebCore::GIFImageDecoder::initFrameBuffer):
2063 * platform/win/PopupMenuWin.cpp:
2064 (WebCore::PopupMenuWin::calculatePositionAndSize):
2065 (WebCore::PopupMenuWin::paint):
2066 * plugins/win/PluginViewWin.cpp:
2067 (WebCore::PluginView::updatePluginWidget):
2068 (WebCore::PluginView::invalidateRect):
2069 * rendering/RenderThemeSafari.cpp:
2070 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2071 (WebCore::RenderThemeSafari::paintMenuListButton):
2072 (WebCore::RenderThemeSafari::paintSliderTrack):
2073 * rendering/RenderThemeWin.cpp:
2074 (WebCore::RenderThemeWin::paintInnerSpinButton):
2075 (WebCore::RenderThemeWin::paintMenuListButton):
2077 2011-02-02 Antti Koivisto <antti@apple.com>
2079 Reviewed by Maciej Stachowiak.
2081 Use Vector instead of a linked list for rules in CSSStyleSelector
2082 https://bugs.webkit.org/show_bug.cgi?id=53581
2084 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2085 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2086 (these are selector internal classes, CSS prefix is better reserved for public ones).
2088 - shrink the vectors to fit after collecting the rules
2090 * css/CSSStyleSelector.cpp:
2091 (WebCore::RuleData::RuleData):
2092 (WebCore::RuleData::position):
2093 (WebCore::RuleData::rule):
2094 (WebCore::RuleData::selector):
2095 (WebCore::RuleSet::disableAutoShrinkToFit):
2096 (WebCore::RuleSet::getIDRules):
2097 (WebCore::RuleSet::getClassRules):
2098 (WebCore::RuleSet::getTagRules):
2099 (WebCore::RuleSet::getPseudoRules):
2100 (WebCore::RuleSet::getUniversalRules):
2101 (WebCore::RuleSet::getPageRules):
2102 (WebCore::collectSiblingRulesInDefaultStyle):
2103 (WebCore::CSSStyleSelector::CSSStyleSelector):
2104 (WebCore::loadFullDefaultStyle):
2105 (WebCore::loadSimpleDefaultStyle):
2106 (WebCore::loadViewSourceStyle):
2107 (WebCore::CSSStyleSelector::matchRules):
2108 (WebCore::CSSStyleSelector::matchRulesForList):
2109 (WebCore::operator >):
2110 (WebCore::operator <=):
2111 (WebCore::CSSStyleSelector::sortMatchedRules):
2112 (WebCore::CSSStyleSelector::matchUARules):
2113 (WebCore::RuleSet::RuleSet):
2114 (WebCore::RuleSet::~RuleSet):
2115 (WebCore::RuleSet::addToRuleSet):
2116 (WebCore::RuleSet::addRule):
2117 (WebCore::RuleSet::addPageRule):
2118 (WebCore::RuleSet::addRulesFromSheet):
2119 (WebCore::RuleSet::addStyleRule):
2120 (WebCore::collectIdsAndSiblingRulesFromList):
2121 (WebCore::RuleSet::collectIdsAndSiblingRules):
2122 (WebCore::shrinkMapVectorsToFit):
2123 (WebCore::RuleSet::shrinkToFit):
2124 (WebCore::CSSStyleSelector::matchPageRules):
2125 (WebCore::CSSStyleSelector::matchPageRulesForList):
2126 * css/CSSStyleSelector.h:
2127 (WebCore::CSSStyleSelector::addMatchedRule):
2129 2011-02-02 Andrey Adaikin <aandrey@google.com>
2131 Reviewed by Pavel Feldman.
2133 Web Inspector: Use DIVs instead of TABLE in TextViewer
2134 https://bugs.webkit.org/show_bug.cgi?id=53299
2136 * inspector/front-end/SourceFrame.js:
2137 (WebInspector.SourceFrame.prototype._createTextViewer):
2138 (WebInspector.SourceFrame.prototype._mouseDown):
2139 * inspector/front-end/TextViewer.js:
2140 (WebInspector.TextViewer):
2141 (WebInspector.TextViewer.prototype.set mimeType):
2142 (WebInspector.TextViewer.prototype.revealLine):
2143 (WebInspector.TextViewer.prototype.addDecoration):
2144 (WebInspector.TextViewer.prototype.removeDecoration):
2145 (WebInspector.TextViewer.prototype.markAndRevealRange):
2146 (WebInspector.TextViewer.prototype.highlightLine):
2147 (WebInspector.TextViewer.prototype.clearLineHighlight):
2148 (WebInspector.TextViewer.prototype.freeCachedElements):
2149 (WebInspector.TextViewer.prototype._handleKeyDown):
2150 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2151 (WebInspector.TextViewer.prototype.editLine):
2152 (WebInspector.TextViewer.prototype.beginUpdates):
2153 (WebInspector.TextViewer.prototype.endUpdates):
2154 (WebInspector.TextViewer.prototype.resize):
2155 (WebInspector.TextViewer.prototype._textChanged):
2156 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2157 (WebInspector.TextViewer.prototype._syncScroll):
2158 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2159 (WebInspector.TextEditorChunkedPanel):
2160 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2161 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2162 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2163 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2164 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2165 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2166 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2167 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2168 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2169 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2170 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2171 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2172 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2173 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2174 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2175 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2176 (WebInspector.TextEditorGutterPanel):
2177 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2178 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2179 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2180 (WebInspector.TextEditorGutterChunk):
2181 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2182 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2183 (WebInspector.TextEditorGutterChunk.prototype.get height):
2184 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2185 (WebInspector.TextEditorMainPanel):
2186 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2187 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2188 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2189 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2190 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2191 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2192 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2193 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2194 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2195 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2196 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2197 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2198 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2199 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2200 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2201 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2202 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2203 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2204 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2205 (WebInspector.TextEditorMainChunk):
2206 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2207 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2208 (WebInspector.TextEditorMainChunk.prototype.get height):
2209 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2210 (WebInspector.TextEditorMainChunk.prototype._createRow):
2212 * inspector/front-end/textViewer.css:
2213 (.text-editor-lines):
2214 (.text-editor-contents):
2215 (.text-editor-editable):
2216 (.webkit-line-decorations):
2217 (.webkit-line-number):
2218 (.webkit-execution-line.webkit-line-content):
2219 (.diff-container .webkit-added-line.webkit-line-content):
2220 (.diff-container .webkit-removed-line.webkit-line-content):
2221 (.diff-container .webkit-changed-line.webkit-line-content):
2222 (.webkit-highlighted-line.webkit-line-content):
2224 2011-02-02 Hans Wennborg <hans@chromium.org>
2226 Reviewed by Jeremy Orlow.
2228 IndexedDB: Implement support for cursor updates
2229 https://bugs.webkit.org/show_bug.cgi?id=53421
2231 Implement support for cursor updates using the same pattern as cursor
2232 deletes: forward the calls to the IDBObjectStoreBackend::put().
2233 The put() function's signature needs to be changed to allow for a
2234 "cursor update mode". This makes the signature more clear anyway,
2235 since it replaces the boolean parameter.
2237 Test: storage/indexeddb/cursor-update.html
2239 * storage/IDBCursor.idl:
2240 * storage/IDBCursorBackendImpl.cpp:
2241 (WebCore::IDBCursorBackendImpl::key):
2242 (WebCore::IDBCursorBackendImpl::update):
2243 * storage/IDBCursorBackendImpl.h:
2244 * storage/IDBObjectStore.cpp:
2245 (WebCore::IDBObjectStore::add):
2246 (WebCore::IDBObjectStore::put):
2247 * storage/IDBObjectStoreBackendImpl.cpp:
2248 (WebCore::IDBObjectStoreBackendImpl::put):
2249 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2250 * storage/IDBObjectStoreBackendImpl.h:
2251 * storage/IDBObjectStoreBackendInterface.h:
2253 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2255 Reviewed by Kent Tamura.
2257 Fix popup menu RTL bug introduced by Changeset 75982.
2258 https://bugs.webkit.org/show_bug.cgi?id=53567
2260 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2262 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
2264 * platform/chromium/PopupMenuChromium.cpp:
2265 (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.
2266 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2267 (WebCore::PopupContainer::refresh): Change the passing parameter.
2268 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2270 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2272 Reviewed by Martin Robinson.
2274 [GTK] Fix dist compilation
2275 https://bugs.webkit.org/show_bug.cgi?id=53579
2277 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2280 2011-02-02 Dai Mikurube <dmikurube@google.com>
2282 Reviewed by David Levin.
2284 Make mime type lookup in File::create(path) thread-safe
2285 https://bugs.webkit.org/show_bug.cgi?id=47700
2287 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2288 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2289 both FILE_SYSTEM and WORKERS are enabled.
2291 No tests for this patch. This patch itself doesn't change the behaviors.
2292 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2293 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2294 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2295 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2297 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2298 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2299 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2300 * platform/android/TemporaryLinkStubs.cpp:
2301 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2302 * platform/brew/MIMETypeRegistryBrew.cpp:
2303 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2304 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2305 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2306 * platform/efl/MIMETypeRegistryEfl.cpp:
2307 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2308 * platform/gtk/MIMETypeRegistryGtk.cpp:
2309 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2310 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2311 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2312 * platform/mac/MIMETypeRegistryMac.mm:
2313 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2314 * platform/qt/MIMETypeRegistryQt.cpp:
2315 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2316 * platform/win/MIMETypeRegistryWin.cpp:
2317 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2318 * platform/wince/MIMETypeRegistryWinCE.cpp:
2319 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2320 * platform/wx/MimeTypeRegistryWx.cpp:
2321 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2323 2011-02-01 Adam Barth <abarth@webkit.org>
2325 Reviewed by Alexey Proskuryakov.
2327 Improve readability of updateWidget by converting bool parameter to an enum
2328 https://bugs.webkit.org/show_bug.cgi?id=53576
2330 As requested on webkit-dev.
2332 * html/HTMLEmbedElement.cpp:
2333 (WebCore::HTMLEmbedElement::updateWidget):
2334 * html/HTMLEmbedElement.h:
2335 * html/HTMLMediaElement.cpp:
2336 (WebCore::HTMLMediaElement::updateWidget):
2337 * html/HTMLMediaElement.h:
2338 * html/HTMLObjectElement.cpp:
2339 (WebCore::HTMLObjectElement::updateWidget):
2340 * html/HTMLObjectElement.h:
2341 * html/HTMLPlugInImageElement.cpp:
2342 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2343 * html/HTMLPlugInImageElement.h:
2344 * page/FrameView.cpp:
2345 (WebCore::FrameView::updateWidget):
2347 2011-02-01 James Robinson <jamesr@chromium.org>
2349 Reviewed by Adam Barth.
2351 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2352 https://bugs.webkit.org/show_bug.cgi?id=53566
2354 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2355 Other than being large enough for this one test case, this limit is arbitrary.
2357 * bindings/v8/V8Proxy.h:
2359 2011-02-01 Adam Barth <abarth@webkit.org>
2361 Reviewed by Andreas Kling.
2363 Remove useless comment
2364 https://bugs.webkit.org/show_bug.cgi?id=53549
2366 The reason for this parameter is captured in
2367 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2368 capture it than in this comment (which otherwise just re-iterates the
2369 name of the parameter).
2371 * html/HTMLPlugInImageElement.cpp:
2372 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2374 2011-02-01 James Simonsen <simonjam@chromium.org>
2376 Reviewed by Tony Gentilcore.
2378 [WebTiming] Remove asserts that verify timestamp order
2379 https://bugs.webkit.org/show_bug.cgi?id=53548
2381 Covered by existing tests.
2383 * loader/FrameLoader.cpp:
2384 (WebCore::FrameLoader::stopLoading): Remove assert.
2385 * page/DOMWindow.cpp:
2386 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2388 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2390 Add the 'default_targets' enclosure to the flags.
2392 * WebCore.gyp/WebCore.gyp: Did it.
2394 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2396 Reviewed by James Robinson.
2398 Async event handlers should not fire within a modal dialog
2399 https://bugs.webkit.org/show_bug.cgi?id=53202
2401 Asychronous events that use EventQueue would currently fire while a
2402 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2403 SuspendableTimer (which automatically gets suspended while dialogs are
2404 up and in other cases where JS execution is not allowed).
2406 Test: fast/events/scroll-event-during-modal-dialog.html
2409 (WebCore::Document::Document):
2410 * dom/EventQueue.cpp:
2411 (WebCore::EventQueueTimer::EventQueueTimer):
2412 (WebCore::EventQueueTimer::fired):
2413 (WebCore::EventQueue::EventQueue):
2414 (WebCore::EventQueue::enqueueEvent):
2415 (WebCore::EventQueue::pendingEventTimerFired):
2417 (WebCore::EventQueue::create):
2418 * page/SuspendableTimer.cpp:
2419 (WebCore::SuspendableTimer::SuspendableTimer):
2420 (WebCore::SuspendableTimer::suspend):
2421 (WebCore::SuspendableTimer::resume):
2422 * page/SuspendableTimer.h:
2424 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2426 Reviewed by Andreas Kling.
2428 Change wrong PLATFORM(WIN) to USE(WININET)
2429 https://bugs.webkit.org/show_bug.cgi?id=53547
2431 * platform/network/ResourceHandle.h:
2433 2011-02-01 Beth Dakin <bdakin@apple.com>
2437 * platform/mac/ScrollAnimatorMac.mm:
2438 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2440 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2442 Reviewed by Gustavo Noronha Silva.
2444 [GTK] Two tests crash after r76555
2445 https://bugs.webkit.org/show_bug.cgi?id=53057
2447 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2448 This ensures that ::start() is not called when there is a scheduled failure and also
2449 reduces code duplication.
2451 * platform/network/soup/ResourceHandleSoup.cpp:
2452 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2454 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2456 Reviewed by Eric Seidel.
2458 [GTK] GObject DOM bindings do no support the CallWith attribute
2459 https://bugs.webkit.org/show_bug.cgi?id=53331
2461 Disable building GObject DOM bindings for IndexedDB because we do not support
2462 the CallWith attribute at this time.
2464 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2466 2011-02-01 Darin Adler <darin@apple.com>
2468 Reviewed by Brady Eidson.
2470 Fix a couple loose ends from the back/forward tree encode/decode work
2471 https://bugs.webkit.org/show_bug.cgi?id=53537
2473 * history/HistoryItem.cpp:
2474 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2475 original URL string; no need to encode it twice.
2476 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2477 * history/HistoryItem.h: Removed declaration for function that is no
2478 longer defined nor used.
2480 2011-02-01 Tony Chang <tony@chromium.org>
2482 Reviewed by Kent Tamura.
2484 [chromium] disable arm uninitialized variable warnings
2485 https://bugs.webkit.org/show_bug.cgi?id=53553
2487 We just got another error:
2488 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2489 'colorTransparent.unstatic.4879' may be used uninitialized in this
2492 * WebCore.gyp/WebCore.gyp:
2494 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2496 Reviewed by Adam Barth.
2498 Self-replicating code makes Safari hang and eventually crash
2499 https://bugs.webkit.org/show_bug.cgi?id=15123
2502 Here we are replicating the Firefox safeguard against
2503 recursive document.write( ) 's.
2505 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2506 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2507 a) imposes a recursion limit of 20 on document.write( ) and
2508 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2509 To see why this is necessary, consider the script :
2512 var t = document.body.innerHTML;
2516 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2517 we just return one level after the recursion limit is reached, we still allow millions of copies to
2518 duplicate (and execute).
2520 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2521 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2523 Test: fast/dom/Document/document-write-recursion.html
2524 Test: fast/dom/Document/document-close-iframe-load.html
2525 Test: fast/dom/Document/document-close-nested-iframe-load.html
2529 (WebCore::Document::Document):
2530 (WebCore::Document::write):
2533 2011-02-01 Johnny Ding <jnd@chromium.org>
2535 Reviewed by Darin Adler.
2537 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2538 https://bugs.webkit.org/show_bug.cgi?id=53424
2540 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2542 * html/HTMLAnchorElement.cpp:
2543 (WebCore::handleLinkClick):
2545 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2547 Unreviewed Qt buildfix after r77286.
2549 https://bugs.webkit.org/show_bug.cgi?id=53520
2550 Remove the physical terminology from IntRect and FloatRect.
2552 * platform/graphics/TiledBackingStore.cpp:
2553 (WebCore::TiledBackingStore::createTiles):
2555 2011-02-01 Sam Weinig <sam@webkit.org>
2557 Fix Mac production builds.
2559 * DerivedSources.make:
2560 * WebCore.xcodeproj/project.pbxproj:
2561 * platform/mac/ScrollAnimatorMac.h:
2562 * platform/mac/ScrollbarThemeMac.h:
2564 2011-02-01 Darin Adler <darin@apple.com>
2566 Reviewed by Chris Fleizach.
2568 REGRESSION: Removing focus from area element causes unwanted scrolling
2569 https://bugs.webkit.org/show_bug.cgi?id=50169
2571 Test: fast/images/imagemap-scroll.html
2573 * html/HTMLAreaElement.cpp:
2574 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2575 RenderImage::areaElementFocusChanged function.
2576 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2577 here that calls setNeedsLayout on the image's renderer. This was an
2578 attempt to cause repaint of the renderer, but this function does not
2579 need to do that. Also changed this to use the imageElement function
2580 to avoid repeating code.
2582 * html/HTMLAreaElement.h: Updated for above changes.
2584 * rendering/RenderImage.cpp:
2585 (WebCore::RenderImage::paint): Updated for name change.
2586 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2587 paintFocusRing, because it only paints area focus rings, and should
2588 not be confused with paintFocusRing functions in other classes. Also
2589 removed the unused style argument. Removed the code that used an
2590 HTMLCollection to see if the focused area element is for this image
2591 and instead just call imageElement on the area element.
2592 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2594 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2595 function for HTMLAreaElement to call. Made the paintFocusRing function
2596 private, renamed it to paintAreaElementFocusRing, and removed its
2597 unused style argument.
2599 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2601 Unreviewed WinCE build fix for r77286.
2603 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2604 (WebCore::TransparentLayerDC::TransparentLayerDC):
2606 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2608 Reviewed by Darin Adler.
2610 AX: AXPosition of AXScrollArea is wrong
2611 https://bugs.webkit.org/show_bug.cgi?id=53511
2613 AccessibilityScrollView needed to return a valid documentFrameView() object.
2614 At the same time, the code from document() should be consolidated in
2615 AccessibilityObject, so all objects can use it.
2617 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2619 * accessibility/AccessibilityObject.cpp:
2620 (WebCore::AccessibilityObject::document):
2621 * accessibility/AccessibilityObject.h:
2622 * accessibility/AccessibilityScrollView.cpp:
2623 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2624 (WebCore::AccessibilityScrollView::documentFrameView):
2625 * accessibility/AccessibilityScrollView.h:
2627 2011-02-01 Zhenyao Mo <zmo@google.com>
2629 Reviewed by Kenneth Russell.
2631 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2632 https://bugs.webkit.org/show_bug.cgi?id=52190
2634 * html/canvas/WebGLRenderingContext.cpp:
2635 (WebCore::WebGLRenderingContext::getUniform):
2637 2011-02-01 Zhenyao Mo <zmo@google.com>
2639 Reviewed by Darin Adler.
2641 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2642 https://bugs.webkit.org/show_bug.cgi?id=53531
2644 With this fix, running WebGL conformance tests should no longer crash randomly.
2646 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2647 (WebCore::GraphicsContext3D::getImageData):
2649 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2651 One more Chromium build fix after r77286.
2653 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2654 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2656 2011-02-01 Sam Weinig <sam@webkit.org>
2658 Fix the build for Beth.
2660 * platform/mac/ScrollAnimatorMac.mm:
2661 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2663 2011-02-01 Sam Weinig <sam@webkit.org>
2665 Reviewed by Beth Dakin.
2667 Part 2 for <rdar://problem/8492788>
2668 Adopt WKScrollbarPainterController
2670 Use header detection to define scrollbar painting controller #define.
2673 * platform/mac/ScrollAnimatorMac.h:
2674 * platform/mac/ScrollbarThemeMac.h:
2675 * platform/mac/WebCoreSystemInterface.h:
2676 * platform/mac/WebCoreSystemInterface.mm:
2678 2011-02-01 David Hyatt <hyatt@apple.com>
2680 Reviewed by Oliver Hunt.
2682 https://bugs.webkit.org/show_bug.cgi?id=53520
2684 Remove the physical terminology from IntRect and FloatRect.
2686 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2687 we need to update our terminology to be more accurate.
2689 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2690 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2691 even for flipped rectangles.
2693 * accessibility/AccessibilityRenderObject.cpp:
2694 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2695 * accessibility/mac/AccessibilityObjectWrapper.mm:
2696 (-[AccessibilityObjectWrapper position]):
2698 (WebCore::ClientRect::right):
2699 (WebCore::ClientRect::bottom):
2700 * html/HTMLCanvasElement.cpp:
2701 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2702 * html/canvas/CanvasRenderingContext2D.cpp:
2703 (WebCore::normalizeRect):
2704 * inspector/InspectorAgent.cpp:
2705 (WebCore::InspectorAgent::drawElementTitle):
2706 * page/DOMWindow.cpp:
2707 (WebCore::DOMWindow::adjustWindowRect):
2708 * page/DragController.cpp:
2709 (WebCore::dragLocForSelectionDrag):
2710 * page/EventHandler.cpp:
2711 (WebCore::EventHandler::sendContextMenuEventForKey):
2712 * page/PrintContext.cpp:
2713 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2714 (WebCore::PrintContext::pageNumberForElement):
2715 * page/SpatialNavigation.cpp:
2717 (WebCore::areRectsFullyAligned):
2718 (WebCore::areRectsMoreThanFullScreenApart):
2721 (WebCore::isRectInDirection):
2722 (WebCore::entryAndExitPointsForDirection):
2723 (WebCore::virtualRectForDirection):
2724 * page/WindowFeatures.cpp:
2725 (WebCore::WindowFeatures::WindowFeatures):
2726 * platform/ScrollView.cpp:
2727 (WebCore::ScrollView::wheelEvent):
2728 * platform/Scrollbar.cpp:
2729 (WebCore::Scrollbar::setFrameRect):
2730 * platform/ScrollbarThemeComposite.cpp:
2731 (WebCore::ScrollbarThemeComposite::splitTrack):
2732 * platform/chromium/ScrollbarThemeChromium.cpp:
2733 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2734 * platform/graphics/FloatQuad.h:
2735 (WebCore::FloatQuad::FloatQuad):
2736 * platform/graphics/FloatRect.cpp:
2737 (WebCore::FloatRect::intersects):
2738 (WebCore::FloatRect::contains):
2739 (WebCore::FloatRect::intersect):
2740 (WebCore::FloatRect::unite):
2741 (WebCore::enclosingIntRect):
2742 * platform/graphics/FloatRect.h:
2743 (WebCore::FloatRect::maxX):
2744 (WebCore::FloatRect::maxY):
2745 (WebCore::FloatRect::contains):
2746 * platform/graphics/IntRect.cpp:
2747 (WebCore::IntRect::intersects):
2748 (WebCore::IntRect::contains):
2749 (WebCore::IntRect::intersect):
2750 (WebCore::IntRect::unite):
2751 * platform/graphics/IntRect.h:
2752 (WebCore::IntRect::maxX):
2753 (WebCore::IntRect::maxY):
2754 (WebCore::IntRect::shiftXEdgeTo):
2755 (WebCore::IntRect::shiftMaxXEdgeTo):
2756 (WebCore::IntRect::shiftYEdgeTo):
2757 (WebCore::IntRect::shiftMaxYEdgeTo):
2758 (WebCore::IntRect::contains):
2759 * platform/graphics/WidthIterator.cpp:
2760 (WebCore::WidthIterator::advance):
2761 * platform/graphics/cg/GraphicsContextCG.cpp:
2762 (WebCore::GraphicsContext::drawRect):
2763 (WebCore::GraphicsContext::fillPath):
2764 (WebCore::GraphicsContext::fillRect):
2765 * platform/graphics/cg/ImageBufferCG.cpp:
2766 (WebCore::getImageData):
2767 (WebCore::putImageData):
2768 * platform/graphics/cg/ImageCG.cpp:
2769 (WebCore::BitmapImage::draw):
2770 * platform/graphics/filters/FilterEffect.cpp:
2771 (WebCore::FilterEffect::copyImageBytes):
2772 * platform/graphics/mac/ComplexTextController.cpp:
2773 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2774 * platform/graphics/mac/SimpleFontDataMac.mm:
2775 (WebCore::SimpleFontData::platformBoundsForGlyph):
2776 * platform/graphics/transforms/AffineTransform.cpp:
2777 (WebCore::AffineTransform::mapRect):
2778 * platform/graphics/win/FontCGWin.cpp:
2779 (WebCore::drawGDIGlyphs):
2780 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2781 (WebCore::MediaPlayerPrivate::paint):
2782 * platform/gtk/RenderThemeGtk.cpp:
2783 (WebCore::centerRectVerticallyInParentInputElement):
2784 * platform/mac/WidgetMac.mm:
2785 (WebCore::Widget::paint):
2786 * rendering/InlineFlowBox.cpp:
2787 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2788 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2789 * rendering/InlineTextBox.cpp:
2790 (WebCore::InlineTextBox::selectionRect):
2791 (WebCore::InlineTextBox::paint):
2792 (WebCore::InlineTextBox::positionForOffset):
2793 * rendering/RenderBlock.cpp:
2794 (WebCore::RenderBlock::addOverflowFromChildren):
2795 (WebCore::RenderBlock::paintChildren):
2796 (WebCore::RenderBlock::paintEllipsisBoxes):
2797 (WebCore::RenderBlock::inlineSelectionGaps):
2798 (WebCore::RenderBlock::adjustPointToColumnContents):
2799 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2800 (WebCore::RenderBlock::adjustForColumns):
2801 * rendering/RenderBlock.h:
2802 (WebCore::RenderBlock::FloatingObject::right):
2803 (WebCore::RenderBlock::FloatingObject::bottom):
2804 * rendering/RenderBox.cpp:
2805 (WebCore::RenderBox::reflectedRect):
2806 (WebCore::RenderBox::localCaretRect):
2807 (WebCore::RenderBox::addShadowOverflow):
2808 (WebCore::RenderBox::addLayoutOverflow):
2809 (WebCore::RenderBox::visualOverflowRectForPropagation):
2810 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2811 (WebCore::RenderBox::flipForWritingMode):
2812 * rendering/RenderFrameSet.cpp:
2813 (WebCore::RenderFrameSet::paintColumnBorder):
2814 (WebCore::RenderFrameSet::paintRowBorder):
2815 * rendering/RenderInline.cpp:
2816 (WebCore::RenderInline::paintOutlineForLine):
2817 * rendering/RenderLayer.cpp:
2818 (WebCore::RenderLayer::getRectToExpose):
2819 (WebCore::cornerRect):
2820 (WebCore::RenderLayer::positionOverflowControls):
2821 (WebCore::RenderLayer::overflowBottom):
2822 (WebCore::RenderLayer::overflowRight):
2823 (WebCore::RenderLayer::paintResizer):
2824 * rendering/RenderLineBoxList.cpp:
2825 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2826 (WebCore::RenderLineBoxList::paint):
2827 * rendering/RenderListItem.cpp:
2828 (WebCore::RenderListItem::positionListMarker):
2829 * rendering/RenderListMarker.cpp:
2830 (WebCore::RenderListMarker::paint):
2831 * rendering/RenderObject.cpp:
2832 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2833 * rendering/RenderOverflow.h:
2834 (WebCore::RenderOverflow::RenderOverflow):
2835 (WebCore::RenderOverflow::addLayoutOverflow):
2836 (WebCore::RenderOverflow::addVisualOverflow):
2837 (WebCore::RenderOverflow::setLayoutOverflow):
2838 (WebCore::RenderOverflow::setVisualOverflow):
2839 (WebCore::RenderOverflow::resetLayoutOverflow):
2840 * rendering/RenderReplaced.cpp:
2841 (WebCore::RenderReplaced::shouldPaint):
2842 * rendering/RenderScrollbarTheme.cpp:
2843 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2844 * rendering/RenderTable.cpp:
2845 (WebCore::RenderTable::paint):
2846 * rendering/RenderTableCell.cpp:
2847 (WebCore::RenderTableCell::paint):
2848 * rendering/RenderTableSection.cpp:
2849 (WebCore::RenderTableSection::paintObject):
2850 * rendering/RenderText.cpp:
2851 (WebCore::RenderText::absoluteQuads):
2852 * rendering/RenderTextControlSingleLine.cpp:
2853 (WebCore::RenderTextControlSingleLine::forwardEvent):
2854 * rendering/RenderThemeMac.mm:
2855 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2856 (WebCore::RenderThemeMac::paintMenuListButton):
2857 (WebCore::RenderThemeMac::paintSliderTrack):
2858 * rendering/RenderView.cpp:
2859 (WebCore::RenderView::computeRectForRepaint):
2860 (WebCore::RenderView::docBottom):
2861 (WebCore::RenderView::docRight):
2862 * rendering/RootInlineBox.cpp:
2863 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2864 * rendering/svg/RenderSVGInlineText.cpp:
2865 (WebCore::RenderSVGInlineText::localCaretRect):
2867 2011-02-01 Beth Dakin <bdakin@apple.com>
2869 Reviewed by Sam Weinig.
2871 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2873 Lots of new WebCoreSystemInterface functions to export.
2875 * platform/mac/WebCoreSystemInterface.h:
2876 * platform/mac/WebCoreSystemInterface.mm:
2878 Let the scrollAnimator know when the mouse has
2879 moved anywhere inside the page, and when the mouse
2880 has moved in or out of the window.
2881 * page/EventHandler.cpp:
2882 (WebCore::EventHandler::mouseMoved):
2883 (WebCore::EventHandler::updateMouseEventTargetNode):
2885 Let the scrollAnimator know when the window has become
2887 * page/FocusController.cpp:
2888 (WebCore::FocusController::setActive):
2890 Let the scrollAnimator know when all of these things
2892 * page/FrameView.cpp:
2893 (WebCore::FrameView::setContentsSize):
2894 (WebCore::FrameView::didMoveOnscreen):
2895 (WebCore::FrameView::willMoveOffscreen):
2896 (WebCore::FrameView::currentMousePosition):
2897 (WebCore::FrameView::contentsResized):
2899 New functions called through WebKit2 that allow the
2900 scrollAnimator to know when a live resize starts and ends.
2901 (WebCore::FrameView::willStartLiveResize):
2902 (WebCore::FrameView::willEndLiveResize):
2905 New functions on ScrollAnimator that pass information
2906 to the WKPainterController when we're using one.
2907 * platform/ScrollAnimator.h:
2908 (WebCore::ScrollAnimator::scrollableArea):
2909 (WebCore::ScrollAnimator::contentAreaWillPaint):
2910 (WebCore::ScrollAnimator::mouseEnteredContentArea):
2911 (WebCore::ScrollAnimator::mouseExitedContentArea):
2912 (WebCore::ScrollAnimator::mouseMovedInContentArea):
2913 (WebCore::ScrollAnimator::willStartLiveResize):
2914 (WebCore::ScrollAnimator::contentsResized):
2915 (WebCore::ScrollAnimator::willEndLiveResize):
2916 (WebCore::ScrollAnimator::contentAreaDidShow):
2917 (WebCore::ScrollAnimator::contentAreaDidHide):
2918 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2919 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2920 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2921 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2922 (WebCore::ScrollAnimatorMac::notityPositionChanged):
2923 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2924 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2925 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2926 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2927 (WebCore::ScrollAnimatorMac::willStartLiveResize):
2928 (WebCore::ScrollAnimatorMac::contentsResized):
2929 (WebCore::ScrollAnimatorMac::willEndLiveResize):
2930 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2931 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2933 Let the scrollAnimator know when this is happening.
2934 * platform/ScrollView.cpp:
2935 (WebCore::ScrollView::paint):
2937 New function lets the scrollAnimator get the current
2939 * platform/ScrollView.h:
2940 (WebCore::ScrollView::currentMousePosition):
2942 New function that returns the scrollAnimator when needed.
2943 * platform/ScrollableArea.h:
2944 (WebCore::ScrollableArea::scrollAnimator):
2946 Keep track of if we're in a live resize using a new memeber
2948 * platform/mac/ScrollAnimatorMac.h:
2949 (WebCore::ScrollAnimatorMac::inLiveResize):
2950 * platform/mac/ScrollAnimatorMac.mm:
2953 New delegates for the WKPainter and WKPainterController
2954 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2955 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2956 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2957 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2958 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2959 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2960 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2961 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2962 (-[ScrollKnobAnimation setCurrentProgress:]):
2963 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2964 (-[ScrollbarPainterDelegate convertRectToBacking:]):
2965 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2966 (-[ScrollbarPainterDelegate layer]):
2967 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2968 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2969 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2970 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2972 Get the WKScrollbarPainterRefs to synch up with the
2973 WKScrollbarPainterControllerRefs when appropriate
2974 * platform/mac/ScrollbarThemeMac.h:
2975 * platform/mac/ScrollbarThemeMac.mm:
2976 (WebCore::ScrollbarThemeMac::registerScrollbar):
2977 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2978 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2979 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2981 Implement ScrollableArea's virtual function contentsSize() for access
2982 through the scrollAnimator.
2983 * rendering/RenderLayer.h:
2984 (WebCore::RenderLayer::contentsSize):
2986 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
2988 Reviewed by David Hyatt.
2990 layoutTestController.counterValueForElementById does not return the correct value
2991 https://bugs.webkit.org/show_bug.cgi?id=53037
2993 Test: fast/css/counters/deep-before.html
2995 * rendering/RenderTreeAsText.cpp:
2996 (WebCore::counterValueForElement):
2997 Modified to use the newly available RenderObject::beforePseudoElement()
2998 and RenderObject::afterPseudoElement() instead of the old imperfect
2999 algorithm to find the before and after pseudo elements.
3001 2011-02-01 Anton Muhin <antonm@chromium.org>
3003 Reviewed by Adam Barth.
3005 Allow access for security origin same as this.
3006 https://bugs.webkit.org/show_bug.cgi?id=53440
3008 Hard to test as newly added path currently is never hit.
3010 * page/SecurityOrigin.cpp:
3011 (WebCore::SecurityOrigin::canAccess): allow access if this == other
3013 2011-01-31 Oliver Hunt <oliver@apple.com>
3015 Reviewed by Geoffrey Garen.
3017 Update JSObject storage for new marking API
3018 https://bugs.webkit.org/show_bug.cgi?id=53467
3020 Update WebCore to handle new anonymous slot behaviour.
3022 * bindings/js/JSDOMWindowShell.cpp:
3023 (WebCore::JSDOMWindowShell::setWindow):
3024 * bindings/js/WorkerScriptController.cpp:
3025 (WebCore::WorkerScriptController::initScript):
3026 * bindings/scripts/CodeGeneratorJS.pm:
3028 2011-02-01 Xiaomei Ji <xji@chromium.org>
3030 Reviewed by David Hyatt.
3032 Fix a text rendering problem when enclosing block is RTL and text runs
3033 are in different directionality.
3034 https://bugs.webkit.org/show_bug.cgi?id=34176
3036 The problem happens in the following example scenario (ABC represents
3038 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3040 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3041 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3042 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3044 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3046 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3047 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3048 the run's render object's ancestor (not only its parent) has already
3049 been constructed or has something following it on the line, in which
3050 case, create a new box for TextRun2 instead of sharing the same box with
3053 In other words, the following 2 div should render the same results
3054 (ABC represents Hebrew characters).
3055 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3056 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3058 Test: fast/dom/34176.html
3060 * rendering/RenderBlockLineLayout.cpp:
3061 (WebCore::parentIsConstructedOrHaveNext):
3062 (WebCore::RenderBlock::createLineBoxes):
3064 2011-02-01 Abhishek Arya <inferno@chromium.org>
3066 Reviewed by Dan Bernstein.
3068 Do not add a node in the document's stylesheet candidate node list if the
3069 node is already removed from document.
3070 https://bugs.webkit.org/show_bug.cgi?id=53441
3072 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3075 (WebCore::Document::addStyleSheetCandidateNode):
3077 2011-02-01 Dave Hyatt <hyatt@apple.com>
3079 Reviewed by Darin Adler.
3081 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3084 Change printing functions to check writing-mode and properly swap width and height
3087 Fix the setScrollOrigin function so that the origin doesn't cause
3088 scroll spasming during printing (this is only partially successful, but it's better
3091 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3092 text documents properly.
3095 * page/FrameView.cpp:
3096 (WebCore::FrameView::adjustViewSize):
3097 (WebCore::FrameView::forceLayoutForPagination):
3098 * page/PrintContext.cpp:
3099 (WebCore::PrintContext::computePageRects):
3100 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3101 (WebCore::PrintContext::computeAutomaticScaleFactor):
3102 (WebCore::PrintContext::spoolPage):
3103 (WebCore::PrintContext::spoolRect):
3104 * page/PrintContext.h:
3105 * page/mac/WebCoreFrameView.h:
3106 * platform/ScrollView.cpp:
3107 (WebCore::ScrollView::wheelEvent):
3108 * platform/ScrollView.h:
3109 * platform/mac/ScrollViewMac.mm:
3110 (WebCore::ScrollView::platformSetScrollOrigin):
3111 * rendering/RenderView.cpp:
3112 (WebCore::RenderView::layout):
3114 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3116 Reviewed by Pavel Feldman.
3118 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3120 https://bugs.webkit.org/show_bug.cgi?id=53500
3122 * inspector/InspectorProfilerAgent.cpp:
3123 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3125 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3127 Reviewed by Pavel Feldman.
3129 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3131 https://bugs.webkit.org/show_bug.cgi?id=53173
3133 Adding code for accessing heap snapshot data and
3134 performing graph calculations.
3136 * English.lproj/localizedStrings.js:
3137 * inspector/front-end/HeapSnapshot.js:
3138 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3139 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3140 (WebInspector.HeapSnapshotEdgeIterator):
3141 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3142 (WebInspector.HeapSnapshotNodeIterator):
3143 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3144 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3145 (WebInspector.HeapSnapshotEdgesProvider):
3146 (WebInspector.HeapSnapshotNodesProvider):
3147 (WebInspector.HeapSnapshotPathFinder):
3148 * inspector/front-end/HeapSnapshotView.js:
3149 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3151 2011-02-01 Adam Roben <aroben@apple.com>
3153 Fix linker warnings in Release_LTCG builds
3155 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3156 configurations, since they get pulled in via DOMAllInOne.cpp.
3158 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3160 Reviewed by Yury Semikhatsky.
3162 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3163 https://bugs.webkit.org/show_bug.cgi?id=53482
3165 * English.lproj/localizedStrings.js:
3166 * inspector/front-end/ElementsPanel.js:
3167 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3168 * inspector/front-end/inspector.js:
3169 (WebInspector.resourceForURL):
3170 (WebInspector.openLinkExternallyLabel):
3172 2011-02-01 Anton Muhin <antonm@chromium.org>
3174 Reviewed by Adam Barth.
3176 Propagate parent document security origin to newly create Document XML response
3177 https://bugs.webkit.org/show_bug.cgi?id=53444
3179 Covered by the existing tests.
3181 * xml/XMLHttpRequest.cpp:
3182 (WebCore::XMLHttpRequest::responseXML):
3184 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3186 Unreviewed. Rollout r77230 which caused many layout tests
3187 crashes on Chromium Debug bots.
3189 Async event handlers should not fire within a modal dialog
3190 https://bugs.webkit.org/show_bug.cgi?id=53202
3193 (WebCore::Document::Document):
3194 * dom/EventQueue.cpp:
3195 (WebCore::EventQueue::EventQueue):
3196 (WebCore::EventQueue::enqueueEvent):
3197 (WebCore::EventQueue::pendingEventTimerFired):
3200 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3202 Reviewed by Dirk Schulze.
3204 LightElement changes does not require relayout.
3205 https://bugs.webkit.org/show_bug.cgi?id=53232
3207 When an attribute of a LightElement changes, it
3208 send an update message to the lighting filters
3209 to update its corresponding LightSource objects,
3210 and repaint the filters.
3212 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3214 Existing dynamic-update tests covers this feature.
3216 5x speedup on manual-tests/svg-filter-animation.svg
3218 * manual-tests/svg-filter-animation.svg:
3219 * platform/graphics/filters/DistantLightSource.h:
3220 * platform/graphics/filters/FEDiffuseLighting.cpp:
3221 (WebCore::FEDiffuseLighting::setLightingColor):
3222 (WebCore::FEDiffuseLighting::setSurfaceScale):
3223 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3224 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3225 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3226 * platform/graphics/filters/FEDiffuseLighting.h:
3227 * platform/graphics/filters/LightSource.cpp:
3228 (WebCore::PointLightSource::setX):
3229 (WebCore::PointLightSource::setY):
3230 (WebCore::PointLightSource::setZ):
3231 (WebCore::SpotLightSource::setX):
3232 (WebCore::SpotLightSource::setY):
3233 (WebCore::SpotLightSource::setZ):
3234 (WebCore::SpotLightSource::setPointsAtX):
3235 (WebCore::SpotLightSource::setPointsAtY):
3236 (WebCore::SpotLightSource::setPointsAtZ):
3237 (WebCore::SpotLightSource::setSpecularExponent):
3238 (WebCore::SpotLightSource::setLimitingConeAngle):
3239 (WebCore::DistantLightSource::setAzimuth):
3240 (WebCore::DistantLightSource::setElevation):
3241 (WebCore::LightSource::setAzimuth):
3242 (WebCore::LightSource::setElevation):
3243 (WebCore::LightSource::setX):
3244 (WebCore::LightSource::setY):
3245 (WebCore::LightSource::setZ):
3246 (WebCore::LightSource::setPointsAtX):
3247 (WebCore::LightSource::setPointsAtY):
3248 (WebCore::LightSource::setPointsAtZ):
3249 (WebCore::LightSource::setSpecularExponent):
3250 (WebCore::LightSource::setLimitingConeAngle):
3251 * platform/graphics/filters/LightSource.h:
3252 * platform/graphics/filters/PointLightSource.h:
3253 * platform/graphics/filters/SpotLightSource.h:
3254 * rendering/svg/RenderSVGResourceFilter.cpp:
3255 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3256 * svg/SVGFEDiffuseLightingElement.cpp:
3257 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3258 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3259 (WebCore::SVGFEDiffuseLightingElement::build):
3260 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3261 (WebCore::SVGFEDiffuseLightingElement::findLight):
3262 * svg/SVGFEDiffuseLightingElement.h:
3263 * svg/SVGFELightElement.cpp:
3264 (WebCore::SVGFELightElement::svgAttributeChanged):
3265 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3266 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3267 * svg/SVGFilterPrimitiveStandardAttributes.h:
3269 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3271 Reviewed by Dimitri Glazkov.
3273 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3274 https://bugs.webkit.org/show_bug.cgi?id=53289
3276 Moving the nested class DocumentOrderedMap from Document into separate files,
3277 updating code where necessary.
3279 No new tests. (refactoring)
3286 * WebCore.vcproj/WebCore.vcproj:
3287 * WebCore.xcodeproj/project.pbxproj:
3289 (WebCore::Document::getElementById):
3290 (WebCore::Document::getImageMap):
3292 * dom/DocumentOrderedMap.cpp: Added.
3293 (WebCore::keyMatchesId):
3294 (WebCore::keyMatchesMapName):
3295 (WebCore::keyMatchesLowercasedMapName):
3296 (WebCore::DocumentOrderedMap::clear):
3297 (WebCore::DocumentOrderedMap::add):
3298 (WebCore::DocumentOrderedMap::remove):
3299 (WebCore::DocumentOrderedMap::get):
3300 (WebCore::DocumentOrderedMap::getElementById):
3301 (WebCore::DocumentOrderedMap::getElementByMapName):
3302 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3303 * dom/DocumentOrderedMap.h: Added.
3304 (WebCore::DocumentOrderedMap::contains):
3305 (WebCore::DocumentOrderedMap::containsMultiple):
3306 * dom/DOMAllInOne.cpp:
3308 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3310 Reviewed by Martin Robinson.
3312 [Gtk] atk_text_set_caret_offset fails for list items
3313 https://bugs.webkit.org/show_bug.cgi?id=53388
3315 Allow using text ranges across list items.
3317 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3318 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3319 to the list of accessibility objects supporting text ranges.
3321 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3323 Reviewed by Martin Robinson.
3325 [GTK] character range extents is off when the end of a wrapped line is included
3326 https://bugs.webkit.org/show_bug.cgi?id=53323
3328 Fixed wrong calculation getting the range extents.
3330 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3331 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3332 requested interval shouldn't include the last character.
3334 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3336 Reviewed by Martin Robinson.
3338 [GTK] Caret Offset is one off at the end of wrapped lines
3339 https://bugs.webkit.org/show_bug.cgi?id=53300
3341 Consider linebreaks as special cases.
3343 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3344 (objectAndOffsetUnignored): In order to avoid getting wrong values
3345 when around linebreaks, we need to workaround this by explicitly
3346 avoiding those '\n' text nodes from affecting the result of
3347 calling to TextIterator:rangeLength().
3349 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3351 Unreviewed, rolling out r77229.
3352 http://trac.webkit.org/changeset/77229
3353 https://bugs.webkit.org/show_bug.cgi?id=53289
3355 revert mysterious build breakage
3362 * WebCore.vcproj/WebCore.vcproj:
3363 * WebCore.xcodeproj/project.pbxproj:
3364 * dom/DOMAllInOne.cpp:
3366 (WebCore::Document::DocumentOrderedMap::clear):
3367 (WebCore::Document::DocumentOrderedMap::add):
3368 (WebCore::Document::DocumentOrderedMap::remove):
3369 (WebCore::Document::DocumentOrderedMap::get):
3370 (WebCore::keyMatchesId):
3371 (WebCore::Document::getElementById):
3372 (WebCore::keyMatchesMapName):
3373 (WebCore::keyMatchesLowercasedMapName):
3374 (WebCore::Document::getImageMap):
3376 (WebCore::Document::DocumentOrderedMap::contains):
3377 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3378 * dom/DocumentOrderedMap.cpp: Removed.
3379 * dom/DocumentOrderedMap.h: Removed.
3381 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3383 Reviewed by James Robinson.
3385 Async event handlers should not fire within a modal dialog
3386 https://bugs.webkit.org/show_bug.cgi?id=53202
3388 Asychronous events that use EventQueue would currently fire while a
3389 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3390 SuspendableTimer (which automatically gets suspended while dialogs are
3391 up and in other cases where JS execution is not allowed).
3393 Test: fast/events/scroll-event-during-modal-dialog.html
3396 (WebCore::Document::Document):
3397 * dom/EventQueue.cpp:
3398 (WebCore::EventQueueTimer::EventQueueTimer):
3399 (WebCore::EventQueueTimer::fired):
3400 (WebCore::EventQueue::EventQueue):
3401 (WebCore::EventQueue::enqueueEvent):
3402 (WebCore::EventQueue::pendingEventTimerFired):
3404 (WebCore::EventQueue::create):
3406 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3408 Reviewed by Dimitri Glazkov.
3410 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3411 https://bugs.webkit.org/show_bug.cgi?id=53289
3413 Moving the nested class DocumentOrderedMap from Document into separate files,
3414 updating code where necessary.
3416 No new tests. (refactoring)
3423 * WebCore.vcproj/WebCore.vcproj:
3424 * WebCore.xcodeproj/project.pbxproj:
3426 (WebCore::Document::getElementById):
3427 (WebCore::Document::getImageMap):
3429 * dom/DocumentOrderedMap.cpp: Added.
3430 (WebCore::keyMatchesId):
3431 (WebCore::keyMatchesMapName):
3432 (WebCore::keyMatchesLowercasedMapName):
3433 (WebCore::DocumentOrderedMap::clear):
3434 (WebCore::DocumentOrderedMap::add):
3435 (WebCore::DocumentOrderedMap::remove):
3436 (WebCore::DocumentOrderedMap::get):
3437 (WebCore::DocumentOrderedMap::getElementById):
3438 (WebCore::DocumentOrderedMap::getElementByMapName):
3439 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3440 * dom/DocumentOrderedMap.h: Added.
3441 (WebCore::DocumentOrderedMap::contains):
3442 (WebCore::DocumentOrderedMap::containsMultiple):
3443 * dom/DOMAllInOne.cpp:
3445 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
3447 Reviewed by Darin Fisher.
3449 [Chromium] Autofill should work with HTML5 form elements
3450 https://bugs.webkit.org/show_bug.cgi?id=51809
3451 http://crbug.com/65654
3453 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3455 * html/InputType.h: Insert comment for canSetSuggestedValue().
3456 * html/TextFieldInputType.cpp:
3457 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3458 * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3459 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3460 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3462 2011-02-01 Kent Tamura <tkent@chromium.org>
3464 Reviewed by Dan Bernstein.
3466 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3467 https://bugs.webkit.org/show_bug.cgi?id=53272
3469 * editing/TextIterator.cpp:
3470 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3472 2011-01-31 Alexey Proskuryakov <ap@apple.com>
3474 Reviewed by Maciej Stachowiak.
3476 https://bugs.webkit.org/show_bug.cgi?id=53466
3477 Move WebKit2 to printing via API methods
3479 * WebCore.exp.in: Export IntRect::scale().
3481 2011-01-31 Patrick Gansterer <paroga@webkit.org>
3483 Reviewed by Adam Barth.
3485 Remove obsolete comment after r41871
3486 https://bugs.webkit.org/show_bug.cgi?id=53406
3490 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3492 Fix according to reviewer comments: can just use Color::black now.
3494 * platform/graphics/ShadowBlur.cpp:
3495 (WebCore::ShadowBlur::drawInsetShadow):
3496 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3498 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3500 Reviewed by Sam Weinig.
3503 https://bugs.webkit.org/show_bug.cgi?id=53472
3505 Some minor ShadowBlur cleanup.
3507 * platform/graphics/ShadowBlur.h:
3508 * platform/graphics/ShadowBlur.cpp:
3509 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3511 (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3512 (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3513 layerRect. Make frameSize a float.
3514 (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3515 layerRect rather than calling calculateLayerBoundingRect() to compute
3516 it itself, since we were calling calculateLayerBoundingRect() twice.
3517 (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3518 only once. The shadowRect variable was unused, so two return paths could be
3520 (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3521 beginShadowLayer() now.
3522 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3523 We always used alpha=1, so no need to pass that in.
3524 (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3525 pass that in. Move shadowRect down to first use.
3526 ShadowBlur::clipBounds() was unused.
3528 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
3530 Reviewed by Kenneth Rohde Christiansen.
3532 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3533 https://bugs.webkit.org/show_bug.cgi?id=46748
3535 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3536 Added a regression test to tst_QWebFrame.
3538 * bridge/qt/qt_instance.cpp:
3539 (JSC::Bindings::QtInstance::QtInstance):
3541 2011-01-27 MORITA Hajime <morrita@google.com>
3543 Reviewed by Dimitri Glazkov.
3545 Convert <progress> shadow DOM to a DOM-based shadow.
3546 https://bugs.webkit.org/show_bug.cgi?id=50660
3548 * Removed RenderProgress::m_valuePart, moved the shadow node
3549 to the shadow root of HTMLProgressElement.
3550 * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3551 ProgressBarValueElement is defined only for overriding
3554 No new tests. No behavioral change.
3556 * css/CSSSelector.cpp:
3557 (WebCore::CSSSelector::pseudoId):
3558 (WebCore::nameToPseudoTypeMap):
3559 (WebCore::CSSSelector::extractPseudoType):
3560 * css/CSSSelector.h:
3561 * html/HTMLProgressElement.cpp:
3562 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3563 (WebCore::ProgressBarValueElement::shadowPseudoId):
3564 (WebCore::ProgressBarValueElement::create):