1 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
3 Reviewed by Yury Semikhatsky.
5 Web Inspector: Network panel filtering is broken.
6 https://bugs.webkit.org/show_bug.cgi?id=53764
8 * inspector/front-end/NetworkPanel.js:
9 (WebInspector.NetworkPanel.prototype._sortItems):
10 (WebInspector.NetworkPanel.prototype._sortByTimeline):
11 (WebInspector.NetworkPanel.prototype._filter):
12 (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
13 (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
14 (WebInspector.NetworkDataGridNode.prototype.get selectable):
15 (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
16 (WebInspector.NetworkTotalGridNode.prototype.get selectable):
18 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
20 Reviewed by Pavel Feldman.
22 Web Inspector: support overriding user agent strings
23 https://bugs.webkit.org/show_bug.cgi?id=51485
25 Test: http/tests/inspector/extensions-useragent.html
27 * inspector/Inspector.idl:
28 * inspector/InspectorController.cpp:
29 (WebCore::InspectorController::disconnectFrontend):
30 (WebCore::InspectorController::setUserAgentOverride):
31 (WebCore::InspectorController::userAgentOverride):
32 * inspector/InspectorController.h:
33 * inspector/front-end/ExtensionAPI.js:
34 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
35 * inspector/front-end/ExtensionServer.js:
36 (WebInspector.ExtensionServer.prototype._onReload):
37 * loader/FrameLoader.cpp:
38 (WebCore::FrameLoader::userAgent):
39 (WebCore::FrameLoader::applyUserAgent):
41 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
43 Reviewed by Pavel Feldman.
45 Web Inspector: scripts panel displays wrong file name after reload.
46 https://bugs.webkit.org/show_bug.cgi?id=53761
48 * inspector/front-end/ScriptsPanel.js:
49 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
51 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
53 Reviewed by Pavel Feldman.
55 Web Inspector: remove settings related methods from InspectorClient
56 https://bugs.webkit.org/show_bug.cgi?id=53686
59 * inspector/CodeGeneratorInspector.pm:
60 * inspector/InspectorClient.h:
61 * inspector/InspectorFrontendClientLocal.cpp:
62 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
63 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
64 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
65 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
66 provide platform-specific settings accessor.
67 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
68 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
69 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
70 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
71 * loader/EmptyClients.h:
73 2011-02-03 Anton Muhin <antonm@chromium.org>
75 Reviewed by Adam Barth.
77 [v8] frame several more JS code invocations into v8::TryCatch
78 https://bugs.webkit.org/show_bug.cgi?id=53594
80 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
81 in v8::ThrowException---currently sometimes exceptions thrown by this method
82 do not reach surrounding v8::TryCatch handler (see
83 http://code.google.com/p/v8/issues/detail?id=1072 and
84 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
85 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
86 one rebaseline as of now.)
88 * bindings/v8/V8Proxy.cpp:
89 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
90 * bindings/v8/V8WindowErrorHandler.cpp:
91 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
93 2011-02-03 Maciej Stachowiak <mjs@apple.com>
95 Reviewed by Dan Bernstein.
97 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
98 https://bugs.webkit.org/show_bug.cgi?id=52897
99 <rdar://problem/8898294>
101 * WebCore.exp.in: Add export now needed by WebKit2
103 2011-02-03 Victoria Kirst <vrk@google.com>
105 Reviewed by James Robinson.
107 Replaces float literals with uniform values in shader code
108 so that buggy drivers unable to parse float values in different
109 locales will not produce a pink video.
111 [chromium] Fix pink video bug with gpu-acceleration enabled
112 https://bugs.webkit.org/show_bug.cgi?id=53568
114 * platform/graphics/chromium/VideoLayerChromium.cpp:
115 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
116 (WebCore::VideoLayerChromium::drawYUV):
117 * platform/graphics/chromium/VideoLayerChromium.h:
118 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
120 2011-02-03 James Kozianski <koz@chromium.org>
122 Reviewed by Dimitri Glazkov.
124 Add navigator.registerProtocolHandler behind a flag.
125 https://bugs.webkit.org/show_bug.cgi?id=52609
127 This method is described in the HTML5 specification here,
128 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
130 This change is largely cribbed from B. Green's 29651 patches. It is
131 behind a flag so as not to break JS feature detection.
133 New layout test fast/dom/registerProtocolHandler.html.
135 * Configurations/FeatureDefines.xcconfig:
136 * loader/EmptyClients.h:
137 (WebCore::EmptyChromeClient::registerProtocolHandler):
139 (WebCore::Chrome::registerProtocolHandler):
141 * page/ChromeClient.h:
142 * page/Navigator.cpp:
143 (WebCore::verifyCustomHandlerURL):
144 (WebCore::verifyProtocolHandlerScheme):
145 (WebCore::Navigator::registerProtocolHandler):
147 * page/Navigator.idl:
149 2011-02-03 Brian Ryner <bryner@chromium.org>
151 Reviewed by Darin Fisher.
153 Add a field to the ResourceResponse for tracking the socket address
154 of the host that the resource was fetched from. Patch was originally
156 https://bugs.webkit.org/show_bug.cgi?id=53699
158 * platform/network/chromium/ResourceResponse.cpp:
159 (WebCore::ResourceResponse::doPlatformCopyData):
160 (WebCore::ResourceResponse::doPlatformAdopt):
161 * platform/network/chromium/ResourceResponse.h:
162 (WebCore::ResourceResponse::socketAddress):
163 (WebCore::ResourceResponse::setSocketAddress):
165 2011-02-03 Adam Langley <agl@chromium.org>
167 Reviewed by Adam Barth.
169 Plumb mixed script URL to FrameLoaderClient
170 https://bugs.webkit.org/show_bug.cgi?id=52384
172 Regressions covered by http/tests/security/mixedContent/*
174 * loader/EmptyClients.h:
175 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
176 * loader/FrameLoader.cpp:
177 (WebCore::FrameLoader::checkIfRunInsecureContent):
178 * loader/FrameLoaderClient.h:
180 2011-02-03 Simon Fraser <simon.fraser@apple.com>
182 Reviewed by Dan Bernstein.
184 REGRESSION: Artifacts on box-shadow corners in some cases
185 https://bugs.webkit.org/show_bug.cgi?id=53731
187 Fix overdrawing artifacts in ShadowBlur's tiling code path,
188 which show up in shadows using a color with alpha.
190 Test: fast/box-shadow/shadow-tiling-artifact.html
192 * platform/graphics/ShadowBlur.cpp:
193 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
194 that the inner rect that gets filled does not overlap with any
195 of the eight tiled areas by having the corner and side dimensions
196 be the same for contiguous areas.
198 2011-02-03 Adam Barth <abarth@webkit.org>
200 Reviewed by Alexey Proskuryakov.
202 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
203 percent signs in large posted data
204 https://bugs.webkit.org/show_bug.cgi?id=53405
206 If the input string contains many non-% characters followed by a %
207 character that is not a valid URL escape sequence, then the old
208 algorithm would only advance the initial search by one character
209 (instead of jumping to just after the % character). That would cause
210 the algorithm to take N^2 time (in the number of characters before the
211 first % character). This patch just advances the search past the first
212 % character so we can start looking for next % character sooner.
215 (WebCore::decodeURLEscapeSequences):
217 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
219 Reviewed by Pavel Feldman.
221 Web Inspector: click on a breakpoint highlights wrong line in source frame.
222 https://bugs.webkit.org/show_bug.cgi?id=53692
224 * inspector/front-end/BreakpointsSidebarPane.js:
225 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
227 2011-02-03 Anton Muhin <antonm@chromium.org>
229 Reviewed by Adam Barth.
231 [v8] Bail out if to string conversion returned empty handle
232 https://bugs.webkit.org/show_bug.cgi?id=53687
234 This a temporary measure: actually one probably should never get empty handle
235 if there was no exception. The root cause is under investigation.
236 The bailout though allows Chromium not to crash---attempt to convert an empty
237 v8 hande into WebCore string crashes with invalid memory access.
239 See http://code.google.com/p/chromium/issues/detail?id=71544
241 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
243 * bindings/v8/V8Binding.cpp:
244 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
245 * bindings/v8/V8Binding.h:
246 (WebCore::V8ParameterBase::prepareBase): Ditto
248 2011-02-03 Adam Barth <abarth@webkit.org>
250 Attempt to fix Chromium build.
252 * html/parser/XSSFilter.cpp:
254 2011-02-03 Dirk Pranke <dpranke@chromium.org>
256 Unreviewed, rolling out r77562.
257 http://trac.webkit.org/changeset/77562
258 https://bugs.webkit.org/show_bug.cgi?id=53630
260 broke chromium mac build
262 * WebCore.gyp/WebCore.gyp:
263 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
265 2011-02-03 Adam Barth <abarth@webkit.org>
267 Reviewed by Daniel Bates.
269 XSS Auditor severely affects loading performance after submitting a large form
270 https://bugs.webkit.org/show_bug.cgi?id=49845
272 Switch over from the XSSAuditor to the XSSFilter, improving performance
275 * html/parser/XSSFilter.cpp:
276 (WebCore::XSSFilter::filterToken):
277 * page/XSSAuditor.cpp:
278 (WebCore::XSSAuditor::isEnabled):
280 2011-02-03 Dirk Pranke <dpranke@chromium.org>
282 Unreviewed, rolling out r77567.
283 http://trac.webkit.org/changeset/77567
284 https://bugs.webkit.org/show_bug.cgi?id=53468
286 broke chromium linux svg, canvas tests, possibly win also?
288 * platform/graphics/skia/ImageBufferSkia.cpp:
289 (WebCore::getImageData):
290 (WebCore::ImageBuffer::getUnmultipliedImageData):
291 (WebCore::ImageBuffer::getPremultipliedImageData):
292 (WebCore::putImageData):
293 (WebCore::ImageBuffer::putUnmultipliedImageData):
294 (WebCore::ImageBuffer::putPremultipliedImageData):
296 2011-02-02 MORITA Hajime <morrita@google.com>
298 Reviewed by Dimitri Glazkov.
300 Refactoring: <progress> should not use ShadowElement
301 https://bugs.webkit.org/show_bug.cgi?id=53583
303 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
304 to be responsible for bar-part layout,
305 which adopted layout logic from ShadowBlockElement.
306 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
307 - Remove dependency from RenderProgress to HTMLProgressElement and
309 - The shadow tree is no longer removed on detach(). It becomes persistent.
310 This is now possible because the ShadowBlockElement dependency is gone.
311 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
312 That didn't make sense.
314 * html/HTMLProgressElement.cpp:
315 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
316 * html/HTMLProgressElement.h:
317 * html/shadow/ProgressBarValueElement.h: Added.
318 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
319 (WebCore::ProgressBarValueElement::shadowPseudoId):
320 (WebCore::ProgressBarValueElement::createRenderer):
321 (WebCore::ProgressBarValueElement::create):
322 * rendering/RenderIndicator.cpp:
323 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
324 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
325 (WebCore::RenderIndicatorPart::layout):
326 (WebCore::RenderIndicatorPart::styleDidChange):
327 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
328 (WebCore::RenderIndicatorPart::originalVisibility):
329 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
330 (WebCore::RenderIndicatorPart::canHaveChildren):
331 * rendering/RenderProgress.cpp:
332 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
333 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
334 (WebCore::RenderProgress::updateFromElement):
335 (WebCore::RenderProgress::layoutParts):
336 (WebCore::RenderProgress::shouldHaveParts):
337 * rendering/RenderProgress.h:
338 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
340 2011-02-03 Jia Pu <jpu@apple.com>
342 Reversion should not be marked as misspelled.
343 https://bugs.webkit.org/show_bug.cgi?id=53255
345 This patch includes fix for reported bug, and also some housekeeping changes.
347 To implement desired behavior, we need:
348 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
349 that shouldn't be spellchecked and text shouldn't be autocorrected.
350 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
351 Otherwise the spell checking code in that function may interfere with autocorrection. This
352 is achieved by explicitly applying pending correction when user types space, line break or
355 Housekeeping code changes include:
356 1. Change manual-tests that were broken by relocated WebCore directory.
357 2. Use TextIterator in various DocumentMarkerController functions instead of using
358 Node::traverseNextNode() directly.
359 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
360 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
361 4. Fixes of minor bugs that were exposed previously.
363 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
365 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
367 * dom/DocumentMarkerController.cpp:
368 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
369 consistent with addMarker() function. Allow passing in multiple marker types in one call.
370 Added a boolean argument to specify the behavior when removing markers that partially
371 overlap the specified range.
372 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
373 multiple marker types in one call.
374 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
375 consistent with addMarker() function. Allow passing in multiple marker types in one call.
377 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
378 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
379 removing markers that partially overlap the specified range.
381 * editing/Editor.cpp:
382 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
383 (WebCore::markerTypesForReplacement): Ditto.
384 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
385 setSelection() to make sure there is no pending correction when entering
386 markAllMisspellingsAndBadGrammarInRanges().
387 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
388 is a top level command to improve efficiency.
389 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
390 (WebCore::Editor::insertLineBreak): Ditto.
391 (WebCore::Editor::insertParagraphSeparator): Ditto.
392 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
393 text carries SpellCheckingExemption marker.
394 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
395 from spellchecker is an empty string.
396 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
397 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
398 efficiency and readability.
399 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
400 applying correction, since it's unnecessary. Also, store pre-correction string together with
401 the marker for reversion panel to use.
402 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
403 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
404 where we have access to EditCommand object.
406 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
408 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
409 were broken by relocated WebCore directory.
411 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
413 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
415 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
417 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
419 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
421 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
423 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
425 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
427 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
429 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
430 were broken by relocated WebCore directory.
432 * rendering/InlineTextBox.cpp:
433 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
435 2011-02-03 Abhishek Arya <inferno@chromium.org>
437 Unreviewed, qt build fix.
439 * rendering/RenderBlock.cpp:
440 (WebCore::RenderBlock::removeFloatingObject):
442 2011-02-03 Brian Salomon <bsalomon@google.com>
444 Reviewed by James Robinson.
446 Handle non-raster backed images in getUnmultipliedImageData()
447 https://bugs.webkit.org/show_bug.cgi?id=53468
449 No new tests. Existing canvas tests sufficient
450 LayoutTests/canvas/philip/...
452 * platform/graphics/skia/ImageBufferSkia.cpp:
453 (WebCore::getImageData):
454 (WebCore::ImageBuffer::getUnmultipliedImageData):
455 (WebCore::ImageBuffer::getPremultipliedImageData):
456 (WebCore::putImageData):
457 (WebCore::ImageBuffer::putUnmultipliedImageData):
458 (WebCore::ImageBuffer::putPremultipliedImageData):
460 2011-02-03 Abhishek Arya <inferno@chromium.org>
462 Reviewed by James Robinson.
464 Enforce more limits on root inline boxes height calculations.
465 https://bugs.webkit.org/show_bug.cgi?id=53729
467 Test: fast/overflow/overflow-height-float-not-removed-crash.html
469 * rendering/RenderBlock.cpp:
470 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
471 become negative when logicalTop is INT_MAX.
472 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
473 is INT_MAX, we should dirty everything. So, we bail out to make
474 afterLowest equal to the lastRootBox() or lowestDirstLine.
476 2011-02-03 David Levin <levin@chromium.org>
478 Reviewed by Adam Barth and Oliver Hunt.
480 Worker.importScript() should clean errors for cross origin imports.
481 https://bugs.webkit.org/show_bug.cgi?id=52871
483 Test: http/tests/workers/worker-importScriptsOnError.html
485 * bindings/js/WorkerScriptController.cpp:
486 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
487 to determine when to create a clean exception.
488 * bindings/v8/WorkerContextExecutionProxy.cpp:
489 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
490 * dom/ScriptExecutionContext.cpp:
491 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
492 if the error needs to be cleaned up.
493 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
494 sanitizeScriptError for use by other places.
495 * dom/ScriptExecutionContext.h:
496 * workers/WorkerContext.cpp:
497 (WebCore::WorkerContext::importScripts): Use the reponse url when
498 telling the evaluate where the script came fro.
499 * workers/WorkerScriptLoader.cpp:
500 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
501 the script was loaded from (which may be different from url() due
503 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
504 * workers/WorkerScriptLoader.h:
506 2011-02-03 Mark Mentovai <mark@chromium.org>
508 Reviewed by Dimitri Glazkov.
510 Chromium GYP build fix.
512 When various settings were moved to webcore_prerequisites in r66364,
513 things that should have been direct_dependent_settings were not marked
514 as such. GYP 'defines', for example, make no sense on a 'none'-type
515 target such as webcore_prerequisites. It appears that it was intended
516 for these settings to be pushed to direct dependents, which would make
517 direct_dependent_settings correct.
519 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
520 http://crbug.com/71537, which at best causes Mac console log spew, and
521 at worst may result in Chromium's copy of WebCore using system
522 definitions of certain Objective-C classes at runtime, or vice-versa.
524 The build now includes a postbuild step to prevent
525 http://crbug.com/71537 from regressing again. The build will fail upon
528 https://bugs.webkit.org/show_bug.cgi?id=53630
530 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
531 direct_dependent_settings as needed, add the check_objc_rename
533 * WebCore.gyp/mac/check_objc_rename.sh: Added.
535 2011-02-03 Adam Barth <abarth@webkit.org>
537 Reviewed by Eric Seidel.
539 Make XSSFilter go fast by adding a SuffixTree
540 https://bugs.webkit.org/show_bug.cgi?id=53665
542 The SuffixTree lets us quickly reject snippets if the POST data is
543 large (because we can avoid a linear scan over the POST data).
545 * html/parser/XSSFilter.cpp:
546 (WebCore::XSSFilter::init):
547 (WebCore::XSSFilter::isContainedInRequest):
548 * html/parser/XSSFilter.h:
550 2011-02-03 Mihai Parparita <mihaip@chromium.org>
552 Reviewed by Alexey Proskuryakov.
554 REGRESSION (r77355): Page cache layout tests crash
555 https://bugs.webkit.org/show_bug.cgi?id=53648
557 Test: fast/events/pagehide-timeout.html
559 Suspend active DOM objects after all pagehide event handlers have run,
560 otherwise it's possible for them to create more objects that weren't
563 * history/CachedFrame.cpp:
564 (WebCore::CachedFrame::CachedFrame):
566 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
568 Reviewed by Nate Chapin.
570 SerializedScriptValue should not require v8 to create undefined and null values
571 https://bugs.webkit.org/show_bug.cgi?id=53730
573 Instead of creating a v8 type and passing that into the constructor, just use
574 the writer class directly. While I was at it, I cleaned up the code a bit too
575 by getting rid of the WireData/StringValue enum as I found that personally
578 This is necessary because these methods are called by IndexedDB in the browser
579 process where v8 is not spun up.
581 No functionality changed and not possible to test.
583 * bindings/v8/SerializedScriptValue.cpp:
584 (WebCore::SerializedScriptValue::createFromWire):
585 (WebCore::SerializedScriptValue::create):
586 (WebCore::SerializedScriptValue::nullValue):
587 (WebCore::SerializedScriptValue::undefinedValue):
588 (WebCore::SerializedScriptValue::release):
589 (WebCore::SerializedScriptValue::SerializedScriptValue):
590 * bindings/v8/SerializedScriptValue.h:
592 2011-02-03 Beth Dakin <bdakin@apple.com>
594 Reviewed by Sam Weinig.
596 Fix for <rdar://problem/8944544> Ability to animate track
597 for WKPainter scrollers
599 Two new WebKitSystemInterface functions.
601 * platform/mac/WebCoreSystemInterface.h:
602 * platform/mac/WebCoreSystemInterface.mm:
604 Use Scrollbar::convertFromContainingView() to return the right point.
605 * platform/mac/ScrollAnimatorMac.mm:
606 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
608 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
609 now be used to animate the knob or the track.
610 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
611 (-[ScrollbarPartAnimation setCurrentProgress:]):
612 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
613 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
614 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
616 Scrollbars need invalodating after the overlay state changes.
617 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
619 2011-02-03 Sam Weinig <sam@webkit.org>
621 Reviewed by Beth Dakin.
623 Scroll thumb jumps to top when resizing horizontally.
625 * platform/ScrollView.cpp:
626 (WebCore::ScrollView::updateScrollbars): Add call to update
627 the scrollbar's offset in the case where we may have created
628 a new scrollbar but have not changed the current position.
630 2011-02-03 Justin Schuh <jschuh@chromium.org>
632 Reviewed by Dirk Schulze.
634 startAnimations should use a local, RefCounted Vector.
635 https://bugs.webkit.org/show_bug.cgi?id=53458
637 Test: svg/custom/use-animation-in-fill.html
639 * svg/SVGDocumentExtensions.cpp:
640 (WebCore::SVGDocumentExtensions::startAnimations):
642 2011-02-03 Adam Barth <abarth@webkit.org>
644 Reviewed by Daniel Bates.
646 XSSFilter shouldn't bother to analyze pages without "injection"
647 characters in the request
648 https://bugs.webkit.org/show_bug.cgi?id=53664
650 If the request lacks these "injection" characters, then it's unlikely
651 that there's a reflective XSS attack happening. This hueristic lets us
652 avoid analyzing the vast majority of responses for XSS. Of course, the
653 hueristic isn't perfect. Because of this huerstic, we miss out on
654 injections into unquoted attributes. However, it's a trade-off that's
655 worked well in the XSSAuditor.
657 * html/parser/XSSFilter.cpp:
658 (WebCore::HTMLNames::isRequiredForInjection):
659 (WebCore::XSSFilter::XSSFilter):
660 (WebCore::XSSFilter::init):
661 (WebCore::XSSFilter::filterToken):
662 (WebCore::XSSFilter::isContainedInRequest):
663 * html/parser/XSSFilter.h:
665 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
667 Reviewed by Kenneth Russell.
669 [chromium] Fixing a compositor crash occurring on layers
670 without an associated RenderSurface.
671 https://bugs.webkit.org/show_bug.cgi?id=53679
672 Regression was introduced by in r77425
674 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
677 * platform/graphics/chromium/LayerRendererChromium.cpp:
678 (WebCore::LayerRendererChromium::drawLayer):
680 2011-02-03 Dan Bernstein <mitz@apple.com>
682 Reviewed by Anders Carlsson.
684 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
685 https://bugs.webkit.org/show_bug.cgi?id=53709
687 Covered by rendering of fast/text/emphasis-vertical.html
689 * platform/graphics/mac/SimpleFontDataMac.mm:
690 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
693 2011-02-02 Levi Weintraub <leviw@chromium.org>
695 Reviewed by Ryosuke Niwa.
697 Moving cursor down in table cycles at the end of a row
698 https://bugs.webkit.org/show_bug.cgi?id=50012
700 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
701 end of a document due to a bug in nextLeafWithSameEditability.
703 Test: editing/selection/move-by-line-cycles-in-table.html
705 * editing/visible_units.cpp:
706 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
709 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
711 Reviewed by Pavel Feldman.
713 Web Inspector: remove dead code related to changes panel.
714 https://bugs.webkit.org/show_bug.cgi?id=53688
717 * WebCore.vcproj/WebCore.vcproj:
718 * inspector/front-end/ChangesView.js: Removed.
719 * inspector/front-end/WebKit.qrc:
720 * inspector/front-end/inspector.css:
721 (#error-warning-count):
722 (#error-warning-count:hover):
723 (#error-count + #warning-count):
724 * inspector/front-end/inspector.html:
725 * inspector/front-end/inspector.js:
727 2011-02-02 Sam Weinig <sam@webkit.org>
729 Reviewed by Anders Carlsson.
731 Add notification of the end of a rubber band.
732 <rdar://problem/8940648>
735 Add additional exprots.
737 * page/ChromeClient.h:
738 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
739 * page/FrameView.cpp:
740 (WebCore::FrameView::didCompleteRubberBand):
742 * platform/ScrollView.cpp:
743 (WebCore::ScrollView::didCompleteRubberBand):
744 * platform/ScrollView.h:
747 * platform/ScrollableArea.h:
748 (WebCore::ScrollableArea::inLiveResize):
749 (WebCore::ScrollableArea::maximumScrollPosition):
750 (WebCore::ScrollableArea::visibleWidth):
751 (WebCore::ScrollableArea::overhangAmount):
752 (WebCore::ScrollableArea::didCompleteRubberBand):
753 Reorganize and de-virtualize live resize notifications.
755 * platform/mac/ScrollAnimatorMac.mm:
756 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
757 Call the new hook when the rubberband ends.
759 2011-02-02 Evan Martin <evan@chromium.org>
761 Reviewed by Tony Chang.
763 [chromium] complex joining characters positioned in wrong place
764 https://bugs.webkit.org/show_bug.cgi?id=53637
766 Provide the correct font metrics to Harfbuzz related to the font design space.
767 There are used in some fonts for GPOS positioning.
769 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
771 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
772 (WebCore::ComplexTextController::setupFontForScriptRun):
773 (WebCore::ComplexTextController::allocHarfbuzzFont):
774 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
775 (WebCore::FontPlatformData::FontPlatformData):
776 (WebCore::FontPlatformData::emSizeInFontUnits):
777 (WebCore::FontPlatformData::operator=):
778 * platform/graphics/chromium/FontPlatformDataLinux.h:
779 (WebCore::FontPlatformData::FontPlatformData):
781 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
783 Reviewed by Kent Tamura.
785 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
786 https://bugs.webkit.org/show_bug.cgi?id=53634
788 Test: fast/dom/HTMLInputElement/input-slider-update.html
790 * html/HTMLInputElement.cpp:
791 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
792 * html/InputType.cpp:
793 (WebCore::InputType::valueChanged): Added empty implementation.
794 * html/InputType.h: Added def.
795 * html/RangeInputType.cpp:
796 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
798 * html/RangeInputType.h: Added def.
800 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
802 Reviewed by Pavel Feldman.
804 Web Inspector: do not share source frames between resources panel and scripts panel.
805 https://bugs.webkit.org/show_bug.cgi?id=53584
807 Currently, we show error messages only for resources. This change will allow showing error
808 messages in source frame even when resource is not available (eval scripts, inlined scripts).
810 * inspector/front-end/ConsoleView.js:
811 (WebInspector.ConsoleView.prototype.addMessage):
812 (WebInspector.ConsoleView.prototype.clearMessages):
813 * inspector/front-end/ResourceView.js:
814 (WebInspector.ResourceView.recreateResourceView):
815 * inspector/front-end/ResourcesPanel.js:
816 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
817 * inspector/front-end/ScriptsPanel.js:
818 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
819 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
820 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
821 (WebInspector.ScriptsPanel.prototype.reset):
822 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
823 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
824 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
826 2011-02-03 Simon Fraser <simon.fraser@apple.com>
830 * platform/graphics/ShadowBlur.cpp:
831 (WebCore::ShadowBlur::blurLayerImage):
833 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
835 Reviewed by Pavel Feldman.
837 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
838 https://bugs.webkit.org/show_bug.cgi?id=53592
840 In JSC there is no limit, thus 'undefined' value is returned.
841 For V8, the limit reported by the VM is returned.
843 * Android.jscbindings.mk:
848 * WebCore.vcproj/WebCore.vcproj:
849 * WebCore.xcodeproj/project.pbxproj:
850 * bindings/js/JSBindingsAllInOne.cpp:
851 * bindings/js/JSMemoryInfoCustom.cpp: Added.
852 * bindings/js/ScriptGCEvent.cpp:
853 (WebCore::ScriptGCEvent::getHeapSize):
854 * bindings/js/ScriptGCEvent.h:
855 * bindings/v8/ScriptGCEvent.cpp:
856 (WebCore::ScriptGCEvent::getHeapSize):
857 * bindings/v8/ScriptGCEvent.h:
858 * inspector/InspectorTimelineAgent.cpp:
859 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
860 * page/MemoryInfo.cpp:
861 (WebCore::MemoryInfo::MemoryInfo):
863 (WebCore::MemoryInfo::jsHeapSizeLimit):
864 * page/MemoryInfo.idl:
866 2011-01-27 Philippe Normand <pnormand@igalia.com>
868 Reviewed by Martin Robinson.
870 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
871 https://bugs.webkit.org/show_bug.cgi?id=53125
873 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
874 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
876 2011-02-03 Simon Fraser <simon.fraser@apple.com>
878 Reviewed by Sam Weinig.
880 ShadowBlur radius for CSS shadows is slightly too big
881 https://bugs.webkit.org/show_bug.cgi?id=53660
883 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
884 shadows that extend further than the CSS "blur radius", which results
885 in the shadows being truncated.
887 Fix with a small fudge factor to reduce the kernel diameter slightly
890 Also more closely follow the algorithm described in the SVG spec
891 for computing the kernel size for different diameters, and clean up
892 some variable naming relating to the shadow bounds.
894 * platform/graphics/ShadowBlur.cpp:
895 (WebCore::ShadowBlur::blurLayerImage):
896 (WebCore::ShadowBlur::drawRectShadowWithTiling):
898 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
900 Reviewed by Pavel Feldman.
902 Web Inspector: introduce new api for managing JavaScript breakpoints.
903 https://bugs.webkit.org/show_bug.cgi?id=53235
905 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
906 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
907 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
909 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
910 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
912 * bindings/js/ScriptDebugServer.cpp:
913 (WebCore::ScriptDebugServer::setBreakpoint):
914 (WebCore::ScriptDebugServer::removeBreakpoint):
915 * bindings/js/ScriptDebugServer.h:
916 * bindings/v8/DebuggerScript.js:
918 * bindings/v8/ScriptDebugServer.cpp:
919 (WebCore::ScriptDebugServer::setBreakpoint):
920 * bindings/v8/ScriptDebugServer.h:
921 * inspector/Inspector.idl:
922 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
923 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
924 (WebCore::InspectorAgent::populateScriptObjects):
925 (WebCore::InspectorAgent::restoreDebugger):
926 (WebCore::InspectorAgent::showAndEnableDebugger):
927 (WebCore::InspectorAgent::enableDebugger):
928 * inspector/InspectorAgent.h:
929 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
930 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
931 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
932 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
933 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
934 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
935 (WebCore::InspectorDebuggerAgent::continueToLocation):
936 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
937 (WebCore::InspectorDebuggerAgent::getScriptSource):
938 (WebCore::InspectorDebuggerAgent::didParseSource):
939 (WebCore::InspectorDebuggerAgent::didPause):
940 * inspector/InspectorDebuggerAgent.h:
941 (WebCore::InspectorDebuggerAgent::Script::Script):
942 * inspector/InspectorValues.cpp:
943 (WebCore::InspectorValue::asNumber):
944 (WebCore::InspectorBasicValue::asNumber):
945 (WebCore::InspectorObject::remove):
946 * inspector/InspectorValues.h:
947 (WebCore::InspectorObject::getNumber):
948 (WebCore::InspectorObject::find):
949 * inspector/ScriptBreakpoint.h:
950 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
951 * inspector/front-end/Breakpoint.js:
952 (WebInspector.Breakpoint):
953 (WebInspector.Breakpoint.prototype.addLocation):
954 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
955 (WebInspector.BreakpointManager):
956 (WebInspector.BreakpointManager.prototype._projectChanged):
957 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
958 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
959 * inspector/front-end/BreakpointsSidebarPane.js:
960 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
961 * inspector/front-end/DebuggerModel.js:
962 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
963 * inspector/front-end/Script.js:
964 (WebInspector.Script.prototype.sourceLine):
965 * inspector/front-end/ScriptsPanel.js:
966 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
967 * inspector/front-end/Settings.js:
968 (WebInspector.Settings):
969 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
970 * inspector/front-end/inspector.js:
972 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
974 Reviewed by Dirk Schulze.
976 small text which is scaled to be large renders pixelated
977 https://bugs.webkit.org/show_bug.cgi?id=12448
979 SVG <text> with font-size smaller or equal to 1 does not paint correctly
980 https://bugs.webkit.org/show_bug.cgi?id=14242
982 misplaced text in SVG
983 https://bugs.webkit.org/show_bug.cgi?id=17053
985 Don't render very small (but zoomed) text inside SVG
986 https://bugs.webkit.org/show_bug.cgi?id=19393
988 Tiny fonts scaled up end up too large in Safari
989 https://bugs.webkit.org/show_bug.cgi?id=20192
991 Stretched SVG Text has awful glyph spacing
992 https://bugs.webkit.org/show_bug.cgi?id=21774
994 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
995 https://bugs.webkit.org/show_bug.cgi?id=49846
997 [Gtk] Text height in zoomed SVG is 1px too high
998 https://bugs.webkit.org/show_bug.cgi?id=50313
1000 SVG text smaller than 0.5px not displayed properly
1001 https://bugs.webkit.org/show_bug.cgi?id=50528
1003 When rendering text, we're selecting a font with a size, as specified in the markup.
1004 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
1005 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
1006 problem becomes apparent.
1008 Consider following two snippets, which should render exactly the same:
1009 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
1010 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
1012 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
1013 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
1014 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
1016 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1017 remove any scaling from the context, draw the text using the scaled font size, then reapply
1018 the context scale. This makes the example snippets above render exactly the same and fixes
1019 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1020 internally, depending on the scale of the document, it's very important to use the new
1021 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1023 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1024 svg/hixie/text/003.html (no more pixelation)
1025 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1026 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1027 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1029 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1030 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1031 svg/text/scaled-font.svg (reduction from bug 12448)
1032 svg/text/small-fonts-2.svg (reduction from bug 14242)
1033 svg/text/small-fonts-3.svg (reduction from bug 17053)
1034 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1035 svg/text/small-fonts.svg (reduction from bug 20192))
1037 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1038 * rendering/svg/RenderSVGInlineText.h:
1039 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1040 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1041 * rendering/svg/SVGInlineTextBox.h:
1042 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1043 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1044 * rendering/svg/SVGTextMetrics.h: Ditto.
1045 * rendering/svg/SVGTextQuery.cpp: Ditto.
1046 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1047 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1048 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1049 * svg/SVGTextPositioningElement.h:
1051 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1053 Reviewed by Yury Semikhatsky.
1055 Web Inspector: resources panel doesn't show frames after reload.
1056 https://bugs.webkit.org/show_bug.cgi?id=53430
1058 * inspector/front-end/ResourcesPanel.js:
1059 (WebInspector.ResourcesPanel.prototype.show):
1060 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1061 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1062 (WebInspector.ResourcesPanel.prototype.reset):
1063 (WebInspector.ResourcesPanel.prototype.clear):
1064 * inspector/front-end/inspector.js:
1065 (WebInspector.loadEventFired):
1067 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1069 Reviewed by Pavel Feldman.
1071 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1072 https://bugs.webkit.org/show_bug.cgi?id=53492
1074 * inspector/Inspector.idl:
1075 * inspector/InspectorCSSAgent.cpp:
1076 (WebCore::InspectorCSSAgent::getStylesForNode):
1077 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1078 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1079 (WebCore::InspectorCSSAgent::getAllStyles):
1080 (WebCore::InspectorCSSAgent::getStyleSheet):
1081 (WebCore::InspectorCSSAgent::getStyleSheetText):
1082 (WebCore::InspectorCSSAgent::setStyleSheetText):
1083 (WebCore::InspectorCSSAgent::setPropertyText):
1084 (WebCore::InspectorCSSAgent::toggleProperty):
1085 (WebCore::InspectorCSSAgent::setRuleSelector):
1086 (WebCore::InspectorCSSAgent::addRule):
1087 * inspector/InspectorCSSAgent.h:
1088 * inspector/front-end/AuditRules.js:
1089 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1090 * inspector/front-end/CSSStyleModel.js:
1091 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1092 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1093 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1094 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1095 (WebInspector.CSSStyleModel.prototype.addRule):
1096 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1097 (WebInspector.CSSStyleModel.prototype._onRevert):
1098 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1099 (WebInspector.CSSProperty.prototype.setText):
1100 (WebInspector.CSSProperty.prototype.setDisabled):
1101 (WebInspector.CSSStyleSheet.createForId):
1102 (WebInspector.CSSStyleSheet.prototype.setText):
1104 2011-02-03 Adam Barth <abarth@webkit.org>
1106 Reviewed by Daniel Bates.
1108 Teach XSSFilter about data URLs
1109 https://bugs.webkit.org/show_bug.cgi?id=53662
1111 The XSS filter doesn't really make sense for data URLs because
1112 everything in a "response" from a data URL was part of the request.
1114 Test: http/tests/security/xssAuditor/data-urls-work.html
1116 * html/parser/XSSFilter.cpp:
1117 (WebCore::XSSFilter::init):
1118 (WebCore::XSSFilter::filterToken):
1120 2011-02-02 Chris Evans <cevans@chromium.org>
1122 Reviewed by Darin Fisher.
1124 window.find() can fail when switching case sensitivity
1125 https://bugs.webkit.org/show_bug.cgi?id=53654
1127 Reset the pattern to a safe one when done, to avoid usearch_reset()
1128 indirectly touching the old, stale text pointer.
1130 Test: fast/text/find-window.html
1132 * editing/TextIterator.cpp:
1133 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1135 2011-02-02 Adam Barth <abarth@webkit.org>
1137 Reviewed by Daniel Bates.
1139 Teach XSSFilter that <param> elements can contain URLs
1140 https://bugs.webkit.org/show_bug.cgi?id=53652
1142 When loading plugins for the <object> tag, we're "smart" enough to
1143 reach into the <param> elements and pull out the URL in some cases.
1144 This patch teaches the XSSFilter how to block injections into those
1145 sorts of param elements.
1148 http/tests/security/xssAuditor/object-*
1150 * html/HTMLParamElement.cpp:
1151 (WebCore::HTMLParamElement::isURLParameter):
1152 (WebCore::HTMLParamElement::isURLAttribute):
1153 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1154 * html/HTMLParamElement.h:
1155 - Add a helper function so that HTMLParamElement can share the
1156 ground truth for these names with the XSSFilter.
1157 * html/parser/XSSFilter.cpp:
1158 (WebCore::XSSFilter::filterTokenInitial):
1159 (WebCore::XSSFilter::filterParamToken):
1160 * html/parser/XSSFilter.h:
1162 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1164 Reviewed by David Levin.
1166 GCC compiler on ARM issues bogus warnings and fails to compile.
1167 https://bugs.webkit.org/show_bug.cgi?id=53620
1169 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1170 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1172 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1174 The fix is to add an extra condition, which somehow pacifies the compiler.
1176 * css/CSSPrimitiveValue.cpp:
1177 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1179 2011-02-02 Adam Barth <abarth@webkit.org>
1181 Reviewed by Daniel Bates.
1183 Teach XSSFilter about X-XSS-Protection
1184 https://bugs.webkit.org/show_bug.cgi?id=53640
1186 This patch causes us to pass:
1187 http/tests/security/xssAuditor/full-block-*
1188 http/tests/security/xssAuditor/no-protection-script-tag.html
1190 * html/parser/XSSFilter.cpp:
1191 (WebCore::XSSFilter::XSSFilter):
1192 (WebCore::XSSFilter::init):
1193 (WebCore::XSSFilter::filterToken):
1194 * html/parser/XSSFilter.h:
1196 2011-02-02 Adam Barth <abarth@webkit.org>
1198 Reviewed by Daniel Bates.
1200 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1201 instead of the empty string
1202 https://bugs.webkit.org/show_bug.cgi?id=53643
1204 In a URL context, the empty string completes to the URL of the current
1205 page, which causes these tests to go into an infinite loop. Instead,
1206 we should use a "safe" JavaScript URL that does nothing.
1209 http/tests/security/xssAuditor/javascript-link*
1211 * html/parser/XSSFilter.cpp:
1212 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1214 2011-02-02 Dan Bernstein <mitz@apple.com>
1216 Reviewed by Sam Weinig.
1218 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1219 https://bugs.webkit.org/show_bug.cgi?id=44942
1221 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1223 * platform/text/BidiResolver.h:
1224 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1225 a change to embedding levels.
1226 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1227 the explicit embedding sequence, then runs were not added, and we should continue normally.
1229 2011-02-02 Sam Weinig <sam@webkit.org>
1231 Reviewed by Dan Bernstein.
1233 Fix miscalculation of the overhang area used for painting. We were
1234 not correctly accounting for scrollbars resulting in an non-negative
1235 overhang even when we weren't over the edge.
1237 * platform/ScrollView.cpp:
1238 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1240 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1242 Reviewed by Nate Chapin.
1244 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1245 https://bugs.webkit.org/show_bug.cgi?id=52722
1247 The solution is to change ScriptExecutionContext's destructor to iterate over
1248 the list in a way that handles the mutations. This new method is destructive,
1249 but that's OK since the object is going away. I've also added a several asserts.
1251 There should be no behavior change.
1253 * dom/ScriptExecutionContext.cpp:
1254 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1255 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1256 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1257 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1258 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1259 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1260 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1261 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1262 * dom/ScriptExecutionContext.h:
1263 * storage/IDBTransaction.cpp:
1264 (WebCore::IDBTransaction::contextDestroyed):
1265 * storage/IDBTransaction.h:
1267 2011-02-02 Mark Rowe <mrowe@apple.com>
1271 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1272 * platform/mac/ScrollbarThemeMac.mm:
1273 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1274 up in the HashMap rather than relying on a local variable that doesn't
1277 2011-02-02 Adam Barth <abarth@webkit.org>
1279 Reviewed by Daniel Bates.
1281 Teach XSSFilter about JavaScript URLs
1282 https://bugs.webkit.org/show_bug.cgi?id=53635
1284 This patch teaches the XSSFilter to check for JavaScript URLs in
1285 attribute values. If this approach has too many false positives, we
1286 can restrict which attribute names we examine.
1289 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1290 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1291 http/tests/security/xssAuditor/iframe-javascript-url*
1293 * html/parser/XSSFilter.cpp:
1294 (WebCore::HTMLNames::containsJavaScriptURL):
1295 (WebCore::XSSFilter::filterTokenInitial):
1296 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1297 * html/parser/XSSFilter.h:
1299 2011-02-02 Dan Bernstein <mitz@apple.com>
1301 Reviewed by Sam Weinig, even though this is just a...
1305 * platform/mac/ScrollAnimatorMac.mm:
1306 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1308 2011-02-02 Mark Rowe <mrowe@apple.com>
1310 Reviewed by Beth Dakin.
1312 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1314 We need to ensure that we remove ourselves as the delegates of objects when we're going
1315 away as failing to do this can lead to crashes if the lifetime of the other objects
1316 is longer than ours.
1318 * platform/mac/ScrollAnimatorMac.mm:
1319 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1320 * platform/mac/ScrollbarThemeMac.mm:
1321 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1323 2011-02-02 Beth Dakin <bdakin@apple.com>
1329 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1331 Unreviewed WinCE build fix for r77397.
1333 * page/wince/FrameWinCE.cpp:
1334 (WebCore::computePageRectsForFrame):
1336 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1338 Unreviewed WinCE build fix for r77398.
1340 * platform/graphics/wince/PlatformPathWinCE.cpp:
1341 (WebCore::containsPoint):
1342 (WebCore::inflateRectToContainPoint):
1343 (WebCore::PlatformPath::addRect):
1344 * platform/graphics/wince/SharedBitmap.cpp:
1345 (WebCore::SharedBitmap::drawPattern):
1346 * rendering/RenderThemeWinCE.cpp:
1347 (WebCore::RenderThemeWinCE::paintMenuListButton):
1348 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1349 (WebCore::RenderThemeWinCE::paintSliderTrack):
1350 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1351 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1352 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1353 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1355 2011-02-02 Jian Li <jianli@chromium.org>
1357 Reviewed by Kenneth Russell.
1359 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1360 https://bugs.webkit.org/show_bug.cgi?id=53559
1362 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1364 * html/canvas/DataView.h:
1365 (WebCore::DataView::beyondRange):
1367 2011-02-02 Sam Weinig <sam@webkit.org>
1369 Reviewed by Beth Dakin.
1371 Add ChromeClient function to paint custom overhang areas.
1372 https://bugs.webkit.org/show_bug.cgi?id=53639
1375 (WebCore::ChromeClient::paintCustomOverhangArea):
1376 * page/ChromeClient.h:
1377 Add ChromeClient function.
1379 * page/FrameView.cpp:
1380 (WebCore::FrameView::paintOverhangAreas):
1382 Call out the the ChromeClient, call ScrollView base implementation
1383 if the ChromeClient returns false.
1385 * platform/ScrollView.cpp:
1386 (WebCore::ScrollView::paintOverhangAreas):
1387 * platform/ScrollView.h:
1388 Add dirty rect for use when painting overhang areas.
1390 2011-02-02 Peter Kasting <pkasting@google.com>
1392 Not reviewed, build fix.
1394 Fix compile after r77427.
1395 https://bugs.webkit.org/show_bug.cgi?id=53455
1397 * platform/graphics/qt/ImageDecoderQt.cpp:
1398 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1399 * platform/image-decoders/ImageDecoder.cpp:
1400 (WebCore::ImageFrame::operator=):
1401 * platform/image-decoders/bmp/BMPImageReader.cpp:
1402 (WebCore::BMPImageReader::decodeBMP):
1403 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1404 (WebCore::JPEGImageDecoder::outputScanlines):
1405 * platform/image-decoders/png/PNGImageDecoder.cpp:
1406 (WebCore::PNGImageDecoder::rowAvailable):
1407 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1408 (WebCore::WEBPImageDecoder::decode):
1410 2011-02-02 Peter Kasting <pkasting@google.com>
1412 Reviewed by David Levin.
1414 Clean up ImageDecoder's comments (remove/trim/clarify).
1415 https://bugs.webkit.org/show_bug.cgi?id=53455
1417 This also renames or eliminates a couple of functions for clarity, and
1418 switches a couple erroneous strncmp() calls to memcmp().
1420 * platform/image-decoders/ImageDecoder.cpp:
1421 (WebCore::ImageDecoder::create):
1422 (WebCore::ImageFrame::clearPixelData):
1423 (WebCore::ImageFrame::zeroFillPixelData):
1424 (WebCore::ImageFrame::setSize):
1425 * platform/image-decoders/ImageDecoder.h:
1426 (WebCore::ImageFrame::originalFrameRect):
1427 (WebCore::ImageFrame::setOriginalFrameRect):
1428 (WebCore::ImageDecoder::ImageDecoder):
1429 (WebCore::ImageDecoder::~ImageDecoder):
1430 (WebCore::ImageDecoder::isSizeAvailable):
1431 (WebCore::ImageDecoder::size):
1432 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1433 (WebCore::ImageDecoder::clearFrameBufferCache):
1434 (WebCore::ImageDecoder::isOverSize):
1435 * platform/image-decoders/bmp/BMPImageReader.cpp:
1436 (WebCore::BMPImageReader::processNonRLEData):
1437 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1438 (WebCore::ImageFrame::setSize):
1439 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1440 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1441 (WebCore::GIFImageDecoder::frameComplete):
1442 (WebCore::GIFImageDecoder::initFrameBuffer):
1443 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1444 * platform/image-decoders/qt/ImageFrameQt.cpp:
1445 (WebCore::ImageFrame::operator=):
1446 (WebCore::ImageFrame::clearPixelData):
1447 (WebCore::ImageFrame::zeroFillPixelData):
1448 (WebCore::ImageFrame::setSize):
1449 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1450 (WebCore::ImageFrame::operator=):
1451 (WebCore::ImageFrame::clearPixelData):
1452 (WebCore::ImageFrame::zeroFillPixelData):
1453 (WebCore::ImageFrame::setSize):
1454 * platform/image-decoders/webp/WEBPImageDecoder.h:
1456 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1458 [chromium] Adding support for reflections to the accelerated
1460 https://bugs.webkit.org/show_bug.cgi?id=53179
1462 All layout tests in compositing/reflections generate correct
1463 results with the exception of:
1464 1. nested-reflection-anchor-point.html : There appears to be
1465 some issue with the layer transform math that I haven't been
1466 able to track down yet.
1467 2. reflection-opacity.html : The current implementation applies
1468 opacity before doing the reflection which makes this test
1469 produce incorrect results. This will affect reflected layers
1470 with opacity that overlap their original layer. FIXME comment
1473 Tests: Covered by existing layout tests in compositing/reflections.
1474 Please see above for exceptions.
1476 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1477 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1478 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1479 * platform/graphics/chromium/GraphicsLayerChromium.h:
1480 * platform/graphics/chromium/LayerChromium.cpp:
1481 (WebCore::LayerChromium::LayerChromium):
1482 * platform/graphics/chromium/LayerChromium.h:
1483 (WebCore::LayerChromium::setReplicaLayer):
1484 (WebCore::LayerChromium::replicaLayer):
1485 * platform/graphics/chromium/LayerRendererChromium.cpp:
1486 (WebCore::LayerRendererChromium::updateLayersRecursive):
1487 (WebCore::LayerRendererChromium::drawLayer):
1488 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1489 (WebCore::RenderSurfaceChromium::drawableContentRect):
1490 (WebCore::RenderSurfaceChromium::drawSurface):
1491 (WebCore::RenderSurfaceChromium::draw):
1492 * platform/graphics/chromium/RenderSurfaceChromium.h:
1493 (WebCore::RenderSurfaceChromium::drawTransform):
1495 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1497 Reviewed by Tony Chang.
1499 [Chromium] Select popup with padding has white strip on right
1500 https://bugs.webkit.org/show_bug.cgi?id=53602
1502 No new tests as this change restores old behavior.
1504 * platform/chromium/PopupMenuChromium.cpp:
1505 (WebCore::PopupListBox::layout):
1507 2011-02-02 Beth Dakin <bdakin@apple.com>
1509 Reviewed by Mark Rowe.
1511 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1512 1 crash in WebProcess at com.apple.WebCore:
1513 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1515 It is possible for a Scrollbar's ScrollableArea to be null,
1516 so we must null check.
1517 * platform/mac/ScrollbarThemeMac.mm:
1518 (WebCore::ScrollbarThemeMac::registerScrollbar):
1519 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1521 2011-02-02 Zhenyao Mo <zmo@google.com>
1523 Reviewed by Kenneth Russell.
1525 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1526 https://bugs.webkit.org/show_bug.cgi?id=53626
1528 * html/canvas/WebGLRenderingContext.cpp:
1529 (WebCore::WebGLRenderingContext::bufferData):
1530 (WebCore::WebGLRenderingContext::bufferSubData):
1532 2011-02-02 Jeff Miller <jeffm@apple.com>
1534 Reviewed by Darin Adler and Steve Falkenburg.
1536 Add DerivedSources.make to some Visual Studio projects
1537 https://bugs.webkit.org/show_bug.cgi?id=53607
1539 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1541 2011-02-02 Cris Neckar <cdn@chromium.org>
1543 Reviewed by James Robinson.
1545 Refcount domwindows when dispatching device orientation events.
1546 https://bugs.webkit.org/show_bug.cgi?id=53623
1548 Test: fast/events/device-orientation-crash.html
1550 * dom/DeviceMotionController.cpp:
1551 (WebCore::DeviceMotionController::timerFired):
1552 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1553 * dom/DeviceMotionController.h:
1554 * dom/DeviceOrientationController.cpp:
1555 (WebCore::DeviceOrientationController::timerFired):
1556 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1557 * dom/DeviceOrientationController.h:
1559 2011-02-02 Zhenyao Mo <zmo@google.com>
1561 Reviewed by Kenneth Russell.
1563 A deleted object should never been bound again
1564 https://bugs.webkit.org/show_bug.cgi?id=53604
1566 * html/canvas/WebGLRenderingContext.cpp:
1567 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1568 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1569 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1570 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1571 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1572 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1573 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1574 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1575 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1576 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1577 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1578 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1579 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1580 * html/canvas/WebGLRenderingContext.h:
1581 * html/canvas/WebGLTexture.h:
1582 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1584 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1586 Unreviewed Efl buildfix after r77399.
1588 * CMakeListsEfl.txt:
1590 2011-02-02 Kenneth Russell <kbr@google.com>
1592 Reviewed by James Robinson.
1594 Rename Typed Array subset to subarray
1595 https://bugs.webkit.org/show_bug.cgi?id=53618
1597 * html/canvas/Float32Array.cpp:
1598 (WebCore::Float32Array::subarray):
1599 * html/canvas/Float32Array.h:
1600 * html/canvas/Float32Array.idl:
1601 * html/canvas/Int16Array.cpp:
1602 (WebCore::Int16Array::subarray):
1603 * html/canvas/Int16Array.h:
1604 * html/canvas/Int16Array.idl:
1605 * html/canvas/Int32Array.cpp:
1606 (WebCore::Int32Array::subarray):
1607 * html/canvas/Int32Array.h:
1608 * html/canvas/Int32Array.idl:
1609 * html/canvas/Int8Array.cpp:
1610 (WebCore::Int8Array::subarray):
1611 * html/canvas/Int8Array.h:
1612 * html/canvas/Int8Array.idl:
1613 * html/canvas/TypedArrayBase.h:
1614 (WebCore::TypedArrayBase::subarrayImpl):
1615 * html/canvas/Uint16Array.cpp:
1616 (WebCore::Uint16Array::subarray):
1617 * html/canvas/Uint16Array.h:
1618 * html/canvas/Uint16Array.idl:
1619 * html/canvas/Uint32Array.cpp:
1620 (WebCore::Uint32Array::subarray):
1621 * html/canvas/Uint32Array.h:
1622 * html/canvas/Uint32Array.idl:
1623 * html/canvas/Uint8Array.cpp:
1624 (WebCore::Uint8Array::subarray):
1625 * html/canvas/Uint8Array.h:
1626 * html/canvas/Uint8Array.idl:
1628 2011-02-02 Adam Barth <abarth@webkit.org>
1630 Reviewed by Eric Seidel.
1632 Add an empty file for Content Security Policy
1633 https://bugs.webkit.org/show_bug.cgi?id=53573
1635 Posting this as a separate patch because editing the build files is so
1643 * WebCore.vcproj/WebCore.vcproj:
1644 * WebCore.xcodeproj/project.pbxproj:
1646 2011-02-02 Dan Winship <danw@gnome.org>
1648 Reviewed by Martin Robinson.
1650 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1652 https://bugs.webkit.org/show_bug.cgi?id=50885
1654 * platform/network/soup/ResourceHandleSoup.cpp:
1655 (WebCore::sendRequestCallback): Do content-type sniffing here for
1657 (WebCore::startHTTPRequest): Rename to match WebKit style.
1658 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1659 startNonHTTPRequest, letting the SoupRequester decide whether it's
1661 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1662 code that was a no-op for file: URIs, but would break some data:
1665 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1667 Update even more references to right() and bottom() in Chromium. Sheesh.
1669 * platform/graphics/chromium/LayerRendererChromium.cpp:
1670 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1672 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1674 Unreviewed Gtk3 buildfix after r77286.
1676 https://bugs.webkit.org/show_bug.cgi?id=53520
1677 Remove the physical terminology from IntRect and FloatRect.
1679 * platform/gtk/RenderThemeGtk3.cpp:
1680 (WebCore::RenderThemeGtk::paintMenuList):
1682 2011-02-02 Anders Carlsson <andersca@apple.com>
1686 * platform/mac/ScrollAnimatorMac.mm:
1687 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1689 2011-02-02 David Hyatt <hyatt@apple.com>
1691 Reviewed by Dan Bernstein.
1693 https://bugs.webkit.org/show_bug.cgi?id=53619
1695 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1696 with maxX/maxY. This matches IntRect.
1698 * rendering/RenderBlock.cpp:
1699 (WebCore::RenderBlock::addOverflowFromFloats):
1700 (WebCore::RenderBlock::flipFloatForWritingMode):
1701 (WebCore::RenderBlock::paintFloats):
1702 (WebCore::RenderBlock::selectionGaps):
1703 (WebCore::RenderBlock::addOverhangingFloats):
1704 (WebCore::RenderBlock::addIntrudingFloats):
1705 (WebCore::RenderBlock::hitTestFloats):
1706 (WebCore::RenderBlock::adjustForBorderFit):
1707 * rendering/RenderBlock.h:
1708 (WebCore::RenderBlock::FloatingObject::x):
1709 (WebCore::RenderBlock::FloatingObject::maxX):
1710 (WebCore::RenderBlock::FloatingObject::y):
1711 (WebCore::RenderBlock::FloatingObject::maxY):
1712 (WebCore::RenderBlock::FloatingObject::setX):
1713 (WebCore::RenderBlock::FloatingObject::setY):
1714 (WebCore::RenderBlock::logicalTopForFloat):
1715 (WebCore::RenderBlock::logicalBottomForFloat):
1716 (WebCore::RenderBlock::logicalLeftForFloat):
1717 (WebCore::RenderBlock::logicalRightForFloat):
1718 (WebCore::RenderBlock::setLogicalTopForFloat):
1719 (WebCore::RenderBlock::setLogicalLeftForFloat):
1720 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1721 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1723 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1725 Update more references to right() and bottom() in Chromium Win.
1727 * platform/graphics/chromium/TransparencyWin.cpp:
1728 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1729 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1730 * rendering/RenderThemeChromiumWin.cpp:
1731 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1733 2011-02-02 Adam Roben <aroben@apple.com>
1735 Encode/decode FormData and FormDataElement objects consistently
1737 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1738 that contains form data fails (asserts in Debug build)
1740 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1741 now, even though we don't have an automated test for it yet. Writing a test is covered by
1742 <http://webkit.org/b/53616>.
1744 Reviewed by Darin Adler.
1746 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1749 * platform/network/FormData.cpp:
1750 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1751 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1752 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1753 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1754 to correctly set the FormDataElement's type based on this decoded type later in the
1756 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1757 matches its type and how we decode it.
1759 2011-02-02 Dan Winship <danw@gnome.org>
1761 Reviewed by Martin Robinson.
1763 [GTK] drop soup cache stuff, which has been moved to libsoup
1764 https://bugs.webkit.org/show_bug.cgi?id=50747
1766 Use libsoup-based cache/requester API and remove the WebCore version
1767 of this functionality. This has been pushed upstream fully.
1769 No new tests because this should not change functionality.
1771 * GNUmakefile.am: Update for removed files.
1772 * platform/network/ResourceHandleInternal.h:
1773 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1774 type names, drop m_requester.
1775 * platform/network/soup/ResourceHandleSoup.cpp:
1776 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1778 (WebCore::parseDataUrl):
1779 (WebCore::startHttp): Get the requester from the session rather
1780 than using m_requester.
1781 (WebCore::sendRequestCallback):
1782 (WebCore::ResourceHandle::platformSetDefersLoading):
1783 (WebCore::readCallback):
1784 (WebCore::startGio): Update type names.
1785 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1786 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1787 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1788 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1789 * platform/network/soup/cache/soup-request-data.c: Removed.
1790 * platform/network/soup/cache/soup-request-data.h: Removed.
1791 * platform/network/soup/cache/soup-request-file.c: Removed.
1792 * platform/network/soup/cache/soup-request-file.h: Removed.
1793 * platform/network/soup/cache/soup-request-http.c: Removed.
1794 * platform/network/soup/cache/soup-request-http.h: Removed.
1795 * platform/network/soup/cache/soup-request.c: Removed.
1796 * platform/network/soup/cache/soup-request.h: Removed.
1797 * platform/network/soup/cache/soup-requester.c: Removed.
1798 * platform/network/soup/cache/soup-requester.h: Removed.
1799 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1800 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1801 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1803 2011-02-02 David Hyatt <hyatt@apple.com>
1805 Reviewed by Darin Adler.
1807 https://bugs.webkit.org/show_bug.cgi?id=53520
1809 Remove physical accessors from IntRect and FloatRect.
1811 * page/FrameView.cpp:
1812 (WebCore::FrameView::adjustPageHeightDeprecated):
1813 * platform/graphics/FloatRect.h:
1814 * platform/graphics/IntRect.h:
1816 2011-02-02 David Hyatt <hyatt@apple.com>
1818 Reviewed by Dan Bernstein.
1820 https://bugs.webkit.org/show_bug.cgi?id=53614
1822 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1824 * rendering/InlineFlowBox.cpp:
1825 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1826 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1827 * rendering/InlineFlowBox.h:
1828 (WebCore::InlineFlowBox::minYLayoutOverflow):
1829 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1830 (WebCore::InlineFlowBox::minXLayoutOverflow):
1831 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1832 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1833 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1834 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1835 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1836 (WebCore::InlineFlowBox::minYVisualOverflow):
1837 (WebCore::InlineFlowBox::maxYVisualOverflow):
1838 (WebCore::InlineFlowBox::minXVisualOverflow):
1839 (WebCore::InlineFlowBox::maxXVisualOverflow):
1840 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1841 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1842 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1843 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1844 * rendering/RenderBlock.cpp:
1845 (WebCore::RenderBlock::adjustLinePositionForPagination):
1846 * rendering/RenderBlockLineLayout.cpp:
1847 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1848 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1849 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1850 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1851 * rendering/RenderBox.cpp:
1852 (WebCore::RenderBox::scrollWidth):
1853 (WebCore::RenderBox::scrollHeight):
1854 * rendering/RenderBox.h:
1855 (WebCore::RenderBox::minYLayoutOverflow):
1856 (WebCore::RenderBox::maxYLayoutOverflow):
1857 (WebCore::RenderBox::minXLayoutOverflow):
1858 (WebCore::RenderBox::maxXLayoutOverflow):
1859 (WebCore::RenderBox::logicalLeftLayoutOverflow):
1860 (WebCore::RenderBox::logicalRightLayoutOverflow):
1861 (WebCore::RenderBox::minYVisualOverflow):
1862 (WebCore::RenderBox::maxYVisualOverflow):
1863 (WebCore::RenderBox::minXVisualOverflow):
1864 (WebCore::RenderBox::maxXVisualOverflow):
1865 (WebCore::RenderBox::logicalLeftVisualOverflow):
1866 (WebCore::RenderBox::logicalRightVisualOverflow):
1867 * rendering/RenderInline.cpp:
1868 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1869 * rendering/RenderLayerCompositor.cpp:
1870 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1871 * rendering/RenderLineBoxList.cpp:
1872 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1873 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1874 (WebCore::RenderLineBoxList::paint):
1875 (WebCore::RenderLineBoxList::hitTest):
1876 * rendering/RenderMarquee.cpp:
1877 (WebCore::RenderMarquee::computePosition):
1878 * rendering/RenderOverflow.h:
1879 (WebCore::RenderOverflow::RenderOverflow):
1880 (WebCore::RenderOverflow::minYLayoutOverflow):
1881 (WebCore::RenderOverflow::maxYLayoutOverflow):
1882 (WebCore::RenderOverflow::minXLayoutOverflow):
1883 (WebCore::RenderOverflow::maxXLayoutOverflow):
1884 (WebCore::RenderOverflow::minYVisualOverflow):
1885 (WebCore::RenderOverflow::maxYVisualOverflow):
1886 (WebCore::RenderOverflow::minXVisualOverflow):
1887 (WebCore::RenderOverflow::maxXVisualOverflow):
1888 (WebCore::RenderOverflow::setminYVisualOverflow):
1889 (WebCore::RenderOverflow::visualOverflowRect):
1890 (WebCore::RenderOverflow::move):
1891 (WebCore::RenderOverflow::addVisualOverflow):
1892 (WebCore::RenderOverflow::setVisualOverflow):
1893 * rendering/RenderReplaced.cpp:
1894 (WebCore::RenderReplaced::shouldPaint):
1895 * rendering/RenderTable.cpp:
1896 (WebCore::RenderTable::layout):
1897 (WebCore::RenderTable::paint):
1898 * rendering/RenderTableCell.cpp:
1899 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1900 * rendering/RenderTreeAsText.cpp:
1901 (WebCore::writeLayers):
1902 * rendering/RenderView.cpp:
1903 (WebCore::RenderView::docTop):
1905 2011-02-02 Steve Lacey <sjl@chromium.org>
1907 Reviewed by Eric Carlson.
1909 Implement basic media statistics on media elements.
1910 https://bugs.webkit.org/show_bug.cgi?id=53322
1912 * Configurations/FeatureDefines.xcconfig:
1915 * html/HTMLMediaElement.cpp:
1916 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1917 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1918 * html/HTMLMediaElement.h:
1919 * html/HTMLMediaElement.idl:
1920 * html/HTMLVideoElement.cpp:
1921 (WebCore::HTMLVideoElement::webkitDecodedFrames):
1922 (WebCore::HTMLVideoElement::webkitDroppedFrames):
1923 * html/HTMLVideoElement.h:
1924 * html/HTMLVideoElement.idl:
1925 * platform/graphics/MediaPlayer.cpp:
1926 (WebCore::MediaPlayer::decodedFrames):
1927 (WebCore::MediaPlayer::droppedFrames):
1928 (WebCore::MediaPlayer::audioBytesDecoded):
1929 (WebCore::MediaPlayer::videoBytesDecoded):
1930 * platform/graphics/MediaPlayer.h:
1931 * platform/graphics/MediaPlayerPrivate.h:
1932 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1933 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1934 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1935 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1937 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
1939 Reviewed by David Hyatt.
1941 More conversion from right()/bottom() to maxX()/maxY().
1943 * page/qt/FrameQt.cpp:
1944 (WebCore::Frame::dragImageForSelection):
1945 * platform/graphics/qt/GraphicsContextQt.cpp:
1946 (WebCore::GraphicsContext::roundToDevicePixels):
1948 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
1950 [wx] Build fixes for wxWebKit.
1952 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1954 * bindings/scripts/CodeGeneratorCPP.pm:
1955 * page/wx/DragControllerWx.cpp:
1956 (WebCore::DragController::dragOperation):
1957 * platform/graphics/wx/FontCustomPlatformData.h:
1958 * platform/graphics/wx/FontPlatformData.h:
1959 (WebCore::FontPlatformData::widthVariant):
1960 * platform/graphics/wx/FontPlatformDataWx.cpp:
1961 (WebCore::FontPlatformData::computeHash):
1962 * platform/graphics/wx/FontWx.cpp:
1963 * platform/graphics/wx/GraphicsContextWx.cpp:
1964 (WebCore::GraphicsContext::fillPath):
1965 (WebCore::GraphicsContext::strokePath):
1966 * platform/wx/RenderThemeWx.cpp:
1968 2011-02-02 David Hyatt <hyatt@apple.com>
1970 Reviewed by Darin Adler.
1972 More right()/bottom() to maxX()/maxY() conversion.
1974 * page/chromium/FrameChromium.cpp:
1975 (WebCore::Frame::nodeImage):
1976 (WebCore::Frame::dragImageForSelection):
1978 2011-02-02 Sam Weinig <sam@webkit.org>
1980 Fix windows clean build.
1982 * DerivedSources.make:
1984 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
1986 Reviewed by Pavel Feldman.
1988 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1990 https://bugs.webkit.org/show_bug.cgi?id=53606
1992 Display progress while taking a snapshot, and hints while loading
1993 and parsing. This is needed because taking detailed heap snapshots
1996 * English.lproj/localizedStrings.js:
1997 * inspector/front-end/DetailedHeapshotView.js:
1998 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1999 * inspector/front-end/ProfilesPanel.js:
2000 (WebInspector.ProfilesPanel.prototype._reset):
2001 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2002 (WebInspector.ProfilesPanel.prototype.getProfiles):
2003 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2004 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
2005 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2006 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2007 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2008 * inspector/front-end/SidebarTreeElement.js:
2009 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
2011 2011-02-02 David Hyatt <hyatt@apple.com>
2013 Reviewed by Darin Adler.
2015 More conversion from right()/bottom() to maxX()/maxY().
2017 * platform/win/PopupMenuWin.cpp:
2018 (WebCore::PopupMenuWin::calculatePositionAndSize):
2019 (WebCore::PopupMenuWin::paint):
2021 2011-02-02 David Hyatt <hyatt@apple.com>
2023 Reviewed by Darin Adler.
2025 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
2027 * platform/chromium/PopupMenuChromium.cpp:
2028 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2029 (WebCore::PopupListBox::scrollToRevealRow):
2030 (WebCore::PopupListBox::layout):
2031 * platform/graphics/FloatRect.h:
2032 * platform/graphics/IntRect.h:
2033 * platform/graphics/cairo/ImageBufferCairo.cpp:
2034 (WebCore::getImageData):
2035 (WebCore::putImageData):
2036 * platform/graphics/chromium/GLES2Canvas.cpp:
2037 (WebCore::GLES2Canvas::drawTexturedRect):
2038 * platform/graphics/chromium/LayerRendererChromium.cpp:
2039 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2040 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2041 (WebCore::LayerRendererChromium::setScissorToRect):
2042 (WebCore::LayerRendererChromium::setDrawViewportRect):
2043 * platform/graphics/chromium/LayerTilerChromium.cpp:
2044 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2045 (WebCore::LayerTilerChromium::growLayerToContain):
2046 * platform/graphics/gpu/TilingData.cpp:
2047 (WebCore::TilingData::tileBoundsWithBorder):
2048 (WebCore::TilingData::overlappedTileIndices):
2049 * platform/graphics/qt/ImageBufferQt.cpp:
2050 (WebCore::getImageData):
2051 (WebCore::putImageData):
2052 * platform/graphics/skia/FloatRectSkia.cpp:
2053 (WebCore::FloatRect::operator SkRect):
2054 * platform/graphics/skia/ImageBufferSkia.cpp:
2055 (WebCore::getImageData):
2056 (WebCore::putImageData):
2057 * platform/graphics/skia/IntRectSkia.cpp:
2058 (WebCore::IntRect::operator SkIRect):
2059 (WebCore::IntRect::operator SkRect):
2060 * platform/graphics/skia/PlatformContextSkia.cpp:
2061 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2062 * platform/graphics/win/GraphicsContextWin.cpp:
2063 (WebCore::GraphicsContextPlatformPrivate::clip):
2064 * platform/graphics/win/IntRectWin.cpp:
2065 (WebCore::IntRect::operator RECT):
2066 * platform/graphics/win/UniscribeController.cpp:
2067 (WebCore::UniscribeController::shapeAndPlaceItem):
2068 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2069 (WebCore::roundRect):
2071 (WebCore::TransparentLayerDC::TransparentLayerDC):
2072 (WebCore::GraphicsContext::drawRect):
2073 (WebCore::GraphicsContext::drawEllipse):
2074 (WebCore::GraphicsContext::strokeArc):
2075 (WebCore::GraphicsContext::clip):
2076 (WebCore::GraphicsContext::clipOut):
2077 (WebCore::GraphicsContext::strokeRect):
2078 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2079 (WebCore::GIFImageDecoder::initFrameBuffer):
2080 * platform/win/PopupMenuWin.cpp:
2081 (WebCore::PopupMenuWin::calculatePositionAndSize):
2082 (WebCore::PopupMenuWin::paint):
2083 * plugins/win/PluginViewWin.cpp:
2084 (WebCore::PluginView::updatePluginWidget):
2085 (WebCore::PluginView::invalidateRect):
2086 * rendering/RenderThemeSafari.cpp:
2087 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2088 (WebCore::RenderThemeSafari::paintMenuListButton):
2089 (WebCore::RenderThemeSafari::paintSliderTrack):
2090 * rendering/RenderThemeWin.cpp:
2091 (WebCore::RenderThemeWin::paintInnerSpinButton):
2092 (WebCore::RenderThemeWin::paintMenuListButton):
2094 2011-02-02 Antti Koivisto <antti@apple.com>
2096 Reviewed by Maciej Stachowiak.
2098 Use Vector instead of a linked list for rules in CSSStyleSelector
2099 https://bugs.webkit.org/show_bug.cgi?id=53581
2101 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2102 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2103 (these are selector internal classes, CSS prefix is better reserved for public ones).
2105 - shrink the vectors to fit after collecting the rules
2107 * css/CSSStyleSelector.cpp:
2108 (WebCore::RuleData::RuleData):
2109 (WebCore::RuleData::position):
2110 (WebCore::RuleData::rule):
2111 (WebCore::RuleData::selector):
2112 (WebCore::RuleSet::disableAutoShrinkToFit):
2113 (WebCore::RuleSet::getIDRules):
2114 (WebCore::RuleSet::getClassRules):
2115 (WebCore::RuleSet::getTagRules):
2116 (WebCore::RuleSet::getPseudoRules):
2117 (WebCore::RuleSet::getUniversalRules):
2118 (WebCore::RuleSet::getPageRules):
2119 (WebCore::collectSiblingRulesInDefaultStyle):
2120 (WebCore::CSSStyleSelector::CSSStyleSelector):
2121 (WebCore::loadFullDefaultStyle):
2122 (WebCore::loadSimpleDefaultStyle):
2123 (WebCore::loadViewSourceStyle):
2124 (WebCore::CSSStyleSelector::matchRules):
2125 (WebCore::CSSStyleSelector::matchRulesForList):
2126 (WebCore::operator >):
2127 (WebCore::operator <=):
2128 (WebCore::CSSStyleSelector::sortMatchedRules):
2129 (WebCore::CSSStyleSelector::matchUARules):
2130 (WebCore::RuleSet::RuleSet):
2131 (WebCore::RuleSet::~RuleSet):
2132 (WebCore::RuleSet::addToRuleSet):
2133 (WebCore::RuleSet::addRule):
2134 (WebCore::RuleSet::addPageRule):
2135 (WebCore::RuleSet::addRulesFromSheet):
2136 (WebCore::RuleSet::addStyleRule):
2137 (WebCore::collectIdsAndSiblingRulesFromList):
2138 (WebCore::RuleSet::collectIdsAndSiblingRules):
2139 (WebCore::shrinkMapVectorsToFit):
2140 (WebCore::RuleSet::shrinkToFit):
2141 (WebCore::CSSStyleSelector::matchPageRules):
2142 (WebCore::CSSStyleSelector::matchPageRulesForList):
2143 * css/CSSStyleSelector.h:
2144 (WebCore::CSSStyleSelector::addMatchedRule):
2146 2011-02-02 Andrey Adaikin <aandrey@google.com>
2148 Reviewed by Pavel Feldman.
2150 Web Inspector: Use DIVs instead of TABLE in TextViewer
2151 https://bugs.webkit.org/show_bug.cgi?id=53299
2153 * inspector/front-end/SourceFrame.js:
2154 (WebInspector.SourceFrame.prototype._createTextViewer):
2155 (WebInspector.SourceFrame.prototype._mouseDown):
2156 * inspector/front-end/TextViewer.js:
2157 (WebInspector.TextViewer):
2158 (WebInspector.TextViewer.prototype.set mimeType):
2159 (WebInspector.TextViewer.prototype.revealLine):
2160 (WebInspector.TextViewer.prototype.addDecoration):
2161 (WebInspector.TextViewer.prototype.removeDecoration):
2162 (WebInspector.TextViewer.prototype.markAndRevealRange):
2163 (WebInspector.TextViewer.prototype.highlightLine):
2164 (WebInspector.TextViewer.prototype.clearLineHighlight):
2165 (WebInspector.TextViewer.prototype.freeCachedElements):
2166 (WebInspector.TextViewer.prototype._handleKeyDown):
2167 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2168 (WebInspector.TextViewer.prototype.editLine):
2169 (WebInspector.TextViewer.prototype.beginUpdates):
2170 (WebInspector.TextViewer.prototype.endUpdates):
2171 (WebInspector.TextViewer.prototype.resize):
2172 (WebInspector.TextViewer.prototype._textChanged):
2173 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2174 (WebInspector.TextViewer.prototype._syncScroll):
2175 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2176 (WebInspector.TextEditorChunkedPanel):
2177 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2178 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2179 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2180 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2181 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2182 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2183 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2184 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2185 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2186 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2187 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2188 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2189 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2190 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2191 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2192 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2193 (WebInspector.TextEditorGutterPanel):
2194 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2195 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2196 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2197 (WebInspector.TextEditorGutterChunk):
2198 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2199 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2200 (WebInspector.TextEditorGutterChunk.prototype.get height):
2201 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2202 (WebInspector.TextEditorMainPanel):
2203 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2204 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2205 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2206 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2207 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2208 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2209 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2210 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2211 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2212 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2213 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2214 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2215 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2216 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2217 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2218 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2219 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2220 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2221 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2222 (WebInspector.TextEditorMainChunk):
2223 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2224 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2225 (WebInspector.TextEditorMainChunk.prototype.get height):
2226 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2227 (WebInspector.TextEditorMainChunk.prototype._createRow):
2229 * inspector/front-end/textViewer.css:
2230 (.text-editor-lines):
2231 (.text-editor-contents):
2232 (.text-editor-editable):
2233 (.webkit-line-decorations):
2234 (.webkit-line-number):
2235 (.webkit-execution-line.webkit-line-content):
2236 (.diff-container .webkit-added-line.webkit-line-content):
2237 (.diff-container .webkit-removed-line.webkit-line-content):
2238 (.diff-container .webkit-changed-line.webkit-line-content):
2239 (.webkit-highlighted-line.webkit-line-content):
2241 2011-02-02 Hans Wennborg <hans@chromium.org>
2243 Reviewed by Jeremy Orlow.
2245 IndexedDB: Implement support for cursor updates
2246 https://bugs.webkit.org/show_bug.cgi?id=53421
2248 Implement support for cursor updates using the same pattern as cursor
2249 deletes: forward the calls to the IDBObjectStoreBackend::put().
2250 The put() function's signature needs to be changed to allow for a
2251 "cursor update mode". This makes the signature more clear anyway,
2252 since it replaces the boolean parameter.
2254 Test: storage/indexeddb/cursor-update.html
2256 * storage/IDBCursor.idl:
2257 * storage/IDBCursorBackendImpl.cpp:
2258 (WebCore::IDBCursorBackendImpl::key):
2259 (WebCore::IDBCursorBackendImpl::update):
2260 * storage/IDBCursorBackendImpl.h:
2261 * storage/IDBObjectStore.cpp:
2262 (WebCore::IDBObjectStore::add):
2263 (WebCore::IDBObjectStore::put):
2264 * storage/IDBObjectStoreBackendImpl.cpp:
2265 (WebCore::IDBObjectStoreBackendImpl::put):
2266 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2267 * storage/IDBObjectStoreBackendImpl.h:
2268 * storage/IDBObjectStoreBackendInterface.h:
2270 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2272 Reviewed by Kent Tamura.
2274 Fix popup menu RTL bug introduced by Changeset 75982.
2275 https://bugs.webkit.org/show_bug.cgi?id=53567
2277 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2279 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
2281 * platform/chromium/PopupMenuChromium.cpp:
2282 (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.
2283 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2284 (WebCore::PopupContainer::refresh): Change the passing parameter.
2285 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2287 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2289 Reviewed by Martin Robinson.
2291 [GTK] Fix dist compilation
2292 https://bugs.webkit.org/show_bug.cgi?id=53579
2294 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2297 2011-02-02 Dai Mikurube <dmikurube@google.com>
2299 Reviewed by David Levin.
2301 Make mime type lookup in File::create(path) thread-safe
2302 https://bugs.webkit.org/show_bug.cgi?id=47700
2304 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2305 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2306 both FILE_SYSTEM and WORKERS are enabled.
2308 No tests for this patch. This patch itself doesn't change the behaviors.
2309 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2310 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2311 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2312 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2314 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2315 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2316 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2317 * platform/android/TemporaryLinkStubs.cpp:
2318 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2319 * platform/brew/MIMETypeRegistryBrew.cpp:
2320 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2321 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2322 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2323 * platform/efl/MIMETypeRegistryEfl.cpp:
2324 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2325 * platform/gtk/MIMETypeRegistryGtk.cpp:
2326 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2327 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2328 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2329 * platform/mac/MIMETypeRegistryMac.mm:
2330 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2331 * platform/qt/MIMETypeRegistryQt.cpp:
2332 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2333 * platform/win/MIMETypeRegistryWin.cpp:
2334 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2335 * platform/wince/MIMETypeRegistryWinCE.cpp:
2336 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2337 * platform/wx/MimeTypeRegistryWx.cpp:
2338 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2340 2011-02-01 Adam Barth <abarth@webkit.org>
2342 Reviewed by Alexey Proskuryakov.
2344 Improve readability of updateWidget by converting bool parameter to an enum
2345 https://bugs.webkit.org/show_bug.cgi?id=53576
2347 As requested on webkit-dev.
2349 * html/HTMLEmbedElement.cpp:
2350 (WebCore::HTMLEmbedElement::updateWidget):
2351 * html/HTMLEmbedElement.h:
2352 * html/HTMLMediaElement.cpp:
2353 (WebCore::HTMLMediaElement::updateWidget):
2354 * html/HTMLMediaElement.h:
2355 * html/HTMLObjectElement.cpp:
2356 (WebCore::HTMLObjectElement::updateWidget):
2357 * html/HTMLObjectElement.h:
2358 * html/HTMLPlugInImageElement.cpp:
2359 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2360 * html/HTMLPlugInImageElement.h:
2361 * page/FrameView.cpp:
2362 (WebCore::FrameView::updateWidget):
2364 2011-02-01 James Robinson <jamesr@chromium.org>
2366 Reviewed by Adam Barth.
2368 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2369 https://bugs.webkit.org/show_bug.cgi?id=53566
2371 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2372 Other than being large enough for this one test case, this limit is arbitrary.
2374 * bindings/v8/V8Proxy.h:
2376 2011-02-01 Adam Barth <abarth@webkit.org>
2378 Reviewed by Andreas Kling.
2380 Remove useless comment
2381 https://bugs.webkit.org/show_bug.cgi?id=53549
2383 The reason for this parameter is captured in
2384 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2385 capture it than in this comment (which otherwise just re-iterates the
2386 name of the parameter).
2388 * html/HTMLPlugInImageElement.cpp:
2389 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2391 2011-02-01 James Simonsen <simonjam@chromium.org>
2393 Reviewed by Tony Gentilcore.
2395 [WebTiming] Remove asserts that verify timestamp order
2396 https://bugs.webkit.org/show_bug.cgi?id=53548
2398 Covered by existing tests.
2400 * loader/FrameLoader.cpp:
2401 (WebCore::FrameLoader::stopLoading): Remove assert.
2402 * page/DOMWindow.cpp:
2403 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2405 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2407 Add the 'default_targets' enclosure to the flags.
2409 * WebCore.gyp/WebCore.gyp: Did it.
2411 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2413 Reviewed by James Robinson.
2415 Async event handlers should not fire within a modal dialog
2416 https://bugs.webkit.org/show_bug.cgi?id=53202
2418 Asychronous events that use EventQueue would currently fire while a
2419 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2420 SuspendableTimer (which automatically gets suspended while dialogs are
2421 up and in other cases where JS execution is not allowed).
2423 Test: fast/events/scroll-event-during-modal-dialog.html
2426 (WebCore::Document::Document):
2427 * dom/EventQueue.cpp:
2428 (WebCore::EventQueueTimer::EventQueueTimer):
2429 (WebCore::EventQueueTimer::fired):
2430 (WebCore::EventQueue::EventQueue):
2431 (WebCore::EventQueue::enqueueEvent):
2432 (WebCore::EventQueue::pendingEventTimerFired):
2434 (WebCore::EventQueue::create):
2435 * page/SuspendableTimer.cpp:
2436 (WebCore::SuspendableTimer::SuspendableTimer):
2437 (WebCore::SuspendableTimer::suspend):
2438 (WebCore::SuspendableTimer::resume):
2439 * page/SuspendableTimer.h:
2441 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2443 Reviewed by Andreas Kling.
2445 Change wrong PLATFORM(WIN) to USE(WININET)
2446 https://bugs.webkit.org/show_bug.cgi?id=53547
2448 * platform/network/ResourceHandle.h:
2450 2011-02-01 Beth Dakin <bdakin@apple.com>
2454 * platform/mac/ScrollAnimatorMac.mm:
2455 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2457 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2459 Reviewed by Gustavo Noronha Silva.
2461 [GTK] Two tests crash after r76555
2462 https://bugs.webkit.org/show_bug.cgi?id=53057
2464 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2465 This ensures that ::start() is not called when there is a scheduled failure and also
2466 reduces code duplication.
2468 * platform/network/soup/ResourceHandleSoup.cpp:
2469 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2471 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2473 Reviewed by Eric Seidel.
2475 [GTK] GObject DOM bindings do no support the CallWith attribute
2476 https://bugs.webkit.org/show_bug.cgi?id=53331
2478 Disable building GObject DOM bindings for IndexedDB because we do not support
2479 the CallWith attribute at this time.
2481 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2483 2011-02-01 Darin Adler <darin@apple.com>
2485 Reviewed by Brady Eidson.
2487 Fix a couple loose ends from the back/forward tree encode/decode work
2488 https://bugs.webkit.org/show_bug.cgi?id=53537
2490 * history/HistoryItem.cpp:
2491 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2492 original URL string; no need to encode it twice.
2493 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2494 * history/HistoryItem.h: Removed declaration for function that is no
2495 longer defined nor used.
2497 2011-02-01 Tony Chang <tony@chromium.org>
2499 Reviewed by Kent Tamura.
2501 [chromium] disable arm uninitialized variable warnings
2502 https://bugs.webkit.org/show_bug.cgi?id=53553
2504 We just got another error:
2505 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2506 'colorTransparent.unstatic.4879' may be used uninitialized in this
2509 * WebCore.gyp/WebCore.gyp:
2511 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2513 Reviewed by Adam Barth.
2515 Self-replicating code makes Safari hang and eventually crash
2516 https://bugs.webkit.org/show_bug.cgi?id=15123
2519 Here we are replicating the Firefox safeguard against
2520 recursive document.write( ) 's.
2522 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2523 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2524 a) imposes a recursion limit of 20 on document.write( ) and
2525 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2526 To see why this is necessary, consider the script :
2529 var t = document.body.innerHTML;
2533 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2534 we just return one level after the recursion limit is reached, we still allow millions of copies to
2535 duplicate (and execute).
2537 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2538 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2540 Test: fast/dom/Document/document-write-recursion.html
2541 Test: fast/dom/Document/document-close-iframe-load.html
2542 Test: fast/dom/Document/document-close-nested-iframe-load.html
2546 (WebCore::Document::Document):
2547 (WebCore::Document::write):
2550 2011-02-01 Johnny Ding <jnd@chromium.org>
2552 Reviewed by Darin Adler.
2554 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2555 https://bugs.webkit.org/show_bug.cgi?id=53424
2557 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2559 * html/HTMLAnchorElement.cpp:
2560 (WebCore::handleLinkClick):
2562 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2564 Unreviewed Qt buildfix after r77286.
2566 https://bugs.webkit.org/show_bug.cgi?id=53520
2567 Remove the physical terminology from IntRect and FloatRect.
2569 * platform/graphics/TiledBackingStore.cpp:
2570 (WebCore::TiledBackingStore::createTiles):
2572 2011-02-01 Sam Weinig <sam@webkit.org>
2574 Fix Mac production builds.
2576 * DerivedSources.make:
2577 * WebCore.xcodeproj/project.pbxproj:
2578 * platform/mac/ScrollAnimatorMac.h:
2579 * platform/mac/ScrollbarThemeMac.h:
2581 2011-02-01 Darin Adler <darin@apple.com>
2583 Reviewed by Chris Fleizach.
2585 REGRESSION: Removing focus from area element causes unwanted scrolling
2586 https://bugs.webkit.org/show_bug.cgi?id=50169
2588 Test: fast/images/imagemap-scroll.html
2590 * html/HTMLAreaElement.cpp:
2591 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2592 RenderImage::areaElementFocusChanged function.
2593 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2594 here that calls setNeedsLayout on the image's renderer. This was an
2595 attempt to cause repaint of the renderer, but this function does not
2596 need to do that. Also changed this to use the imageElement function
2597 to avoid repeating code.
2599 * html/HTMLAreaElement.h: Updated for above changes.
2601 * rendering/RenderImage.cpp:
2602 (WebCore::RenderImage::paint): Updated for name change.
2603 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2604 paintFocusRing, because it only paints area focus rings, and should
2605 not be confused with paintFocusRing functions in other classes. Also
2606 removed the unused style argument. Removed the code that used an
2607 HTMLCollection to see if the focused area element is for this image
2608 and instead just call imageElement on the area element.
2609 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2611 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2612 function for HTMLAreaElement to call. Made the paintFocusRing function
2613 private, renamed it to paintAreaElementFocusRing, and removed its
2614 unused style argument.
2616 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2618 Unreviewed WinCE build fix for r77286.
2620 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2621 (WebCore::TransparentLayerDC::TransparentLayerDC):
2623 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2625 Reviewed by Darin Adler.
2627 AX: AXPosition of AXScrollArea is wrong
2628 https://bugs.webkit.org/show_bug.cgi?id=53511
2630 AccessibilityScrollView needed to return a valid documentFrameView() object.
2631 At the same time, the code from document() should be consolidated in
2632 AccessibilityObject, so all objects can use it.
2634 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2636 * accessibility/AccessibilityObject.cpp:
2637 (WebCore::AccessibilityObject::document):
2638 * accessibility/AccessibilityObject.h:
2639 * accessibility/AccessibilityScrollView.cpp:
2640 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2641 (WebCore::AccessibilityScrollView::documentFrameView):
2642 * accessibility/AccessibilityScrollView.h:
2644 2011-02-01 Zhenyao Mo <zmo@google.com>
2646 Reviewed by Kenneth Russell.
2648 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2649 https://bugs.webkit.org/show_bug.cgi?id=52190
2651 * html/canvas/WebGLRenderingContext.cpp:
2652 (WebCore::WebGLRenderingContext::getUniform):
2654 2011-02-01 Zhenyao Mo <zmo@google.com>
2656 Reviewed by Darin Adler.
2658 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2659 https://bugs.webkit.org/show_bug.cgi?id=53531
2661 With this fix, running WebGL conformance tests should no longer crash randomly.
2663 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2664 (WebCore::GraphicsContext3D::getImageData):
2666 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2668 One more Chromium build fix after r77286.
2670 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2671 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2673 2011-02-01 Sam Weinig <sam@webkit.org>
2675 Fix the build for Beth.
2677 * platform/mac/ScrollAnimatorMac.mm:
2678 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2680 2011-02-01 Sam Weinig <sam@webkit.org>
2682 Reviewed by Beth Dakin.
2684 Part 2 for <rdar://problem/8492788>
2685 Adopt WKScrollbarPainterController
2687 Use header detection to define scrollbar painting controller #define.
2690 * platform/mac/ScrollAnimatorMac.h:
2691 * platform/mac/ScrollbarThemeMac.h:
2692 * platform/mac/WebCoreSystemInterface.h:
2693 * platform/mac/WebCoreSystemInterface.mm:
2695 2011-02-01 David Hyatt <hyatt@apple.com>
2697 Reviewed by Oliver Hunt.
2699 https://bugs.webkit.org/show_bug.cgi?id=53520
2701 Remove the physical terminology from IntRect and FloatRect.
2703 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2704 we need to update our terminology to be more accurate.
2706 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2707 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2708 even for flipped rectangles.
2710 * accessibility/AccessibilityRenderObject.cpp:
2711 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2712 * accessibility/mac/AccessibilityObjectWrapper.mm:
2713 (-[AccessibilityObjectWrapper position]):
2715 (WebCore::ClientRect::right):
2716 (WebCore::ClientRect::bottom):
2717 * html/HTMLCanvasElement.cpp:
2718 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2719 * html/canvas/CanvasRenderingContext2D.cpp:
2720 (WebCore::normalizeRect):
2721 * inspector/InspectorAgent.cpp:
2722 (WebCore::InspectorAgent::drawElementTitle):
2723 * page/DOMWindow.cpp:
2724 (WebCore::DOMWindow::adjustWindowRect):
2725 * page/DragController.cpp:
2726 (WebCore::dragLocForSelectionDrag):
2727 * page/EventHandler.cpp:
2728 (WebCore::EventHandler::sendContextMenuEventForKey):
2729 * page/PrintContext.cpp:
2730 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2731 (WebCore::PrintContext::pageNumberForElement):
2732 * page/SpatialNavigation.cpp:
2734 (WebCore::areRectsFullyAligned):
2735 (WebCore::areRectsMoreThanFullScreenApart):
2738 (WebCore::isRectInDirection):
2739 (WebCore::entryAndExitPointsForDirection):
2740 (WebCore::virtualRectForDirection):
2741 * page/WindowFeatures.cpp:
2742 (WebCore::WindowFeatures::WindowFeatures):
2743 * platform/ScrollView.cpp:
2744 (WebCore::ScrollView::wheelEvent):
2745 * platform/Scrollbar.cpp:
2746 (WebCore::Scrollbar::setFrameRect):
2747 * platform/ScrollbarThemeComposite.cpp:
2748 (WebCore::ScrollbarThemeComposite::splitTrack):
2749 * platform/chromium/ScrollbarThemeChromium.cpp:
2750 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2751 * platform/graphics/FloatQuad.h:
2752 (WebCore::FloatQuad::FloatQuad):
2753 * platform/graphics/FloatRect.cpp:
2754 (WebCore::FloatRect::intersects):
2755 (WebCore::FloatRect::contains):
2756 (WebCore::FloatRect::intersect):
2757 (WebCore::FloatRect::unite):
2758 (WebCore::enclosingIntRect):
2759 * platform/graphics/FloatRect.h:
2760 (WebCore::FloatRect::maxX):
2761 (WebCore::FloatRect::maxY):
2762 (WebCore::FloatRect::contains):
2763 * platform/graphics/IntRect.cpp:
2764 (WebCore::IntRect::intersects):
2765 (WebCore::IntRect::contains):
2766 (WebCore::IntRect::intersect):
2767 (WebCore::IntRect::unite):
2768 * platform/graphics/IntRect.h:
2769 (WebCore::IntRect::maxX):
2770 (WebCore::IntRect::maxY):
2771 (WebCore::IntRect::shiftXEdgeTo):
2772 (WebCore::IntRect::shiftMaxXEdgeTo):
2773 (WebCore::IntRect::shiftYEdgeTo):
2774 (WebCore::IntRect::shiftMaxYEdgeTo):
2775 (WebCore::IntRect::contains):
2776 * platform/graphics/WidthIterator.cpp:
2777 (WebCore::WidthIterator::advance):
2778 * platform/graphics/cg/GraphicsContextCG.cpp:
2779 (WebCore::GraphicsContext::drawRect):
2780 (WebCore::GraphicsContext::fillPath):
2781 (WebCore::GraphicsContext::fillRect):
2782 * platform/graphics/cg/ImageBufferCG.cpp:
2783 (WebCore::getImageData):
2784 (WebCore::putImageData):
2785 * platform/graphics/cg/ImageCG.cpp:
2786 (WebCore::BitmapImage::draw):
2787 * platform/graphics/filters/FilterEffect.cpp:
2788 (WebCore::FilterEffect::copyImageBytes):
2789 * platform/graphics/mac/ComplexTextController.cpp:
2790 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2791 * platform/graphics/mac/SimpleFontDataMac.mm:
2792 (WebCore::SimpleFontData::platformBoundsForGlyph):
2793 * platform/graphics/transforms/AffineTransform.cpp:
2794 (WebCore::AffineTransform::mapRect):
2795 * platform/graphics/win/FontCGWin.cpp:
2796 (WebCore::drawGDIGlyphs):
2797 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2798 (WebCore::MediaPlayerPrivate::paint):
2799 * platform/gtk/RenderThemeGtk.cpp:
2800 (WebCore::centerRectVerticallyInParentInputElement):
2801 * platform/mac/WidgetMac.mm:
2802 (WebCore::Widget::paint):
2803 * rendering/InlineFlowBox.cpp:
2804 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2805 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2806 * rendering/InlineTextBox.cpp:
2807 (WebCore::InlineTextBox::selectionRect):
2808 (WebCore::InlineTextBox::paint):
2809 (WebCore::InlineTextBox::positionForOffset):
2810 * rendering/RenderBlock.cpp:
2811 (WebCore::RenderBlock::addOverflowFromChildren):
2812 (WebCore::RenderBlock::paintChildren):
2813 (WebCore::RenderBlock::paintEllipsisBoxes):
2814 (WebCore::RenderBlock::inlineSelectionGaps):
2815 (WebCore::RenderBlock::adjustPointToColumnContents):
2816 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2817 (WebCore::RenderBlock::adjustForColumns):
2818 * rendering/RenderBlock.h:
2819 (WebCore::RenderBlock::FloatingObject::right):
2820 (WebCore::RenderBlock::FloatingObject::bottom):
2821 * rendering/RenderBox.cpp:
2822 (WebCore::RenderBox::reflectedRect):
2823 (WebCore::RenderBox::localCaretRect):
2824 (WebCore::RenderBox::addShadowOverflow):
2825 (WebCore::RenderBox::addLayoutOverflow):
2826 (WebCore::RenderBox::visualOverflowRectForPropagation):
2827 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2828 (WebCore::RenderBox::flipForWritingMode):
2829 * rendering/RenderFrameSet.cpp:
2830 (WebCore::RenderFrameSet::paintColumnBorder):
2831 (WebCore::RenderFrameSet::paintRowBorder):
2832 * rendering/RenderInline.cpp:
2833 (WebCore::RenderInline::paintOutlineForLine):
2834 * rendering/RenderLayer.cpp:
2835 (WebCore::RenderLayer::getRectToExpose):
2836 (WebCore::cornerRect):
2837 (WebCore::RenderLayer::positionOverflowControls):
2838 (WebCore::RenderLayer::overflowBottom):
2839 (WebCore::RenderLayer::overflowRight):
2840 (WebCore::RenderLayer::paintResizer):
2841 * rendering/RenderLineBoxList.cpp:
2842 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2843 (WebCore::RenderLineBoxList::paint):
2844 * rendering/RenderListItem.cpp:
2845 (WebCore::RenderListItem::positionListMarker):
2846 * rendering/RenderListMarker.cpp:
2847 (WebCore::RenderListMarker::paint):
2848 * rendering/RenderObject.cpp:
2849 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2850 * rendering/RenderOverflow.h:
2851 (WebCore::RenderOverflow::RenderOverflow):
2852 (WebCore::RenderOverflow::addLayoutOverflow):
2853 (WebCore::RenderOverflow::addVisualOverflow):
2854 (WebCore::RenderOverflow::setLayoutOverflow):
2855 (WebCore::RenderOverflow::setVisualOverflow):
2856 (WebCore::RenderOverflow::resetLayoutOverflow):
2857 * rendering/RenderReplaced.cpp:
2858 (WebCore::RenderReplaced::shouldPaint):
2859 * rendering/RenderScrollbarTheme.cpp:
2860 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2861 * rendering/RenderTable.cpp:
2862 (WebCore::RenderTable::paint):
2863 * rendering/RenderTableCell.cpp:
2864 (WebCore::RenderTableCell::paint):
2865 * rendering/RenderTableSection.cpp:
2866 (WebCore::RenderTableSection::paintObject):
2867 * rendering/RenderText.cpp:
2868 (WebCore::RenderText::absoluteQuads):
2869 * rendering/RenderTextControlSingleLine.cpp:
2870 (WebCore::RenderTextControlSingleLine::forwardEvent):
2871 * rendering/RenderThemeMac.mm:
2872 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2873 (WebCore::RenderThemeMac::paintMenuListButton):
2874 (WebCore::RenderThemeMac::paintSliderTrack):
2875 * rendering/RenderView.cpp:
2876 (WebCore::RenderView::computeRectForRepaint):
2877 (WebCore::RenderView::docBottom):
2878 (WebCore::RenderView::docRight):
2879 * rendering/RootInlineBox.cpp:
2880 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2881 * rendering/svg/RenderSVGInlineText.cpp:
2882 (WebCore::RenderSVGInlineText::localCaretRect):
2884 2011-02-01 Beth Dakin <bdakin@apple.com>
2886 Reviewed by Sam Weinig.
2888 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2890 Lots of new WebCoreSystemInterface functions to export.
2892 * platform/mac/WebCoreSystemInterface.h:
2893 * platform/mac/WebCoreSystemInterface.mm:
2895 Let the scrollAnimator know when the mouse has
2896 moved anywhere inside the page, and when the mouse
2897 has moved in or out of the window.
2898 * page/EventHandler.cpp:
2899 (WebCore::EventHandler::mouseMoved):
2900 (WebCore::EventHandler::updateMouseEventTargetNode):
2902 Let the scrollAnimator know when the window has become
2904 * page/FocusController.cpp:
2905 (WebCore::FocusController::setActive):
2907 Let the scrollAnimator know when all of these things
2909 * page/FrameView.cpp:
2910 (WebCore::FrameView::setContentsSize):
2911 (WebCore::FrameView::didMoveOnscreen):
2912 (WebCore::FrameView::willMoveOffscreen):
2913 (WebCore::FrameView::currentMousePosition):
2914 (WebCore::FrameView::contentsResized):
2916 New functions called through WebKit2 that allow the
2917 scrollAnimator to know when a live resize starts and ends.
2918 (WebCore::FrameView::willStartLiveResize):
2919 (WebCore::FrameView::willEndLiveResize):
2922 New functions on ScrollAnimator that pass information
2923 to the WKPainterController when we're using one.
2924 * platform/ScrollAnimator.h:
2925 (WebCore::ScrollAnimator::scrollableArea):
2926 (WebCore::ScrollAnimator::contentAreaWillPaint):
2927 (WebCore::ScrollAnimator::mouseEnteredContentArea):
2928 (WebCore::ScrollAnimator::mouseExitedContentArea):
2929 (WebCore::ScrollAnimator::mouseMovedInContentArea):
2930 (WebCore::ScrollAnimator::willStartLiveResize):
2931 (WebCore::ScrollAnimator::contentsResized):
2932 (WebCore::ScrollAnimator::willEndLiveResize):
2933 (WebCore::ScrollAnimator::contentAreaDidShow):
2934 (WebCore::ScrollAnimator::contentAreaDidHide):
2935 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2936 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2937 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2938 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2939 (WebCore::ScrollAnimatorMac::notityPositionChanged):
2940 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2941 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2942 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2943 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2944 (WebCore::ScrollAnimatorMac::willStartLiveResize):
2945 (WebCore::ScrollAnimatorMac::contentsResized):
2946 (WebCore::ScrollAnimatorMac::willEndLiveResize):
2947 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2948 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2950 Let the scrollAnimator know when this is happening.
2951 * platform/ScrollView.cpp:
2952 (WebCore::ScrollView::paint):
2954 New function lets the scrollAnimator get the current
2956 * platform/ScrollView.h:
2957 (WebCore::ScrollView::currentMousePosition):
2959 New function that returns the scrollAnimator when needed.
2960 * platform/ScrollableArea.h:
2961 (WebCore::ScrollableArea::scrollAnimator):
2963 Keep track of if we're in a live resize using a new memeber
2965 * platform/mac/ScrollAnimatorMac.h:
2966 (WebCore::ScrollAnimatorMac::inLiveResize):
2967 * platform/mac/ScrollAnimatorMac.mm:
2970 New delegates for the WKPainter and WKPainterController
2971 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2972 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2973 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2974 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2975 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2976 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2977 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2978 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2979 (-[ScrollKnobAnimation setCurrentProgress:]):
2980 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2981 (-[ScrollbarPainterDelegate convertRectToBacking:]):
2982 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2983 (-[ScrollbarPainterDelegate layer]):
2984 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2985 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2986 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2987 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2989 Get the WKScrollbarPainterRefs to synch up with the
2990 WKScrollbarPainterControllerRefs when appropriate
2991 * platform/mac/ScrollbarThemeMac.h:
2992 * platform/mac/ScrollbarThemeMac.mm:
2993 (WebCore::ScrollbarThemeMac::registerScrollbar):
2994 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2995 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2996 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2998 Implement ScrollableArea's virtual function contentsSize() for access
2999 through the scrollAnimator.
3000 * rendering/RenderLayer.h:
3001 (WebCore::RenderLayer::contentsSize):
3003 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
3005 Reviewed by David Hyatt.
3007 layoutTestController.counterValueForElementById does not return the correct value
3008 https://bugs.webkit.org/show_bug.cgi?id=53037
3010 Test: fast/css/counters/deep-before.html
3012 * rendering/RenderTreeAsText.cpp:
3013 (WebCore::counterValueForElement):
3014 Modified to use the newly available RenderObject::beforePseudoElement()
3015 and RenderObject::afterPseudoElement() instead of the old imperfect
3016 algorithm to find the before and after pseudo elements.
3018 2011-02-01 Anton Muhin <antonm@chromium.org>
3020 Reviewed by Adam Barth.
3022 Allow access for security origin same as this.
3023 https://bugs.webkit.org/show_bug.cgi?id=53440
3025 Hard to test as newly added path currently is never hit.
3027 * page/SecurityOrigin.cpp:
3028 (WebCore::SecurityOrigin::canAccess): allow access if this == other
3030 2011-01-31 Oliver Hunt <oliver@apple.com>
3032 Reviewed by Geoffrey Garen.
3034 Update JSObject storage for new marking API
3035 https://bugs.webkit.org/show_bug.cgi?id=53467
3037 Update WebCore to handle new anonymous slot behaviour.
3039 * bindings/js/JSDOMWindowShell.cpp:
3040 (WebCore::JSDOMWindowShell::setWindow):
3041 * bindings/js/WorkerScriptController.cpp:
3042 (WebCore::WorkerScriptController::initScript):
3043 * bindings/scripts/CodeGeneratorJS.pm:
3045 2011-02-01 Xiaomei Ji <xji@chromium.org>
3047 Reviewed by David Hyatt.
3049 Fix a text rendering problem when enclosing block is RTL and text runs
3050 are in different directionality.
3051 https://bugs.webkit.org/show_bug.cgi?id=34176
3053 The problem happens in the following example scenario (ABC represents
3055 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3057 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3058 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3059 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3061 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3063 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3064 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3065 the run's render object's ancestor (not only its parent) has already
3066 been constructed or has something following it on the line, in which
3067 case, create a new box for TextRun2 instead of sharing the same box with
3070 In other words, the following 2 div should render the same results
3071 (ABC represents Hebrew characters).
3072 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3073 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3075 Test: fast/dom/34176.html
3077 * rendering/RenderBlockLineLayout.cpp:
3078 (WebCore::parentIsConstructedOrHaveNext):
3079 (WebCore::RenderBlock::createLineBoxes):
3081 2011-02-01 Abhishek Arya <inferno@chromium.org>
3083 Reviewed by Dan Bernstein.
3085 Do not add a node in the document's stylesheet candidate node list if the
3086 node is already removed from document.
3087 https://bugs.webkit.org/show_bug.cgi?id=53441
3089 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3092 (WebCore::Document::addStyleSheetCandidateNode):
3094 2011-02-01 Dave Hyatt <hyatt@apple.com>
3096 Reviewed by Darin Adler.
3098 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3101 Change printing functions to check writing-mode and properly swap width and height
3104 Fix the setScrollOrigin function so that the origin doesn't cause
3105 scroll spasming during printing (this is only partially successful, but it's better
3108 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3109 text documents properly.
3112 * page/FrameView.cpp:
3113 (WebCore::FrameView::adjustViewSize):
3114 (WebCore::FrameView::forceLayoutForPagination):
3115 * page/PrintContext.cpp:
3116 (WebCore::PrintContext::computePageRects):
3117 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3118 (WebCore::PrintContext::computeAutomaticScaleFactor):
3119 (WebCore::PrintContext::spoolPage):
3120 (WebCore::PrintContext::spoolRect):
3121 * page/PrintContext.h:
3122 * page/mac/WebCoreFrameView.h:
3123 * platform/ScrollView.cpp:
3124 (WebCore::ScrollView::wheelEvent):
3125 * platform/ScrollView.h:
3126 * platform/mac/ScrollViewMac.mm:
3127 (WebCore::ScrollView::platformSetScrollOrigin):
3128 * rendering/RenderView.cpp:
3129 (WebCore::RenderView::layout):
3131 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3133 Reviewed by Pavel Feldman.
3135 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3137 https://bugs.webkit.org/show_bug.cgi?id=53500
3139 * inspector/InspectorProfilerAgent.cpp:
3140 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3142 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3144 Reviewed by Pavel Feldman.
3146 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3148 https://bugs.webkit.org/show_bug.cgi?id=53173
3150 Adding code for accessing heap snapshot data and
3151 performing graph calculations.
3153 * English.lproj/localizedStrings.js:
3154 * inspector/front-end/HeapSnapshot.js:
3155 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3156 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3157 (WebInspector.HeapSnapshotEdgeIterator):
3158 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3159 (WebInspector.HeapSnapshotNodeIterator):
3160 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3161 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3162 (WebInspector.HeapSnapshotEdgesProvider):
3163 (WebInspector.HeapSnapshotNodesProvider):
3164 (WebInspector.HeapSnapshotPathFinder):
3165 * inspector/front-end/HeapSnapshotView.js:
3166 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3168 2011-02-01 Adam Roben <aroben@apple.com>
3170 Fix linker warnings in Release_LTCG builds
3172 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3173 configurations, since they get pulled in via DOMAllInOne.cpp.
3175 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3177 Reviewed by Yury Semikhatsky.
3179 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3180 https://bugs.webkit.org/show_bug.cgi?id=53482
3182 * English.lproj/localizedStrings.js:
3183 * inspector/front-end/ElementsPanel.js:
3184 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3185 * inspector/front-end/inspector.js:
3186 (WebInspector.resourceForURL):
3187 (WebInspector.openLinkExternallyLabel):
3189 2011-02-01 Anton Muhin <antonm@chromium.org>
3191 Reviewed by Adam Barth.
3193 Propagate parent document security origin to newly create Document XML response
3194 https://bugs.webkit.org/show_bug.cgi?id=53444
3196 Covered by the existing tests.
3198 * xml/XMLHttpRequest.cpp:
3199 (WebCore::XMLHttpRequest::responseXML):
3201 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3203 Unreviewed. Rollout r77230 which caused many layout tests
3204 crashes on Chromium Debug bots.
3206 Async event handlers should not fire within a modal dialog
3207 https://bugs.webkit.org/show_bug.cgi?id=53202
3210 (WebCore::Document::Document):
3211 * dom/EventQueue.cpp:
3212 (WebCore::EventQueue::EventQueue):
3213 (WebCore::EventQueue::enqueueEvent):
3214 (WebCore::EventQueue::pendingEventTimerFired):
3217 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3219 Reviewed by Dirk Schulze.
3221 LightElement changes does not require relayout.
3222 https://bugs.webkit.org/show_bug.cgi?id=53232
3224 When an attribute of a LightElement changes, it
3225 send an update message to the lighting filters
3226 to update its corresponding LightSource objects,
3227 and repaint the filters.
3229 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3231 Existing dynamic-update tests covers this feature.
3233 5x speedup on manual-tests/svg-filter-animation.svg
3235 * manual-tests/svg-filter-animation.svg:
3236 * platform/graphics/filters/DistantLightSource.h:
3237 * platform/graphics/filters/FEDiffuseLighting.cpp:
3238 (WebCore::FEDiffuseLighting::setLightingColor):
3239 (WebCore::FEDiffuseLighting::setSurfaceScale):
3240 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3241 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3242 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3243 * platform/graphics/filters/FEDiffuseLighting.h:
3244 * platform/graphics/filters/LightSource.cpp:
3245 (WebCore::PointLightSource::setX):
3246 (WebCore::PointLightSource::setY):
3247 (WebCore::PointLightSource::setZ):
3248 (WebCore::SpotLightSource::setX):
3249 (WebCore::SpotLightSource::setY):
3250 (WebCore::SpotLightSource::setZ):
3251 (WebCore::SpotLightSource::setPointsAtX):
3252 (WebCore::SpotLightSource::setPointsAtY):
3253 (WebCore::SpotLightSource::setPointsAtZ):
3254 (WebCore::SpotLightSource::setSpecularExponent):
3255 (WebCore::SpotLightSource::setLimitingConeAngle):
3256 (WebCore::DistantLightSource::setAzimuth):
3257 (WebCore::DistantLightSource::setElevation):
3258 (WebCore::LightSource::setAzimuth):
3259 (WebCore::LightSource::setElevation):
3260 (WebCore::LightSource::setX):
3261 (WebCore::LightSource::setY):
3262 (WebCore::LightSource::setZ):
3263 (WebCore::LightSource::setPointsAtX):
3264 (WebCore::LightSource::setPointsAtY):
3265 (WebCore::LightSource::setPointsAtZ):
3266 (WebCore::LightSource::setSpecularExponent):
3267 (WebCore::LightSource::setLimitingConeAngle):
3268 * platform/graphics/filters/LightSource.h:
3269 * platform/graphics/filters/PointLightSource.h:
3270 * platform/graphics/filters/SpotLightSource.h:
3271 * rendering/svg/RenderSVGResourceFilter.cpp:
3272 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3273 * svg/SVGFEDiffuseLightingElement.cpp:
3274 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3275 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3276 (WebCore::SVGFEDiffuseLightingElement::build):
3277 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3278 (WebCore::SVGFEDiffuseLightingElement::findLight):
3279 * svg/SVGFEDiffuseLightingElement.h:
3280 * svg/SVGFELightElement.cpp:
3281 (WebCore::SVGFELightElement::svgAttributeChanged):
3282 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3283 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3284 * svg/SVGFilterPrimitiveStandardAttributes.h:
3286 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3288 Reviewed by Dimitri Glazkov.
3290 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3291 https://bugs.webkit.org/show_bug.cgi?id=53289
3293 Moving the nested class DocumentOrderedMap from Document into separate files,
3294 updating code where necessary.
3296 No new tests. (refactoring)
3303 * WebCore.vcproj/WebCore.vcproj:
3304 * WebCore.xcodeproj/project.pbxproj:
3306 (WebCore::Document::getElementById):
3307 (WebCore::Document::getImageMap):
3309 * dom/DocumentOrderedMap.cpp: Added.
3310 (WebCore::keyMatchesId):
3311 (WebCore::keyMatchesMapName):
3312 (WebCore::keyMatchesLowercasedMapName):
3313 (WebCore::DocumentOrderedMap::clear):
3314 (WebCore::DocumentOrderedMap::add):
3315 (WebCore::DocumentOrderedMap::remove):
3316 (WebCore::DocumentOrderedMap::get):
3317 (WebCore::DocumentOrderedMap::getElementById):
3318 (WebCore::DocumentOrderedMap::getElementByMapName):
3319 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3320 * dom/DocumentOrderedMap.h: Added.
3321 (WebCore::DocumentOrderedMap::contains):
3322 (WebCore::DocumentOrderedMap::containsMultiple):
3323 * dom/DOMAllInOne.cpp:
3325 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3327 Reviewed by Martin Robinson.
3329 [Gtk] atk_text_set_caret_offset fails for list items
3330 https://bugs.webkit.org/show_bug.cgi?id=53388
3332 Allow using text ranges across list items.
3334 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3335 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3336 to the list of accessibility objects supporting text ranges.
3338 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3340 Reviewed by Martin Robinson.
3342 [GTK] character range extents is off when the end of a wrapped line is included
3343 https://bugs.webkit.org/show_bug.cgi?id=53323
3345 Fixed wrong calculation getting the range extents.
3347 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3348 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3349 requested interval shouldn't include the last character.
3351 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3353 Reviewed by Martin Robinson.
3355 [GTK] Caret Offset is one off at the end of wrapped lines
3356 https://bugs.webkit.org/show_bug.cgi?id=53300
3358 Consider linebreaks as special cases.
3360 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3361 (objectAndOffsetUnignored): In order to avoid getting wrong values
3362 when around linebreaks, we need to workaround this by explicitly
3363 avoiding those '\n' text nodes from affecting the result of
3364 calling to TextIterator:rangeLength().
3366 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3368 Unreviewed, rolling out r77229.
3369 http://trac.webkit.org/changeset/77229
3370 https://bugs.webkit.org/show_bug.cgi?id=53289
3372 revert mysterious build breakage
3379 * WebCore.vcproj/WebCore.vcproj:
3380 * WebCore.xcodeproj/project.pbxproj:
3381 * dom/DOMAllInOne.cpp:
3383 (WebCore::Document::DocumentOrderedMap::clear):
3384 (WebCore::Document::DocumentOrderedMap::add):
3385 (WebCore::Document::DocumentOrderedMap::remove):
3386 (WebCore::Document::DocumentOrderedMap::get):
3387 (WebCore::keyMatchesId):
3388 (WebCore::Document::getElementById):
3389 (WebCore::keyMatchesMapName):
3390 (WebCore::keyMatchesLowercasedMapName):
3391 (WebCore::Document::getImageMap):
3393 (WebCore::Document::DocumentOrderedMap::contains):
3394 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3395 * dom/DocumentOrderedMap.cpp: Removed.
3396 * dom/DocumentOrderedMap.h: Removed.
3398 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3400 Reviewed by James Robinson.
3402 Async event handlers should not fire within a modal dialog
3403 https://bugs.webkit.org/show_bug.cgi?id=53202
3405 Asychronous events that use EventQueue would currently fire while a
3406 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3407 SuspendableTimer (which automatically gets suspended while dialogs are
3408 up and in other cases where JS execution is not allowed).
3410 Test: fast/events/scroll-event-during-modal-dialog.html
3413 (WebCore::Document::Document):
3414 * dom/EventQueue.cpp:
3415 (WebCore::EventQueueTimer::EventQueueTimer):
3416 (WebCore::EventQueueTimer::fired):
3417 (WebCore::EventQueue::EventQueue):
3418 (WebCore::EventQueue::enqueueEvent):
3419 (WebCore::EventQueue::pendingEventTimerFired):
3421 (WebCore::EventQueue::create):
3423 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3425 Reviewed by Dimitri Glazkov.
3427 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3428 https://bugs.webkit.org/show_bug.cgi?id=53289
3430 Moving the nested class DocumentOrderedMap from Document into separate files,
3431 updating code where necessary.
3433 No new tests. (refactoring)
3440 * WebCore.vcproj/WebCore.vcproj:
3441 * WebCore.xcodeproj/project.pbxproj:
3443 (WebCore::Document::getElementById):
3444 (WebCore::Document::getImageMap):
3446 * dom/DocumentOrderedMap.cpp: Added.
3447 (WebCore::keyMatchesId):
3448 (WebCore::keyMatchesMapName):
3449 (WebCore::keyMatchesLowercasedMapName):
3450 (WebCore::DocumentOrderedMap::clear):
3451 (WebCore::DocumentOrderedMap::add):
3452 (WebCore::DocumentOrderedMap::remove):
3453 (WebCore::DocumentOrderedMap::get):
3454 (WebCore::DocumentOrderedMap::getElementById):
3455 (WebCore::DocumentOrderedMap::getElementByMapName):
3456 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3457 * dom/DocumentOrderedMap.h: Added.
3458 (WebCore::DocumentOrderedMap::contains):
3459 (WebCore::DocumentOrderedMap::containsMultiple):
3460 * dom/DOMAllInOne.cpp:
3462 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
3464 Reviewed by Darin Fisher.
3466 [Chromium] Autofill should work with HTML5 form elements
3467 https://bugs.webkit.org/show_bug.cgi?id=51809
3468 http://crbug.com/65654
3470 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3472 * html/InputType.h: Insert comment for canSetSuggestedValue().
3473 * html/TextFieldInputType.cpp:
3474 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3475 * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3476 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3477 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3479 2011-02-01 Kent Tamura <tkent@chromium.org>
3481 Reviewed by Dan Bernstein.
3483 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3484 https://bugs.webkit.org/show_bug.cgi?id=53272
3486 * editing/TextIterator.cpp:
3487 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3489 2011-01-31 Alexey Proskuryakov <ap@apple.com>
3491 Reviewed by Maciej Stachowiak.
3493 https://bugs.webkit.org/show_bug.cgi?id=53466
3494 Move WebKit2 to printing via API methods
3496 * WebCore.exp.in: Export IntRect::scale().
3498 2011-01-31 Patrick Gansterer <paroga@webkit.org>
3500 Reviewed by Adam Barth.
3502 Remove obsolete comment after r41871
3503 https://bugs.webkit.org/show_bug.cgi?id=53406
3507 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3509 Fix according to reviewer comments: can just use Color::black now.
3511 * platform/graphics/ShadowBlur.cpp:
3512 (WebCore::ShadowBlur::drawInsetShadow):
3513 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3515 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3517 Reviewed by Sam Weinig.
3520 https://bugs.webkit.org/show_bug.cgi?id=53472
3522 Some minor ShadowBlur cleanup.
3524 * platform/graphics/ShadowBlur.h:
3525 * platform/graphics/ShadowBlur.cpp:
3526 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3528 (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3529 (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3530 layerRect. Make frameSize a float.
3531 (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3532 layerRect rather than calling calculateLayerBoundingRect() to compute
3533 it itself, since we were calling calculateLayerBoundingRect() twice.
3534 (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3535 only once. The shadowRect variable was unused, so two return paths could be
3537 (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3538 beginShadowLayer() now.
3539 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3540 We always used alpha=1, so no need to pass that in.
3541 (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3542 pass that in. Move shadowRect down to first use.
3543 ShadowBlur::clipBounds() was unused.
3545 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
3547 Reviewed by Kenneth Rohde Christiansen.
3549 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3550 https://bugs.webkit.org/show_bug.cgi?id=46748
3552 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3553 Added a regression test to tst_QWebFrame.
3555 * bridge/qt/qt_instance.cpp:
3556 (JSC::Bindings::QtInstance::QtInstance):
3558 2011-01-27 MORITA Hajime <morrita@google.com>
3560 Reviewed by Dimitri Glazkov.
3562 Convert <progress> shadow DOM to a DOM-based shadow.
3563 https://bugs.webkit.org/show_bug.cgi?id=50660