1 2011-02-04 Peter Varga <pvarga@webkit.org>
3 Rubber-stamped by Csaba Osztrogonác.
5 Replace PCRE with Yarr in WebCore
6 https://bugs.webkit.org/show_bug.cgi?id=53496
8 Speculative windows build fix.
12 * platform/text/RegularExpression.cpp:
14 2011-02-04 Peter Varga <pvarga@webkit.org>
17 Reviewed by Gavin Barraclough.
19 Replace PCRE with Yarr in WebCore
20 https://bugs.webkit.org/show_bug.cgi?id=53496
24 * Android.jscbindings.mk:
26 * ForwardingHeaders/pcre/pcre.h: Removed.
27 * ForwardingHeaders/yarr/Yarr.h: Added.
28 * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
29 * ForwardingHeaders/yarr/YarrPattern.h: Added.
30 * WebCore.gyp/WebCore.gyp:
32 * WebCore.vcproj/WebCore.vcproj:
33 * WebCore.vcproj/copyForwardingHeaders.cmd:
34 * platform/text/RegularExpression.cpp:
35 (WebCore::RegularExpression::Private::create):
36 (WebCore::RegularExpression::Private::Private):
37 (WebCore::RegularExpression::Private::compile):
38 (WebCore::RegularExpression::match):
40 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
42 Reviewed by Yury Semikhatsky.
44 Web Inspector: Network panel filtering is broken.
45 https://bugs.webkit.org/show_bug.cgi?id=53764
47 * inspector/front-end/NetworkPanel.js:
48 (WebInspector.NetworkPanel.prototype._sortItems):
49 (WebInspector.NetworkPanel.prototype._sortByTimeline):
50 (WebInspector.NetworkPanel.prototype._filter):
51 (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
52 (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
53 (WebInspector.NetworkDataGridNode.prototype.get selectable):
54 (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
55 (WebInspector.NetworkTotalGridNode.prototype.get selectable):
57 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
59 Reviewed by Pavel Feldman.
61 Web Inspector: support overriding user agent strings
62 https://bugs.webkit.org/show_bug.cgi?id=51485
64 Test: http/tests/inspector/extensions-useragent.html
66 * inspector/Inspector.idl:
67 * inspector/InspectorController.cpp:
68 (WebCore::InspectorController::disconnectFrontend):
69 (WebCore::InspectorController::setUserAgentOverride):
70 (WebCore::InspectorController::userAgentOverride):
71 * inspector/InspectorController.h:
72 * inspector/front-end/ExtensionAPI.js:
73 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
74 * inspector/front-end/ExtensionServer.js:
75 (WebInspector.ExtensionServer.prototype._onReload):
76 * loader/FrameLoader.cpp:
77 (WebCore::FrameLoader::userAgent):
78 (WebCore::FrameLoader::applyUserAgent):
80 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
82 Reviewed by Pavel Feldman.
84 Web Inspector: scripts panel displays wrong file name after reload.
85 https://bugs.webkit.org/show_bug.cgi?id=53761
87 * inspector/front-end/ScriptsPanel.js:
88 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
90 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
92 Reviewed by Pavel Feldman.
94 Web Inspector: remove settings related methods from InspectorClient
95 https://bugs.webkit.org/show_bug.cgi?id=53686
98 * inspector/CodeGeneratorInspector.pm:
99 * inspector/InspectorClient.h:
100 * inspector/InspectorFrontendClientLocal.cpp:
101 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
102 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
103 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
104 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
105 provide platform-specific settings accessor.
106 (WebCore::InspectorFrontendClientLocal::Settings::Settings):
107 (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
108 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
109 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
110 * loader/EmptyClients.h:
112 2011-02-03 Anton Muhin <antonm@chromium.org>
114 Reviewed by Adam Barth.
116 [v8] frame several more JS code invocations into v8::TryCatch
117 https://bugs.webkit.org/show_bug.cgi?id=53594
119 This patch is preemptive and adjusts v8 bindings code to forthcoming small change
120 in v8::ThrowException---currently sometimes exceptions thrown by this method
121 do not reach surrounding v8::TryCatch handler (see
122 http://code.google.com/p/v8/issues/detail?id=1072 and
123 http://codereview.chromium.org/6397011/). Therefore the goal of this patch
124 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
125 one rebaseline as of now.)
127 * bindings/v8/V8Proxy.cpp:
128 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
129 * bindings/v8/V8WindowErrorHandler.cpp:
130 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
132 2011-02-03 Maciej Stachowiak <mjs@apple.com>
134 Reviewed by Dan Bernstein.
136 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
137 https://bugs.webkit.org/show_bug.cgi?id=52897
138 <rdar://problem/8898294>
140 * WebCore.exp.in: Add export now needed by WebKit2
142 2011-02-03 Victoria Kirst <vrk@google.com>
144 Reviewed by James Robinson.
146 Replaces float literals with uniform values in shader code
147 so that buggy drivers unable to parse float values in different
148 locales will not produce a pink video.
150 [chromium] Fix pink video bug with gpu-acceleration enabled
151 https://bugs.webkit.org/show_bug.cgi?id=53568
153 * platform/graphics/chromium/VideoLayerChromium.cpp:
154 (WebCore::VideoLayerChromium::SharedValues::SharedValues):
155 (WebCore::VideoLayerChromium::drawYUV):
156 * platform/graphics/chromium/VideoLayerChromium.h:
157 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
159 2011-02-03 James Kozianski <koz@chromium.org>
161 Reviewed by Dimitri Glazkov.
163 Add navigator.registerProtocolHandler behind a flag.
164 https://bugs.webkit.org/show_bug.cgi?id=52609
166 This method is described in the HTML5 specification here,
167 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
169 This change is largely cribbed from B. Green's 29651 patches. It is
170 behind a flag so as not to break JS feature detection.
172 New layout test fast/dom/registerProtocolHandler.html.
174 * Configurations/FeatureDefines.xcconfig:
175 * loader/EmptyClients.h:
176 (WebCore::EmptyChromeClient::registerProtocolHandler):
178 (WebCore::Chrome::registerProtocolHandler):
180 * page/ChromeClient.h:
181 * page/Navigator.cpp:
182 (WebCore::verifyCustomHandlerURL):
183 (WebCore::verifyProtocolHandlerScheme):
184 (WebCore::Navigator::registerProtocolHandler):
186 * page/Navigator.idl:
188 2011-02-03 Brian Ryner <bryner@chromium.org>
190 Reviewed by Darin Fisher.
192 Add a field to the ResourceResponse for tracking the socket address
193 of the host that the resource was fetched from. Patch was originally
195 https://bugs.webkit.org/show_bug.cgi?id=53699
197 * platform/network/chromium/ResourceResponse.cpp:
198 (WebCore::ResourceResponse::doPlatformCopyData):
199 (WebCore::ResourceResponse::doPlatformAdopt):
200 * platform/network/chromium/ResourceResponse.h:
201 (WebCore::ResourceResponse::socketAddress):
202 (WebCore::ResourceResponse::setSocketAddress):
204 2011-02-03 Adam Langley <agl@chromium.org>
206 Reviewed by Adam Barth.
208 Plumb mixed script URL to FrameLoaderClient
209 https://bugs.webkit.org/show_bug.cgi?id=52384
211 Regressions covered by http/tests/security/mixedContent/*
213 * loader/EmptyClients.h:
214 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
215 * loader/FrameLoader.cpp:
216 (WebCore::FrameLoader::checkIfRunInsecureContent):
217 * loader/FrameLoaderClient.h:
219 2011-02-03 Simon Fraser <simon.fraser@apple.com>
221 Reviewed by Dan Bernstein.
223 REGRESSION: Artifacts on box-shadow corners in some cases
224 https://bugs.webkit.org/show_bug.cgi?id=53731
226 Fix overdrawing artifacts in ShadowBlur's tiling code path,
227 which show up in shadows using a color with alpha.
229 Test: fast/box-shadow/shadow-tiling-artifact.html
231 * platform/graphics/ShadowBlur.cpp:
232 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
233 that the inner rect that gets filled does not overlap with any
234 of the eight tiled areas by having the corner and side dimensions
235 be the same for contiguous areas.
237 2011-02-03 Adam Barth <abarth@webkit.org>
239 Reviewed by Alexey Proskuryakov.
241 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
242 percent signs in large posted data
243 https://bugs.webkit.org/show_bug.cgi?id=53405
245 If the input string contains many non-% characters followed by a %
246 character that is not a valid URL escape sequence, then the old
247 algorithm would only advance the initial search by one character
248 (instead of jumping to just after the % character). That would cause
249 the algorithm to take N^2 time (in the number of characters before the
250 first % character). This patch just advances the search past the first
251 % character so we can start looking for next % character sooner.
254 (WebCore::decodeURLEscapeSequences):
256 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
258 Reviewed by Pavel Feldman.
260 Web Inspector: click on a breakpoint highlights wrong line in source frame.
261 https://bugs.webkit.org/show_bug.cgi?id=53692
263 * inspector/front-end/BreakpointsSidebarPane.js:
264 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
266 2011-02-03 Anton Muhin <antonm@chromium.org>
268 Reviewed by Adam Barth.
270 [v8] Bail out if to string conversion returned empty handle
271 https://bugs.webkit.org/show_bug.cgi?id=53687
273 This a temporary measure: actually one probably should never get empty handle
274 if there was no exception. The root cause is under investigation.
275 The bailout though allows Chromium not to crash---attempt to convert an empty
276 v8 hande into WebCore string crashes with invalid memory access.
278 See http://code.google.com/p/chromium/issues/detail?id=71544
280 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
282 * bindings/v8/V8Binding.cpp:
283 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
284 * bindings/v8/V8Binding.h:
285 (WebCore::V8ParameterBase::prepareBase): Ditto
287 2011-02-03 Adam Barth <abarth@webkit.org>
289 Attempt to fix Chromium build.
291 * html/parser/XSSFilter.cpp:
293 2011-02-03 Dirk Pranke <dpranke@chromium.org>
295 Unreviewed, rolling out r77562.
296 http://trac.webkit.org/changeset/77562
297 https://bugs.webkit.org/show_bug.cgi?id=53630
299 broke chromium mac build
301 * WebCore.gyp/WebCore.gyp:
302 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
304 2011-02-03 Adam Barth <abarth@webkit.org>
306 Reviewed by Daniel Bates.
308 XSS Auditor severely affects loading performance after submitting a large form
309 https://bugs.webkit.org/show_bug.cgi?id=49845
311 Switch over from the XSSAuditor to the XSSFilter, improving performance
314 * html/parser/XSSFilter.cpp:
315 (WebCore::XSSFilter::filterToken):
316 * page/XSSAuditor.cpp:
317 (WebCore::XSSAuditor::isEnabled):
319 2011-02-03 Dirk Pranke <dpranke@chromium.org>
321 Unreviewed, rolling out r77567.
322 http://trac.webkit.org/changeset/77567
323 https://bugs.webkit.org/show_bug.cgi?id=53468
325 broke chromium linux svg, canvas tests, possibly win also?
327 * platform/graphics/skia/ImageBufferSkia.cpp:
328 (WebCore::getImageData):
329 (WebCore::ImageBuffer::getUnmultipliedImageData):
330 (WebCore::ImageBuffer::getPremultipliedImageData):
331 (WebCore::putImageData):
332 (WebCore::ImageBuffer::putUnmultipliedImageData):
333 (WebCore::ImageBuffer::putPremultipliedImageData):
335 2011-02-02 MORITA Hajime <morrita@google.com>
337 Reviewed by Dimitri Glazkov.
339 Refactoring: <progress> should not use ShadowElement
340 https://bugs.webkit.org/show_bug.cgi?id=53583
342 - Introduced RenderIndicatorPart and RenderProgressBarValuePart
343 to be responsible for bar-part layout,
344 which adopted layout logic from ShadowBlockElement.
345 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
346 - Remove dependency from RenderProgress to HTMLProgressElement and
348 - The shadow tree is no longer removed on detach(). It becomes persistent.
349 This is now possible because the ShadowBlockElement dependency is gone.
350 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
351 That didn't make sense.
353 * html/HTMLProgressElement.cpp:
354 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
355 * html/HTMLProgressElement.h:
356 * html/shadow/ProgressBarValueElement.h: Added.
357 (WebCore::ProgressBarValueElement::ProgressBarValueElement):
358 (WebCore::ProgressBarValueElement::shadowPseudoId):
359 (WebCore::ProgressBarValueElement::createRenderer):
360 (WebCore::ProgressBarValueElement::create):
361 * rendering/RenderIndicator.cpp:
362 (WebCore::RenderIndicatorPart::RenderIndicatorPart):
363 (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
364 (WebCore::RenderIndicatorPart::layout):
365 (WebCore::RenderIndicatorPart::styleDidChange):
366 * rendering/RenderIndicator.h: Added RenderIndicatorPart class
367 (WebCore::RenderIndicatorPart::originalVisibility):
368 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
369 (WebCore::RenderIndicatorPart::canHaveChildren):
370 * rendering/RenderProgress.cpp:
371 (WebCore::RenderProgressBarValuePart::preferredFrameRect):
372 (WebCore::RenderProgressBarValuePart::shouldBeHidden):
373 (WebCore::RenderProgress::updateFromElement):
374 (WebCore::RenderProgress::layoutParts):
375 (WebCore::RenderProgress::shouldHaveParts):
376 * rendering/RenderProgress.h:
377 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
379 2011-02-03 Jia Pu <jpu@apple.com>
381 Reversion should not be marked as misspelled.
382 https://bugs.webkit.org/show_bug.cgi?id=53255
384 This patch includes fix for reported bug, and also some housekeeping changes.
386 To implement desired behavior, we need:
387 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
388 that shouldn't be spellchecked and text shouldn't be autocorrected.
389 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
390 Otherwise the spell checking code in that function may interfere with autocorrection. This
391 is achieved by explicitly applying pending correction when user types space, line break or
394 Housekeeping code changes include:
395 1. Change manual-tests that were broken by relocated WebCore directory.
396 2. Use TextIterator in various DocumentMarkerController functions instead of using
397 Node::traverseNextNode() directly.
398 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
399 DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
400 4. Fixes of minor bugs that were exposed previously.
402 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
404 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
406 * dom/DocumentMarkerController.cpp:
407 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
408 consistent with addMarker() function. Allow passing in multiple marker types in one call.
409 Added a boolean argument to specify the behavior when removing markers that partially
410 overlap the specified range.
411 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
412 multiple marker types in one call.
413 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
414 consistent with addMarker() function. Allow passing in multiple marker types in one call.
416 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
417 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
418 removing markers that partially overlap the specified range.
420 * editing/Editor.cpp:
421 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
422 (WebCore::markerTypesForReplacement): Ditto.
423 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
424 setSelection() to make sure there is no pending correction when entering
425 markAllMisspellingsAndBadGrammarInRanges().
426 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
427 is a top level command to improve efficiency.
428 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
429 (WebCore::Editor::insertLineBreak): Ditto.
430 (WebCore::Editor::insertParagraphSeparator): Ditto.
431 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
432 text carries SpellCheckingExemption marker.
433 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
434 from spellchecker is an empty string.
435 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
436 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
437 efficiency and readability.
438 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
439 applying correction, since it's unnecessary. Also, store pre-correction string together with
440 the marker for reversion panel to use.
441 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
442 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
443 where we have access to EditCommand object.
445 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
447 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
448 were broken by relocated WebCore directory.
450 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
452 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
454 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
456 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
458 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
460 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
462 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
464 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
466 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
468 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
469 were broken by relocated WebCore directory.
471 * rendering/InlineTextBox.cpp:
472 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
474 2011-02-03 Abhishek Arya <inferno@chromium.org>
476 Unreviewed, qt build fix.
478 * rendering/RenderBlock.cpp:
479 (WebCore::RenderBlock::removeFloatingObject):
481 2011-02-03 Brian Salomon <bsalomon@google.com>
483 Reviewed by James Robinson.
485 Handle non-raster backed images in getUnmultipliedImageData()
486 https://bugs.webkit.org/show_bug.cgi?id=53468
488 No new tests. Existing canvas tests sufficient
489 LayoutTests/canvas/philip/...
491 * platform/graphics/skia/ImageBufferSkia.cpp:
492 (WebCore::getImageData):
493 (WebCore::ImageBuffer::getUnmultipliedImageData):
494 (WebCore::ImageBuffer::getPremultipliedImageData):
495 (WebCore::putImageData):
496 (WebCore::ImageBuffer::putUnmultipliedImageData):
497 (WebCore::ImageBuffer::putPremultipliedImageData):
499 2011-02-03 Abhishek Arya <inferno@chromium.org>
501 Reviewed by James Robinson.
503 Enforce more limits on root inline boxes height calculations.
504 https://bugs.webkit.org/show_bug.cgi?id=53729
506 Test: fast/overflow/overflow-height-float-not-removed-crash.html
508 * rendering/RenderBlock.cpp:
509 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
510 become negative when logicalTop is INT_MAX.
511 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
512 is INT_MAX, we should dirty everything. So, we bail out to make
513 afterLowest equal to the lastRootBox() or lowestDirstLine.
515 2011-02-03 David Levin <levin@chromium.org>
517 Reviewed by Adam Barth and Oliver Hunt.
519 Worker.importScript() should clean errors for cross origin imports.
520 https://bugs.webkit.org/show_bug.cgi?id=52871
522 Test: http/tests/workers/worker-importScriptsOnError.html
524 * bindings/js/WorkerScriptController.cpp:
525 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
526 to determine when to create a clean exception.
527 * bindings/v8/WorkerContextExecutionProxy.cpp:
528 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
529 * dom/ScriptExecutionContext.cpp:
530 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
531 if the error needs to be cleaned up.
532 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
533 sanitizeScriptError for use by other places.
534 * dom/ScriptExecutionContext.h:
535 * workers/WorkerContext.cpp:
536 (WebCore::WorkerContext::importScripts): Use the reponse url when
537 telling the evaluate where the script came fro.
538 * workers/WorkerScriptLoader.cpp:
539 (WebCore::WorkerScriptLoader::responseURL): Expose the url that
540 the script was loaded from (which may be different from url() due
542 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
543 * workers/WorkerScriptLoader.h:
545 2011-02-03 Mark Mentovai <mark@chromium.org>
547 Reviewed by Dimitri Glazkov.
549 Chromium GYP build fix.
551 When various settings were moved to webcore_prerequisites in r66364,
552 things that should have been direct_dependent_settings were not marked
553 as such. GYP 'defines', for example, make no sense on a 'none'-type
554 target such as webcore_prerequisites. It appears that it was intended
555 for these settings to be pushed to direct dependents, which would make
556 direct_dependent_settings correct.
558 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
559 http://crbug.com/71537, which at best causes Mac console log spew, and
560 at worst may result in Chromium's copy of WebCore using system
561 definitions of certain Objective-C classes at runtime, or vice-versa.
563 The build now includes a postbuild step to prevent
564 http://crbug.com/71537 from regressing again. The build will fail upon
567 https://bugs.webkit.org/show_bug.cgi?id=53630
569 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
570 direct_dependent_settings as needed, add the check_objc_rename
572 * WebCore.gyp/mac/check_objc_rename.sh: Added.
574 2011-02-03 Adam Barth <abarth@webkit.org>
576 Reviewed by Eric Seidel.
578 Make XSSFilter go fast by adding a SuffixTree
579 https://bugs.webkit.org/show_bug.cgi?id=53665
581 The SuffixTree lets us quickly reject snippets if the POST data is
582 large (because we can avoid a linear scan over the POST data).
584 * html/parser/XSSFilter.cpp:
585 (WebCore::XSSFilter::init):
586 (WebCore::XSSFilter::isContainedInRequest):
587 * html/parser/XSSFilter.h:
589 2011-02-03 Mihai Parparita <mihaip@chromium.org>
591 Reviewed by Alexey Proskuryakov.
593 REGRESSION (r77355): Page cache layout tests crash
594 https://bugs.webkit.org/show_bug.cgi?id=53648
596 Test: fast/events/pagehide-timeout.html
598 Suspend active DOM objects after all pagehide event handlers have run,
599 otherwise it's possible for them to create more objects that weren't
602 * history/CachedFrame.cpp:
603 (WebCore::CachedFrame::CachedFrame):
605 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
607 Reviewed by Nate Chapin.
609 SerializedScriptValue should not require v8 to create undefined and null values
610 https://bugs.webkit.org/show_bug.cgi?id=53730
612 Instead of creating a v8 type and passing that into the constructor, just use
613 the writer class directly. While I was at it, I cleaned up the code a bit too
614 by getting rid of the WireData/StringValue enum as I found that personally
617 This is necessary because these methods are called by IndexedDB in the browser
618 process where v8 is not spun up.
620 No functionality changed and not possible to test.
622 * bindings/v8/SerializedScriptValue.cpp:
623 (WebCore::SerializedScriptValue::createFromWire):
624 (WebCore::SerializedScriptValue::create):
625 (WebCore::SerializedScriptValue::nullValue):
626 (WebCore::SerializedScriptValue::undefinedValue):
627 (WebCore::SerializedScriptValue::release):
628 (WebCore::SerializedScriptValue::SerializedScriptValue):
629 * bindings/v8/SerializedScriptValue.h:
631 2011-02-03 Beth Dakin <bdakin@apple.com>
633 Reviewed by Sam Weinig.
635 Fix for <rdar://problem/8944544> Ability to animate track
636 for WKPainter scrollers
638 Two new WebKitSystemInterface functions.
640 * platform/mac/WebCoreSystemInterface.h:
641 * platform/mac/WebCoreSystemInterface.mm:
643 Use Scrollbar::convertFromContainingView() to return the right point.
644 * platform/mac/ScrollAnimatorMac.mm:
645 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
647 ScrollKnobAnimation is now ScrollbarPartAnimation. It can
648 now be used to animate the knob or the track.
649 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
650 (-[ScrollbarPartAnimation setCurrentProgress:]):
651 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
652 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
653 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
655 Scrollbars need invalodating after the overlay state changes.
656 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
658 2011-02-03 Sam Weinig <sam@webkit.org>
660 Reviewed by Beth Dakin.
662 Scroll thumb jumps to top when resizing horizontally.
664 * platform/ScrollView.cpp:
665 (WebCore::ScrollView::updateScrollbars): Add call to update
666 the scrollbar's offset in the case where we may have created
667 a new scrollbar but have not changed the current position.
669 2011-02-03 Justin Schuh <jschuh@chromium.org>
671 Reviewed by Dirk Schulze.
673 startAnimations should use a local, RefCounted Vector.
674 https://bugs.webkit.org/show_bug.cgi?id=53458
676 Test: svg/custom/use-animation-in-fill.html
678 * svg/SVGDocumentExtensions.cpp:
679 (WebCore::SVGDocumentExtensions::startAnimations):
681 2011-02-03 Adam Barth <abarth@webkit.org>
683 Reviewed by Daniel Bates.
685 XSSFilter shouldn't bother to analyze pages without "injection"
686 characters in the request
687 https://bugs.webkit.org/show_bug.cgi?id=53664
689 If the request lacks these "injection" characters, then it's unlikely
690 that there's a reflective XSS attack happening. This hueristic lets us
691 avoid analyzing the vast majority of responses for XSS. Of course, the
692 hueristic isn't perfect. Because of this huerstic, we miss out on
693 injections into unquoted attributes. However, it's a trade-off that's
694 worked well in the XSSAuditor.
696 * html/parser/XSSFilter.cpp:
697 (WebCore::HTMLNames::isRequiredForInjection):
698 (WebCore::XSSFilter::XSSFilter):
699 (WebCore::XSSFilter::init):
700 (WebCore::XSSFilter::filterToken):
701 (WebCore::XSSFilter::isContainedInRequest):
702 * html/parser/XSSFilter.h:
704 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
706 Reviewed by Kenneth Russell.
708 [chromium] Fixing a compositor crash occurring on layers
709 without an associated RenderSurface.
710 https://bugs.webkit.org/show_bug.cgi?id=53679
711 Regression was introduced by in r77425
713 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
716 * platform/graphics/chromium/LayerRendererChromium.cpp:
717 (WebCore::LayerRendererChromium::drawLayer):
719 2011-02-03 Dan Bernstein <mitz@apple.com>
721 Reviewed by Anders Carlsson.
723 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
724 https://bugs.webkit.org/show_bug.cgi?id=53709
726 Covered by rendering of fast/text/emphasis-vertical.html
728 * platform/graphics/mac/SimpleFontDataMac.mm:
729 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
732 2011-02-02 Levi Weintraub <leviw@chromium.org>
734 Reviewed by Ryosuke Niwa.
736 Moving cursor down in table cycles at the end of a row
737 https://bugs.webkit.org/show_bug.cgi?id=50012
739 Avoids a caret cycling issue with certain content (e.g. tables) found at the very
740 end of a document due to a bug in nextLeafWithSameEditability.
742 Test: editing/selection/move-by-line-cycles-in-table.html
744 * editing/visible_units.cpp:
745 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
748 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
750 Reviewed by Pavel Feldman.
752 Web Inspector: remove dead code related to changes panel.
753 https://bugs.webkit.org/show_bug.cgi?id=53688
756 * WebCore.vcproj/WebCore.vcproj:
757 * inspector/front-end/ChangesView.js: Removed.
758 * inspector/front-end/WebKit.qrc:
759 * inspector/front-end/inspector.css:
760 (#error-warning-count):
761 (#error-warning-count:hover):
762 (#error-count + #warning-count):
763 * inspector/front-end/inspector.html:
764 * inspector/front-end/inspector.js:
766 2011-02-02 Sam Weinig <sam@webkit.org>
768 Reviewed by Anders Carlsson.
770 Add notification of the end of a rubber band.
771 <rdar://problem/8940648>
774 Add additional exprots.
776 * page/ChromeClient.h:
777 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
778 * page/FrameView.cpp:
779 (WebCore::FrameView::didCompleteRubberBand):
781 * platform/ScrollView.cpp:
782 (WebCore::ScrollView::didCompleteRubberBand):
783 * platform/ScrollView.h:
786 * platform/ScrollableArea.h:
787 (WebCore::ScrollableArea::inLiveResize):
788 (WebCore::ScrollableArea::maximumScrollPosition):
789 (WebCore::ScrollableArea::visibleWidth):
790 (WebCore::ScrollableArea::overhangAmount):
791 (WebCore::ScrollableArea::didCompleteRubberBand):
792 Reorganize and de-virtualize live resize notifications.
794 * platform/mac/ScrollAnimatorMac.mm:
795 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
796 Call the new hook when the rubberband ends.
798 2011-02-02 Evan Martin <evan@chromium.org>
800 Reviewed by Tony Chang.
802 [chromium] complex joining characters positioned in wrong place
803 https://bugs.webkit.org/show_bug.cgi?id=53637
805 Provide the correct font metrics to Harfbuzz related to the font design space.
806 There are used in some fonts for GPOS positioning.
808 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
810 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
811 (WebCore::ComplexTextController::setupFontForScriptRun):
812 (WebCore::ComplexTextController::allocHarfbuzzFont):
813 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
814 (WebCore::FontPlatformData::FontPlatformData):
815 (WebCore::FontPlatformData::emSizeInFontUnits):
816 (WebCore::FontPlatformData::operator=):
817 * platform/graphics/chromium/FontPlatformDataLinux.h:
818 (WebCore::FontPlatformData::FontPlatformData):
820 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
822 Reviewed by Kent Tamura.
824 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
825 https://bugs.webkit.org/show_bug.cgi?id=53634
827 Test: fast/dom/HTMLInputElement/input-slider-update.html
829 * html/HTMLInputElement.cpp:
830 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
831 * html/InputType.cpp:
832 (WebCore::InputType::valueChanged): Added empty implementation.
833 * html/InputType.h: Added def.
834 * html/RangeInputType.cpp:
835 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
837 * html/RangeInputType.h: Added def.
839 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
841 Reviewed by Pavel Feldman.
843 Web Inspector: do not share source frames between resources panel and scripts panel.
844 https://bugs.webkit.org/show_bug.cgi?id=53584
846 Currently, we show error messages only for resources. This change will allow showing error
847 messages in source frame even when resource is not available (eval scripts, inlined scripts).
849 * inspector/front-end/ConsoleView.js:
850 (WebInspector.ConsoleView.prototype.addMessage):
851 (WebInspector.ConsoleView.prototype.clearMessages):
852 * inspector/front-end/ResourceView.js:
853 (WebInspector.ResourceView.recreateResourceView):
854 * inspector/front-end/ResourcesPanel.js:
855 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
856 * inspector/front-end/ScriptsPanel.js:
857 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
858 (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
859 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
860 (WebInspector.ScriptsPanel.prototype.reset):
861 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
862 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
863 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
865 2011-02-03 Simon Fraser <simon.fraser@apple.com>
869 * platform/graphics/ShadowBlur.cpp:
870 (WebCore::ShadowBlur::blurLayerImage):
872 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
874 Reviewed by Pavel Feldman.
876 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
877 https://bugs.webkit.org/show_bug.cgi?id=53592
879 In JSC there is no limit, thus 'undefined' value is returned.
880 For V8, the limit reported by the VM is returned.
882 * Android.jscbindings.mk:
887 * WebCore.vcproj/WebCore.vcproj:
888 * WebCore.xcodeproj/project.pbxproj:
889 * bindings/js/JSBindingsAllInOne.cpp:
890 * bindings/js/JSMemoryInfoCustom.cpp: Added.
891 * bindings/js/ScriptGCEvent.cpp:
892 (WebCore::ScriptGCEvent::getHeapSize):
893 * bindings/js/ScriptGCEvent.h:
894 * bindings/v8/ScriptGCEvent.cpp:
895 (WebCore::ScriptGCEvent::getHeapSize):
896 * bindings/v8/ScriptGCEvent.h:
897 * inspector/InspectorTimelineAgent.cpp:
898 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
899 * page/MemoryInfo.cpp:
900 (WebCore::MemoryInfo::MemoryInfo):
902 (WebCore::MemoryInfo::jsHeapSizeLimit):
903 * page/MemoryInfo.idl:
905 2011-01-27 Philippe Normand <pnormand@igalia.com>
907 Reviewed by Martin Robinson.
909 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
910 https://bugs.webkit.org/show_bug.cgi?id=53125
912 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
913 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
915 2011-02-03 Simon Fraser <simon.fraser@apple.com>
917 Reviewed by Sam Weinig.
919 ShadowBlur radius for CSS shadows is slightly too big
920 https://bugs.webkit.org/show_bug.cgi?id=53660
922 If we follow SVG gaussian blur for CSS shadows, we can end up rendering
923 shadows that extend further than the CSS "blur radius", which results
924 in the shadows being truncated.
926 Fix with a small fudge factor to reduce the kernel diameter slightly
929 Also more closely follow the algorithm described in the SVG spec
930 for computing the kernel size for different diameters, and clean up
931 some variable naming relating to the shadow bounds.
933 * platform/graphics/ShadowBlur.cpp:
934 (WebCore::ShadowBlur::blurLayerImage):
935 (WebCore::ShadowBlur::drawRectShadowWithTiling):
937 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
939 Reviewed by Pavel Feldman.
941 Web Inspector: introduce new api for managing JavaScript breakpoints.
942 https://bugs.webkit.org/show_bug.cgi?id=53235
944 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
945 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
946 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
948 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
949 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
951 * bindings/js/ScriptDebugServer.cpp:
952 (WebCore::ScriptDebugServer::setBreakpoint):
953 (WebCore::ScriptDebugServer::removeBreakpoint):
954 * bindings/js/ScriptDebugServer.h:
955 * bindings/v8/DebuggerScript.js:
957 * bindings/v8/ScriptDebugServer.cpp:
958 (WebCore::ScriptDebugServer::setBreakpoint):
959 * bindings/v8/ScriptDebugServer.h:
960 * inspector/Inspector.idl:
961 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
962 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
963 (WebCore::InspectorAgent::populateScriptObjects):
964 (WebCore::InspectorAgent::restoreDebugger):
965 (WebCore::InspectorAgent::showAndEnableDebugger):
966 (WebCore::InspectorAgent::enableDebugger):
967 * inspector/InspectorAgent.h:
968 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
969 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
970 (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
971 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
972 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
973 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
974 (WebCore::InspectorDebuggerAgent::continueToLocation):
975 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
976 (WebCore::InspectorDebuggerAgent::getScriptSource):
977 (WebCore::InspectorDebuggerAgent::didParseSource):
978 (WebCore::InspectorDebuggerAgent::didPause):
979 * inspector/InspectorDebuggerAgent.h:
980 (WebCore::InspectorDebuggerAgent::Script::Script):
981 * inspector/InspectorValues.cpp:
982 (WebCore::InspectorValue::asNumber):
983 (WebCore::InspectorBasicValue::asNumber):
984 (WebCore::InspectorObject::remove):
985 * inspector/InspectorValues.h:
986 (WebCore::InspectorObject::getNumber):
987 (WebCore::InspectorObject::find):
988 * inspector/ScriptBreakpoint.h:
989 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
990 * inspector/front-end/Breakpoint.js:
991 (WebInspector.Breakpoint):
992 (WebInspector.Breakpoint.prototype.addLocation):
993 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
994 (WebInspector.BreakpointManager):
995 (WebInspector.BreakpointManager.prototype._projectChanged):
996 (WebInspector.BreakpointManager.prototype._saveBreakpoints):
997 (WebInspector.BreakpointManager.prototype._validateBreakpoints):
998 * inspector/front-end/BreakpointsSidebarPane.js:
999 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
1000 * inspector/front-end/DebuggerModel.js:
1001 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
1002 * inspector/front-end/Script.js:
1003 (WebInspector.Script.prototype.sourceLine):
1004 * inspector/front-end/ScriptsPanel.js:
1005 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1006 * inspector/front-end/Settings.js:
1007 (WebInspector.Settings):
1008 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
1009 * inspector/front-end/inspector.js:
1011 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
1013 Reviewed by Dirk Schulze.
1015 small text which is scaled to be large renders pixelated
1016 https://bugs.webkit.org/show_bug.cgi?id=12448
1018 SVG <text> with font-size smaller or equal to 1 does not paint correctly
1019 https://bugs.webkit.org/show_bug.cgi?id=14242
1021 misplaced text in SVG
1022 https://bugs.webkit.org/show_bug.cgi?id=17053
1024 Don't render very small (but zoomed) text inside SVG
1025 https://bugs.webkit.org/show_bug.cgi?id=19393
1027 Tiny fonts scaled up end up too large in Safari
1028 https://bugs.webkit.org/show_bug.cgi?id=20192
1030 Stretched SVG Text has awful glyph spacing
1031 https://bugs.webkit.org/show_bug.cgi?id=21774
1033 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
1034 https://bugs.webkit.org/show_bug.cgi?id=49846
1036 [Gtk] Text height in zoomed SVG is 1px too high
1037 https://bugs.webkit.org/show_bug.cgi?id=50313
1039 SVG text smaller than 0.5px not displayed properly
1040 https://bugs.webkit.org/show_bug.cgi?id=50528
1042 When rendering text, we're selecting a font with a size, as specified in the markup.
1043 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
1044 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
1045 problem becomes apparent.
1047 Consider following two snippets, which should render exactly the same:
1048 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
1049 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
1051 When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
1052 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
1053 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
1055 To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1056 remove any scaling from the context, draw the text using the scaled font size, then reapply
1057 the context scale. This makes the example snippets above render exactly the same and fixes
1058 numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1059 internally, depending on the scale of the document, it's very important to use the new
1060 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1062 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1063 svg/hixie/text/003.html (no more pixelation)
1064 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1065 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1066 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1068 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1069 svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1070 svg/text/scaled-font.svg (reduction from bug 12448)
1071 svg/text/small-fonts-2.svg (reduction from bug 14242)
1072 svg/text/small-fonts-3.svg (reduction from bug 17053)
1073 svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1074 svg/text/small-fonts.svg (reduction from bug 20192))
1076 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1077 * rendering/svg/RenderSVGInlineText.h:
1078 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1079 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1080 * rendering/svg/SVGInlineTextBox.h:
1081 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1082 * rendering/svg/SVGTextMetrics.cpp: Ditto.
1083 * rendering/svg/SVGTextMetrics.h: Ditto.
1084 * rendering/svg/SVGTextQuery.cpp: Ditto.
1085 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1086 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1087 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1088 * svg/SVGTextPositioningElement.h:
1090 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
1092 Reviewed by Yury Semikhatsky.
1094 Web Inspector: resources panel doesn't show frames after reload.
1095 https://bugs.webkit.org/show_bug.cgi?id=53430
1097 * inspector/front-end/ResourcesPanel.js:
1098 (WebInspector.ResourcesPanel.prototype.show):
1099 (WebInspector.ResourcesPanel.prototype.loadEventFired):
1100 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1101 (WebInspector.ResourcesPanel.prototype.reset):
1102 (WebInspector.ResourcesPanel.prototype.clear):
1103 * inspector/front-end/inspector.js:
1104 (WebInspector.loadEventFired):
1106 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
1108 Reviewed by Pavel Feldman.
1110 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1111 https://bugs.webkit.org/show_bug.cgi?id=53492
1113 * inspector/Inspector.idl:
1114 * inspector/InspectorCSSAgent.cpp:
1115 (WebCore::InspectorCSSAgent::getStylesForNode):
1116 (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1117 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1118 (WebCore::InspectorCSSAgent::getAllStyles):
1119 (WebCore::InspectorCSSAgent::getStyleSheet):
1120 (WebCore::InspectorCSSAgent::getStyleSheetText):
1121 (WebCore::InspectorCSSAgent::setStyleSheetText):
1122 (WebCore::InspectorCSSAgent::setPropertyText):
1123 (WebCore::InspectorCSSAgent::toggleProperty):
1124 (WebCore::InspectorCSSAgent::setRuleSelector):
1125 (WebCore::InspectorCSSAgent::addRule):
1126 * inspector/InspectorCSSAgent.h:
1127 * inspector/front-end/AuditRules.js:
1128 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1129 * inspector/front-end/CSSStyleModel.js:
1130 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1131 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1132 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1133 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1134 (WebInspector.CSSStyleModel.prototype.addRule):
1135 (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1136 (WebInspector.CSSStyleModel.prototype._onRevert):
1137 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1138 (WebInspector.CSSProperty.prototype.setText):
1139 (WebInspector.CSSProperty.prototype.setDisabled):
1140 (WebInspector.CSSStyleSheet.createForId):
1141 (WebInspector.CSSStyleSheet.prototype.setText):
1143 2011-02-03 Adam Barth <abarth@webkit.org>
1145 Reviewed by Daniel Bates.
1147 Teach XSSFilter about data URLs
1148 https://bugs.webkit.org/show_bug.cgi?id=53662
1150 The XSS filter doesn't really make sense for data URLs because
1151 everything in a "response" from a data URL was part of the request.
1153 Test: http/tests/security/xssAuditor/data-urls-work.html
1155 * html/parser/XSSFilter.cpp:
1156 (WebCore::XSSFilter::init):
1157 (WebCore::XSSFilter::filterToken):
1159 2011-02-02 Chris Evans <cevans@chromium.org>
1161 Reviewed by Darin Fisher.
1163 window.find() can fail when switching case sensitivity
1164 https://bugs.webkit.org/show_bug.cgi?id=53654
1166 Reset the pattern to a safe one when done, to avoid usearch_reset()
1167 indirectly touching the old, stale text pointer.
1169 Test: fast/text/find-window.html
1171 * editing/TextIterator.cpp:
1172 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1174 2011-02-02 Adam Barth <abarth@webkit.org>
1176 Reviewed by Daniel Bates.
1178 Teach XSSFilter that <param> elements can contain URLs
1179 https://bugs.webkit.org/show_bug.cgi?id=53652
1181 When loading plugins for the <object> tag, we're "smart" enough to
1182 reach into the <param> elements and pull out the URL in some cases.
1183 This patch teaches the XSSFilter how to block injections into those
1184 sorts of param elements.
1187 http/tests/security/xssAuditor/object-*
1189 * html/HTMLParamElement.cpp:
1190 (WebCore::HTMLParamElement::isURLParameter):
1191 (WebCore::HTMLParamElement::isURLAttribute):
1192 (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1193 * html/HTMLParamElement.h:
1194 - Add a helper function so that HTMLParamElement can share the
1195 ground truth for these names with the XSSFilter.
1196 * html/parser/XSSFilter.cpp:
1197 (WebCore::XSSFilter::filterTokenInitial):
1198 (WebCore::XSSFilter::filterParamToken):
1199 * html/parser/XSSFilter.h:
1201 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1203 Reviewed by David Levin.
1205 GCC compiler on ARM issues bogus warnings and fails to compile.
1206 https://bugs.webkit.org/show_bug.cgi?id=53620
1208 Despite warnings explicitly being disallowed (-Wno-uninitialized),
1209 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1211 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1213 The fix is to add an extra condition, which somehow pacifies the compiler.
1215 * css/CSSPrimitiveValue.cpp:
1216 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1218 2011-02-02 Adam Barth <abarth@webkit.org>
1220 Reviewed by Daniel Bates.
1222 Teach XSSFilter about X-XSS-Protection
1223 https://bugs.webkit.org/show_bug.cgi?id=53640
1225 This patch causes us to pass:
1226 http/tests/security/xssAuditor/full-block-*
1227 http/tests/security/xssAuditor/no-protection-script-tag.html
1229 * html/parser/XSSFilter.cpp:
1230 (WebCore::XSSFilter::XSSFilter):
1231 (WebCore::XSSFilter::init):
1232 (WebCore::XSSFilter::filterToken):
1233 * html/parser/XSSFilter.h:
1235 2011-02-02 Adam Barth <abarth@webkit.org>
1237 Reviewed by Daniel Bates.
1239 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1240 instead of the empty string
1241 https://bugs.webkit.org/show_bug.cgi?id=53643
1243 In a URL context, the empty string completes to the URL of the current
1244 page, which causes these tests to go into an infinite loop. Instead,
1245 we should use a "safe" JavaScript URL that does nothing.
1248 http/tests/security/xssAuditor/javascript-link*
1250 * html/parser/XSSFilter.cpp:
1251 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1253 2011-02-02 Dan Bernstein <mitz@apple.com>
1255 Reviewed by Sam Weinig.
1257 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1258 https://bugs.webkit.org/show_bug.cgi?id=44942
1260 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1262 * platform/text/BidiResolver.h:
1263 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1264 a change to embedding levels.
1265 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1266 the explicit embedding sequence, then runs were not added, and we should continue normally.
1268 2011-02-02 Sam Weinig <sam@webkit.org>
1270 Reviewed by Dan Bernstein.
1272 Fix miscalculation of the overhang area used for painting. We were
1273 not correctly accounting for scrollbars resulting in an non-negative
1274 overhang even when we weren't over the edge.
1276 * platform/ScrollView.cpp:
1277 (WebCore::ScrollView::calculateOverhangAreasForPainting):
1279 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
1281 Reviewed by Nate Chapin.
1283 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1284 https://bugs.webkit.org/show_bug.cgi?id=52722
1286 The solution is to change ScriptExecutionContext's destructor to iterate over
1287 the list in a way that handles the mutations. This new method is destructive,
1288 but that's OK since the object is going away. I've also added a several asserts.
1290 There should be no behavior change.
1292 * dom/ScriptExecutionContext.cpp:
1293 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1294 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1295 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1296 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1297 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1298 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1299 (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1300 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1301 * dom/ScriptExecutionContext.h:
1302 * storage/IDBTransaction.cpp:
1303 (WebCore::IDBTransaction::contextDestroyed):
1304 * storage/IDBTransaction.h:
1306 2011-02-02 Mark Rowe <mrowe@apple.com>
1310 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1311 * platform/mac/ScrollbarThemeMac.mm:
1312 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1313 up in the HashMap rather than relying on a local variable that doesn't
1316 2011-02-02 Adam Barth <abarth@webkit.org>
1318 Reviewed by Daniel Bates.
1320 Teach XSSFilter about JavaScript URLs
1321 https://bugs.webkit.org/show_bug.cgi?id=53635
1323 This patch teaches the XSSFilter to check for JavaScript URLs in
1324 attribute values. If this approach has too many false positives, we
1325 can restrict which attribute names we examine.
1328 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1329 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1330 http/tests/security/xssAuditor/iframe-javascript-url*
1332 * html/parser/XSSFilter.cpp:
1333 (WebCore::HTMLNames::containsJavaScriptURL):
1334 (WebCore::XSSFilter::filterTokenInitial):
1335 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1336 * html/parser/XSSFilter.h:
1338 2011-02-02 Dan Bernstein <mitz@apple.com>
1340 Reviewed by Sam Weinig, even though this is just a...
1344 * platform/mac/ScrollAnimatorMac.mm:
1345 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1347 2011-02-02 Mark Rowe <mrowe@apple.com>
1349 Reviewed by Beth Dakin.
1351 <rdar://problem/8952012> Crash on launch inside scrollbar code.
1353 We need to ensure that we remove ourselves as the delegates of objects when we're going
1354 away as failing to do this can lead to crashes if the lifetime of the other objects
1355 is longer than ours.
1357 * platform/mac/ScrollAnimatorMac.mm:
1358 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1359 * platform/mac/ScrollbarThemeMac.mm:
1360 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1362 2011-02-02 Beth Dakin <bdakin@apple.com>
1368 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1370 Unreviewed WinCE build fix for r77397.
1372 * page/wince/FrameWinCE.cpp:
1373 (WebCore::computePageRectsForFrame):
1375 2011-02-02 Patrick Gansterer <paroga@webkit.org>
1377 Unreviewed WinCE build fix for r77398.
1379 * platform/graphics/wince/PlatformPathWinCE.cpp:
1380 (WebCore::containsPoint):
1381 (WebCore::inflateRectToContainPoint):
1382 (WebCore::PlatformPath::addRect):
1383 * platform/graphics/wince/SharedBitmap.cpp:
1384 (WebCore::SharedBitmap::drawPattern):
1385 * rendering/RenderThemeWinCE.cpp:
1386 (WebCore::RenderThemeWinCE::paintMenuListButton):
1387 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1388 (WebCore::RenderThemeWinCE::paintSliderTrack):
1389 (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1390 (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1391 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1392 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1394 2011-02-02 Jian Li <jianli@chromium.org>
1396 Reviewed by Kenneth Russell.
1398 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1399 https://bugs.webkit.org/show_bug.cgi?id=53559
1401 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1403 * html/canvas/DataView.h:
1404 (WebCore::DataView::beyondRange):
1406 2011-02-02 Sam Weinig <sam@webkit.org>
1408 Reviewed by Beth Dakin.
1410 Add ChromeClient function to paint custom overhang areas.
1411 https://bugs.webkit.org/show_bug.cgi?id=53639
1414 (WebCore::ChromeClient::paintCustomOverhangArea):
1415 * page/ChromeClient.h:
1416 Add ChromeClient function.
1418 * page/FrameView.cpp:
1419 (WebCore::FrameView::paintOverhangAreas):
1421 Call out the the ChromeClient, call ScrollView base implementation
1422 if the ChromeClient returns false.
1424 * platform/ScrollView.cpp:
1425 (WebCore::ScrollView::paintOverhangAreas):
1426 * platform/ScrollView.h:
1427 Add dirty rect for use when painting overhang areas.
1429 2011-02-02 Peter Kasting <pkasting@google.com>
1431 Not reviewed, build fix.
1433 Fix compile after r77427.
1434 https://bugs.webkit.org/show_bug.cgi?id=53455
1436 * platform/graphics/qt/ImageDecoderQt.cpp:
1437 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1438 * platform/image-decoders/ImageDecoder.cpp:
1439 (WebCore::ImageFrame::operator=):
1440 * platform/image-decoders/bmp/BMPImageReader.cpp:
1441 (WebCore::BMPImageReader::decodeBMP):
1442 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1443 (WebCore::JPEGImageDecoder::outputScanlines):
1444 * platform/image-decoders/png/PNGImageDecoder.cpp:
1445 (WebCore::PNGImageDecoder::rowAvailable):
1446 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1447 (WebCore::WEBPImageDecoder::decode):
1449 2011-02-02 Peter Kasting <pkasting@google.com>
1451 Reviewed by David Levin.
1453 Clean up ImageDecoder's comments (remove/trim/clarify).
1454 https://bugs.webkit.org/show_bug.cgi?id=53455
1456 This also renames or eliminates a couple of functions for clarity, and
1457 switches a couple erroneous strncmp() calls to memcmp().
1459 * platform/image-decoders/ImageDecoder.cpp:
1460 (WebCore::ImageDecoder::create):
1461 (WebCore::ImageFrame::clearPixelData):
1462 (WebCore::ImageFrame::zeroFillPixelData):
1463 (WebCore::ImageFrame::setSize):
1464 * platform/image-decoders/ImageDecoder.h:
1465 (WebCore::ImageFrame::originalFrameRect):
1466 (WebCore::ImageFrame::setOriginalFrameRect):
1467 (WebCore::ImageDecoder::ImageDecoder):
1468 (WebCore::ImageDecoder::~ImageDecoder):
1469 (WebCore::ImageDecoder::isSizeAvailable):
1470 (WebCore::ImageDecoder::size):
1471 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1472 (WebCore::ImageDecoder::clearFrameBufferCache):
1473 (WebCore::ImageDecoder::isOverSize):
1474 * platform/image-decoders/bmp/BMPImageReader.cpp:
1475 (WebCore::BMPImageReader::processNonRLEData):
1476 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1477 (WebCore::ImageFrame::setSize):
1478 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1479 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1480 (WebCore::GIFImageDecoder::frameComplete):
1481 (WebCore::GIFImageDecoder::initFrameBuffer):
1482 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1483 * platform/image-decoders/qt/ImageFrameQt.cpp:
1484 (WebCore::ImageFrame::operator=):
1485 (WebCore::ImageFrame::clearPixelData):
1486 (WebCore::ImageFrame::zeroFillPixelData):
1487 (WebCore::ImageFrame::setSize):
1488 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1489 (WebCore::ImageFrame::operator=):
1490 (WebCore::ImageFrame::clearPixelData):
1491 (WebCore::ImageFrame::zeroFillPixelData):
1492 (WebCore::ImageFrame::setSize):
1493 * platform/image-decoders/webp/WEBPImageDecoder.h:
1495 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
1497 [chromium] Adding support for reflections to the accelerated
1499 https://bugs.webkit.org/show_bug.cgi?id=53179
1501 All layout tests in compositing/reflections generate correct
1502 results with the exception of:
1503 1. nested-reflection-anchor-point.html : There appears to be
1504 some issue with the layer transform math that I haven't been
1505 able to track down yet.
1506 2. reflection-opacity.html : The current implementation applies
1507 opacity before doing the reflection which makes this test
1508 produce incorrect results. This will affect reflected layers
1509 with opacity that overlap their original layer. FIXME comment
1512 Tests: Covered by existing layout tests in compositing/reflections.
1513 Please see above for exceptions.
1515 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1516 (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1517 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1518 * platform/graphics/chromium/GraphicsLayerChromium.h:
1519 * platform/graphics/chromium/LayerChromium.cpp:
1520 (WebCore::LayerChromium::LayerChromium):
1521 * platform/graphics/chromium/LayerChromium.h:
1522 (WebCore::LayerChromium::setReplicaLayer):
1523 (WebCore::LayerChromium::replicaLayer):
1524 * platform/graphics/chromium/LayerRendererChromium.cpp:
1525 (WebCore::LayerRendererChromium::updateLayersRecursive):
1526 (WebCore::LayerRendererChromium::drawLayer):
1527 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1528 (WebCore::RenderSurfaceChromium::drawableContentRect):
1529 (WebCore::RenderSurfaceChromium::drawSurface):
1530 (WebCore::RenderSurfaceChromium::draw):
1531 * platform/graphics/chromium/RenderSurfaceChromium.h:
1532 (WebCore::RenderSurfaceChromium::drawTransform):
1534 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
1536 Reviewed by Tony Chang.
1538 [Chromium] Select popup with padding has white strip on right
1539 https://bugs.webkit.org/show_bug.cgi?id=53602
1541 No new tests as this change restores old behavior.
1543 * platform/chromium/PopupMenuChromium.cpp:
1544 (WebCore::PopupListBox::layout):
1546 2011-02-02 Beth Dakin <bdakin@apple.com>
1548 Reviewed by Mark Rowe.
1550 Fix for <rdar://problem/8950343> CrashTracer: [USER]
1551 1 crash in WebProcess at com.apple.WebCore:
1552 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1554 It is possible for a Scrollbar's ScrollableArea to be null,
1555 so we must null check.
1556 * platform/mac/ScrollbarThemeMac.mm:
1557 (WebCore::ScrollbarThemeMac::registerScrollbar):
1558 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1560 2011-02-02 Zhenyao Mo <zmo@google.com>
1562 Reviewed by Kenneth Russell.
1564 bufferData and bufferSubData should generate INVALID_VALUE with negative input
1565 https://bugs.webkit.org/show_bug.cgi?id=53626
1567 * html/canvas/WebGLRenderingContext.cpp:
1568 (WebCore::WebGLRenderingContext::bufferData):
1569 (WebCore::WebGLRenderingContext::bufferSubData):
1571 2011-02-02 Jeff Miller <jeffm@apple.com>
1573 Reviewed by Darin Adler and Steve Falkenburg.
1575 Add DerivedSources.make to some Visual Studio projects
1576 https://bugs.webkit.org/show_bug.cgi?id=53607
1578 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1580 2011-02-02 Cris Neckar <cdn@chromium.org>
1582 Reviewed by James Robinson.
1584 Refcount domwindows when dispatching device orientation events.
1585 https://bugs.webkit.org/show_bug.cgi?id=53623
1587 Test: fast/events/device-orientation-crash.html
1589 * dom/DeviceMotionController.cpp:
1590 (WebCore::DeviceMotionController::timerFired):
1591 (WebCore::DeviceMotionController::didChangeDeviceMotion):
1592 * dom/DeviceMotionController.h:
1593 * dom/DeviceOrientationController.cpp:
1594 (WebCore::DeviceOrientationController::timerFired):
1595 (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1596 * dom/DeviceOrientationController.h:
1598 2011-02-02 Zhenyao Mo <zmo@google.com>
1600 Reviewed by Kenneth Russell.
1602 A deleted object should never been bound again
1603 https://bugs.webkit.org/show_bug.cgi?id=53604
1605 * html/canvas/WebGLRenderingContext.cpp:
1606 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1607 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1608 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1609 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1610 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1611 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1612 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1613 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1614 (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1615 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1616 (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1617 (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1618 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1619 * html/canvas/WebGLRenderingContext.h:
1620 * html/canvas/WebGLTexture.h:
1621 (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1623 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1625 Unreviewed Efl buildfix after r77399.
1627 * CMakeListsEfl.txt:
1629 2011-02-02 Kenneth Russell <kbr@google.com>
1631 Reviewed by James Robinson.
1633 Rename Typed Array subset to subarray
1634 https://bugs.webkit.org/show_bug.cgi?id=53618
1636 * html/canvas/Float32Array.cpp:
1637 (WebCore::Float32Array::subarray):
1638 * html/canvas/Float32Array.h:
1639 * html/canvas/Float32Array.idl:
1640 * html/canvas/Int16Array.cpp:
1641 (WebCore::Int16Array::subarray):
1642 * html/canvas/Int16Array.h:
1643 * html/canvas/Int16Array.idl:
1644 * html/canvas/Int32Array.cpp:
1645 (WebCore::Int32Array::subarray):
1646 * html/canvas/Int32Array.h:
1647 * html/canvas/Int32Array.idl:
1648 * html/canvas/Int8Array.cpp:
1649 (WebCore::Int8Array::subarray):
1650 * html/canvas/Int8Array.h:
1651 * html/canvas/Int8Array.idl:
1652 * html/canvas/TypedArrayBase.h:
1653 (WebCore::TypedArrayBase::subarrayImpl):
1654 * html/canvas/Uint16Array.cpp:
1655 (WebCore::Uint16Array::subarray):
1656 * html/canvas/Uint16Array.h:
1657 * html/canvas/Uint16Array.idl:
1658 * html/canvas/Uint32Array.cpp:
1659 (WebCore::Uint32Array::subarray):
1660 * html/canvas/Uint32Array.h:
1661 * html/canvas/Uint32Array.idl:
1662 * html/canvas/Uint8Array.cpp:
1663 (WebCore::Uint8Array::subarray):
1664 * html/canvas/Uint8Array.h:
1665 * html/canvas/Uint8Array.idl:
1667 2011-02-02 Adam Barth <abarth@webkit.org>
1669 Reviewed by Eric Seidel.
1671 Add an empty file for Content Security Policy
1672 https://bugs.webkit.org/show_bug.cgi?id=53573
1674 Posting this as a separate patch because editing the build files is so
1682 * WebCore.vcproj/WebCore.vcproj:
1683 * WebCore.xcodeproj/project.pbxproj:
1685 2011-02-02 Dan Winship <danw@gnome.org>
1687 Reviewed by Martin Robinson.
1689 [GTK] remove old data: URI handler, fix the SoupRequest-based one
1691 https://bugs.webkit.org/show_bug.cgi?id=50885
1693 * platform/network/soup/ResourceHandleSoup.cpp:
1694 (WebCore::sendRequestCallback): Do content-type sniffing here for
1696 (WebCore::startHTTPRequest): Rename to match WebKit style.
1697 (WebCore::ResourceHandle::start): Pass everything except HTTP to
1698 startNonHTTPRequest, letting the SoupRequester decide whether it's
1700 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1701 code that was a no-op for file: URIs, but would break some data:
1704 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1706 Update even more references to right() and bottom() in Chromium. Sheesh.
1708 * platform/graphics/chromium/LayerRendererChromium.cpp:
1709 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1711 2011-02-02 Alejandro G. Castro <alex@igalia.com>
1713 Unreviewed Gtk3 buildfix after r77286.
1715 https://bugs.webkit.org/show_bug.cgi?id=53520
1716 Remove the physical terminology from IntRect and FloatRect.
1718 * platform/gtk/RenderThemeGtk3.cpp:
1719 (WebCore::RenderThemeGtk::paintMenuList):
1721 2011-02-02 Anders Carlsson <andersca@apple.com>
1725 * platform/mac/ScrollAnimatorMac.mm:
1726 (WebCore::ScrollAnimatorMac::pinnedInDirection):
1728 2011-02-02 David Hyatt <hyatt@apple.com>
1730 Reviewed by Dan Bernstein.
1732 https://bugs.webkit.org/show_bug.cgi?id=53619
1734 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1735 with maxX/maxY. This matches IntRect.
1737 * rendering/RenderBlock.cpp:
1738 (WebCore::RenderBlock::addOverflowFromFloats):
1739 (WebCore::RenderBlock::flipFloatForWritingMode):
1740 (WebCore::RenderBlock::paintFloats):
1741 (WebCore::RenderBlock::selectionGaps):
1742 (WebCore::RenderBlock::addOverhangingFloats):
1743 (WebCore::RenderBlock::addIntrudingFloats):
1744 (WebCore::RenderBlock::hitTestFloats):
1745 (WebCore::RenderBlock::adjustForBorderFit):
1746 * rendering/RenderBlock.h:
1747 (WebCore::RenderBlock::FloatingObject::x):
1748 (WebCore::RenderBlock::FloatingObject::maxX):
1749 (WebCore::RenderBlock::FloatingObject::y):
1750 (WebCore::RenderBlock::FloatingObject::maxY):
1751 (WebCore::RenderBlock::FloatingObject::setX):
1752 (WebCore::RenderBlock::FloatingObject::setY):
1753 (WebCore::RenderBlock::logicalTopForFloat):
1754 (WebCore::RenderBlock::logicalBottomForFloat):
1755 (WebCore::RenderBlock::logicalLeftForFloat):
1756 (WebCore::RenderBlock::logicalRightForFloat):
1757 (WebCore::RenderBlock::setLogicalTopForFloat):
1758 (WebCore::RenderBlock::setLogicalLeftForFloat):
1759 (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1760 (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1762 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
1764 Update more references to right() and bottom() in Chromium Win.
1766 * platform/graphics/chromium/TransparencyWin.cpp:
1767 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1768 (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1769 * rendering/RenderThemeChromiumWin.cpp:
1770 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1772 2011-02-02 Adam Roben <aroben@apple.com>
1774 Encode/decode FormData and FormDataElement objects consistently
1776 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1777 that contains form data fails (asserts in Debug build)
1779 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1780 now, even though we don't have an automated test for it yet. Writing a test is covered by
1781 <http://webkit.org/b/53616>.
1783 Reviewed by Darin Adler.
1785 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1788 * platform/network/FormData.cpp:
1789 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1790 default-constructed FormDataElement. Failing to do this meant that all future uses of the
1791 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1792 start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1793 to correctly set the FormDataElement's type based on this decoded type later in the
1795 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1796 matches its type and how we decode it.
1798 2011-02-02 Dan Winship <danw@gnome.org>
1800 Reviewed by Martin Robinson.
1802 [GTK] drop soup cache stuff, which has been moved to libsoup
1803 https://bugs.webkit.org/show_bug.cgi?id=50747
1805 Use libsoup-based cache/requester API and remove the WebCore version
1806 of this functionality. This has been pushed upstream fully.
1808 No new tests because this should not change functionality.
1810 * GNUmakefile.am: Update for removed files.
1811 * platform/network/ResourceHandleInternal.h:
1812 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1813 type names, drop m_requester.
1814 * platform/network/soup/ResourceHandleSoup.cpp:
1815 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1817 (WebCore::parseDataUrl):
1818 (WebCore::startHttp): Get the requester from the session rather
1819 than using m_requester.
1820 (WebCore::sendRequestCallback):
1821 (WebCore::ResourceHandle::platformSetDefersLoading):
1822 (WebCore::readCallback):
1823 (WebCore::startGio): Update type names.
1824 * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1825 * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1826 * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1827 * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1828 * platform/network/soup/cache/soup-request-data.c: Removed.
1829 * platform/network/soup/cache/soup-request-data.h: Removed.
1830 * platform/network/soup/cache/soup-request-file.c: Removed.
1831 * platform/network/soup/cache/soup-request-file.h: Removed.
1832 * platform/network/soup/cache/soup-request-http.c: Removed.
1833 * platform/network/soup/cache/soup-request-http.h: Removed.
1834 * platform/network/soup/cache/soup-request.c: Removed.
1835 * platform/network/soup/cache/soup-request.h: Removed.
1836 * platform/network/soup/cache/soup-requester.c: Removed.
1837 * platform/network/soup/cache/soup-requester.h: Removed.
1838 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1839 * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1840 * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1842 2011-02-02 David Hyatt <hyatt@apple.com>
1844 Reviewed by Darin Adler.
1846 https://bugs.webkit.org/show_bug.cgi?id=53520
1848 Remove physical accessors from IntRect and FloatRect.
1850 * page/FrameView.cpp:
1851 (WebCore::FrameView::adjustPageHeightDeprecated):
1852 * platform/graphics/FloatRect.h:
1853 * platform/graphics/IntRect.h:
1855 2011-02-02 David Hyatt <hyatt@apple.com>
1857 Reviewed by Dan Bernstein.
1859 https://bugs.webkit.org/show_bug.cgi?id=53614
1861 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
1863 * rendering/InlineFlowBox.cpp:
1864 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1865 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1866 * rendering/InlineFlowBox.h:
1867 (WebCore::InlineFlowBox::minYLayoutOverflow):
1868 (WebCore::InlineFlowBox::maxYLayoutOverflow):
1869 (WebCore::InlineFlowBox::minXLayoutOverflow):
1870 (WebCore::InlineFlowBox::maxXLayoutOverflow):
1871 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1872 (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1873 (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1874 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1875 (WebCore::InlineFlowBox::minYVisualOverflow):
1876 (WebCore::InlineFlowBox::maxYVisualOverflow):
1877 (WebCore::InlineFlowBox::minXVisualOverflow):
1878 (WebCore::InlineFlowBox::maxXVisualOverflow):
1879 (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1880 (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1881 (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1882 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1883 * rendering/RenderBlock.cpp:
1884 (WebCore::RenderBlock::adjustLinePositionForPagination):
1885 * rendering/RenderBlockLineLayout.cpp:
1886 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1887 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1888 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1889 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1890 * rendering/RenderBox.cpp:
1891 (WebCore::RenderBox::scrollWidth):
1892 (WebCore::RenderBox::scrollHeight):
1893 * rendering/RenderBox.h:
1894 (WebCore::RenderBox::minYLayoutOverflow):
1895 (WebCore::RenderBox::maxYLayoutOverflow):
1896 (WebCore::RenderBox::minXLayoutOverflow):
1897 (WebCore::RenderBox::maxXLayoutOverflow):
1898 (WebCore::RenderBox::logicalLeftLayoutOverflow):
1899 (WebCore::RenderBox::logicalRightLayoutOverflow):
1900 (WebCore::RenderBox::minYVisualOverflow):
1901 (WebCore::RenderBox::maxYVisualOverflow):
1902 (WebCore::RenderBox::minXVisualOverflow):
1903 (WebCore::RenderBox::maxXVisualOverflow):
1904 (WebCore::RenderBox::logicalLeftVisualOverflow):
1905 (WebCore::RenderBox::logicalRightVisualOverflow):
1906 * rendering/RenderInline.cpp:
1907 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1908 * rendering/RenderLayerCompositor.cpp:
1909 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1910 * rendering/RenderLineBoxList.cpp:
1911 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1912 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1913 (WebCore::RenderLineBoxList::paint):
1914 (WebCore::RenderLineBoxList::hitTest):
1915 * rendering/RenderMarquee.cpp:
1916 (WebCore::RenderMarquee::computePosition):
1917 * rendering/RenderOverflow.h:
1918 (WebCore::RenderOverflow::RenderOverflow):
1919 (WebCore::RenderOverflow::minYLayoutOverflow):
1920 (WebCore::RenderOverflow::maxYLayoutOverflow):
1921 (WebCore::RenderOverflow::minXLayoutOverflow):
1922 (WebCore::RenderOverflow::maxXLayoutOverflow):
1923 (WebCore::RenderOverflow::minYVisualOverflow):
1924 (WebCore::RenderOverflow::maxYVisualOverflow):
1925 (WebCore::RenderOverflow::minXVisualOverflow):
1926 (WebCore::RenderOverflow::maxXVisualOverflow):
1927 (WebCore::RenderOverflow::setminYVisualOverflow):
1928 (WebCore::RenderOverflow::visualOverflowRect):
1929 (WebCore::RenderOverflow::move):
1930 (WebCore::RenderOverflow::addVisualOverflow):
1931 (WebCore::RenderOverflow::setVisualOverflow):
1932 * rendering/RenderReplaced.cpp:
1933 (WebCore::RenderReplaced::shouldPaint):
1934 * rendering/RenderTable.cpp:
1935 (WebCore::RenderTable::layout):
1936 (WebCore::RenderTable::paint):
1937 * rendering/RenderTableCell.cpp:
1938 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1939 * rendering/RenderTreeAsText.cpp:
1940 (WebCore::writeLayers):
1941 * rendering/RenderView.cpp:
1942 (WebCore::RenderView::docTop):
1944 2011-02-02 Steve Lacey <sjl@chromium.org>
1946 Reviewed by Eric Carlson.
1948 Implement basic media statistics on media elements.
1949 https://bugs.webkit.org/show_bug.cgi?id=53322
1951 * Configurations/FeatureDefines.xcconfig:
1954 * html/HTMLMediaElement.cpp:
1955 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1956 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1957 * html/HTMLMediaElement.h:
1958 * html/HTMLMediaElement.idl:
1959 * html/HTMLVideoElement.cpp:
1960 (WebCore::HTMLVideoElement::webkitDecodedFrames):
1961 (WebCore::HTMLVideoElement::webkitDroppedFrames):
1962 * html/HTMLVideoElement.h:
1963 * html/HTMLVideoElement.idl:
1964 * platform/graphics/MediaPlayer.cpp:
1965 (WebCore::MediaPlayer::decodedFrames):
1966 (WebCore::MediaPlayer::droppedFrames):
1967 (WebCore::MediaPlayer::audioBytesDecoded):
1968 (WebCore::MediaPlayer::videoBytesDecoded):
1969 * platform/graphics/MediaPlayer.h:
1970 * platform/graphics/MediaPlayerPrivate.h:
1971 (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1972 (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1973 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1974 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1976 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
1978 Reviewed by David Hyatt.
1980 More conversion from right()/bottom() to maxX()/maxY().
1982 * page/qt/FrameQt.cpp:
1983 (WebCore::Frame::dragImageForSelection):
1984 * platform/graphics/qt/GraphicsContextQt.cpp:
1985 (WebCore::GraphicsContext::roundToDevicePixels):
1987 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
1989 [wx] Build fixes for wxWebKit.
1991 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1993 * bindings/scripts/CodeGeneratorCPP.pm:
1994 * page/wx/DragControllerWx.cpp:
1995 (WebCore::DragController::dragOperation):
1996 * platform/graphics/wx/FontCustomPlatformData.h:
1997 * platform/graphics/wx/FontPlatformData.h:
1998 (WebCore::FontPlatformData::widthVariant):
1999 * platform/graphics/wx/FontPlatformDataWx.cpp:
2000 (WebCore::FontPlatformData::computeHash):
2001 * platform/graphics/wx/FontWx.cpp:
2002 * platform/graphics/wx/GraphicsContextWx.cpp:
2003 (WebCore::GraphicsContext::fillPath):
2004 (WebCore::GraphicsContext::strokePath):
2005 * platform/wx/RenderThemeWx.cpp:
2007 2011-02-02 David Hyatt <hyatt@apple.com>
2009 Reviewed by Darin Adler.
2011 More right()/bottom() to maxX()/maxY() conversion.
2013 * page/chromium/FrameChromium.cpp:
2014 (WebCore::Frame::nodeImage):
2015 (WebCore::Frame::dragImageForSelection):
2017 2011-02-02 Sam Weinig <sam@webkit.org>
2019 Fix windows clean build.
2021 * DerivedSources.make:
2023 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
2025 Reviewed by Pavel Feldman.
2027 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
2029 https://bugs.webkit.org/show_bug.cgi?id=53606
2031 Display progress while taking a snapshot, and hints while loading
2032 and parsing. This is needed because taking detailed heap snapshots
2035 * English.lproj/localizedStrings.js:
2036 * inspector/front-end/DetailedHeapshotView.js:
2037 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2038 * inspector/front-end/ProfilesPanel.js:
2039 (WebInspector.ProfilesPanel.prototype._reset):
2040 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2041 (WebInspector.ProfilesPanel.prototype.getProfiles):
2042 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2043 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
2044 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2045 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2046 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2047 * inspector/front-end/SidebarTreeElement.js:
2048 (WebInspector.SidebarTreeElement.prototype.refreshTitles):
2050 2011-02-02 David Hyatt <hyatt@apple.com>
2052 Reviewed by Darin Adler.
2054 More conversion from right()/bottom() to maxX()/maxY().
2056 * platform/win/PopupMenuWin.cpp:
2057 (WebCore::PopupMenuWin::calculatePositionAndSize):
2058 (WebCore::PopupMenuWin::paint):
2060 2011-02-02 David Hyatt <hyatt@apple.com>
2062 Reviewed by Darin Adler.
2064 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
2066 * platform/chromium/PopupMenuChromium.cpp:
2067 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2068 (WebCore::PopupListBox::scrollToRevealRow):
2069 (WebCore::PopupListBox::layout):
2070 * platform/graphics/FloatRect.h:
2071 * platform/graphics/IntRect.h:
2072 * platform/graphics/cairo/ImageBufferCairo.cpp:
2073 (WebCore::getImageData):
2074 (WebCore::putImageData):
2075 * platform/graphics/chromium/GLES2Canvas.cpp:
2076 (WebCore::GLES2Canvas::drawTexturedRect):
2077 * platform/graphics/chromium/LayerRendererChromium.cpp:
2078 (WebCore::LayerRendererChromium::verticalScrollbarRect):
2079 (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2080 (WebCore::LayerRendererChromium::setScissorToRect):
2081 (WebCore::LayerRendererChromium::setDrawViewportRect):
2082 * platform/graphics/chromium/LayerTilerChromium.cpp:
2083 (WebCore::LayerTilerChromium::contentRectToTileIndices):
2084 (WebCore::LayerTilerChromium::growLayerToContain):
2085 * platform/graphics/gpu/TilingData.cpp:
2086 (WebCore::TilingData::tileBoundsWithBorder):
2087 (WebCore::TilingData::overlappedTileIndices):
2088 * platform/graphics/qt/ImageBufferQt.cpp:
2089 (WebCore::getImageData):
2090 (WebCore::putImageData):
2091 * platform/graphics/skia/FloatRectSkia.cpp:
2092 (WebCore::FloatRect::operator SkRect):
2093 * platform/graphics/skia/ImageBufferSkia.cpp:
2094 (WebCore::getImageData):
2095 (WebCore::putImageData):
2096 * platform/graphics/skia/IntRectSkia.cpp:
2097 (WebCore::IntRect::operator SkIRect):
2098 (WebCore::IntRect::operator SkRect):
2099 * platform/graphics/skia/PlatformContextSkia.cpp:
2100 (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2101 * platform/graphics/win/GraphicsContextWin.cpp:
2102 (WebCore::GraphicsContextPlatformPrivate::clip):
2103 * platform/graphics/win/IntRectWin.cpp:
2104 (WebCore::IntRect::operator RECT):
2105 * platform/graphics/win/UniscribeController.cpp:
2106 (WebCore::UniscribeController::shapeAndPlaceItem):
2107 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2108 (WebCore::roundRect):
2110 (WebCore::TransparentLayerDC::TransparentLayerDC):
2111 (WebCore::GraphicsContext::drawRect):
2112 (WebCore::GraphicsContext::drawEllipse):
2113 (WebCore::GraphicsContext::strokeArc):
2114 (WebCore::GraphicsContext::clip):
2115 (WebCore::GraphicsContext::clipOut):
2116 (WebCore::GraphicsContext::strokeRect):
2117 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2118 (WebCore::GIFImageDecoder::initFrameBuffer):
2119 * platform/win/PopupMenuWin.cpp:
2120 (WebCore::PopupMenuWin::calculatePositionAndSize):
2121 (WebCore::PopupMenuWin::paint):
2122 * plugins/win/PluginViewWin.cpp:
2123 (WebCore::PluginView::updatePluginWidget):
2124 (WebCore::PluginView::invalidateRect):
2125 * rendering/RenderThemeSafari.cpp:
2126 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2127 (WebCore::RenderThemeSafari::paintMenuListButton):
2128 (WebCore::RenderThemeSafari::paintSliderTrack):
2129 * rendering/RenderThemeWin.cpp:
2130 (WebCore::RenderThemeWin::paintInnerSpinButton):
2131 (WebCore::RenderThemeWin::paintMenuListButton):
2133 2011-02-02 Antti Koivisto <antti@apple.com>
2135 Reviewed by Maciej Stachowiak.
2137 Use Vector instead of a linked list for rules in CSSStyleSelector
2138 https://bugs.webkit.org/show_bug.cgi?id=53581
2140 - eliminate CSSRuleDataList, replace with Vector<RuleData>
2141 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
2142 (these are selector internal classes, CSS prefix is better reserved for public ones).
2144 - shrink the vectors to fit after collecting the rules
2146 * css/CSSStyleSelector.cpp:
2147 (WebCore::RuleData::RuleData):
2148 (WebCore::RuleData::position):
2149 (WebCore::RuleData::rule):
2150 (WebCore::RuleData::selector):
2151 (WebCore::RuleSet::disableAutoShrinkToFit):
2152 (WebCore::RuleSet::getIDRules):
2153 (WebCore::RuleSet::getClassRules):
2154 (WebCore::RuleSet::getTagRules):
2155 (WebCore::RuleSet::getPseudoRules):
2156 (WebCore::RuleSet::getUniversalRules):
2157 (WebCore::RuleSet::getPageRules):
2158 (WebCore::collectSiblingRulesInDefaultStyle):
2159 (WebCore::CSSStyleSelector::CSSStyleSelector):
2160 (WebCore::loadFullDefaultStyle):
2161 (WebCore::loadSimpleDefaultStyle):
2162 (WebCore::loadViewSourceStyle):
2163 (WebCore::CSSStyleSelector::matchRules):
2164 (WebCore::CSSStyleSelector::matchRulesForList):
2165 (WebCore::operator >):
2166 (WebCore::operator <=):
2167 (WebCore::CSSStyleSelector::sortMatchedRules):
2168 (WebCore::CSSStyleSelector::matchUARules):
2169 (WebCore::RuleSet::RuleSet):
2170 (WebCore::RuleSet::~RuleSet):
2171 (WebCore::RuleSet::addToRuleSet):
2172 (WebCore::RuleSet::addRule):
2173 (WebCore::RuleSet::addPageRule):
2174 (WebCore::RuleSet::addRulesFromSheet):
2175 (WebCore::RuleSet::addStyleRule):
2176 (WebCore::collectIdsAndSiblingRulesFromList):
2177 (WebCore::RuleSet::collectIdsAndSiblingRules):
2178 (WebCore::shrinkMapVectorsToFit):
2179 (WebCore::RuleSet::shrinkToFit):
2180 (WebCore::CSSStyleSelector::matchPageRules):
2181 (WebCore::CSSStyleSelector::matchPageRulesForList):
2182 * css/CSSStyleSelector.h:
2183 (WebCore::CSSStyleSelector::addMatchedRule):
2185 2011-02-02 Andrey Adaikin <aandrey@google.com>
2187 Reviewed by Pavel Feldman.
2189 Web Inspector: Use DIVs instead of TABLE in TextViewer
2190 https://bugs.webkit.org/show_bug.cgi?id=53299
2192 * inspector/front-end/SourceFrame.js:
2193 (WebInspector.SourceFrame.prototype._createTextViewer):
2194 (WebInspector.SourceFrame.prototype._mouseDown):
2195 * inspector/front-end/TextViewer.js:
2196 (WebInspector.TextViewer):
2197 (WebInspector.TextViewer.prototype.set mimeType):
2198 (WebInspector.TextViewer.prototype.revealLine):
2199 (WebInspector.TextViewer.prototype.addDecoration):
2200 (WebInspector.TextViewer.prototype.removeDecoration):
2201 (WebInspector.TextViewer.prototype.markAndRevealRange):
2202 (WebInspector.TextViewer.prototype.highlightLine):
2203 (WebInspector.TextViewer.prototype.clearLineHighlight):
2204 (WebInspector.TextViewer.prototype.freeCachedElements):
2205 (WebInspector.TextViewer.prototype._handleKeyDown):
2206 (WebInspector.TextViewer.prototype.editLine.finishEditing):
2207 (WebInspector.TextViewer.prototype.editLine):
2208 (WebInspector.TextViewer.prototype.beginUpdates):
2209 (WebInspector.TextViewer.prototype.endUpdates):
2210 (WebInspector.TextViewer.prototype.resize):
2211 (WebInspector.TextViewer.prototype._textChanged):
2212 (WebInspector.TextViewer.prototype._updatePanelOffsets):
2213 (WebInspector.TextViewer.prototype._syncScroll):
2214 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2215 (WebInspector.TextEditorChunkedPanel):
2216 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2217 (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2218 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2219 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2220 (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2221 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2222 (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2223 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2224 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2225 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2226 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2227 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2228 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2229 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2230 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2231 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2232 (WebInspector.TextEditorGutterPanel):
2233 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2234 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2235 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2236 (WebInspector.TextEditorGutterChunk):
2237 (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2238 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2239 (WebInspector.TextEditorGutterChunk.prototype.get height):
2240 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2241 (WebInspector.TextEditorMainPanel):
2242 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2243 (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2244 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2245 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2246 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2247 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2248 (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2249 (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2250 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2251 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2252 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2253 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2254 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2255 (WebInspector.TextEditorMainPanel.prototype._getSelection):
2256 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2257 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2258 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2259 (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2260 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2261 (WebInspector.TextEditorMainChunk):
2262 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2263 (WebInspector.TextEditorMainChunk.prototype.set expanded):
2264 (WebInspector.TextEditorMainChunk.prototype.get height):
2265 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2266 (WebInspector.TextEditorMainChunk.prototype._createRow):
2268 * inspector/front-end/textViewer.css:
2269 (.text-editor-lines):
2270 (.text-editor-contents):
2271 (.text-editor-editable):
2272 (.webkit-line-decorations):
2273 (.webkit-line-number):
2274 (.webkit-execution-line.webkit-line-content):
2275 (.diff-container .webkit-added-line.webkit-line-content):
2276 (.diff-container .webkit-removed-line.webkit-line-content):
2277 (.diff-container .webkit-changed-line.webkit-line-content):
2278 (.webkit-highlighted-line.webkit-line-content):
2280 2011-02-02 Hans Wennborg <hans@chromium.org>
2282 Reviewed by Jeremy Orlow.
2284 IndexedDB: Implement support for cursor updates
2285 https://bugs.webkit.org/show_bug.cgi?id=53421
2287 Implement support for cursor updates using the same pattern as cursor
2288 deletes: forward the calls to the IDBObjectStoreBackend::put().
2289 The put() function's signature needs to be changed to allow for a
2290 "cursor update mode". This makes the signature more clear anyway,
2291 since it replaces the boolean parameter.
2293 Test: storage/indexeddb/cursor-update.html
2295 * storage/IDBCursor.idl:
2296 * storage/IDBCursorBackendImpl.cpp:
2297 (WebCore::IDBCursorBackendImpl::key):
2298 (WebCore::IDBCursorBackendImpl::update):
2299 * storage/IDBCursorBackendImpl.h:
2300 * storage/IDBObjectStore.cpp:
2301 (WebCore::IDBObjectStore::add):
2302 (WebCore::IDBObjectStore::put):
2303 * storage/IDBObjectStoreBackendImpl.cpp:
2304 (WebCore::IDBObjectStoreBackendImpl::put):
2305 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2306 * storage/IDBObjectStoreBackendImpl.h:
2307 * storage/IDBObjectStoreBackendInterface.h:
2309 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
2311 Reviewed by Kent Tamura.
2313 Fix popup menu RTL bug introduced by Changeset 75982.
2314 https://bugs.webkit.org/show_bug.cgi?id=53567
2316 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2318 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
2320 * platform/chromium/PopupMenuChromium.cpp:
2321 (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.
2322 (WebCore::PopupContainer::showPopup): Change the passing parameter.
2323 (WebCore::PopupContainer::refresh): Change the passing parameter.
2324 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2326 2011-02-02 Alejandro G. Castro <alex@igalia.com>
2328 Reviewed by Martin Robinson.
2330 [GTK] Fix dist compilation
2331 https://bugs.webkit.org/show_bug.cgi?id=53579
2333 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2336 2011-02-02 Dai Mikurube <dmikurube@google.com>
2338 Reviewed by David Levin.
2340 Make mime type lookup in File::create(path) thread-safe
2341 https://bugs.webkit.org/show_bug.cgi?id=47700
2343 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2344 The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2345 both FILE_SYSTEM and WORKERS are enabled.
2347 No tests for this patch. This patch itself doesn't change the behaviors.
2348 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2349 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2350 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2351 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2353 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2354 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2355 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2356 * platform/android/TemporaryLinkStubs.cpp:
2357 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2358 * platform/brew/MIMETypeRegistryBrew.cpp:
2359 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2360 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2361 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2362 * platform/efl/MIMETypeRegistryEfl.cpp:
2363 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2364 * platform/gtk/MIMETypeRegistryGtk.cpp:
2365 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2366 * platform/haiku/MIMETypeRegistryHaiku.cpp:
2367 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2368 * platform/mac/MIMETypeRegistryMac.mm:
2369 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2370 * platform/qt/MIMETypeRegistryQt.cpp:
2371 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2372 * platform/win/MIMETypeRegistryWin.cpp:
2373 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2374 * platform/wince/MIMETypeRegistryWinCE.cpp:
2375 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2376 * platform/wx/MimeTypeRegistryWx.cpp:
2377 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2379 2011-02-01 Adam Barth <abarth@webkit.org>
2381 Reviewed by Alexey Proskuryakov.
2383 Improve readability of updateWidget by converting bool parameter to an enum
2384 https://bugs.webkit.org/show_bug.cgi?id=53576
2386 As requested on webkit-dev.
2388 * html/HTMLEmbedElement.cpp:
2389 (WebCore::HTMLEmbedElement::updateWidget):
2390 * html/HTMLEmbedElement.h:
2391 * html/HTMLMediaElement.cpp:
2392 (WebCore::HTMLMediaElement::updateWidget):
2393 * html/HTMLMediaElement.h:
2394 * html/HTMLObjectElement.cpp:
2395 (WebCore::HTMLObjectElement::updateWidget):
2396 * html/HTMLObjectElement.h:
2397 * html/HTMLPlugInImageElement.cpp:
2398 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2399 * html/HTMLPlugInImageElement.h:
2400 * page/FrameView.cpp:
2401 (WebCore::FrameView::updateWidget):
2403 2011-02-01 James Robinson <jamesr@chromium.org>
2405 Reviewed by Adam Barth.
2407 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2408 https://bugs.webkit.org/show_bug.cgi?id=53566
2410 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2411 Other than being large enough for this one test case, this limit is arbitrary.
2413 * bindings/v8/V8Proxy.h:
2415 2011-02-01 Adam Barth <abarth@webkit.org>
2417 Reviewed by Andreas Kling.
2419 Remove useless comment
2420 https://bugs.webkit.org/show_bug.cgi?id=53549
2422 The reason for this parameter is captured in
2423 plugins/netscape-plugin-setwindow-size.html, which is a better place to
2424 capture it than in this comment (which otherwise just re-iterates the
2425 name of the parameter).
2427 * html/HTMLPlugInImageElement.cpp:
2428 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2430 2011-02-01 James Simonsen <simonjam@chromium.org>
2432 Reviewed by Tony Gentilcore.
2434 [WebTiming] Remove asserts that verify timestamp order
2435 https://bugs.webkit.org/show_bug.cgi?id=53548
2437 Covered by existing tests.
2439 * loader/FrameLoader.cpp:
2440 (WebCore::FrameLoader::stopLoading): Remove assert.
2441 * page/DOMWindow.cpp:
2442 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2444 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2446 Add the 'default_targets' enclosure to the flags.
2448 * WebCore.gyp/WebCore.gyp: Did it.
2450 2011-02-01 Mihai Parparita <mihaip@chromium.org>
2452 Reviewed by James Robinson.
2454 Async event handlers should not fire within a modal dialog
2455 https://bugs.webkit.org/show_bug.cgi?id=53202
2457 Asychronous events that use EventQueue would currently fire while a
2458 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2459 SuspendableTimer (which automatically gets suspended while dialogs are
2460 up and in other cases where JS execution is not allowed).
2462 Test: fast/events/scroll-event-during-modal-dialog.html
2465 (WebCore::Document::Document):
2466 * dom/EventQueue.cpp:
2467 (WebCore::EventQueueTimer::EventQueueTimer):
2468 (WebCore::EventQueueTimer::fired):
2469 (WebCore::EventQueue::EventQueue):
2470 (WebCore::EventQueue::enqueueEvent):
2471 (WebCore::EventQueue::pendingEventTimerFired):
2473 (WebCore::EventQueue::create):
2474 * page/SuspendableTimer.cpp:
2475 (WebCore::SuspendableTimer::SuspendableTimer):
2476 (WebCore::SuspendableTimer::suspend):
2477 (WebCore::SuspendableTimer::resume):
2478 * page/SuspendableTimer.h:
2480 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2482 Reviewed by Andreas Kling.
2484 Change wrong PLATFORM(WIN) to USE(WININET)
2485 https://bugs.webkit.org/show_bug.cgi?id=53547
2487 * platform/network/ResourceHandle.h:
2489 2011-02-01 Beth Dakin <bdakin@apple.com>
2493 * platform/mac/ScrollAnimatorMac.mm:
2494 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2496 2011-01-25 Martin Robinson <mrobinson@igalia.com>
2498 Reviewed by Gustavo Noronha Silva.
2500 [GTK] Two tests crash after r76555
2501 https://bugs.webkit.org/show_bug.cgi?id=53057
2503 Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2504 This ensures that ::start() is not called when there is a scheduled failure and also
2505 reduces code duplication.
2507 * platform/network/soup/ResourceHandleSoup.cpp:
2508 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2510 2011-02-01 Martin Robinson <mrobinson@igalia.com>
2512 Reviewed by Eric Seidel.
2514 [GTK] GObject DOM bindings do no support the CallWith attribute
2515 https://bugs.webkit.org/show_bug.cgi?id=53331
2517 Disable building GObject DOM bindings for IndexedDB because we do not support
2518 the CallWith attribute at this time.
2520 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2522 2011-02-01 Darin Adler <darin@apple.com>
2524 Reviewed by Brady Eidson.
2526 Fix a couple loose ends from the back/forward tree encode/decode work
2527 https://bugs.webkit.org/show_bug.cgi?id=53537
2529 * history/HistoryItem.cpp:
2530 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2531 original URL string; no need to encode it twice.
2532 (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2533 * history/HistoryItem.h: Removed declaration for function that is no
2534 longer defined nor used.
2536 2011-02-01 Tony Chang <tony@chromium.org>
2538 Reviewed by Kent Tamura.
2540 [chromium] disable arm uninitialized variable warnings
2541 https://bugs.webkit.org/show_bug.cgi?id=53553
2543 We just got another error:
2544 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2545 'colorTransparent.unstatic.4879' may be used uninitialized in this
2548 * WebCore.gyp/WebCore.gyp:
2550 2011-02-01 chris reiss <christopher.reiss@nokia.com>
2552 Reviewed by Adam Barth.
2554 Self-replicating code makes Safari hang and eventually crash
2555 https://bugs.webkit.org/show_bug.cgi?id=15123
2558 Here we are replicating the Firefox safeguard against
2559 recursive document.write( ) 's.
2561 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
2562 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
2563 a) imposes a recursion limit of 20 on document.write( ) and
2564 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2565 To see why this is necessary, consider the script :
2568 var t = document.body.innerHTML;
2572 This will create a tree both broad and deep as the script keeps appending itself to the text. If
2573 we just return one level after the recursion limit is reached, we still allow millions of copies to
2574 duplicate (and execute).
2576 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2577 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
2579 Test: fast/dom/Document/document-write-recursion.html
2580 Test: fast/dom/Document/document-close-iframe-load.html
2581 Test: fast/dom/Document/document-close-nested-iframe-load.html
2585 (WebCore::Document::Document):
2586 (WebCore::Document::write):
2589 2011-02-01 Johnny Ding <jnd@chromium.org>
2591 Reviewed by Darin Adler.
2593 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2594 https://bugs.webkit.org/show_bug.cgi?id=53424
2596 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2598 * html/HTMLAnchorElement.cpp:
2599 (WebCore::handleLinkClick):
2601 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
2603 Unreviewed Qt buildfix after r77286.
2605 https://bugs.webkit.org/show_bug.cgi?id=53520
2606 Remove the physical terminology from IntRect and FloatRect.
2608 * platform/graphics/TiledBackingStore.cpp:
2609 (WebCore::TiledBackingStore::createTiles):
2611 2011-02-01 Sam Weinig <sam@webkit.org>
2613 Fix Mac production builds.
2615 * DerivedSources.make:
2616 * WebCore.xcodeproj/project.pbxproj:
2617 * platform/mac/ScrollAnimatorMac.h:
2618 * platform/mac/ScrollbarThemeMac.h:
2620 2011-02-01 Darin Adler <darin@apple.com>
2622 Reviewed by Chris Fleizach.
2624 REGRESSION: Removing focus from area element causes unwanted scrolling
2625 https://bugs.webkit.org/show_bug.cgi?id=50169
2627 Test: fast/images/imagemap-scroll.html
2629 * html/HTMLAreaElement.cpp:
2630 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2631 RenderImage::areaElementFocusChanged function.
2632 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2633 here that calls setNeedsLayout on the image's renderer. This was an
2634 attempt to cause repaint of the renderer, but this function does not
2635 need to do that. Also changed this to use the imageElement function
2636 to avoid repeating code.
2638 * html/HTMLAreaElement.h: Updated for above changes.
2640 * rendering/RenderImage.cpp:
2641 (WebCore::RenderImage::paint): Updated for name change.
2642 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2643 paintFocusRing, because it only paints area focus rings, and should
2644 not be confused with paintFocusRing functions in other classes. Also
2645 removed the unused style argument. Removed the code that used an
2646 HTMLCollection to see if the focused area element is for this image
2647 and instead just call imageElement on the area element.
2648 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2650 * rendering/RenderImage.h: Added a public areaElementFocusChanged
2651 function for HTMLAreaElement to call. Made the paintFocusRing function
2652 private, renamed it to paintAreaElementFocusRing, and removed its
2653 unused style argument.
2655 2011-02-01 Patrick Gansterer <paroga@webkit.org>
2657 Unreviewed WinCE build fix for r77286.
2659 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2660 (WebCore::TransparentLayerDC::TransparentLayerDC):
2662 2011-02-01 Chris Fleizach <cfleizach@apple.com>
2664 Reviewed by Darin Adler.
2666 AX: AXPosition of AXScrollArea is wrong
2667 https://bugs.webkit.org/show_bug.cgi?id=53511
2669 AccessibilityScrollView needed to return a valid documentFrameView() object.
2670 At the same time, the code from document() should be consolidated in
2671 AccessibilityObject, so all objects can use it.
2673 Test: platform/mac/accessibility/webkit-scrollarea-position.html
2675 * accessibility/AccessibilityObject.cpp:
2676 (WebCore::AccessibilityObject::document):
2677 * accessibility/AccessibilityObject.h:
2678 * accessibility/AccessibilityScrollView.cpp:
2679 (WebCore::AccessibilityScrollView::accessibilityHitTest):
2680 (WebCore::AccessibilityScrollView::documentFrameView):
2681 * accessibility/AccessibilityScrollView.h:
2683 2011-02-01 Zhenyao Mo <zmo@google.com>
2685 Reviewed by Kenneth Russell.
2687 getUniform should support SAMPLER_2D or SAMPLER_CUBE
2688 https://bugs.webkit.org/show_bug.cgi?id=52190
2690 * html/canvas/WebGLRenderingContext.cpp:
2691 (WebCore::WebGLRenderingContext::getUniform):
2693 2011-02-01 Zhenyao Mo <zmo@google.com>
2695 Reviewed by Darin Adler.
2697 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2698 https://bugs.webkit.org/show_bug.cgi?id=53531
2700 With this fix, running WebGL conformance tests should no longer crash randomly.
2702 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2703 (WebCore::GraphicsContext3D::getImageData):
2705 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
2707 One more Chromium build fix after r77286.
2709 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2710 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2712 2011-02-01 Sam Weinig <sam@webkit.org>
2714 Fix the build for Beth.
2716 * platform/mac/ScrollAnimatorMac.mm:
2717 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2719 2011-02-01 Sam Weinig <sam@webkit.org>
2721 Reviewed by Beth Dakin.
2723 Part 2 for <rdar://problem/8492788>
2724 Adopt WKScrollbarPainterController
2726 Use header detection to define scrollbar painting controller #define.
2729 * platform/mac/ScrollAnimatorMac.h:
2730 * platform/mac/ScrollbarThemeMac.h:
2731 * platform/mac/WebCoreSystemInterface.h:
2732 * platform/mac/WebCoreSystemInterface.mm:
2734 2011-02-01 David Hyatt <hyatt@apple.com>
2736 Reviewed by Oliver Hunt.
2738 https://bugs.webkit.org/show_bug.cgi?id=53520
2740 Remove the physical terminology from IntRect and FloatRect.
2742 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2743 we need to update our terminology to be more accurate.
2745 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2746 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
2747 even for flipped rectangles.
2749 * accessibility/AccessibilityRenderObject.cpp:
2750 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2751 * accessibility/mac/AccessibilityObjectWrapper.mm:
2752 (-[AccessibilityObjectWrapper position]):
2754 (WebCore::ClientRect::right):
2755 (WebCore::ClientRect::bottom):
2756 * html/HTMLCanvasElement.cpp:
2757 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2758 * html/canvas/CanvasRenderingContext2D.cpp:
2759 (WebCore::normalizeRect):
2760 * inspector/InspectorAgent.cpp:
2761 (WebCore::InspectorAgent::drawElementTitle):
2762 * page/DOMWindow.cpp:
2763 (WebCore::DOMWindow::adjustWindowRect):
2764 * page/DragController.cpp:
2765 (WebCore::dragLocForSelectionDrag):
2766 * page/EventHandler.cpp:
2767 (WebCore::EventHandler::sendContextMenuEventForKey):
2768 * page/PrintContext.cpp:
2769 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2770 (WebCore::PrintContext::pageNumberForElement):
2771 * page/SpatialNavigation.cpp:
2773 (WebCore::areRectsFullyAligned):
2774 (WebCore::areRectsMoreThanFullScreenApart):
2777 (WebCore::isRectInDirection):
2778 (WebCore::entryAndExitPointsForDirection):
2779 (WebCore::virtualRectForDirection):
2780 * page/WindowFeatures.cpp:
2781 (WebCore::WindowFeatures::WindowFeatures):
2782 * platform/ScrollView.cpp:
2783 (WebCore::ScrollView::wheelEvent):
2784 * platform/Scrollbar.cpp:
2785 (WebCore::Scrollbar::setFrameRect):
2786 * platform/ScrollbarThemeComposite.cpp:
2787 (WebCore::ScrollbarThemeComposite::splitTrack):
2788 * platform/chromium/ScrollbarThemeChromium.cpp:
2789 (WebCore::ScrollbarThemeChromium::paintTickmarks):
2790 * platform/graphics/FloatQuad.h:
2791 (WebCore::FloatQuad::FloatQuad):
2792 * platform/graphics/FloatRect.cpp:
2793 (WebCore::FloatRect::intersects):
2794 (WebCore::FloatRect::contains):
2795 (WebCore::FloatRect::intersect):
2796 (WebCore::FloatRect::unite):
2797 (WebCore::enclosingIntRect):
2798 * platform/graphics/FloatRect.h:
2799 (WebCore::FloatRect::maxX):
2800 (WebCore::FloatRect::maxY):
2801 (WebCore::FloatRect::contains):
2802 * platform/graphics/IntRect.cpp:
2803 (WebCore::IntRect::intersects):
2804 (WebCore::IntRect::contains):
2805 (WebCore::IntRect::intersect):
2806 (WebCore::IntRect::unite):
2807 * platform/graphics/IntRect.h:
2808 (WebCore::IntRect::maxX):
2809 (WebCore::IntRect::maxY):
2810 (WebCore::IntRect::shiftXEdgeTo):
2811 (WebCore::IntRect::shiftMaxXEdgeTo):
2812 (WebCore::IntRect::shiftYEdgeTo):
2813 (WebCore::IntRect::shiftMaxYEdgeTo):
2814 (WebCore::IntRect::contains):
2815 * platform/graphics/WidthIterator.cpp:
2816 (WebCore::WidthIterator::advance):
2817 * platform/graphics/cg/GraphicsContextCG.cpp:
2818 (WebCore::GraphicsContext::drawRect):
2819 (WebCore::GraphicsContext::fillPath):
2820 (WebCore::GraphicsContext::fillRect):
2821 * platform/graphics/cg/ImageBufferCG.cpp:
2822 (WebCore::getImageData):
2823 (WebCore::putImageData):
2824 * platform/graphics/cg/ImageCG.cpp:
2825 (WebCore::BitmapImage::draw):
2826 * platform/graphics/filters/FilterEffect.cpp:
2827 (WebCore::FilterEffect::copyImageBytes):
2828 * platform/graphics/mac/ComplexTextController.cpp:
2829 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2830 * platform/graphics/mac/SimpleFontDataMac.mm:
2831 (WebCore::SimpleFontData::platformBoundsForGlyph):
2832 * platform/graphics/transforms/AffineTransform.cpp:
2833 (WebCore::AffineTransform::mapRect):
2834 * platform/graphics/win/FontCGWin.cpp:
2835 (WebCore::drawGDIGlyphs):
2836 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2837 (WebCore::MediaPlayerPrivate::paint):
2838 * platform/gtk/RenderThemeGtk.cpp:
2839 (WebCore::centerRectVerticallyInParentInputElement):
2840 * platform/mac/WidgetMac.mm:
2841 (WebCore::Widget::paint):
2842 * rendering/InlineFlowBox.cpp:
2843 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2844 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2845 * rendering/InlineTextBox.cpp:
2846 (WebCore::InlineTextBox::selectionRect):
2847 (WebCore::InlineTextBox::paint):
2848 (WebCore::InlineTextBox::positionForOffset):
2849 * rendering/RenderBlock.cpp:
2850 (WebCore::RenderBlock::addOverflowFromChildren):
2851 (WebCore::RenderBlock::paintChildren):
2852 (WebCore::RenderBlock::paintEllipsisBoxes):
2853 (WebCore::RenderBlock::inlineSelectionGaps):
2854 (WebCore::RenderBlock::adjustPointToColumnContents):
2855 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2856 (WebCore::RenderBlock::adjustForColumns):
2857 * rendering/RenderBlock.h:
2858 (WebCore::RenderBlock::FloatingObject::right):
2859 (WebCore::RenderBlock::FloatingObject::bottom):
2860 * rendering/RenderBox.cpp:
2861 (WebCore::RenderBox::reflectedRect):
2862 (WebCore::RenderBox::localCaretRect):
2863 (WebCore::RenderBox::addShadowOverflow):
2864 (WebCore::RenderBox::addLayoutOverflow):
2865 (WebCore::RenderBox::visualOverflowRectForPropagation):
2866 (WebCore::RenderBox::layoutOverflowRectForPropagation):
2867 (WebCore::RenderBox::flipForWritingMode):
2868 * rendering/RenderFrameSet.cpp:
2869 (WebCore::RenderFrameSet::paintColumnBorder):
2870 (WebCore::RenderFrameSet::paintRowBorder):
2871 * rendering/RenderInline.cpp:
2872 (WebCore::RenderInline::paintOutlineForLine):
2873 * rendering/RenderLayer.cpp:
2874 (WebCore::RenderLayer::getRectToExpose):
2875 (WebCore::cornerRect):
2876 (WebCore::RenderLayer::positionOverflowControls):
2877 (WebCore::RenderLayer::overflowBottom):
2878 (WebCore::RenderLayer::overflowRight):
2879 (WebCore::RenderLayer::paintResizer):
2880 * rendering/RenderLineBoxList.cpp:
2881 (WebCore::RenderLineBoxList::rangeIntersectsRect):
2882 (WebCore::RenderLineBoxList::paint):
2883 * rendering/RenderListItem.cpp:
2884 (WebCore::RenderListItem::positionListMarker):
2885 * rendering/RenderListMarker.cpp:
2886 (WebCore::RenderListMarker::paint):
2887 * rendering/RenderObject.cpp:
2888 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2889 * rendering/RenderOverflow.h:
2890 (WebCore::RenderOverflow::RenderOverflow):
2891 (WebCore::RenderOverflow::addLayoutOverflow):
2892 (WebCore::RenderOverflow::addVisualOverflow):
2893 (WebCore::RenderOverflow::setLayoutOverflow):
2894 (WebCore::RenderOverflow::setVisualOverflow):
2895 (WebCore::RenderOverflow::resetLayoutOverflow):
2896 * rendering/RenderReplaced.cpp:
2897 (WebCore::RenderReplaced::shouldPaint):
2898 * rendering/RenderScrollbarTheme.cpp:
2899 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2900 * rendering/RenderTable.cpp:
2901 (WebCore::RenderTable::paint):
2902 * rendering/RenderTableCell.cpp:
2903 (WebCore::RenderTableCell::paint):
2904 * rendering/RenderTableSection.cpp:
2905 (WebCore::RenderTableSection::paintObject):
2906 * rendering/RenderText.cpp:
2907 (WebCore::RenderText::absoluteQuads):
2908 * rendering/RenderTextControlSingleLine.cpp:
2909 (WebCore::RenderTextControlSingleLine::forwardEvent):
2910 * rendering/RenderThemeMac.mm:
2911 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2912 (WebCore::RenderThemeMac::paintMenuListButton):
2913 (WebCore::RenderThemeMac::paintSliderTrack):
2914 * rendering/RenderView.cpp:
2915 (WebCore::RenderView::computeRectForRepaint):
2916 (WebCore::RenderView::docBottom):
2917 (WebCore::RenderView::docRight):
2918 * rendering/RootInlineBox.cpp:
2919 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2920 * rendering/svg/RenderSVGInlineText.cpp:
2921 (WebCore::RenderSVGInlineText::localCaretRect):
2923 2011-02-01 Beth Dakin <bdakin@apple.com>
2925 Reviewed by Sam Weinig.
2927 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2929 Lots of new WebCoreSystemInterface functions to export.
2931 * platform/mac/WebCoreSystemInterface.h:
2932 * platform/mac/WebCoreSystemInterface.mm:
2934 Let the scrollAnimator know when the mouse has
2935 moved anywhere inside the page, and when the mouse
2936 has moved in or out of the window.
2937 * page/EventHandler.cpp:
2938 (WebCore::EventHandler::mouseMoved):
2939 (WebCore::EventHandler::updateMouseEventTargetNode):
2941 Let the scrollAnimator know when the window has become
2943 * page/FocusController.cpp:
2944 (WebCore::FocusController::setActive):
2946 Let the scrollAnimator know when all of these things
2948 * page/FrameView.cpp:
2949 (WebCore::FrameView::setContentsSize):
2950 (WebCore::FrameView::didMoveOnscreen):
2951 (WebCore::FrameView::willMoveOffscreen):
2952 (WebCore::FrameView::currentMousePosition):
2953 (WebCore::FrameView::contentsResized):
2955 New functions called through WebKit2 that allow the
2956 scrollAnimator to know when a live resize starts and ends.
2957 (WebCore::FrameView::willStartLiveResize):
2958 (WebCore::FrameView::willEndLiveResize):
2961 New functions on ScrollAnimator that pass information
2962 to the WKPainterController when we're using one.
2963 * platform/ScrollAnimator.h:
2964 (WebCore::ScrollAnimator::scrollableArea):
2965 (WebCore::ScrollAnimator::contentAreaWillPaint):
2966 (WebCore::ScrollAnimator::mouseEnteredContentArea):
2967 (WebCore::ScrollAnimator::mouseExitedContentArea):
2968 (WebCore::ScrollAnimator::mouseMovedInContentArea):
2969 (WebCore::ScrollAnimator::willStartLiveResize):
2970 (WebCore::ScrollAnimator::contentsResized):
2971 (WebCore::ScrollAnimator::willEndLiveResize):
2972 (WebCore::ScrollAnimator::contentAreaDidShow):
2973 (WebCore::ScrollAnimator::contentAreaDidHide):
2974 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2975 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2976 (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2977 (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2978 (WebCore::ScrollAnimatorMac::notityPositionChanged):
2979 (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2980 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2981 (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2982 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2983 (WebCore::ScrollAnimatorMac::willStartLiveResize):
2984 (WebCore::ScrollAnimatorMac::contentsResized):
2985 (WebCore::ScrollAnimatorMac::willEndLiveResize):
2986 (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2987 (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2989 Let the scrollAnimator know when this is happening.
2990 * platform/ScrollView.cpp:
2991 (WebCore::ScrollView::paint):
2993 New function lets the scrollAnimator get the current
2995 * platform/ScrollView.h:
2996 (WebCore::ScrollView::currentMousePosition):
2998 New function that returns the scrollAnimator when needed.
2999 * platform/ScrollableArea.h:
3000 (WebCore::ScrollableArea::scrollAnimator):
3002 Keep track of if we're in a live resize using a new memeber
3004 * platform/mac/ScrollAnimatorMac.h:
3005 (WebCore::ScrollAnimatorMac::inLiveResize):
3006 * platform/mac/ScrollAnimatorMac.mm:
3009 New delegates for the WKPainter and WKPainterController
3010 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
3011 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3012 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3013 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3014 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3015 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3016 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3017 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
3018 (-[ScrollKnobAnimation setCurrentProgress:]):
3019 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
3020 (-[ScrollbarPainterDelegate convertRectToBacking:]):
3021 (-[ScrollbarPainterDelegate convertRectFromBacking:]):
3022 (-[ScrollbarPainterDelegate layer]):
3023 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
3024 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
3025 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
3026 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
3028 Get the WKScrollbarPainterRefs to synch up with the
3029 WKScrollbarPainterControllerRefs when appropriate
3030 * platform/mac/ScrollbarThemeMac.h:
3031 * platform/mac/ScrollbarThemeMac.mm:
3032 (WebCore::ScrollbarThemeMac::registerScrollbar):
3033 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
3034 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
3035 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
3037 Implement ScrollableArea's virtual function contentsSize() for access
3038 through the scrollAnimator.
3039 * rendering/RenderLayer.h:
3040 (WebCore::RenderLayer::contentsSize):
3042 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
3044 Reviewed by David Hyatt.
3046 layoutTestController.counterValueForElementById does not return the correct value
3047 https://bugs.webkit.org/show_bug.cgi?id=53037
3049 Test: fast/css/counters/deep-before.html
3051 * rendering/RenderTreeAsText.cpp:
3052 (WebCore::counterValueForElement):
3053 Modified to use the newly available RenderObject::beforePseudoElement()
3054 and RenderObject::afterPseudoElement() instead of the old imperfect
3055 algorithm to find the before and after pseudo elements.
3057 2011-02-01 Anton Muhin <antonm@chromium.org>
3059 Reviewed by Adam Barth.
3061 Allow access for security origin same as this.
3062 https://bugs.webkit.org/show_bug.cgi?id=53440
3064 Hard to test as newly added path currently is never hit.
3066 * page/SecurityOrigin.cpp:
3067 (WebCore::SecurityOrigin::canAccess): allow access if this == other
3069 2011-01-31 Oliver Hunt <oliver@apple.com>
3071 Reviewed by Geoffrey Garen.
3073 Update JSObject storage for new marking API
3074 https://bugs.webkit.org/show_bug.cgi?id=53467
3076 Update WebCore to handle new anonymous slot behaviour.
3078 * bindings/js/JSDOMWindowShell.cpp:
3079 (WebCore::JSDOMWindowShell::setWindow):
3080 * bindings/js/WorkerScriptController.cpp:
3081 (WebCore::WorkerScriptController::initScript):
3082 * bindings/scripts/CodeGeneratorJS.pm:
3084 2011-02-01 Xiaomei Ji <xji@chromium.org>
3086 Reviewed by David Hyatt.
3088 Fix a text rendering problem when enclosing block is RTL and text runs
3089 are in different directionality.
3090 https://bugs.webkit.org/show_bug.cgi?id=34176
3092 The problem happens in the following example scenario (ABC represents
3094 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3096 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3097 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3098 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3100 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3102 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3103 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3104 the run's render object's ancestor (not only its parent) has already
3105 been constructed or has something following it on the line, in which
3106 case, create a new box for TextRun2 instead of sharing the same box with
3109 In other words, the following 2 div should render the same results
3110 (ABC represents Hebrew characters).
3111 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3112 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3114 Test: fast/dom/34176.html
3116 * rendering/RenderBlockLineLayout.cpp:
3117 (WebCore::parentIsConstructedOrHaveNext):
3118 (WebCore::RenderBlock::createLineBoxes):
3120 2011-02-01 Abhishek Arya <inferno@chromium.org>
3122 Reviewed by Dan Bernstein.
3124 Do not add a node in the document's stylesheet candidate node list if the
3125 node is already removed from document.
3126 https://bugs.webkit.org/show_bug.cgi?id=53441
3128 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3131 (WebCore::Document::addStyleSheetCandidateNode):
3133 2011-02-01 Dave Hyatt <hyatt@apple.com>
3135 Reviewed by Darin Adler.
3137 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3140 Change printing functions to check writing-mode and properly swap width and height
3143 Fix the setScrollOrigin function so that the origin doesn't cause
3144 scroll spasming during printing (this is only partially successful, but it's better
3147 Rewrite computePageRects to handle both RTL documents properly as well as vertical
3148 text documents properly.
3151 * page/FrameView.cpp:
3152 (WebCore::FrameView::adjustViewSize):
3153 (WebCore::FrameView::forceLayoutForPagination):
3154 * page/PrintContext.cpp:
3155 (WebCore::PrintContext::computePageRects):
3156 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3157 (WebCore::PrintContext::computeAutomaticScaleFactor):
3158 (WebCore::PrintContext::spoolPage):
3159 (WebCore::PrintContext::spoolRect):
3160 * page/PrintContext.h:
3161 * page/mac/WebCoreFrameView.h:
3162 * platform/ScrollView.cpp:
3163 (WebCore::ScrollView::wheelEvent):
3164 * platform/ScrollView.h:
3165 * platform/mac/ScrollViewMac.mm:
3166 (WebCore::ScrollView::platformSetScrollOrigin):
3167 * rendering/RenderView.cpp:
3168 (WebCore::RenderView::layout):
3170 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3172 Reviewed by Pavel Feldman.
3174 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3176 https://bugs.webkit.org/show_bug.cgi?id=53500
3178 * inspector/InspectorProfilerAgent.cpp:
3179 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3181 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
3183 Reviewed by Pavel Feldman.
3185 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3187 https://bugs.webkit.org/show_bug.cgi?id=53173
3189 Adding code for accessing heap snapshot data and
3190 performing graph calculations.
3192 * English.lproj/localizedStrings.js:
3193 * inspector/front-end/HeapSnapshot.js:
3194 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3195 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3196 (WebInspector.HeapSnapshotEdgeIterator):
3197 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3198 (WebInspector.HeapSnapshotNodeIterator):
3199 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3200 (WebInspector.HeapSnapshotFilteredOrderedIterator):
3201 (WebInspector.HeapSnapshotEdgesProvider):
3202 (WebInspector.HeapSnapshotNodesProvider):
3203 (WebInspector.HeapSnapshotPathFinder):
3204 * inspector/front-end/HeapSnapshotView.js:
3205 (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3207 2011-02-01 Adam Roben <aroben@apple.com>
3209 Fix linker warnings in Release_LTCG builds
3211 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3212 configurations, since they get pulled in via DOMAllInOne.cpp.
3214 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
3216 Reviewed by Yury Semikhatsky.
3218 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3219 https://bugs.webkit.org/show_bug.cgi?id=53482
3221 * English.lproj/localizedStrings.js:
3222 * inspector/front-end/ElementsPanel.js:
3223 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3224 * inspector/front-end/inspector.js:
3225 (WebInspector.resourceForURL):
3226 (WebInspector.openLinkExternallyLabel):
3228 2011-02-01 Anton Muhin <antonm@chromium.org>
3230 Reviewed by Adam Barth.
3232 Propagate parent document security origin to newly create Document XML response
3233 https://bugs.webkit.org/show_bug.cgi?id=53444
3235 Covered by the existing tests.
3237 * xml/XMLHttpRequest.cpp:
3238 (WebCore::XMLHttpRequest::responseXML):
3240 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
3242 Unreviewed. Rollout r77230 which caused many layout tests
3243 crashes on Chromium Debug bots.
3245 Async event handlers should not fire within a modal dialog
3246 https://bugs.webkit.org/show_bug.cgi?id=53202
3249 (WebCore::Document::Document):
3250 * dom/EventQueue.cpp:
3251 (WebCore::EventQueue::EventQueue):
3252 (WebCore::EventQueue::enqueueEvent):
3253 (WebCore::EventQueue::pendingEventTimerFired):
3256 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
3258 Reviewed by Dirk Schulze.
3260 LightElement changes does not require relayout.
3261 https://bugs.webkit.org/show_bug.cgi?id=53232
3263 When an attribute of a LightElement changes, it
3264 send an update message to the lighting filters
3265 to update its corresponding LightSource objects,
3266 and repaint the filters.
3268 Duplicated 'id' attributes removed from svg-filter-animation.svg.
3270 Existing dynamic-update tests covers this feature.
3272 5x speedup on manual-tests/svg-filter-animation.svg
3274 * manual-tests/svg-filter-animation.svg:
3275 * platform/graphics/filters/DistantLightSource.h:
3276 * platform/graphics/filters/FEDiffuseLighting.cpp:
3277 (WebCore::FEDiffuseLighting::setLightingColor):
3278 (WebCore::FEDiffuseLighting::setSurfaceScale):
3279 (WebCore::FEDiffuseLighting::setDiffuseConstant):
3280 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3281 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3282 * platform/graphics/filters/FEDiffuseLighting.h:
3283 * platform/graphics/filters/LightSource.cpp:
3284 (WebCore::PointLightSource::setX):
3285 (WebCore::PointLightSource::setY):
3286 (WebCore::PointLightSource::setZ):
3287 (WebCore::SpotLightSource::setX):
3288 (WebCore::SpotLightSource::setY):
3289 (WebCore::SpotLightSource::setZ):
3290 (WebCore::SpotLightSource::setPointsAtX):
3291 (WebCore::SpotLightSource::setPointsAtY):
3292 (WebCore::SpotLightSource::setPointsAtZ):
3293 (WebCore::SpotLightSource::setSpecularExponent):
3294 (WebCore::SpotLightSource::setLimitingConeAngle):
3295 (WebCore::DistantLightSource::setAzimuth):
3296 (WebCore::DistantLightSource::setElevation):
3297 (WebCore::LightSource::setAzimuth):
3298 (WebCore::LightSource::setElevation):
3299 (WebCore::LightSource::setX):
3300 (WebCore::LightSource::setY):
3301 (WebCore::LightSource::setZ):
3302 (WebCore::LightSource::setPointsAtX):
3303 (WebCore::LightSource::setPointsAtY):
3304 (WebCore::LightSource::setPointsAtZ):
3305 (WebCore::LightSource::setSpecularExponent):
3306 (WebCore::LightSource::setLimitingConeAngle):
3307 * platform/graphics/filters/LightSource.h:
3308 * platform/graphics/filters/PointLightSource.h:
3309 * platform/graphics/filters/SpotLightSource.h:
3310 * rendering/svg/RenderSVGResourceFilter.cpp:
3311 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3312 * svg/SVGFEDiffuseLightingElement.cpp:
3313 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3314 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3315 (WebCore::SVGFEDiffuseLightingElement::build):
3316 (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3317 (WebCore::SVGFEDiffuseLightingElement::findLight):
3318 * svg/SVGFEDiffuseLightingElement.h:
3319 * svg/SVGFELightElement.cpp:
3320 (WebCore::SVGFELightElement::svgAttributeChanged):
3321 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3322 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3323 * svg/SVGFilterPrimitiveStandardAttributes.h:
3325 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3327 Reviewed by Dimitri Glazkov.
3329 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3330 https://bugs.webkit.org/show_bug.cgi?id=53289
3332 Moving the nested class DocumentOrderedMap from Document into separate files,
3333 updating code where necessary.
3335 No new tests. (refactoring)
3342 * WebCore.vcproj/WebCore.vcproj:
3343 * WebCore.xcodeproj/project.pbxproj:
3345 (WebCore::Document::getElementById):
3346 (WebCore::Document::getImageMap):
3348 * dom/DocumentOrderedMap.cpp: Added.
3349 (WebCore::keyMatchesId):
3350 (WebCore::keyMatchesMapName):
3351 (WebCore::keyMatchesLowercasedMapName):
3352 (WebCore::DocumentOrderedMap::clear):
3353 (WebCore::DocumentOrderedMap::add):
3354 (WebCore::DocumentOrderedMap::remove):
3355 (WebCore::DocumentOrderedMap::get):
3356 (WebCore::DocumentOrderedMap::getElementById):
3357 (WebCore::DocumentOrderedMap::getElementByMapName):
3358 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3359 * dom/DocumentOrderedMap.h: Added.
3360 (WebCore::DocumentOrderedMap::contains):
3361 (WebCore::DocumentOrderedMap::containsMultiple):
3362 * dom/DOMAllInOne.cpp:
3364 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3366 Reviewed by Martin Robinson.
3368 [Gtk] atk_text_set_caret_offset fails for list items
3369 https://bugs.webkit.org/show_bug.cgi?id=53388
3371 Allow using text ranges across list items.
3373 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3374 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3375 to the list of accessibility objects supporting text ranges.
3377 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3379 Reviewed by Martin Robinson.
3381 [GTK] character range extents is off when the end of a wrapped line is included
3382 https://bugs.webkit.org/show_bug.cgi?id=53323
3384 Fixed wrong calculation getting the range extents.
3386 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3387 (webkit_accessible_text_get_range_extents): Removed '+1' since the
3388 requested interval shouldn't include the last character.
3390 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
3392 Reviewed by Martin Robinson.
3394 [GTK] Caret Offset is one off at the end of wrapped lines
3395 https://bugs.webkit.org/show_bug.cgi?id=53300
3397 Consider linebreaks as special cases.
3399 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3400 (objectAndOffsetUnignored): In order to avoid getting wrong values
3401 when around linebreaks, we need to workaround this by explicitly
3402 avoiding those '\n' text nodes from affecting the result of
3403 calling to TextIterator:rangeLength().
3405 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3407 Unreviewed, rolling out r77229.
3408 http://trac.webkit.org/changeset/77229
3409 https://bugs.webkit.org/show_bug.cgi?id=53289
3411 revert mysterious build breakage
3418 * WebCore.vcproj/WebCore.vcproj:
3419 * WebCore.xcodeproj/project.pbxproj:
3420 * dom/DOMAllInOne.cpp:
3422 (WebCore::Document::DocumentOrderedMap::clear):
3423 (WebCore::Document::DocumentOrderedMap::add):
3424 (WebCore::Document::DocumentOrderedMap::remove):
3425 (WebCore::Document::DocumentOrderedMap::get):
3426 (WebCore::keyMatchesId):
3427 (WebCore::Document::getElementById):
3428 (WebCore::keyMatchesMapName):
3429 (WebCore::keyMatchesLowercasedMapName):
3430 (WebCore::Document::getImageMap):
3432 (WebCore::Document::DocumentOrderedMap::contains):
3433 (WebCore::Document::DocumentOrderedMap::containsMultiple):
3434 * dom/DocumentOrderedMap.cpp: Removed.
3435 * dom/DocumentOrderedMap.h: Removed.
3437 2011-02-01 Mihai Parparita <mihaip@chromium.org>
3439 Reviewed by James Robinson.
3441 Async event handlers should not fire within a modal dialog
3442 https://bugs.webkit.org/show_bug.cgi?id=53202
3444 Asychronous events that use EventQueue would currently fire while a
3445 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3446 SuspendableTimer (which automatically gets suspended while dialogs are
3447 up and in other cases where JS execution is not allowed).
3449 Test: fast/events/scroll-event-during-modal-dialog.html
3452 (WebCore::Document::Document):
3453 * dom/EventQueue.cpp:
3454 (WebCore::EventQueueTimer::EventQueueTimer):
3455 (WebCore::EventQueueTimer::fired):
3456 (WebCore::EventQueue::EventQueue):
3457 (WebCore::EventQueue::enqueueEvent):
3458 (WebCore::EventQueue::pendingEventTimerFired):
3460 (WebCore::EventQueue::create):
3462 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
3464 Reviewed by Dimitri Glazkov.
3466 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3467 https://bugs.webkit.org/show_bug.cgi?id=53289
3469 Moving the nested class DocumentOrderedMap from Document into separate files,
3470 updating code where necessary.
3472 No new tests. (refactoring)
3479 * WebCore.vcproj/WebCore.vcproj:
3480 * WebCore.xcodeproj/project.pbxproj:
3482 (WebCore::Document::getElementById):
3483 (WebCore::Document::getImageMap):
3485 * dom/DocumentOrderedMap.cpp: Added.
3486 (WebCore::keyMatchesId):
3487 (WebCore::keyMatchesMapName):
3488 (WebCore::keyMatchesLowercasedMapName):
3489 (WebCore::DocumentOrderedMap::clear):
3490 (WebCore::DocumentOrderedMap::add):
3491 (WebCore::DocumentOrderedMap::remove):
3492 (WebCore::DocumentOrderedMap::get):
3493 (WebCore::DocumentOrderedMap::getElementById):
3494 (WebCore::DocumentOrderedMap::getElementByMapName):
3495 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3496 * dom/DocumentOrderedMap.h: Added.
3497 (WebCore::DocumentOrderedMap::contains):
3498 (WebCore::DocumentOrderedMap::containsMultiple):
3499 * dom/DOMAllInOne.cpp:
3501 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
3503 Reviewed by Darin Fisher.
3505 [Chromium] Autofill should work with HTML5 form elements
3506 https://bugs.webkit.org/show_bug.cgi?id=51809
3507 http://crbug.com/65654
3509 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3511 * html/InputType.h: Insert comment for canSetSuggestedValue().
3512 * html/TextFieldInputType.cpp:
3513 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3514 * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3515 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3516 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3518 2011-02-01 Kent Tamura <tkent@chromium.org>
3520 Reviewed by Dan Bernstein.
3522 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3523 https://bugs.webkit.org/show_bug.cgi?id=53272
3525 * editing/TextIterator.cpp:
3526 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3528 2011-01-31 Alexey Proskuryakov <ap@apple.com>
3530 Reviewed by Maciej Stachowiak.
3532 https://bugs.webkit.org/show_bug.cgi?id=53466
3533 Move WebKit2 to printing via API methods
3535 * WebCore.exp.in: Export IntRect::scale().
3537 2011-01-31 Patrick Gansterer <paroga@webkit.org>
3539 Reviewed by Adam Barth.
3541 Remove obsolete comment after r41871
3542 https://bugs.webkit.org/show_bug.cgi?id=53406
3546 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3548 Fix according to reviewer comments: can just use Color::black now.
3550 * platform/graphics/ShadowBlur.cpp:
3551 (WebCore::ShadowBlur::drawInsetShadow):
3552 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3554 2011-01-31 Simon Fraser <simon.fraser@apple.com>
3556 Reviewed by Sam Weinig.
3559 https://bugs.webkit.org/show_bug.cgi?id=53472
3561 Some minor ShadowBlur cleanup.
3563 * platform/graphics/ShadowBlur.h:
3564 * platform/graphics/ShadowBlur.cpp:
3565 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius