1 2011-09-30 Cary Clark <caryclark@google.com>
3 Inset focus ring (Skia on Mac)
4 https://bugs.webkit.org/show_bug.cgi?id=69166
5 http://code.google.com/p/chromium/issues/detail?id=97956
7 This focus ring was drawn too large and was left tracks
8 in subsequent invalidations. Make it more closely match
11 Reviewed by Stephen White.
13 No new tests. This platform is not enabled.
15 * platform/graphics/skia/GraphicsContextSkia.cpp:
16 (WebCore::getFocusRingOutset):
17 (WebCore::GraphicsContext::drawFocusRing):
19 2011-09-30 Sheriff Bot <webkit.review.bot@gmail.com>
21 Unreviewed, rolling out r96422.
22 http://trac.webkit.org/changeset/96422
23 https://bugs.webkit.org/show_bug.cgi?id=69170
25 Broke Windows build and kling wanted to roll it out as well
26 (Requested by rniwa on #webkit).
28 * rendering/InlineBox.cpp:
29 (WebCore::InlineBox::prevOnLineExists):
30 * rendering/InlineBox.h:
31 (WebCore::InlineBox::InlineBox):
33 2011-09-30 David Hyatt <hyatt@apple.com>
35 https://bugs.webkit.org/show_bug.cgi?id=69167
37 [CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
38 for blocks in variable width regions. Specifically, this patch addresses a minor bug
39 with overflow:hidden/scroll/auto block placement and with RTL directionality.
41 Reviewed by Sam Weinig.
43 Added five new tests in fast/regions.
45 * rendering/RenderBlock.cpp:
46 (WebCore::RenderBlock::logicalRightOffsetForContent):
47 Avoid a double fetch of the border box in a given region by not calling
48 logicalLeftOffsetForContent. No correctness change here. It's just cleaner.
50 * rendering/RenderBox.cpp:
51 (WebCore::RenderBox::borderBoxRectInRegion):
52 Change the shifted optimization to be cached for "self" rather than for "containing block".
53 Rework the adjustment loop to handle changes in directionality and to fix correctness
56 (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
57 Don't double adjust if an object uses line width as the containing block width. In that
58 case we already computed the line width in the region, so we don't need to apply any
61 (WebCore::RenderBox::renderBoxRegionInfo):
62 * rendering/RenderBoxRegionInfo.h:
63 (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
64 (WebCore::RenderBoxRegionInfo::isShifted):
65 Changed the shifted code to be on self rather than on containing block.
67 * rendering/RenderFlowThread.cpp:
68 (WebCore::RenderFlowThread::layout):
69 Refactor the layout code for RenderFlowThread to properly set up region rects assuming
70 right alignment in RTL code. This change forces us to compute our maximum logical width
71 first before looping through the regions again to set their content rects.
73 2011-09-30 Andreas Kling <kling@webkit.org>
75 REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
76 https://bugs.webkit.org/show_bug.cgi?id=64914
78 Reviewed by Antti Koivisto.
80 Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
81 since nobody is using them anymore. nextOnLineExists() is still used by
82 GTK+ accessibility code.
84 Also added a compile-time assertion to guard against future bloating of
87 * rendering/InlineBox.cpp:
88 (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
89 * rendering/InlineBox.h:
90 (WebCore::InlineBox::InlineBox):
92 2011-09-30 Pierre Rossi <pierre.rossi@gmail.com>
94 [Qt] Build fix: Qt::escape is deprecated in Qt5
95 https://bugs.webkit.org/show_bug.cgi?id=69162
97 Use QString::toHtmlEscaped in the Qt5 case.
99 Reviewed by Andreas Kling.
103 * WebCore.pro: adjust the include path accordingly
106 2011-09-30 Ryosuke Niwa <rniwa@webkit.org>
108 Remove unused ReplaceSelectionCommand::copyStyleToChildren
109 https://bugs.webkit.org/show_bug.cgi?id=69153
111 Reviewed by Antonio Gomes.
113 Removed the function because it's no called anywhere.
115 * editing/ReplaceSelectionCommand.cpp:
116 * editing/ReplaceSelectionCommand.h:
118 2011-09-30 Aaron Colwell <acolwell@chromium.org>
120 Fix EnabledAtRuntime support for constants.
121 https://bugs.webkit.org/show_bug.cgi?id=67311
123 Reviewed by Adam Barth.
125 * bindings/scripts/CodeGeneratorV8.pm:
126 (GenerateImplementation):
128 2011-09-29 David Hyatt <hyatt@apple.com>
130 https://bugs.webkit.org/show_bug.cgi?id=69043
132 [CSS3 Regions] Blocks split across regions with variable width need to size
133 differently in each region.
135 This patch adds the capability for blocks to have variable width and positioning
136 when split across regions. It is very rudimentary and so far only operates on basic
137 normal flow RenderBlocks. Future patches will expand the support to cover other layout
138 constructs like flexible boxes and tables.
140 Reviewed by Sam Weinig.
142 Added new tests in fast/regions and updated existing results.
144 * WebCore.xcodeproj/project.pbxproj:
145 * rendering/HitTestResult.cpp:
146 (WebCore::HitTestResult::HitTestResult):
147 (WebCore::HitTestResult::operator=):
148 * rendering/HitTestResult.h:
149 (WebCore::HitTestResult::region):
150 (WebCore::HitTestResult::setRegion):
151 The hit test result now holds the active RenderRegion so that hit testing can adjust
152 block widths and positions when hit testing their border boxes.
154 * rendering/PaintInfo.h:
155 (WebCore::PaintInfo::PaintInfo):
156 The paint info struct now holds the active RenderRegion so that painting can adjust
157 block widths and positions when painting borders and backgrounds and shadows.
159 * rendering/RenderBlock.cpp:
160 (WebCore::RenderBlock::layoutBlock):
161 If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
162 regions that we span.
164 (WebCore::RenderBlock::clearRenderBoxRegionInfo):
165 Called to clear out our cached region-specific information in all regions that we span.
167 (WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
168 Returns the borderBoxRect for the region at the specified vertical offset. This rect
169 can be both shifted horizontally and have a different width from our original border rect.
171 (WebCore::RenderBlock::logicalLeftOffsetForContent):
172 (WebCore::RenderBlock::logicalRightOffsetForContent):
173 Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
174 the content rect of the border box rect for the specific region.
176 * rendering/RenderBlock.h:
177 (WebCore::RenderBlock::logicalRightOffsetForContent):
178 Modified to call logicalLeftOffsetForContent since it's cleaner.
180 * rendering/RenderBox.cpp:
181 (WebCore::RenderBox::borderBoxRectInRegion):
182 Called to compute the border box rect in a specific region. The result is cached in a HashMap
183 in the region itself so that subsequent lookups are fast.
185 (WebCore::RenderBox::nodeAtPoint):
186 Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.
188 (WebCore::RenderBox::paintBoxDecorations):
189 Modified to use the border box rect in the active region when painting the backgrounds of boxes.
191 (WebCore::RenderBox::containingBlockLogicalWidthForContent):
192 (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
193 (WebCore::RenderBox::computeLogicalWidth):
194 (WebCore::RenderBox::computeLogicalWidthInRegion):
195 Helpers for computing logical widths and margins in a specific region. The result is then cached
196 in a HashMap in the region.
198 (WebCore::RenderBox::renderBoxRegionInfo):
199 The function for obtaining the region-specific information for a given box.
201 * rendering/RenderBox.h:
202 (WebCore::RenderBox::borderBoxRectInRegion):
203 New function for returning the border box rect in a given region.
205 * rendering/RenderBoxModelObject.cpp:
206 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
207 Make sure mask painting honors the active region.
209 * rendering/RenderBoxRegionInfo.h: Added.
210 (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
211 (WebCore::RenderBoxRegionInfo::logicalLeft):
212 (WebCore::RenderBoxRegionInfo::logicalWidth):
213 (WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
214 New class held by RenderRegions that caches box-specific info for a given region. This will eventually
215 expand to include custom styles as well, but for now it is limited to a new logical left and a new
216 logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
217 too much groveling up the containing block chain.
219 * rendering/RenderFlowThread.cpp:
220 (WebCore::RenderFlowThread::RenderFlowThread):
221 Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
222 to limit it with the results now being cached.
224 (WebCore::RenderFlowThread::layout):
225 All box-specific region information is always cleared whenever the regions are invalidated.
227 (WebCore::RenderFlowThread::computeLogicalWidth):
228 Modified to set up RenderBoxRegionInfo for the flow thread in all regions.
230 (WebCore::RenderFlowThread::paintIntoRegion):
231 (WebCore::RenderFlowThread::hitTestRegion):
232 Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
233 thread layer tree can properly receive the active region.
235 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
236 Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
237 we may want to have a cache of the start/end regions for a given box somewhere.
239 * rendering/RenderFlowThread.h:
240 Removal of the region fitting stuff.
242 * rendering/RenderLayer.cpp:
243 (WebCore::RenderLayer::paint):
244 (WebCore::RenderLayer::paintOverlayScrollbars):
245 (WebCore::RenderLayer::paintLayer):
246 (WebCore::RenderLayer::paintList):
247 (WebCore::RenderLayer::paintPaginatedChildLayer):
248 (WebCore::RenderLayer::paintChildLayerIntoColumns):
249 * rendering/RenderLayer.h:
250 * rendering/RenderLayerBacking.cpp:
251 (WebCore::RenderLayerBacking::paintIntoLayer):
252 Modified to pass the current region down through painting functions so that it is known at paint time.
254 * rendering/RenderObject.cpp:
255 (WebCore::RenderObject::RenderObject):
256 Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
257 object needs flow thread special casing.
259 (WebCore::RenderObject::enclosingRenderFlowThread):
260 Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.
262 (WebCore::RenderObject::containerForRepaint):
265 * rendering/RenderObject.h:
266 (WebCore::RenderObject::setParent):
267 setParent now updates inRenderFlowThread() state.
269 (WebCore::RenderObject::inRenderFlowThread):
270 (WebCore::RenderObject::setInRenderFlowThread):
273 * rendering/RenderObjectChildList.cpp:
274 (WebCore::RenderObjectChildList::removeChildNode):
275 Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
278 * rendering/RenderRegion.cpp:
279 (WebCore::RenderRegion::~RenderRegion):
280 (WebCore::RenderRegion::paintReplaced):
281 (WebCore::RenderRegion::nodeAtPoint):
282 (WebCore::RenderRegion::renderBoxRegionInfo):
283 (WebCore::RenderRegion::setRenderBoxRegionInfo):
284 (WebCore::RenderRegion::removeRenderBoxRegionInfo):
285 (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
286 (WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
287 * rendering/RenderRegion.h:
288 Added the new HashMap for holding box-specific region information. Also added an additional optimization to
289 check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to
290 cache box-specific information for that region.
292 * rendering/RenderReplica.cpp:
293 (WebCore::RenderReplica::paint):
294 * rendering/RenderScrollbarPart.cpp:
295 (WebCore::RenderScrollbarPart::paintIntoRect):
296 * rendering/svg/SVGImageBufferTools.cpp:
297 (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
298 Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
299 have to consider it (since masks illustrated this is necessary).
301 2011-09-30 Tim Horton <timothy_horton@apple.com>
303 feBlend uses a table of function pointers which reduces inlineability inside the main loop
304 https://bugs.webkit.org/show_bug.cgi?id=69154
305 <rdar://problem/10215221>
307 Reviewed by Darin Adler.
309 Don't use a table of function pointers inside the feBlend inner loop, instead
310 use switch and inline functions, bringing a 20% performance gain across the
313 No new tests, minor performance improvement.
315 * platform/graphics/filters/FEBlend.cpp:
321 (WebCore::FEBlend::apply):
323 2011-09-30 Mark Hahnenberg <mhahnenberg@apple.com>
325 Add getCallData to MethodTable in ClassInfo
326 https://bugs.webkit.org/show_bug.cgi?id=69024
328 Reviewed by Sam Weinig.
334 Changed getCallData from private to protected to allow subclasses who
335 don't override getCallData themselves to reference it in their own
336 method tables when calling the CREATE_METHOD_TABLE macro.
337 * bridge/runtime_method.h:
339 2011-09-30 Ned Holbrook <nholbrook@apple.com>
341 Complex spaces with synthetic bold are too wide
342 https://bugs.webkit.org/show_bug.cgi?id=69033
344 Reviewed by Dan Bernstein.
346 Test: fast/text/complex-synthetic-bold-space-width.html
348 * platform/graphics/mac/ComplexTextController.cpp:
349 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
350 * platform/graphics/win/UniscribeController.cpp:
351 (WebCore::UniscribeController::shapeAndPlaceItem): Ditto.
353 2011-09-30 Pavel Feldman <pfeldman@google.com>
355 Web Inspector: [chromium] expose inspector protocol version to the embedder.
356 https://bugs.webkit.org/show_bug.cgi?id=69092
358 This change also introduces major/minor inspector version components.
360 Reviewed by Yury Semikhatsky.
363 * CodeGenerators.pri:
364 * DerivedSources.make:
366 * GNUmakefile.list.am:
367 * WebCore.gyp/WebCore.gyp:
369 * inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
370 * inspector/Inspector.json:
371 * inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.
373 2011-09-29 Antti Koivisto <antti@apple.com>
375 https://bugs.webkit.org/show_bug.cgi?id=69106
376 Universal attribute selectors disable style sharing
378 Reviewed by Dave Hyatt.
380 Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
381 rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.
383 Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually
384 matches the element. Before sharing, we also check the current element against collected attribute rules.
385 We can share the style if neither element was affected.
387 This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
388 Increased sharing should also save a substantial amount of memory.
391 (WebCore::CSSSelector::isAttributeSelector):
392 * css/CSSStyleSelector.cpp:
393 (WebCore::RuleData::containsUncommonAttributeSelector):
394 (WebCore::collectSpecialRulesInDefaultStyle):
395 (WebCore::assertNoSiblingRulesInDefaultStyle):
396 (WebCore::CSSStyleSelector::CSSStyleSelector):
397 (WebCore::CSSStyleSelector::matchRules):
398 (WebCore::CSSStyleSelector::matchesRuleSet):
399 (WebCore::CSSStyleSelector::canShareStyleWithElement):
400 (WebCore::CSSStyleSelector::locateSharedStyle):
401 (WebCore::CSSStyleSelector::styleForElement):
402 (WebCore::selectorListContainsUncommonAttributeSelector):
403 (WebCore::isCommonAttributeSelectorAttribute):
404 (WebCore::containsUncommonAttributeSelector):
405 (WebCore::RuleData::RuleData):
406 (WebCore::collectFeaturesFromSelector):
407 (WebCore::collectFeaturesFromList):
408 * css/CSSStyleSelector.h:
409 * css/SelectorChecker.cpp:
410 (WebCore::SelectorChecker::checkOneSelector):
411 * rendering/style/RenderStyle.cpp:
412 (WebCore::RenderStyle::RenderStyle):
413 * rendering/style/RenderStyle.h:
414 (WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
415 (WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):
417 2011-09-30 James Robinson <jamesr@chromium.org>
419 [chromium] Add WebKit API for sending input events to the compositor thread
420 https://bugs.webkit.org/show_bug.cgi?id=69117
422 Reviewed by Darin Fisher.
424 Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
425 in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
426 nature of this pointer, the rest are removing the old thread creation codepath.
428 These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
429 use_threaded_compositing=1 gyp define.
431 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
432 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
433 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
434 (WebCore::CCThreadProxy::setThread):
435 (WebCore::CCThreadProxy::CCThreadProxy):
436 (WebCore::CCThreadProxy::~CCThreadProxy):
437 (WebCore::CCThreadProxy::compositeAndReadback):
438 (WebCore::CCThreadProxy::finishAllRendering):
439 (WebCore::CCThreadProxy::initializeLayerRenderer):
440 (WebCore::CCThreadProxy::setNeedsCommit):
441 (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
442 (WebCore::CCThreadProxy::setNeedsRedraw):
443 (WebCore::CCThreadProxy::start):
444 (WebCore::CCThreadProxy::stop):
445 (WebCore::CCThreadProxy::beginFrameAndCommit):
446 (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
447 * platform/graphics/chromium/cc/CCThreadProxy.h:
449 2011-09-29 Fady Samuel <fsamuel@chromium.org>
451 Fixed Hit testing on Framesets when Frameset is transformed
452 https://bugs.webkit.org/show_bug.cgi?id=67740
454 Reviewed by Simon Fraser.
456 Tests: fast/frames/frame-set-rotation-hit.html
457 fast/frames/frame-set-scaling-hit.html
459 * rendering/RenderFrameSet.cpp:
460 (WebCore::RenderFrameSet::userResize):
462 2011-09-29 Dirk Pranke <dpranke@chromium.org>
464 fix gyp warnings in chromium for renamed files
465 https://bugs.webkit.org/show_bug.cgi?id=69116
467 Reviewed by Adam Barth.
471 2011-09-29 Martin Robinson <mrobinson@igalia.com>
473 [Freetype] Some text in Planet GNOME renders in the wrong place
474 https://bugs.webkit.org/show_bug.cgi?id=69099
476 Reviewed by Dirk Schulze.
478 Test: platform/gtk/fonts/synthetic-oblique-positioning.html
480 Fold the oblique transform into the font matrix itself rather than transforming
481 the CTM of the context at render time. Not only does this fix the issue, it
482 prevents unnecessary work on every paint.
484 * platform/graphics/cairo/FontCairo.cpp:
485 No longer set the synthetic oblique transformation matrix on the context
486 when rendering the text. Instead it is now folded into the TM of the font
488 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
489 (WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
490 * platform/graphics/win/FontPlatformDataCairoWin.cpp:
491 (WebCore::FontPlatformData::FontPlatformData): Ditto.
493 2011-09-29 Dan Bernstein <mitz@apple.com>
495 Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
497 Reviewed by Simon Fraser.
499 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
500 (WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.
502 2011-09-29 Cary Clark <caryclark@google.com>
504 Enable LCD text in Skia on Mac
505 https://bugs.webkit.org/show_bug.cgi?id=68734
507 Reviewed by Stephen White.
509 No new tests. Existing layout tests are generated
510 with LCD text disabled for pixel comparisons.
512 Duplicate the logic in FontMac.mm to pass settings
513 for antialiasing and smoothing. Also disable smoothing
516 * platform/graphics/skia/FontSkia.cpp:
517 (WebCore::setupPaint):
518 (WebCore::Font::drawGlyphs):
520 2011-09-29 Varun Jain <varunjain@google.com>
522 Implement flick gesture in Chromium Gesture Recognizer
523 https://bugs.webkit.org/show_bug.cgi?id=67930
525 Reviewed by Dimitri Glazkov.
527 Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp
529 * platform/chromium/GestureRecognizerChromium.cpp:
530 (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
531 (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
532 (WebCore::GestureRecognizerChromium::updateValues):
533 (WebCore::GestureRecognizerChromium::scrollEnd):
534 * platform/chromium/GestureRecognizerChromium.h:
536 2011-09-29 Noel Gordon <noel.gordon@gmail.com>
538 [chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
539 https://bugs.webkit.org/show_bug.cgi?id=67402
541 Reviewed by Kenneth Russell.
543 libjpeg-turbo can read directly from the input data for the premultiplied BRGX
544 (SkBitmap) encoding case.
546 No change in behavior, covered by existing canvas 2d/3d tests
547 canvas/philip/tests/toDataURL.jpeg.alpha.html
548 fast/canvas/webgl/premultiplyalpha-test.html
550 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
551 (WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
552 the input BRGX pixels directly within libjpeg-turbo.
554 2011-09-29 Adam Barth <abarth@webkit.org>
558 * bindings/v8/V8DOMWindowShell.cpp:
559 (WebCore::V8DOMWindowShell::namedItemAdded):
561 2011-09-29 Ryosuke Niwa <rniwa@webkit.org>
563 Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
564 https://bugs.webkit.org/show_bug.cgi?id=69023
566 Reviewed by Enrica Casucci.
568 Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
569 and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
570 (old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).
572 Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
573 and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
574 endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.
576 Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
577 completeHTMLReplacement by nullity checks of start and end positions.
580 (WebCore::Node::traversePreviousSibling): Added.
582 * editing/ReplaceSelectionCommand.cpp:
583 (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
585 (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
586 removeUnrenderedTextNodesAtEnds.
587 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
588 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
589 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
590 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
591 (WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
592 accessing m_firstNodeInserted.
593 (WebCore::ReplaceSelectionCommand::doApply):
594 (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
595 (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
596 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
597 * editing/ReplaceSelectionCommand.h:
599 2011-09-29 Andreas Kling <kling@webkit.org>
601 Shrink HTMLAnchorElement on 32-bit.
602 https://bugs.webkit.org/show_bug.cgi?id=69094
604 Reviewed by Antti Koivisto.
606 * html/HTMLAnchorElement.h: Pack members into a bitfield.
608 2011-09-29 Dan Bernstein <mitz@apple.com>
610 <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
612 Reviewed by Simon Fraser.
614 Test: fast/text/line-initial-and-final-swashes.html
616 Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
617 change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
618 incorrectly claims to have the line-initial feature enabled, but disabling it actually does
619 something different and bad (breaking some combining marks).
621 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
622 (WebCore::createFeatureSettingDictionary): Added this helper function.
623 (WebCore::cascadeToLastResortFontDescriptor): Deployed WTF_ARRAY_LENGTH().
624 (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Added. Returns a font descriptor
625 that, in addition to having a cascade list consisting of the last resort font, also has feature
626 settings to disable line-initial and line-final swashes.
627 (WebCore::FontPlatformData::ctFont): For Hoefler Text Italic, use cascadeToLastResortAndDisableSwashesFontDescriptor().
629 2011-09-29 Mark Hahnenberg <mhahnenberg@apple.com>
631 Unreviewed: resetting baseline for code generator bindings
637 * bindings/scripts/test/JS/JSTestObj.cpp:
638 * bindings/scripts/test/JS/JSTestObj.h:
640 2011-09-29 Nate Chapin <japhet@chromium.org>
642 [V8, chromium] More logging to determine cause of a null
643 v8::Context in V8DOMWindowShell::namedItemAdded().
645 https://bugs.webkit.org/show_bug.cgi?id=68099
647 Reviewed by Adam Barth.
649 * bindings/v8/V8DOMWindowShell.cpp:
650 (WebCore::V8DOMWindowShell::namedItemAdded):
652 2011-09-29 Alexey Proskuryakov <ap@apple.com>
654 https://bugs.webkit.org/show_bug.cgi?id=69040
655 ScrollbarThemeComposite requires a ScrollView to draw scroll corner
657 Reviewed by Simon Fraser.
659 No new tests. This will be needed later.
661 * platform/ScrollbarThemeComposite.cpp:
662 (WebCore::pageForScrollView):
663 (WebCore::ScrollbarThemeComposite::paintScrollCorner):
664 Use pageForScrollView() function which already existed in this file, used in another similar
667 * platform/chromium/FramelessScrollView.cpp:
668 * platform/chromium/FramelessScrollView.h:
669 * platform/gtk/ScrollbarThemeGtk.cpp:
670 * platform/gtk/ScrollbarThemeGtk.h:
671 * platform/wx/ScrollbarThemeWx.cpp:
672 * platform/wx/ScrollbarThemeWx.h:
673 All these overrides are no longer needed, ScrollbarThemeComposite will do the right thing.
675 * platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner):
676 Removed a special case for updatingControlTints phase. The same case is present in cross-platform
677 code now, and Qt doesn't have any custom subclasses of ScrollableArea or ScrollView to need
679 This was added in r37377 without a bug or much ChangeLog explanation.
681 2011-09-29 Mark Hahnenberg <mhahnenberg@apple.com>
683 De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
684 https://bugs.webkit.org/show_bug.cgi?id=68839
686 Reviewed by Geoffrey Garen.
690 Removed the remaining visitChildrenVirtual methods. This patch completes the process of
691 de-virtualizing visitChildren.
694 * bindings/js/JSAttrCustom.cpp:
695 * bindings/js/JSAudioContextCustom.cpp:
696 * bindings/js/JSCSSRuleCustom.cpp:
697 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
698 * bindings/js/JSCanvasRenderingContextCustom.cpp:
699 * bindings/js/JSDOMGlobalObject.cpp:
700 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
701 (WebCore::JSDOMGlobalObject::finishCreation):
702 * bindings/js/JSDOMGlobalObject.h:
703 * bindings/js/JSDOMWindowCustom.cpp:
704 * bindings/js/JSDOMWindowShell.cpp:
705 * bindings/js/JSDOMWindowShell.h:
706 * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
707 * bindings/js/JSMessageChannelCustom.cpp:
708 * bindings/js/JSMessagePortCustom.cpp:
709 * bindings/js/JSNamedNodeMapCustom.cpp:
710 * bindings/js/JSNodeCustom.cpp:
711 * bindings/js/JSNodeFilterCustom.cpp:
712 * bindings/js/JSNodeIteratorCustom.cpp:
713 * bindings/js/JSSVGElementInstanceCustom.cpp:
714 * bindings/js/JSSharedWorkerCustom.cpp:
715 * bindings/js/JSStyleSheetCustom.cpp:
716 * bindings/js/JSTreeWalkerCustom.cpp:
717 * bindings/js/JSWebGLRenderingContextCustom.cpp:
718 * bindings/js/JSWorkerContextCustom.cpp:
719 * bindings/js/JSXMLHttpRequestCustom.cpp:
720 * bindings/js/JSXPathResultCustom.cpp:
721 * bindings/scripts/CodeGeneratorJS.pm:
723 (GenerateImplementation):
724 * bridge/qt/qt_instance.cpp:
725 * bridge/qt/qt_runtime.cpp:
726 * bridge/qt/qt_runtime.h:
728 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
730 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
732 QWidget and friends now live in the QtWidgets library. We update
733 includes in implementation files and private headers to us the
734 non-module-prefixed path, and leave the lookup for the include
735 path. For public headers we have to ifdef the includes as the
736 user might now have the modules we need in his QT config.
738 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
739 have to update our code and use windowHandle() for setting the
740 parent relationships.
742 https://bugs.webkit.org/show_bug.cgi?id=68687
744 Reviewed by Andreas Kling.
747 * platform/graphics/qt/GraphicsLayerQt.cpp:
749 2011-09-29 Sheriff Bot <webkit.review.bot@gmail.com>
751 Unreviewed, rolling out r96340.
752 http://trac.webkit.org/changeset/96340
753 https://bugs.webkit.org/show_bug.cgi?id=69098
755 Caused 10 tests to crash in Debug (Requested by
756 abarth|gardener on #webkit).
758 * accessibility/AXObjectCache.cpp:
759 (WebCore::AXObjectCache::AXObjectCache):
760 (WebCore::AXObjectCache::~AXObjectCache):
761 (WebCore::AXObjectCache::remove):
762 (WebCore::AXObjectCache::childrenChanged):
763 * accessibility/AXObjectCache.h:
764 * accessibility/AccessibilityMenuList.cpp:
765 (WebCore::AccessibilityMenuList::childrenChanged):
766 * accessibility/AccessibilityMenuList.h:
767 * accessibility/AccessibilityMenuListPopup.cpp:
768 (WebCore::AccessibilityMenuListPopup::childrenChanged):
769 * accessibility/AccessibilityMenuListPopup.h:
770 * accessibility/AccessibilityObject.h:
771 (WebCore::AccessibilityObject::childrenChanged):
772 * accessibility/AccessibilityRenderObject.cpp:
773 (WebCore::startOfContinuations):
774 (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
775 (WebCore::AccessibilityRenderObject::childrenChanged):
776 * accessibility/AccessibilityRenderObject.h:
777 * rendering/RenderObject.cpp:
778 (WebCore::RenderObject::willBeDestroyed):
780 2011-09-29 Andreas Kling <kling@webkit.org>
782 Shrink FontFallbackList.
783 https://bugs.webkit.org/show_bug.cgi?id=69093
785 Reviewed by Antti Koivisto.
787 Reduce the size of FontFallbackList by one CPU word, decreasing memory
788 consumption by 300 kB (on 64-bit) when loading the full HTML5 spec.
790 * platform/graphics/FontCache.h:
791 * platform/graphics/FontCache.cpp:
792 (WebCore::FontCache::generation):
794 Store the FontCache generation as an ushort rather than uint.
796 * platform/graphics/FontFallbackList.cpp:
797 (WebCore::FontFallbackList::FontFallbackList):
798 * platform/graphics/FontFallbackList.h:
800 Pack enum and bool members in a bitfield.
802 2011-09-29 Adam Barth <abarth@webkit.org>
804 We should ignore the return value of GetRealNamedProperty
805 https://bugs.webkit.org/show_bug.cgi?id=68840
807 Reviewed by Nate Chapin.
809 Instead of skipping the lookup process by using the result of real
810 named property, we should just indiciate that it wasn't handled by the
813 Test: http/tests/security/window-named-valueOf.html
815 * bindings/v8/custom/V8DOMWindowCustom.cpp:
816 (WebCore::V8DOMWindow::namedPropertyGetter):
818 2011-09-29 Chris Fleizach <cfleizach@apple.com>
820 ARIA live regions don't trigger notifications for elements that aren't in the AX tree
821 https://bugs.webkit.org/show_bug.cgi?id=62289
823 If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
824 notification is not sent. To fix this, the childrenChanged() method needs to actually create
825 the appropriate objects, but since that method gets called during a render tree update, we've learned
826 that it's generally not safe to create objects.
828 Instead a one shot timer can be fired that will update and create the necessary objects so that the
829 correct notification can be sent.
831 Reviewed by Darin Adler.
833 Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
835 * accessibility/AXObjectCache.cpp:
836 (WebCore::AXObjectCache::AXObjectCache):
837 (WebCore::AXObjectCache::~AXObjectCache):
838 (WebCore::AXObjectCache::remove):
839 (WebCore::AXObjectCache::childrenUpdateTimerFired):
840 (WebCore::AXObjectCache::childrenChanged):
841 * accessibility/AXObjectCache.h:
842 * accessibility/AccessibilityMenuList.cpp:
843 (WebCore::AccessibilityMenuList::childrenChanged):
844 * accessibility/AccessibilityMenuList.h:
845 * accessibility/AccessibilityMenuListPopup.cpp:
846 (WebCore::AccessibilityMenuListPopup::childrenChanged):
847 * accessibility/AccessibilityMenuListPopup.h:
848 * accessibility/AccessibilityObject.h:
849 (WebCore::AccessibilityObject::childrenChanged):
850 * accessibility/AccessibilityRenderObject.cpp:
851 (WebCore::startOfContinuations):
852 (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
853 (WebCore::AccessibilityRenderObject::childrenChanged):
854 * accessibility/AccessibilityRenderObject.h:
855 * rendering/RenderObject.cpp:
856 (WebCore::RenderObject::willBeDestroyed):
858 2011-09-29 Martin Robinson <mrobinson@igalia.com>
860 [GTK] Dragging a selection does not produce a drag image
861 https://bugs.webkit.org/show_bug.cgi?id=69064
863 Reviewed by Andreas Kling.
865 Moved Chromium's generic implementation of Frame::nodeImage and
866 Frame::dragImageForSeletion to Frame.cpp and simply excluded via
867 #ifdefs platforms that do not have their own implementation. Removed
868 all empty implementations of these functions and Qt's which was
869 functionally identical.
871 No new tests. Drag-and-drop drag image functionality changes
872 are incredibly difficult to test in a non-manual way.
874 * CMakeListsEfl.txt: Delist FrameEfl.cpp.
875 * GNUmakefile.list.am: Delist FrameGtk.cpp.
876 * WebCore.gypi: Delist removed Frame*.cpp.
877 * WebCore.pro: Delist FrameQt.cpp.
878 * page/Frame.cpp: Moved FrameChromium implementation here.
879 (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
880 (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
881 (WebCore::Frame::nodeImage):
882 (WebCore::Frame::dragImageForSelection):
883 * page/chromium/FrameChromium.cpp: Removed.
884 * page/efl/FrameEfl.cpp: Removed.
885 * page/gtk/FrameGtk.cpp: Removed.
886 * page/qt/FrameQt.cpp: Removed.
887 * page/wx/FrameWx.cpp: Removed.
888 * platform/gtk/ClipboardGtk.cpp:
889 (WebCore::ClipboardGtk::createDragImage): Call nodeImage to get
890 the drag image for a node.
892 2011-09-29 Noel Gordon <noel.gordon@gmail.com>
894 [chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
895 https://bugs.webkit.org/show_bug.cgi?id=68988
897 Reviewed by Kenneth Russell.
899 No new tests. Covered by existing canvas 2d and 3d tests.
900 canvas/philip/tests/toDataURL.png.*.html
901 fast/canvas/toDataURL-alpha.html
902 fast/canvas/webgl/premultiplyalpha-test.html
904 * platform/image-encoders/skia/PNGImageEncoder.cpp:
905 (WebCore::encodePixels): Move constant out of the encoding loop.
906 (WebCore::PNGImageEncoder::encode): Consistency & style: call encodePixels()
907 just like we do in the JPEG encoder.
909 2011-09-29 Iain Merrick <husky@google.com>
911 Add unit test for CCLayerSorter
912 https://bugs.webkit.org/show_bug.cgi?id=68622
914 Minor refactoring for testability:
915 - Made pointInTriangle public.
916 - Added LayerShape to decouple LayerIntersector and GraphNode.
917 - Added a public wrapper function for LayerIntersector.
919 Reviewed by James Robinson.
921 * platform/graphics/chromium/cc/CCLayerSorter.cpp:
922 (WebCore::CCLayerSorter::pointInTriangle):
923 (WebCore::CCLayerSorter::calculateZDiff):
924 (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
925 (WebCore::CCLayerSorter::LayerIntersector::go):
926 (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
927 (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
928 (WebCore::CCLayerSorter::checkOverlap):
929 (WebCore::CCLayerSorter::LayerShape::LayerShape):
930 (WebCore::CCLayerSorter::createGraphNodes):
931 * platform/graphics/chromium/cc/CCLayerSorter.h:
932 (WebCore::CCLayerSorter::LayerShape::LayerShape):
933 (WebCore::CCLayerSorter::GraphNode::GraphNode):
935 2011-09-29 Ilya Tikhonovsky <loislo@chromium.org>
937 Web Inspector: UI performance test for network panel is incorrect. The time is including a timeout between scheduled refresh and actual refresh.
938 https://bugs.webkit.org/show_bug.cgi?id=69087
940 The fix has the changes for the test and minor perf framework improvements.
942 Reviewed by Yury Semikhatsky.
944 * inspector/front-end/NetworkPanel.js:
945 (WebInspector.NetworkLogView.prototype._defaultRefreshDelay.500._scheduleRefresh):
947 2011-09-29 Vsevolod Vlasov <vsevik@chromium.org>
949 Web Inspector: Make search-in-resource test simpler.
950 https://bugs.webkit.org/show_bug.cgi?id=69025
952 Changed search-in-resource test.
953 Removed error parameter from content provider's searchInContent callback.
955 Reviewed by Pavel Feldman.
957 * inspector/InspectorPageAgent.cpp:
958 (WebCore::InspectorPageAgent::searchInResource):
959 (WebCore::InspectorPageAgent::searchInResources):
960 * inspector/front-end/Resource.js:
961 (WebInspector.Resource.prototype.searchInContent):
963 2011-09-29 Hans Wennborg <hans@chromium.org>
965 IndexedDB: Use LevelDB also for in-memory databases
966 https://bugs.webkit.org/show_bug.cgi?id=68903
968 Reviewed by Steve Block.
970 Add LevelDBDatabase::openInMemory() which uses leveldb::NewMemEnv()
971 to create in-memory LevelDB databases.
973 Use this in IDBLeveLDBBackingStore::open() when the caller passes in
975 This happens in Chromium's incognito mode, and when running layout
978 Fix IDBSQLiteBackingStore::backingStoreExists() so it doesn't create
979 files when passed in an empty file path, but uses the in-memory mode
982 Existing layout tests will all be run in-memory.
984 * platform/leveldb/LevelDBDatabase.cpp:
985 (WebCore::LevelDBDatabase::~LevelDBDatabase):
987 (WebCore::LevelDBDatabase::open):
988 (WebCore::LevelDBDatabase::openInMemory):
989 * platform/leveldb/LevelDBDatabase.h:
990 * storage/IDBLevelDBBackingStore.cpp:
991 (WebCore::IDBLevelDBBackingStore::open):
992 * storage/IDBSQLiteBackingStore.cpp:
993 (WebCore::IDBSQLiteBackingStore::backingStoreExists):
995 2011-09-29 Ilya Tikhonovsky <loislo@chromium.org>
997 Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
998 https://bugs.webkit.org/show_bug.cgi?id=69081
1000 There is a test with 30 requests.
1001 For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
1002 NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
1003 This array can be replaced with a hash map just because the resource associated with the entry is the same for all the entries with the same request id.
1005 Reviewed by Pavel Feldman.
1007 Test: inspector/performance/resources/network-append-30-requests.html
1009 * inspector/front-end/NetworkPanel.js:
1010 (WebInspector.NetworkLogView):
1011 (WebInspector.NetworkLogView.prototype._invalidateAllItems):
1012 (WebInspector.NetworkLogView.prototype.refresh):
1013 (WebInspector.NetworkLogView.prototype._reset):
1014 (WebInspector.NetworkLogView.prototype._refreshResource):
1016 2011-09-28 Pavel Feldman <pfeldman@google.com>
1018 Web Inspector: make inspector protocol validation a part of the build process.
1019 https://bugs.webkit.org/show_bug.cgi?id=68999
1021 Since we'd like to commit to inspector protocol backwards compatibility, violating it
1022 should be a build failure.
1024 Reviewed by Yury Semikhatsky.
1027 * CodeGenerators.pri:
1028 * DerivedSources.make:
1030 * WebCore.gyp/WebCore.gyp:
1031 * inspector/Inspector.draft-01.json:
1032 * inspector/Inspector.json:
1033 * inspector/generate-inspector-idl:
1034 * inspector/generate-protocol-externs:
1035 * inspector/validate-protocol-compatibility:
1037 2011-09-27 Pavel Feldman <pfeldman@google.com>
1039 Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
1040 https://bugs.webkit.org/show_bug.cgi?id=68827
1042 Reviewed by Yury Semikhatsky.
1044 * inspector/front-end/ScriptsPanel.js:
1045 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
1046 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
1047 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1049 2011-09-28 Andrey Kosyakov <caseq@chromium.org>
1051 Web Inspector: network log view refresh optimizations
1052 https://bugs.webkit.org/show_bug.cgi?id=69010
1054 Reviewed by Pavel Feldman.
1056 * inspector/front-end/NetworkPanel.js:
1057 (WebInspector.NetworkLogView.prototype.refresh):
1059 2011-09-29 Pavel Podivilov <podivilov@chromium.org>
1061 Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
1062 https://bugs.webkit.org/show_bug.cgi?id=69068
1064 Reviewed by Yury Semikhatsky.
1067 * WebCore.vcproj/WebCore.vcproj:
1068 * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
1069 (WebInspector.RawSourceCode): Moved from SourceFile.js.
1070 (WebInspector.UILocation): Moved from SourceFile.js.
1071 * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
1072 (WebInspector.ScriptContentProvider):
1073 (WebInspector.ScriptContentProvider.prototype.requestContent):
1074 (WebInspector.ConcatenatedScriptsContentProvider):
1075 (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
1076 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1077 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1078 (WebInspector.ResourceContentProvider):
1079 (WebInspector.ResourceContentProvider.prototype.requestContent):
1080 (WebInspector.StaticContentProvider):
1081 (WebInspector.StaticContentProvider.prototype.requestContent):
1082 * inspector/front-end/WebKit.qrc:
1083 * inspector/front-end/inspector.html:
1085 2011-09-29 Philippe Normand <pnormand@igalia.com>
1087 [GStreamer] 2 flaky media tests
1088 https://bugs.webkit.org/show_bug.cgi?id=67407
1090 Reviewed by Martin Robinson.
1092 Workaround for GStreamer bug#639941. In GStreamer
1093 0.10.35 basesink reports wrong duration in case of EOS and
1094 negative playback rate. This workaround fixes two media tests,
1095 media/video-timeupdate-reverse-play.html and
1096 media/video-reverse-play-duration.html.
1098 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1099 (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
1100 (WebCore::MediaPlayerPrivateGStreamer::currentTime):
1101 (WebCore::MediaPlayerPrivateGStreamer::didEnd):
1103 2011-09-29 Philippe Normand <pnormand@igalia.com>
1105 [GStreamer] fullscreen video pause/play fails
1106 https://bugs.webkit.org/show_bug.cgi?id=66936
1108 Reviewed by Martin Robinson.
1110 Don't use the identity element to avoid painting of the in-window
1111 video. Instead simply make the sink aware of the fullscreen state
1112 and ignore buffers if fullscreen and autovideosink are
1113 active. Also fixed two deadlocks happening when a paused pipeline
1114 is switched to fullscreen and when fullscreen is disabled for a
1117 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1118 (WebCore::GStreamerGWorld::enterFullscreen):
1119 (WebCore::GStreamerGWorld::exitFullscreen):
1120 * platform/graphics/gstreamer/GStreamerGWorld.h:
1121 (WebCore::GStreamerGWorld::isFullscreen):
1122 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1123 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1124 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1125 (webkit_video_sink_render):
1126 (webkit_video_sink_new):
1127 * platform/graphics/gstreamer/VideoSinkGStreamer.h:
1129 2011-09-29 Tim Horton <timothy_horton@apple.com>
1131 REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
1132 https://bugs.webkit.org/show_bug.cgi?id=68679
1133 <rdar://problem/10204649>
1135 Reviewed by Nikolas Zimmermann.
1137 Strip prefixes from SVG attributes before testing if they're supported.
1138 Namespaced attributes will be matched using their namespace instead of
1139 the (user-choosable) prefix.
1141 Test: svg/custom/xlink-custom-namespace.svg
1143 * svg/SVGAElement.cpp:
1144 (WebCore::SVGAElement::isSupportedAttribute):
1145 * svg/SVGAnimateMotionElement.cpp:
1146 (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
1147 * svg/SVGAnimateTransformElement.cpp:
1148 (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
1149 * svg/SVGAnimationElement.cpp:
1150 (WebCore::SVGAnimationElement::isSupportedAttribute):
1151 * svg/SVGCircleElement.cpp:
1152 (WebCore::SVGCircleElement::isSupportedAttribute):
1153 * svg/SVGClipPathElement.cpp:
1154 (WebCore::SVGClipPathElement::isSupportedAttribute):
1155 * svg/SVGComponentTransferFunctionElement.cpp:
1156 (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
1157 * svg/SVGCursorElement.cpp:
1158 (WebCore::SVGCursorElement::isSupportedAttribute):
1160 (WebCore::SVGAttributeHashTranslator::hash):
1161 (WebCore::SVGAttributeHashTranslator::equal):
1162 * svg/SVGEllipseElement.cpp:
1163 (WebCore::SVGEllipseElement::isSupportedAttribute):
1164 * svg/SVGExternalResourcesRequired.h:
1165 * svg/SVGFEBlendElement.cpp:
1166 (WebCore::SVGFEBlendElement::isSupportedAttribute):
1167 * svg/SVGFEColorMatrixElement.cpp:
1168 (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
1169 * svg/SVGFEComponentTransferElement.cpp:
1170 (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
1171 * svg/SVGFECompositeElement.cpp:
1172 (WebCore::SVGFECompositeElement::isSupportedAttribute):
1173 * svg/SVGFEConvolveMatrixElement.cpp:
1174 (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
1175 * svg/SVGFEDiffuseLightingElement.cpp:
1176 (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
1177 * svg/SVGFEDisplacementMapElement.cpp:
1178 (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
1179 * svg/SVGFEDropShadowElement.cpp:
1180 (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
1181 * svg/SVGFEGaussianBlurElement.cpp:
1182 (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
1183 * svg/SVGFEImageElement.cpp:
1184 (WebCore::SVGFEImageElement::isSupportedAttribute):
1185 * svg/SVGFELightElement.cpp:
1186 (WebCore::SVGFELightElement::isSupportedAttribute):
1187 * svg/SVGFEMergeNodeElement.cpp:
1188 (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
1189 * svg/SVGFEMorphologyElement.cpp:
1190 (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
1191 * svg/SVGFEOffsetElement.cpp:
1192 (WebCore::SVGFEOffsetElement::isSupportedAttribute):
1193 * svg/SVGFESpecularLightingElement.cpp:
1194 (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
1195 * svg/SVGFETileElement.cpp:
1196 (WebCore::SVGFETileElement::isSupportedAttribute):
1197 * svg/SVGFETurbulenceElement.cpp:
1198 (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
1199 * svg/SVGFilterElement.cpp:
1200 (WebCore::SVGFilterElement::isSupportedAttribute):
1201 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1202 (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
1203 * svg/SVGForeignObjectElement.cpp:
1204 (WebCore::SVGForeignObjectElement::isSupportedAttribute):
1205 * svg/SVGGElement.cpp:
1206 (WebCore::SVGGElement::isSupportedAttribute):
1207 * svg/SVGGradientElement.cpp:
1208 (WebCore::SVGGradientElement::isSupportedAttribute):
1209 * svg/SVGImageElement.cpp:
1210 (WebCore::SVGImageElement::isSupportedAttribute):
1211 * svg/SVGLineElement.cpp:
1212 (WebCore::SVGLineElement::isSupportedAttribute):
1213 * svg/SVGLinearGradientElement.cpp:
1214 (WebCore::SVGLinearGradientElement::isSupportedAttribute):
1215 * svg/SVGMPathElement.cpp:
1216 (WebCore::SVGMPathElement::isSupportedAttribute):
1217 * svg/SVGMarkerElement.cpp:
1218 (WebCore::SVGMarkerElement::isSupportedAttribute):
1219 * svg/SVGMaskElement.cpp:
1220 (WebCore::SVGMaskElement::isSupportedAttribute):
1221 * svg/SVGPathElement.cpp:
1222 (WebCore::SVGPathElement::isSupportedAttribute):
1223 * svg/SVGPatternElement.cpp:
1224 (WebCore::SVGPatternElement::isSupportedAttribute):
1225 * svg/SVGPolyElement.cpp:
1226 (WebCore::SVGPolyElement::isSupportedAttribute):
1227 * svg/SVGRadialGradientElement.cpp:
1228 (WebCore::SVGRadialGradientElement::isSupportedAttribute):
1229 * svg/SVGRectElement.cpp:
1230 (WebCore::SVGRectElement::isSupportedAttribute):
1231 * svg/SVGScriptElement.cpp:
1232 (WebCore::SVGScriptElement::isSupportedAttribute):
1233 * svg/SVGStopElement.cpp:
1234 (WebCore::SVGStopElement::isSupportedAttribute):
1235 * svg/SVGStyleElement.cpp:
1236 (WebCore::SVGStyleElement::isSupportedAttribute):
1237 * svg/SVGStyledTransformableElement.cpp:
1238 (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
1239 * svg/SVGSymbolElement.cpp:
1240 (WebCore::SVGSymbolElement::isSupportedAttribute):
1241 * svg/SVGTRefElement.cpp:
1242 (WebCore::SVGTRefElement::isSupportedAttribute):
1243 * svg/SVGTextContentElement.cpp:
1244 (WebCore::SVGTextContentElement::isSupportedAttribute):
1245 * svg/SVGTextElement.cpp:
1246 (WebCore::SVGTextElement::isSupportedAttribute):
1247 * svg/SVGTextPathElement.cpp:
1248 (WebCore::SVGTextPathElement::isSupportedAttribute):
1249 * svg/SVGTextPositioningElement.cpp:
1250 (WebCore::SVGTextPositioningElement::isSupportedAttribute):
1251 * svg/SVGURIReference.cpp:
1252 (WebCore::SVGURIReference::addSupportedAttributes):
1253 * svg/SVGUseElement.cpp:
1254 (WebCore::SVGUseElement::isSupportedAttribute):
1255 * svg/SVGViewElement.cpp:
1256 (WebCore::SVGViewElement::isSupportedAttribute):
1258 2011-09-28 Kentaro Hara <haraken@chromium.org>
1260 "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&"
1261 https://bugs.webkit.org/show_bug.cgi?id=68984
1263 Reviewed by Darin Adler.
1265 Just a follow-up fix for the bug 68345. For performance,
1266 "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&".
1268 Tests: fast/events/constructors/pop-state-event-constructor.html
1269 fast/events/fire-popstate-event.html
1271 * dom/PopStateEvent.cpp:
1272 (WebCore::PopStateEvent::PopStateEvent):
1273 (WebCore::PopStateEvent::create):
1274 (WebCore::PopStateEvent::initPopStateEvent):
1275 * dom/PopStateEvent.h:
1277 2011-09-28 Martin Robinson <mrobinson@igalia.com>
1279 [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
1280 https://bugs.webkit.org/show_bug.cgi?id=66890
1282 Added a GtkDragAndDropHelper class to hold all the logic that is common
1283 between WebKit1 and WebKit2. This will allow greater code sharing between
1286 Reviewed by Philippe Normand.
1288 No new tests. This patch should not change behavior.
1290 * GNUmakefile.list.am: Added the GtkDragAndDropHelper to the sources list.
1291 * platform/gtk/GtkDragAndDropHelper.cpp: Added.
1292 * platform/gtk/GtkDragAndDropHelper.h: Added.
1294 2011-09-28 Dan Bernstein <mitz@apple.com>
1296 <rdar://problem/10196497> first-letter after list marker not updated correctly
1298 Reviewed by Simon Fraser.
1300 Test: fast/dynamic/first-letter-after-list-marker.html
1302 * rendering/RenderBlock.cpp:
1303 (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
1304 when trying to locate a first letter to update.
1306 2011-09-28 Kent Tamura <tkent@chromium.org>
1308 REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
1309 https://bugs.webkit.org/show_bug.cgi?id=68981
1311 Reviewed by Darin Adler.
1313 * html/parser/HTMLParserIdioms.cpp:
1314 (WebCore::parseHTMLInteger):
1315 Check the failure of charactersToIntStrict().
1316 (WebCore::parseHTMLNonNegativeInteger):
1317 Check the failure of charactersToUIntStrict().
1319 2011-09-28 Antoine Labour <piman@chromium.org>
1321 Remove unused createRootLayerPainter from CCLayerTreeHostClient
1322 https://bugs.webkit.org/show_bug.cgi?id=69042
1324 Reviewed by James Robinson.
1326 No new test needed: no semantic change.
1328 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1330 2011-09-28 Luke Macpherson <macpherson@chromium.org>
1332 Only resolve direction aware properties when properties are direction aware.
1333 https://bugs.webkit.org/show_bug.cgi?id=68968
1335 Reviewed by Eric Seidel.
1337 No new tests / no functionality changed.
1339 Profiling showed a ~8% improvement in applyProperty by not calling resolveDirectionAwareProperty for every property.
1341 * css/CSSStyleSelector.cpp:
1342 (WebCore::CSSStyleSelector::applyProperty):
1344 2011-09-28 Simon Fraser <simon.fraser@apple.com>
1346 fast/dom/scroll-element-to-rect.html fails on WK1 Mac port
1347 https://bugs.webkit.org/show_bug.cgi?id=68815
1349 Reviewed by Dan Bernstein.
1351 FrameView::scrollElementToRect() was incorrectly using Element::boundsInWindowSpace(),
1352 which is window-relative (not web view-relative), and has flipped coordinates
1355 Change to use Node::getRect() which is what the author intended.
1358 * page/FrameView.cpp:
1359 (WebCore::FrameView::scrollElementToRect):
1361 2011-09-28 Peter Beverloo <peter@chromium.org>
1363 Don't clamp cubic-bezier timing functions between 0 and 1
1364 https://bugs.webkit.org/show_bug.cgi?id=45761
1366 Remove the limitation of clamping the cubic-bezier timing function
1367 values between 0 and 1, following the specification change made on
1368 April 5 of this year.
1370 Reviewed by Dean Jackson.
1372 Tests: transitions/cubic-bezier-overflow-color.html
1373 transitions/cubic-bezier-overflow-length.html
1374 transitions/cubic-bezier-overflow-shadow.html
1375 transitions/cubic-bezier-overflow-svg-length.html
1376 transitions/cubic-bezier-overflow-transform.html
1378 * css/CSSParser.cpp:
1379 (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
1381 2011-09-28 Chris Rogers <crogers@google.com>
1383 DelayNode must set the context on delayTime AudioParam to support automation
1384 https://bugs.webkit.org/show_bug.cgi?id=68828
1386 Reviewed by Kenneth Russell.
1388 Test: webaudio/delaynode-scheduling.html
1390 * webaudio/DelayNode.cpp:
1391 (WebCore::DelayNode::DelayNode):
1393 2011-09-28 Sergey Glazunov <serg.glazunov@gmail.com>
1395 JavaScript generated documents don't inherit the cookie URL
1396 https://bugs.webkit.org/show_bug.cgi?id=69003
1398 Reviewed by Adam Barth.
1400 Test: http/tests/security/cookies/cookie-theft-with-javascript-doc.html
1403 (WebCore::Document::setCookieURL):
1404 * loader/DocumentWriter.cpp:
1405 (WebCore::DocumentWriter::replaceDocument):
1406 (WebCore::DocumentWriter::begin):
1407 * loader/DocumentWriter.h:
1409 2011-09-27 Dimitri Glazkov <dglazkov@chromium.org>
1411 REGRESSION(r95573): Crash when loading SVG documents in a flattened frame or any SVG document in Chromium/Mac.
1412 https://bugs.webkit.org/show_bug.cgi?id=68938
1414 Reviewed by David Hyatt.
1416 Test: all svg tests in LayoutTests.
1418 * rendering/RenderBlock.cpp:
1419 (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Added a null-check for containingBlock.
1421 2011-09-28 Una Sabovic <una.sabovic@palm.com>
1423 Setting innerText to an empty string on editable div loses focus
1424 https://bugs.webkit.org/show_bug.cgi?id=62092
1426 Reviewed by Ryosuke Niwa.
1428 When selection start or end node is being deleted do not clear the selection.
1429 Instead update the start/end position to an equivalent parent-anchored positions.
1430 When text is inserted/deleted update selection per range modification spec:
1431 http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation
1433 Tests: editing/selection/document-mutation.html
1434 editing/selection/editable-div-clear-on-keydown.html
1436 * editing/FrameSelection.cpp:
1437 (WebCore::FrameSelection::respondToNodeModification):
1438 (WebCore::updatePositionAfterAdoptingTextReplacement):
1439 (WebCore::FrameSelection::textWillBeReplaced):
1440 * editing/htmlediting.cpp:
1441 (WebCore::updatePositionForNodeRemoval):
1443 2011-09-28 Joseph Pecoraro <joepeck@webkit.org>
1445 FTPDirectoryDocument Shows Garbled String for Last Modified Date
1446 https://bugs.webkit.org/show_bug.cgi?id=69011
1448 Reviewed by Dan Bernstein.
1450 Force WTF::String concatenation instead of an accidental char* pointer addition.
1452 * html/FTPDirectoryDocument.cpp:
1453 (WebCore::processFileDateString):
1455 2011-09-28 Nate Chapin <japhet@chromium.org>
1457 Fix a regression in r96060. ResourceLoader shouldn't get
1458 initialized with a null DocumentLoader.
1459 https://bugs.webkit.org/show_bug.cgi?id=69004
1461 Reviewed by Csaba Osztrogonác.
1463 This should fix a debug crash in some platforms in
1464 plugins/js-from-destroy.html
1466 * loader/ResourceLoader.cpp:
1467 (WebCore::ResourceLoader::init): Move the activeDocumentLoader() null checks back
1468 to SubresouceLoader::create().
1469 * loader/SubresourceLoader.cpp:
1470 (WebCore::SubresourceLoader::create):
1472 2011-09-28 Adam Barth <abarth@webkit.org>
1474 CSP doesn't work for a wide variety of cases
1475 https://bugs.webkit.org/show_bug.cgi?id=68921
1477 Reviewed by Darin Adler.
1479 Patch suggested by Sam Weinig. It's unclear to me how to test this
1480 change because all our tests run on non-default ports, which is why we
1481 have this bug in the first place. Mozilla uses a proxy while testing
1482 so they can test with URLs like http://example.com, but we don't have
1485 * page/ContentSecurityPolicy.cpp:
1486 (WebCore::CSPSource::portMatches):
1488 2011-09-28 Fady Samuel <fsamuel@chromium.org>
1490 [Chromium] Seperate GTK specific Gyp rules from X11 Gyp rules
1491 https://bugs.webkit.org/show_bug.cgi?id=68936
1493 Reviewed by Tony Chang.
1495 Chromium need to be built without Gtk for future version of ChromiumOS.
1497 * WebCore.gyp/WebCore.gyp:
1499 2011-09-28 Tom Sepez <tsepez@chromium.org>
1501 Revert change which broke displaying end script tags in view-source, instead
1502 deal with any trailing </script> tag included by mistake in the XSSAuditor
1503 itself. Correct tests to detect the missing close tags.
1504 https://bugs.webkit.org/show_bug.cgi?id=68898
1506 Reviewed by Adam Barth.
1508 * html/parser/HTMLSourceTracker.cpp:
1509 (WebCore::HTMLSourceTracker::end):
1510 * html/parser/HTMLTokenizer.cpp:
1511 (WebCore::HTMLTokenizer::nextToken):
1512 * html/parser/XSSAuditor.cpp:
1513 (WebCore::startsHTMLEndTagAt):
1514 (WebCore::XSSAuditor::snippetForJavaScript):
1516 2011-09-28 Adam Barth <abarth@webkit.org>
1518 Remove empty directories.
1520 * editing/brew: Removed.
1521 * page/brew: Removed.
1522 * platform/brew: Removed.
1523 * platform/graphics/brew: Removed.
1524 * platform/network/brew: Removed.
1525 * platform/text/brew: Removed.
1527 2011-09-28 Ilya Tikhonovsky <loislo@chromium.org>
1529 Web Inspector: optional arguments support for the frontend needs to be extended.
1530 https://bugs.webkit.org/show_bug.cgi?id=69005
1532 Generator supports optional arguments but they are transferred by value.
1533 It is not suitable if the used type doesn't have operator bool.
1534 I'll transfer such arguments by pointer.
1536 Reviewed by Pavel Feldman.
1540 * inspector/CodeGeneratorInspector.pm:
1541 (generateFrontendFunction):
1543 * inspector/InspectorDebuggerAgent.cpp:
1544 (WebCore::InspectorDebuggerAgent::didParseSource):
1545 * inspector/InspectorResourceAgent.cpp:
1546 (WebCore::InspectorResourceAgent::didFailLoading):
1548 2011-09-28 Antaryami Pandia <antaryami.pandia@motorola.com>
1550 Reflected attribute input.size wraps on negative values (Chrome), or
1551 returns them (Safari).
1552 https://bugs.webkit.org/show_bug.cgi?id=44886
1554 Reviewed by Darin Adler.
1556 Test: fast/dom/HTMLInputElement/input-size-attribute.html
1558 * html/HTMLInputElement.cpp:
1559 (WebCore::HTMLInputElement::parseMappedAttribute):
1561 2011-09-28 Vsevolod Vlasov <vsevik@chromium.org>
1563 Web Inspector: Add support for search in single resource to page agent.
1564 https://bugs.webkit.org/show_bug.cgi?id=68998
1566 Reviewed by Pavel Feldman.
1568 Test: http/tests/inspector/search/search-in-resource.html
1570 * inspector/ContentSearchUtils.cpp:
1571 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
1572 * inspector/ContentSearchUtils.h:
1573 * inspector/Inspector.json:
1574 * inspector/InspectorPageAgent.cpp:
1575 (WebCore::buildObjectForSearchMatch):
1576 (WebCore::InspectorPageAgent::searchInResource):
1577 * inspector/InspectorPageAgent.h:
1578 * inspector/front-end/Resource.js:
1579 (WebInspector.Resource.prototype.searchInContent):
1580 * inspector/front-end/SourceFile.js:
1581 (WebInspector.ResourceContentProvider.prototype.requestContent):
1582 (WebInspector.ResourceContentProvider.prototype.searchInContent):
1583 * inspector/front-end/UISourceCode.js:
1584 (WebInspector.ContentProvider.prototype.requestContent):
1585 (WebInspector.ContentProvider.prototype.searchInContent):
1587 2011-09-28 Ilya Tikhonovsky <loislo@chromium.org>
1589 Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
1590 https://bugs.webkit.org/show_bug.cgi?id=69002
1592 Reviewed by Yury Semikhatsky.
1594 * inspector/CodeGeneratorInspector.pm:
1596 2011-09-27 Pavel Podivilov <podivilov@chromium.org>
1598 Web Inspector: live edit cursor always appears at the beginning of the file.
1599 https://bugs.webkit.org/show_bug.cgi?id=68900
1601 Reviewed by Pavel Feldman.
1603 * inspector/front-end/TextViewer.js:
1604 (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
1606 2011-09-28 Vsevolod Vlasov <vsevik@chromium.org>
1608 Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
1609 https://bugs.webkit.org/show_bug.cgi?id=68930
1611 Reviewed by Yury Semikhatsky.
1613 Search moved out from page agent.
1614 Fixed search for non regex case which is not yet used.
1616 Test: http/tests/inspector/search/search-in-resources.html
1619 * GNUmakefile.list.am:
1622 * WebCore.vcproj/WebCore.vcproj:
1623 * WebCore.xcodeproj/project.pbxproj:
1624 * inspector/ContentSearchUtils.cpp: Added.
1625 (WebCore::ContentSearchUtils::createSearchRegexSource):
1626 (WebCore::ContentSearchUtils::createSearchRegex):
1627 (WebCore::ContentSearchUtils::countRegularExpressionMatches):
1628 * inspector/ContentSearchUtils.h: Added.
1629 * inspector/InspectorPageAgent.cpp:
1630 (WebCore::hasTextContent):
1631 (WebCore::InspectorPageAgent::cachedResourceContent):
1632 (WebCore::textContentForCachedResource):
1633 (WebCore::buildObjectForSearchResult):
1634 (WebCore::InspectorPageAgent::searchInResources):
1635 * inspector/front-end/utilities.js:
1638 2011-09-28 Kentaro Hara <haraken@chromium.org>
1640 Implement a PopStateEvent constructor for V8
1641 https://bugs.webkit.org/show_bug.cgi?id=68896
1643 Reviewed by Adam Barth.
1645 Test: fast/events/constructors/pop-state-event-constructor.html
1647 * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
1648 * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
1650 2011-09-28 No'am Rosenthal <noam.rosenthal@nokia.com>
1652 [Texmap] Allow TextureMapperGL to work without a GraphicsContext
1653 https://bugs.webkit.org/show_bug.cgi?id=68980
1655 Reviewed by Andreas Kling.
1657 Perform a null-check for m_context and initialize that variable.
1658 If a graphics-context doesn't exist, we don't need to reset it.
1660 No new functionality so no new tests.
1662 * platform/graphics/opengl/TextureMapperGL.cpp:
1663 (WebCore::TextureMapperGL::TextureMapperGL):
1664 (WebCore::TextureMapperGL::beginPainting):
1665 (WebCore::TextureMapperGL::endPainting):
1667 2011-09-28 Kentaro Hara <haraken@chromium.org>
1669 Implement an ErrorEvent constructor for V8
1670 https://bugs.webkit.org/show_bug.cgi?id=68336
1672 Reviewed by Adam Barth.
1674 Test: fast/events/constructors/error-event-constructor.html
1676 * bindings/v8/OptionsObject.cpp:
1677 (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
1678 * bindings/v8/OptionsObject.h:
1679 * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
1680 * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
1682 2011-09-27 Andy Estes <aestes@apple.com>
1684 WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
1685 https://bugs.webkit.org/show_bug.cgi?id=68863
1687 Reviewed by Darin Adler.
1689 The SolarWalk binary does not link against WebKit.framework directly,
1690 so calling NSVersionOfLinkTimeLibrary() will not return the version of
1691 WebKit against which SolarWalk was linked. Since Solar Walk has
1692 released an update that addresses the issue for which this app-specific
1693 hack was originally added, we should just remove the hack.
1695 * WebCore.exp.in: Remove applicationIsSolarWalkMac().
1696 * platform/RuntimeApplicationChecks.cpp: Ditto.
1697 * platform/RuntimeApplicationChecks.h: Ditto.
1699 2011-09-28 Tim Horton <timothy_horton@apple.com>
1701 Fix potential SVG performance regression (over-invalidation of caches) from 96052
1702 https://bugs.webkit.org/show_bug.cgi?id=68941
1703 <rdar://problem/10196224>
1705 Reviewed by Zoltan Herczeg.
1707 Only invalidate the cache of a filter when target style changes, as of the different types of cached
1708 resources, only filters make use of the style of the target element and thus need to be invalidated
1709 when the target style changes.
1711 No new tests, performance improvement.
1713 * rendering/svg/SVGResourcesCache.cpp:
1714 (WebCore::SVGResourcesCache::clientUpdatedFromElement):
1716 2011-09-28 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
1718 Missing initialization of member in ImageFrameQt class
1719 https://bugs.webkit.org/show_bug.cgi?id=68943
1721 Reviewed by Kenneth Rohde Christiansen.
1723 No new tests, this fixes internal implementation detail.
1725 * platform/image-decoders/qt/ImageFrameQt.cpp:
1726 (WebCore::ImageFrame::ImageFrame):
1727 (WebCore::ImageFrame::operator=):
1729 2011-09-27 Luke Macpherson <macpherson@chromium.org>
1731 Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
1732 https://bugs.webkit.org/show_bug.cgi?id=68964
1734 Reviewed by Eric Seidel.
1736 No new tests / no functionality changed.
1738 Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
1739 before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
1741 * css/CSSStyleSelector.cpp:
1742 (WebCore::CSSStyleSelector::applyProperty):
1744 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
1746 Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
1747 https://bugs.webkit.org/show_bug.cgi?id=68939
1749 Reviewed by Darin Adler.
1751 Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
1753 This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
1754 text at ends are not removed when it has a render object. Fixed the bug by checking the length of
1755 the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
1757 This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
1758 on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
1759 issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
1762 (WebCore::Position::rendersInDifferentPosition):
1763 * editing/ReplaceSelectionCommand.cpp:
1764 (WebCore::nodeHasVisibleRenderText): Added.
1765 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
1766 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
1767 * editing/visible_units.cpp:
1768 (WebCore::startOfParagraph): Calls renderedTextLength.
1769 (WebCore::endOfParagraph): Ditto.
1770 * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
1771 * rendering/InlineBox.h: Ditto.
1772 * rendering/InlineTextBox.cpp: Ditto.
1773 * rendering/InlineTextBox.h: Ditto.
1774 * rendering/RenderBR.cpp: Ditto.
1775 * rendering/RenderBR.h: Ditto.
1776 * rendering/RenderObject.cpp: Ditto.
1777 * rendering/RenderObject.h: Ditto.
1778 * rendering/RenderReplaced.cpp: Ditto.
1779 * rendering/RenderReplaced.h: Ditto.
1780 * rendering/RenderText.cpp:
1781 (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
1782 * rendering/RenderText.h:
1784 2011-09-27 James Robinson <jamesr@chromium.org>
1786 [chromium] LayerRenderChromium asserts about leaking textures.
1787 https://bugs.webkit.org/show_bug.cgi?id=68190
1789 Reviewed by Kenneth Russell.
1791 This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
1792 This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
1793 enum type, making it more testable. It also allows us to track the allocations by subclassing TextureAllocator
1794 to make sure we aren't leaking any textures.
1797 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1798 (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1799 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1800 * platform/graphics/chromium/ImageLayerChromium.cpp:
1801 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1802 * platform/graphics/chromium/LayerChromium.h:
1803 (WebCore::LayerChromium::updateCompositorResources):
1804 * platform/graphics/chromium/LayerRendererChromium.cpp:
1805 (WebCore::LayerRendererChromium::LayerRendererChromium):
1806 (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
1807 (WebCore::LayerRendererChromium::drawLayers):
1808 (WebCore::LayerRendererChromium::useRenderSurface):
1809 (WebCore::LayerRendererChromium::initializeSharedObjects):
1810 (WebCore::LayerRendererChromium::cleanupSharedObjects):
1811 * platform/graphics/chromium/LayerRendererChromium.h:
1812 (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
1813 (WebCore::LayerRendererChromium::contentsTextureAllocator):
1814 * platform/graphics/chromium/LayerTextureUpdater.h:
1815 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1816 (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1817 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1818 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1819 * platform/graphics/chromium/ManagedTexture.cpp:
1820 (WebCore::ManagedTexture::bindTexture):
1821 (WebCore::ManagedTexture::framebufferTexture2D):
1822 * platform/graphics/chromium/ManagedTexture.h:
1823 * platform/graphics/chromium/TextureManager.cpp:
1824 (WebCore::TextureManager::memoryUseBytes):
1825 (WebCore::TextureManager::deleteEvictedTextures):
1826 (WebCore::TextureManager::evictAndDeleteAllTextures):
1827 (WebCore::TextureManager::removeTexture):
1828 (WebCore::TextureManager::allocateTexture):
1829 (WebCore::TextureManager::requestTexture):
1830 * platform/graphics/chromium/TextureManager.h:
1831 (WebCore::TextureAllocator::~TextureAllocator):
1832 * platform/graphics/chromium/TiledLayerChromium.cpp:
1833 (WebCore::TiledLayerChromium::updateCompositorResources):
1834 * platform/graphics/chromium/TiledLayerChromium.h:
1835 * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
1836 (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1837 (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
1838 (WebCore::TrackingTextureAllocator::createTexture):
1839 (WebCore::TrackingTextureAllocator::deleteTexture):
1840 * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
1841 (WebCore::TrackingTextureAllocator::create):
1842 (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
1843 * platform/graphics/chromium/VideoLayerChromium.cpp:
1844 (WebCore::VideoLayerChromium::updateCompositorResources):
1845 (WebCore::VideoLayerChromium::updateTexture):
1846 * platform/graphics/chromium/VideoLayerChromium.h:
1847 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1848 (WebCore::WebGLLayerChromium::updateCompositorResources):
1849 * platform/graphics/chromium/WebGLLayerChromium.h:
1850 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1851 (WebCore::CCHeadsUpDisplay::draw):
1852 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1853 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1854 (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
1855 (WebCore::CCLayerTreeHost::commitToOnCCThread):
1856 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
1857 (WebCore::CCLayerTreeHost::updateCompositorResources):
1858 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1859 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1860 (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
1861 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1862 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1863 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1864 (WebCore::CCRenderSurface::drawSurface):
1865 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1866 (WebCore::CCSingleThreadProxy::setNeedsCommit):
1867 (WebCore::CCSingleThreadProxy::stop):
1868 (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
1869 (WebCore::CCSingleThreadProxy::commitIfNeeded):
1870 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1871 (WebCore::CCThreadProxy::commitOnCCThread):
1872 (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
1873 2011-09-27 James Robinson <jamesr@chromium.org>
1875 [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
1876 https://bugs.webkit.org/show_bug.cgi?id=68967
1878 Reviewed by Kenneth Russell.
1880 When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
1881 opposed to only a redraw).
1883 Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
1885 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1886 (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
1888 2011-09-27 Kentaro Hara <haraken@chromium.com>
1890 Implement a PageTransitionEvent constructor for V8
1891 https://bugs.webkit.org/show_bug.cgi?id=68067
1893 Reviewed by Adam Barth.
1895 Test: fast/events/constructors/page-transition-event-constructor.html
1897 * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
1898 * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
1900 2011-09-27 Kentaro Hara <haraken@chromium.org>
1902 Implement a MessageEvent constructor for JSC
1903 https://bugs.webkit.org/show_bug.cgi?id=68883
1905 Reviewed by Adam Barth.
1907 The spec for MessageEvent is here:
1908 http://www.whatwg.org/specs/web-apps/current-work/#messageevent
1910 Currently, some tests in fast/events/constructors/message-event-constructor.html
1911 are failing or crashing in DRT, as we commented in the test file.
1912 This is because MessageEvent.data is implemented as SerializedScriptValue,
1913 and thus it cannot keep ScriptValue passed by JavaScript.
1914 This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
1915 We will soon make a follow-up patch to fix these failures, after this
1918 Test: fast/events/constructors/message-event-constructor.html
1920 * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
1921 * bindings/js/JSDictionary.cpp:
1922 (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
1923 * bindings/js/JSDictionary.h:
1924 * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
1925 * dom/MessageEvent.cpp:
1926 (WebCore::MessageEventInit::MessageEventInit):
1927 (WebCore::MessageEvent::MessageEvent):
1928 (WebCore::MessageEvent::initMessageEvent):
1929 * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
1930 (WebCore::MessageEvent::create):
1931 (WebCore::MessageEvent::origin):
1932 (WebCore::MessageEvent::lastEventId):
1933 (WebCore::MessageEvent::source):
1934 (WebCore::MessageEvent::ports):
1935 (WebCore::MessageEvent::dataType):
1936 (WebCore::MessageEvent::dataAsSerializedScriptValue):
1937 (WebCore::MessageEvent::dataAsString):
1938 (WebCore::MessageEvent::dataAsBlob):
1939 (WebCore::MessageEvent::dataAsArrayBuffer):
1940 * dom/MessageEvent.idl: Makes MessageEvent constructible.
1942 2011-09-27 Eric Uhrhane <ericu@chromium.org>
1944 [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
1945 https://bugs.webkit.org/show_bug.cgi?id=67684
1947 Reviewed by David Levin.
1949 Tests: fast/filesystem/file-writer-abort-continue.html
1950 fast/filesystem/file-writer-abort.html
1952 Track the state of the backend and be prepared for reentrant user
1953 requests. Limit recursion depth to an arbitrary small constant.
1954 * fileapi/FileWriter.cpp: Lots of event-handling changes.
1955 * fileapi/FileWriter.h:
1957 2011-09-27 Mihai Parparita <mihaip@chromium.org>
1959 Unreviewed, rolling out r96141.
1960 http://trac.webkit.org/changeset/96141
1961 https://bugs.webkit.org/show_bug.cgi?id=68190
1963 Breaks PrerenderBrowserTest.PrerenderHTML5Video in
1967 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1968 (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1969 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1970 * platform/graphics/chromium/ImageLayerChromium.cpp:
1971 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1972 * platform/graphics/chromium/LayerChromium.h:
1973 (WebCore::LayerChromium::updateCompositorResources):
1974 * platform/graphics/chromium/LayerRendererChromium.cpp:
1975 (WebCore::LayerRendererChromium::LayerRendererChromium):
1976 (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
1977 (WebCore::LayerRendererChromium::drawLayers):
1978 (WebCore::LayerRendererChromium::createLayerTexture):
1979 (WebCore::LayerRendererChromium::deleteLayerTexture):
1980 (WebCore::LayerRendererChromium::useRenderSurface):
1981 (WebCore::LayerRendererChromium::initializeSharedObjects):
1982 (WebCore::LayerRendererChromium::cleanupSharedObjects):
1983 * platform/graphics/chromium/LayerRendererChromium.h:
1984 (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
1985 * platform/graphics/chromium/LayerTextureUpdater.h:
1986 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1987 (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1988 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1989 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1990 * platform/graphics/chromium/ManagedTexture.cpp:
1991 (WebCore::ManagedTexture::bindTexture):
1992 (WebCore::ManagedTexture::framebufferTexture2D):
1993 * platform/graphics/chromium/ManagedTexture.h:
1994 * platform/graphics/chromium/TextureManager.cpp:
1995 (WebCore::memoryUseBytes):
1996 (WebCore::TextureManager::deleteEvictedTextures):
1997 (WebCore::TextureManager::evictAndDeleteAllTextures):
1998 (WebCore::TextureManager::removeTexture):
1999 (WebCore::TextureManager::allocateTexture):
2000 (WebCore::TextureManager::requestTexture):
2001 * platform/graphics/chromium/TextureManager.h:
2002 * platform/graphics/chromium/TiledLayerChromium.cpp:
2003 (WebCore::TiledLayerChromium::updateCompositorResources):
2004 * platform/graphics/chromium/TiledLayerChromium.h:
2005 * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
2006 * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
2007 * platform/graphics/chromium/VideoLayerChromium.cpp:
2008 (WebCore::VideoLayerChromium::updateCompositorResources):
2009 (WebCore::VideoLayerChromium::updateTexture):
2010 * platform/graphics/chromium/VideoLayerChromium.h:
2011 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2012 (WebCore::WebGLLayerChromium::updateCompositorResources):
2013 * platform/graphics/chromium/WebGLLayerChromium.h:
2014 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2015 (WebCore::CCHeadsUpDisplay::draw):
2016 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2017 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2018 (WebCore::CCLayerTreeHost::deleteContentsTextures):
2019 (WebCore::CCLayerTreeHost::commitTo):
2020 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2021 (WebCore::CCLayerTreeHost::updateCompositorResources):
2022 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
2023 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2024 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2025 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2026 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2027 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2028 (WebCore::CCRenderSurface::drawSurface):
2029 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2030 (WebCore::CCSingleThreadProxy::setNeedsCommit):
2031 (WebCore::CCSingleThreadProxy::stop):
2032 (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
2033 (WebCore::CCSingleThreadProxy::commitIfNeeded):
2034 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2035 (WebCore::CCThreadProxy::commitOnCCThread):
2036 (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2038 2011-09-27 James Robinson <jamesr@chromium.org>
2040 [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
2041 https://bugs.webkit.org/show_bug.cgi?id=68953
2043 Reviewed by Kenneth Russell.
2045 The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
2046 together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
2047 so the features can advance independently. Today, it's not safe to set both of these flags.
2049 * platform/graphics/chromium/ContentLayerChromium.cpp:
2050 (WebCore::ContentLayerChromium::createTextureUpdater):
2051 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2052 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2054 2011-09-27 Luke Macpherson <macpherson@chromium.org>
2056 Slightly improve performance of CSSStyleApplyProperty handler lookup.
2057 https://bugs.webkit.org/show_bug.cgi?id=68868
2059 Reviewed by Eric Seidel.
2061 No new tests as no functionality changed.
2063 * css/CSSStyleApplyProperty.h:
2064 (WebCore::CSSStyleApplyProperty::propertyHandler):
2065 Make propertyHandler() public and remove redirecting functions.
2066 * css/CSSStyleSelector.cpp:
2067 (WebCore::CSSStyleSelector::applyProperty):
2068 Perform property handler lookup once and reuse the result.
2070 2011-09-27 Kent Tamura <tkent@chromium.org>
2072 [V8] element.dataset.nonExistingKey should return undefined.
2073 https://bugs.webkit.org/show_bug.cgi?id=68877
2075 Reviewed by Nate Chapin.
2077 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2078 (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
2080 2011-09-23 Mark Hahnenberg <mhahnenberg@apple.com>
2082 Add static version of JSCell::visitChildren
2083 https://bugs.webkit.org/show_bug.cgi?id=68404
2085 Reviewed by Darin Adler.
2089 In this patch we just extract the bodies of the virtual visitChildren methods
2090 throughout the JSCell inheritance hierarchy out into static methods, which are
2091 now called from the virtual methods. This is an intermediate step in trying to
2092 move the virtual-ness of visitChildren into our own custom vtable stored in
2093 ClassInfo. We need to convert the methods to static methods in order to be
2094 able to more easily store and refer to them in our custom vtable since normal
2095 member methods store some implicit information in their types, making it
2096 impossible to store them generically in ClassInfo.
2099 * bindings/js/JSAttrCustom.cpp:
2100 (WebCore::JSAttr::visitChildrenVirtual):
2101 (WebCore::JSAttr::visitChildren):
2102 * bindings/js/JSAudioContextCustom.cpp:
2103 (WebCore::JSAudioContext::visitChildrenVirtual):
2104 (WebCore::JSAudioContext::visitChildren):
2105 * bindings/js/JSCSSRuleCustom.cpp:
2106 (WebCore::JSCSSRule::visitChildrenVirtual):
2107 (WebCore::JSCSSRule::visitChildren):
2108 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2109 (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
2110 (WebCore::JSCSSStyleDeclaration::visitChildren):
2111 * bindings/js/JSCanvasRenderingContextCustom.cpp:
2112 (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
2113 (WebCore::JSCanvasRenderingContext::visitChildren):
2114 * bindings/js/JSDOMGlobalObject.cpp:
2115 (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
2116 (WebCore::JSDOMGlobalObject::visitChildren):
2117 * bindings/js/JSDOMGlobalObject.h:
2118 * bindings/js/JSDOMWindowCustom.cpp:
2119 (WebCore::JSDOMWindow::visitChildrenVirtual):
2120 (WebCore::JSDOMWindow::visitChildren):
2121 * bindings/js/JSDOMWindowShell.cpp:
2122 (WebCore::JSDOMWindowShell::visitChildrenVirtual):
2123 (WebCore::JSDOMWindowShell::visitChildren):
2124 * bindings/js/JSDOMWindowShell.h:
2125 * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
2126 (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
2127 (WebCore::JSJavaScriptAudioNode::visitChildren):
2128 * bindings/js/JSMessageChannelCustom.cpp:
2129 (WebCore::JSMessageChannel::visitChildrenVirtual):
2130 (WebCore::JSMessageChannel::visitChildren):
2131 * bindings/js/JSMessagePortCustom.cpp:
2132 (WebCore::JSMessagePort::visitChildrenVirtual):
2133 (WebCore::JSMessagePort::visitChildren):
2134 * bindings/js/JSNamedNodeMapCustom.cpp:
2135 (WebCore::JSNamedNodeMap::visitChildrenVirtual):
2136 (WebCore::JSNamedNodeMap::visitChildren):
2137 * bindings/js/JSNodeCustom.cpp:
2138 (WebCore::JSNode::visitChildrenVirtual):
2139 (WebCore::JSNode::visitChildren):
2140 * bindings/js/JSNodeFilterCustom.cpp:
2141 (WebCore::JSNodeFilter::visitChildrenVirtual):
2142 (WebCore::JSNodeFilter::visitChildren):
2143 * bindings/js/JSNodeIteratorCustom.cpp:
2144 (WebCore::JSNodeIterator::visitChildrenVirtual):
2145 (WebCore::JSNodeIterator::visitChildren):
2146 * bindings/js/JSSVGElementInstanceCustom.cpp:
2147 (WebCore::JSSVGElementInstance::visitChildrenVirtual):
2148 (WebCore::JSSVGElementInstance::visitChildren):
2149 * bindings/js/JSSharedWorkerCustom.cpp:
2150 (WebCore::JSSharedWorker::visitChildrenVirtual):
2151 (WebCore::JSSharedWorker::visitChildren):
2152 * bindings/js/JSStyleSheetCustom.cpp:
2153 (WebCore::JSStyleSheet::visitChildrenVirtual):
2154 (WebCore::JSStyleSheet::visitChildren):
2155 * bindings/js/JSTreeWalkerCustom.cpp:
2156 (WebCore::JSTreeWalker::visitChildrenVirtual):
2157 (WebCore::JSTreeWalker::visitChildren):
2158 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2159 (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
2160 (WebCore::JSWebGLRenderingContext::visitChildren):
2161 * bindings/js/JSWorkerContextCustom.cpp:
2162 (WebCore::JSWorkerContext::visitChildrenVirtual):
2163 (WebCore::JSWorkerContext::visitChildren):
2164 * bindings/js/JSXMLHttpRequestCustom.cpp:
2165 (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
2166 (WebCore::JSXMLHttpRequest::visitChildren):
2167 * bindings/js/JSXPathResultCustom.cpp:
2168 (WebCore::JSXPathResult::visitChildrenVirtual):
2169 (WebCore::JSXPathResult::visitChildren):
2170 * bindings/scripts/CodeGeneratorJS.pm:
2172 (GenerateImplementation):
2173 * bindings/scripts/test/JS/JSTestObj.cpp:
2174 (WebCore::JSTestObj::visitChildrenVirtual):
2175 (WebCore::JSTestObj::visitChildren):
2176 * bindings/scripts/test/JS/JSTestObj.h:
2177 * bridge/qt/qt_instance.cpp:
2178 (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
2179 (JSC::Bindings::QtRuntimeObject::visitChildren):
2180 * bridge/qt/qt_runtime.cpp:
2181 (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
2182 (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
2183 * bridge/qt/qt_runtime.h:
2184 * workers/WorkerContext.h:
2187 2011-09-27 Mark Hahnenberg <mhahnenberg@apple.com>
2189 Add static version of JSCell::getCallData
2190 https://bugs.webkit.org/show_bug.cgi?id=68741
2192 Reviewed by Darin Adler.
2196 In this patch we just extract the bodies of the virtual getCallData methods
2197 throughout the JSCell inheritance hierarchy out into static methods, which are
2198 now called from the virtual methods. This is an intermediate step in trying to
2199 move the virtual-ness of getCallData into our own method table stored in
2200 ClassInfo. We need to convert the methods to static methods because static methods
2201 can be represented as function pointers rather than pointers to member functions, and
2202 function pointers are smaller and faster to call than pointers to member functions.
2205 * bindings/js/JSCallbackData.cpp:
2206 (WebCore::JSCallbackData::invokeCallback):
2207 * bindings/js/JSCustomXPathNSResolver.cpp:
2208 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2209 * bindings/js/JSErrorHandler.cpp:
2210 (WebCore::JSErrorHandler::handleEvent):
2211 * bindings/js/JSEventListener.cpp:
2212 (WebCore::JSEventListener::handleEvent):
2213 * bindings/js/JSHTMLAllCollectionCustom.cpp:
2214 (WebCore::JSHTMLAllCollection::getCallDataVirtual):
2215 (WebCore::JSHTMLAllCollection::getCallData):
2216 * bindings/js/JSHTMLAppletElementCustom.cpp:
2217 (WebCore::JSHTMLAppletElement::getCallDataVirtual):
2218 (WebCore::JSHTMLAppletElement::getCallData):
2219 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2220 (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
2221 (WebCore::JSHTMLEmbedElement::getCallData):
2222 * bindings/js/JSHTMLObjectElementCustom.cpp:
2223 (WebCore::JSHTMLObjectElement::getCallDataVirtual):
2224 (WebCore::JSHTMLObjectElement::getCallData):
2225 * bindings/js/JSInjectedScriptHostCustom.cpp:
2226 (WebCore::JSInjectedScriptHost::evaluate):
2227 * bindings/js/JSPluginElementFunctions.cpp:
2228 (WebCore::runtimeObjectGetCallData):
2229 * bindings/scripts/CodeGeneratorJS.pm:
2231 * bridge/objc/objc_runtime.h:
2232 * bridge/objc/objc_runtime.mm:
2233 (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
2234 (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
2235 * bridge/qt/qt_runtime.cpp:
2236 (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
2237 (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
2238 (JSC::Bindings::QtRuntimeConnectionMethod::call):
2239 (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
2240 (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
2241 (JSC::Bindings::isJavaScriptFunction):
2242 * bridge/qt/qt_runtime.h:
2243 * bridge/runtime_method.cpp:
2244 (JSC::RuntimeMethod::getCallDataVirtual):
2245 (JSC::RuntimeMethod::getCallData):
2246 * bridge/runtime_method.h:
2247 * bridge/runtime_object.cpp:
2248 (JSC::Bindings::RuntimeObject::getCallDataVirtual):
2249 (JSC::Bindings::RuntimeObject::getCallData):
2250 * bridge/runtime_object.h:
2253 2011-09-27 Dean Jackson <dino@apple.com>
2255 Unreviewed. Remove duplicate FilterOperation{s}.h that were
2256 accidentally added to the top level of the Xcode project.
2258 * WebCore.xcodeproj/project.pbxproj:
2261 2011-09-27 David Hyatt <hyatt@apple.com>
2263 https://bugs.webkit.org/show_bug.cgi?id=68940
2265 Narrow the float/lines pagination heuristic to only kick in if
2266 the previous line broke cleanly and if the floats are occurring
2267 at the start of the line.
2269 Reviewed by Dan Bernstein.
2271 * rendering/RenderBlockLineLayout.cpp:
2272 (WebCore::RenderBlock::positionNewFloatOnLine):
2274 2011-09-27 James Robinson <jamesr@chromium.org>
2276 Add a mechanism to test for the compositing tree mutated during painting
2277 https://bugs.webkit.org/show_bug.cgi?id=68738
2279 Reviewed by Adam Barth.
2281 Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
2282 destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
2284 Test: compositing/video/video-with-invalid-source.html
2286 * platform/graphics/GraphicsLayer.cpp:
2287 (WebCore::GraphicsLayer::GraphicsLayer):
2288 (WebCore::GraphicsLayer::~GraphicsLayer):
2289 (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2291 2011-09-27 Ojan Vafai <ojan@chromium.org>
2293 take padding/border on flexbox into account with direction:rtl
2294 https://bugs.webkit.org/show_bug.cgi?id=68846
2296 Reviewed by David Hyatt.
2298 Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
2299 so that we include the flexbox's border and padding.
2301 Also, change all uses of availableLogicalWidth to contentLogicalWidth.
2302 The former takes multi-column into account. Multi-column flexboxes don't
2303 make any sense, so there's no point in calling availableLogicalWidth.
2305 * rendering/RenderFlexibleBox.cpp:
2306 (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
2307 (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
2308 (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2309 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
2310 (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2311 * rendering/RenderFlexibleBox.h:
2313 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
2315 Unreviewed, rolling out r96139.
2316 http://trac.webkit.org/changeset/96139
2317 https://bugs.webkit.org/show_bug.cgi?id=68933
2319 Broke table-percent-height.html on Mac bots (Requested by
2320 mwenge2 on #webkit).
2322 * rendering/RenderBox.cpp:
2323 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2324 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2325 * rendering/RenderBox.h:
2327 2011-09-27 Tim Horton <timothy_horton@apple.com>
2329 REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
2330 https://bugs.webkit.org/show_bug.cgi?id=67700
2331 <rdar://problem/10125102>
2333 Reviewed by Darin Adler.
2335 Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
2336 of the <svg> element. This fixes the case where a transformed element displays part of a resource
2337 outside of the size of the <svg> element.
2339 When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
2340 the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
2341 when patterns are over the 4k limit.
2343 Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
2345 * rendering/svg/RenderSVGResourceClipper.cpp:
2346 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2347 * rendering/svg/RenderSVGResourceGradient.cpp:
2348 (WebCore::createMaskAndSwapContextForTextGradient):
2349 (WebCore::clipToTextMask):
2350 * rendering/svg/RenderSVGResourceMasker.cpp:
2351 (WebCore::RenderSVGResourceMasker::applyResource):
2352 * rendering/svg/RenderSVGResourcePattern.cpp:
2353 (WebCore::RenderSVGResourcePattern::applyResource):
2354 (WebCore::RenderSVGResourcePattern::createTileImage):
2355 * rendering/svg/RenderSVGResourcePattern.h:
2356 * rendering/svg/SVGImageBufferTools.cpp:
2357 (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
2358 * rendering/svg/SVGImageBufferTools.h:
2360 2011-09-27 Dan Bernstein <mitz@apple.com>
2362 <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
2364 Reviewed by Simon Fraser.
2366 Test: fast/dynamic/layer-no-longer-paginated.html
2368 FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
2369 The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
2370 the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
2371 of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
2373 * rendering/RenderLayer.cpp:
2374 (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
2376 2011-09-27 Ojan Vafai <ojan@chromium.org>
2378 offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
2379 https://bugs.webkit.org/show_bug.cgi?id=68304
2381 Reviewed by David Hyatt.
2383 When grabbing the x/y values of the RenderBox, we need to take writing mode
2384 flipping into account.
2386 Test: fast/dom/offset-position-writing-modes.html
2388 * rendering/RenderBox.cpp:
2389 (WebCore::RenderBox::locationIncludingFlipping):
2390 * rendering/RenderBox.h:
2391 (WebCore::RenderBox::yFlippedForWritingMode):
2392 (WebCore::RenderBox::xFlippedForWritingMode):
2393 * rendering/RenderBoxModelObject.cpp:
2394 (WebCore::RenderBoxModelObject::offsetLeft):
2395 (WebCore::RenderBoxModelObject::offsetTop):
2397 2011-09-27 Tim Horton <timothy_horton@apple.com>
2399 Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
2400 https://bugs.webkit.org/show_bug.cgi?id=68816
2401 <rdar://problem/10186468>
2403 Reviewed by Simon Fraser.
2405 If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
2407 Test: svg/filters/feMorphology-zero-radius.svg
2409 * platform/graphics/filters/FEMorphology.cpp:
2410 (WebCore::FEMorphology::apply):
2411 * platform/graphics/filters/FETurbulence.cpp:
2412 (WebCore::FETurbulence::apply):
2414 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
2416 CompositeEditCommand::prune should remove subtree at once
2417 https://bugs.webkit.org/show_bug.cgi?id=68866
2419 Reviewed by Darin Adler.
2421 Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
2422 This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
2424 * editing/CompositeEditCommand.cpp:
2425 (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
2426 the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
2427 (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
2428 (WebCore::CompositeEditCommand::prune):
2429 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2431 2011-09-27 David Hyatt <hyatt@apple.com>
2433 https://bugs.webkit.org/show_bug.cgi?id=68922
2435 Paginated floats should not grow the height of a block when they don't end
2436 up being tied to a line. Floats encountered in skipLeadingWhitespace that
2437 paginate can't immediately grow the height of the block, since there may not
2438 end up being any actual line content. We only want to push the height of the
2439 block down if we have actual line content that we want to keep with the
2442 Make positionNewFloatOnLine check if the line is empty or not, and if it is,
2443 it just puts the desired pagination strut into LineInfo. If and when actual
2444 line content is encountered and setEmpty becomes false, we'll grow the block
2447 Reviewed by Dan Bernstein.
2449 Added fast/multicol/float-paginate-empty-lines.html and
2450 fast/regions/webkit-flow-double-pagination-float-push.html.
2452 * rendering/RenderBlock.h:
2453 * rendering/RenderBlockLineLayout.cpp:
2454 (WebCore::LineWidth::LineWidth):
2455 (WebCore::LineWidth::fitsOnLine):
2456 (WebCore::LineWidth::currentWidth):
2457 (WebCore::LineWidth::uncommittedWidth):
2458 (WebCore::LineWidth::committedWidth):
2459 (WebCore::LineWidth::availableWidth):
2460 (WebCore::LineWidth::addUncommittedWidth):
2461 (WebCore::LineWidth::commit):
2462 (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2463 (WebCore::LineWidth::updateAvailableWidth):
2464 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2465 (WebCore::LineWidth::applyOverhang):
2466 (WebCore::LineWidth::fitBelowFloats):
2467 (WebCore::LineInfo::LineInfo):
2468 (WebCore::LineInfo::floatPaginationStrut):
2469 (WebCore::LineInfo::setEmpty):
2470 (WebCore::LineInfo::setFloatPaginationStrut):
2471 (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
2472 (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2473 (WebCore::RenderBlock::positionNewFloatOnLine):
2475 2011-09-27 Dean Jackson <dino@apple.com>
2477 Add 'filter' value to RenderStyle
2478 https://bugs.webkit.org/show_bug.cgi?id=68471
2480 Reviewed by Simon Fraser.
2482 Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
2483 is turned on. Similar to -webkit-transform, -webkit-filter is a
2484 list of FilterOperations, each identifying what type of operation
2485 it is. This change simply adds the basic objects, it does not
2486 parse the property to generate the list.
2489 * GNUmakefile.list.am:
2492 * WebCore.vcproj/WebCore.vcproj:
2493 * WebCore.xcodeproj/project.pbxproj:
2494 * platform/graphics/filters/FilterOperation.h: Added.
2495 (WebCore::FilterOperation::~FilterOperation):
2496 (WebCore::FilterOperation::operator!=):
2497 (WebCore::FilterOperation::getOperationType):
2498 (WebCore::FilterOperation::isSameType):
2499 (WebCore::FilterOperation::FilterOperation):
2500 (WebCore::ReferenceFilterOperation::create):
2501 (WebCore::ReferenceFilterOperation::reference):
2502 (WebCore::ReferenceFilterOperation::operator==):
2503 (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
2504 (WebCore::BasicColorMatrixFilterOperation::create):
2505 (WebCore::BasicColorMatrixFilterOperation::amount):
2506 (WebCore::BasicColorMatrixFilterOperation::operator==):
2507 (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
2508 (WebCore::BasicComponentTransferFilterOperation::create):
2509 (WebCore::BasicComponentTransferFilterOperation::amount):
2510 (WebCore::BasicComponentTransferFilterOperation::operator==):
2511 (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
2512 (WebCore::GammaFilterOperation::create):
2513 (WebCore::GammaFilterOperation::amplitude):
2514 (WebCore::GammaFilterOperation::exponent):
2515 (WebCore::GammaFilterOperation::offset):
2516 (WebCore::GammaFilterOperation::operator==):
2517 (WebCore::GammaFilterOperation::GammaFilterOperation):
2518 (WebCore::BlurFilterOperation::create):
2519 (WebCore::BlurFilterOperation::stdDeviationX):
2520 (WebCore::BlurFilterOperation::stdDeviationY):
2521 (WebCore::BlurFilterOperation::operator==):
2522 (WebCore::BlurFilterOperation::BlurFilterOperation):
2523 (WebCore::SharpenFilterOperation::create):
2524 (WebCore::SharpenFilterOperation::radius):
2525 (WebCore::SharpenFilterOperation::threshold):
2526 (WebCore::SharpenFilterOperation::amount):
2527 (WebCore::SharpenFilterOperation::operator==):
2528 (WebCore::SharpenFilterOperation::SharpenFilterOperation):
2529 (WebCore::DropShadowFilterOperation::create):
2530 (WebCore::DropShadowFilterOperation::shadow):
2531 (WebCore::DropShadowFilterOperation::operator==):
2532 (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
2533 * platform/graphics/filters/FilterOperations.cpp: Added.
2534 (WebCore::FilterOperations::FilterOperations):
2535 (WebCore::FilterOperations::operator==):
2536 * platform/graphics/filters/FilterOperations.h: Added.
2537 (WebCore::FilterOperations::operator!=):
2538 (WebCore::FilterOperations::clear):
2539 (WebCore::FilterOperations::operations):
2540 (WebCore::FilterOperations::size):
2541 (WebCore::FilterOperations::at):
2542 * rendering/style/RenderStyle.cpp:
2543 (WebCore::RenderStyle::RenderStyle):
2544 * rendering/style/RenderStyle.h:
2545 (WebCore::InheritedFlags::filter):
2546 (WebCore::InheritedFlags::hasFilter):
2547 (WebCore::InheritedFlags::setFilter):
2548 (WebCore::InheritedFlags::initialFilter):
2549 * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
2550 * rendering/style/StyleFilterData.cpp: Added.
2551 (WebCore::StyleFilterData::StyleFilterData):
2552 (WebCore::StyleFilterData::operator==):
2553 * rendering/style/StyleFilterData.h: Added.
2554 (WebCore::StyleFilterData::create):
2555 (WebCore::StyleFilterData::copy):
2556 (WebCore::StyleFilterData::operator!=):
2557 * rendering/style/StyleRareNonInheritedData.cpp:
2558 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2559 (WebCore::StyleRareNonInheritedData::operator==):
2560 * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
2562 2011-09-27 James Robinson <jamesr@chromium.org>
2564 [chromium] LayerRenderChromium asserts about leaking textures.
2565 https://bugs.webkit.org/show_bug.cgi?id=68190
2567 Reviewed by Kenneth Russell.
2569 This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
2570 This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
2571 enum type, making it more testable. It also allows us to track the allocations by subclassing TextureAllocator
2572 to make sure we aren't leaking any textures.
2575 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2576 (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2577 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2578 * platform/graphics/chromium/ImageLayerChromium.cpp:
2579 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2580 * platform/graphics/chromium/LayerChromium.h:
2581 (WebCore::LayerChromium::updateCompositorResources):
2582 * platform/graphics/chromium/LayerRendererChromium.cpp:
2583 (WebCore::LayerRendererChromium::LayerRendererChromium):
2584 (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
2585 (WebCore::LayerRendererChromium::drawLayers):
2586 (WebCore::LayerRendererChromium::useRenderSurface):
2587 (WebCore::LayerRendererChromium::initializeSharedObjects):
2588 (WebCore::LayerRendererChromium::cleanupSharedObjects):
2589 * platform/graphics/chromium/LayerRendererChromium.h:
2590 (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
2591 (WebCore::LayerRendererChromium::contentsTextureAllocator):
2592 * platform/graphics/chromium/LayerTextureUpdater.h:
2593 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2594 (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2595 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2596 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2597 * platform/graphics/chromium/ManagedTexture.cpp:
2598 (WebCore::ManagedTexture::bindTexture):
2599 (WebCore::ManagedTexture::framebufferTexture2D):
2600 * platform/graphics/chromium/ManagedTexture.h:
2601 * platform/graphics/chromium/TextureManager.cpp:
2602 (WebCore::TextureManager::memoryUseBytes):
2603 (WebCore::TextureManager::deleteEvictedTextures):
2604 (WebCore::TextureManager::evictAndDeleteAllTextures):
2605 (WebCore::TextureManager::removeTexture):
2606 (WebCore::TextureManager::allocateTexture):
2607 (WebCore::TextureManager::requestTexture):
2608 * platform/graphics/chromium/TextureManager.h:
2609 (WebCore::TextureAllocator::~TextureAllocator):
2610 * platform/graphics/chromium/TiledLayerChromium.cpp:
2611 (WebCore::TiledLayerChromium::updateCompositorResources):
2612 * platform/graphics/chromium/TiledLayerChromium.h:
2613 * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
2614 (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
2615 (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
2616 (WebCore::TrackingTextureAllocator::createTexture):
2617 (WebCore::TrackingTextureAllocator::deleteTexture):
2618 * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
2619 (WebCore::TrackingTextureAllocator::create):
2620 (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
2621 * platform/graphics/chromium/VideoLayerChromium.cpp:
2622 (WebCore::VideoLayerChromium::updateCompositorResources):
2623 (WebCore::VideoLayerChromium::updateTexture):
2624 * platform/graphics/chromium/VideoLayerChromium.h:
2625 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2626 (WebCore::WebGLLayerChromium::updateCompositorResources):
2627 * platform/graphics/chromium/WebGLLayerChromium.h:
2628 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2629 (WebCore::CCHeadsUpDisplay::draw):
2630 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2631 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2632 (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
2633 (WebCore::CCLayerTreeHost::commitToOnCCThread):
2634 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2635 (WebCore::CCLayerTreeHost::updateCompositorResources):
2636 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2637 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2638 (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
2639 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2640 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2641 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2642 (WebCore::CCRenderSurface::drawSurface):
2643 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2644 (WebCore::CCSingleThreadProxy::setNeedsCommit):
2645 (WebCore::CCSingleThreadProxy::stop):
2646 (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
2647 (WebCore::CCSingleThreadProxy::commitIfNeeded):
2648 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2649 (WebCore::CCThreadProxy::commitOnCCThread):
2650 (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2652 2011-06-28 Robert Hogan <robert@webkit.org>
2654 Reviewed by David Hyatt.
2656 Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
2657 https://bugs.webkit.org/show_bug.cgi?id=29447
2659 If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
2660 a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
2662 Test: fast/replaced/table-percent-width.html
2664 * rendering/RenderBox.cpp:
2665 (WebCore::avoidSqueezingWidth):
2666 (WebCore::avoidSqueezingHeight):
2667 (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
2668 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2669 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2670 * rendering/RenderBox.h:
2672 2011-09-27 Simon Fraser <simon.fraser@apple.com>
2674 https://bugs.webkit.org/show_bug.cgi?id=67858
2676 Roll r96070 back in now that the crash has been fixed in r96130.
2678 Reviewed by Darin Adler.
2680 When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
2681 the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
2683 Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
2684 on scrollbar creation appears to happen via updating the scrollbar style.
2686 Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
2687 stale scrollbars when run manually, even though the green squares are missing from the
2688 pixel result (bug 67878).
2690 * page/FrameView.cpp:
2691 (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
2692 * platform/ScrollView.cpp:
2693 (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
2694 (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
2695 (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
2696 compute the scroll corner rect while we still have scrollbars, and then invalidate it
2697 explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
2699 * platform/ScrollableArea.cpp:
2700 (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
2701 compute it in the case where the scrollbars are going away.
2702 * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
2703 invalidateScrollbar().
2704 * rendering/RenderLayerCompositor.cpp:
2705 (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
2706 * rendering/RenderScrollbarPart.cpp: Ditto.
2707 (WebCore::RenderScrollbarPart::imageChanged): Ditto.
2709 2011-09-27 Mihai Parparita <mihaip@chromium.org>
2711 Fix Chromium Mac build after r96130.
2713 * page/FrameView.cpp:
2714 (WebCore::FrameView::layerForOverhangAreas):
2716 2011-09-27 Kaustubh Atrawalkar <kaustubh@motorola.com>
2718 Autofocus on readonly inputs does not focus the element.
2719 https://bugs.webkit.org/show_bug.cgi?id=24092
2721 Reviewed by Ryosuke Niwa.
2723 Readonly input elements should be autofocusable. Removed the check.
2725 Tests: fast/forms/autofocus-readonly-attribute.html
2727 * html/HTMLFormControlElement.cpp:
2728 (WebCore::shouldAutofocus):
2730 2011-09-27 Simon Fraser <simon.fraser@apple.com>
2732 Clean up how FrameView accesses the RenderView
2733 https://bugs.webkit.org/show_bug.cgi?id=68914
2735 Reviewed by Sam Weinig.
2737 Clean up how FrameView accesses the content renderer of its
2738 frame. Previously, this was done in several different ways,
2739 only some of which did null-checking.
2741 Use an inline method to avoid having to expose Frame
2744 Standardize the terminology to use 'root' for this RenderView.
2746 * page/FrameView.cpp:
2747 (WebCore::rootRenderer):
2748 (WebCore::FrameView::setFrameRect):
2749 (WebCore::FrameView::adjustViewSize):
2750 (WebCore::FrameView::updateCompositingLayers):
2751 (WebCore::FrameView::clearBackingStores):
2752 (WebCore::FrameView::restoreBackingStores):
2753 (WebCore::FrameView::layerForHorizontalScrollbar):
2754 (WebCore::FrameView::layerForVerticalScrollbar):
2755 (WebCore::FrameView::layerForScrollCorner):
2756 (WebCore::FrameView::layerForOverhangAreas):
2757 (WebCore::FrameView::syncCompositingStateForThisFrame):
2758 (WebCore::FrameView::hasCompositedContent):
2759 (WebCore::FrameView::enterCompositingMode):
2760 (WebCore::FrameView::isSoftwareRenderable):
2761 (WebCore::FrameView::didMoveOnscreen):
2762 (WebCore::FrameView::willMoveOffscreen):
2763 (WebCore::FrameView::layout):
2764 (WebCore::FrameView::embeddedContentBox):
2765 (WebCore::FrameView::contentsInCompositedLayer):
2766 (WebCore::FrameView::scrollContentsFastPath):
2767 (WebCore::FrameView::scrollContentsSlowPath):
2768 (WebCore::FrameView::maintainScrollPositionAtAnchor):
2769 (WebCore::FrameView::scrollPositionChanged):
2770 (WebCore::FrameView::repaintFixedElementsAfterScrolling):
2771 (WebCore::FrameView::visibleContentsResized):
2772 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2773 (WebCore::FrameView::needsLayout):
2774 (WebCore::FrameView::setNeedsLayout):
2775 (WebCore::FrameView::performPostLayoutTasks):
2776 (WebCore::FrameView::updateControlTints):
2777 (WebCore::FrameView::paintContents):
2778 (WebCore::FrameView::forceLayoutForPagination):
2779 (WebCore::FrameView::adjustPageHeightDeprecated):
2780 (WebCore::FrameView::isVerticalDocument):
2781 (WebCore::FrameView::isFlippedDocument):
2783 2011-09-27 Dominic Mazzoni <dmazzoni@google.com>
2785 AXObjectCache cleared unnecessarily when non-top Document is detached.
2786 https://bugs.webkit.org/show_bug.cgi?id=68636
2788 Reviewed by Chris Fleizach.
2790 Test: accessibility/deleting-iframe-destroys-axcache.html
2793 (WebCore::Document::attach):
2794 (WebCore::Document::detach):
2796 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
2798 Unreviewed, rolling out r96108, r96111, r96113, and r96116.
2799 http://trac.webkit.org/changeset/96108
2800 http://trac.webkit.org/changeset/96111
2801 http://trac.webkit.org/changeset/96113
2802 http://trac.webkit.org/changeset/96116
2803 https://bugs.webkit.org/show_bug.cgi?id=68913
2805 Wait for working Qt5 (Requested by ossy on #webkit).
2808 * platform/graphics/qt/GraphicsLayerQt.cpp:
2810 2011-09-27 Csaba Osztrogonác <ossy@webkit.org>
2812 Fix ENABLE(SQL_DATABASE)=0 build after r95919
2813 https://bugs.webkit.org/show_bug.cgi?id=68902
2815 r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
2816 it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
2818 Reviewed by Adam Barth.
2820 * platform/sql/SQLiteAuthorizer.cpp:
2821 * platform/sql/SQLiteDatabase.cpp:
2822 * platform/sql/SQLiteFileSystem.cpp:
2823 * platform/sql/SQLiteStatement.cpp:
2824 * platform/sql/SQLiteTransaction.cpp:
2825 * storage/DatabaseAuthorizer.cpp:
2827 2011-09-27 Julien Chaffraix <jchaffraix@webkit.org>
2829 Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
2830 https://bugs.webkit.org/show_bug.cgi?id=66291
2832 Reviewed by Darin Adler.
2834 Test: fast/canvas/crash-set-font.html
2836 This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
2837 applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
2838 We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
2839 list as Font::update was never called.
2841 The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
2842 Until this happens, it is better not to crash.
2844 * css/CSSStyleSelector.cpp:
2845 (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
2846 mutated by the previous property change. Also added a comment explaining why it is safe to do it
2849 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
2851 [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
2852 https://bugs.webkit.org/show_bug.cgi?id=68897
2854 Reviewed by Andreas Kling.
2856 No new functionality so no new tests.
2858 * platform/graphics/texmap/TextureMapperNode.cpp:
2859 (WebCore::TextureMapperNode::computeAllTransforms):
2860 (WebCore::TextureMapperNode::computeTiles):
2861 (WebCore::TextureMapperNode::syncCompositingState):
2862 * platform/graphics/texmap/TextureMapperNode.h:
2864 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
2866 [Texmap][Qt] Refactor texture-upload to allow direct chunk update
2867 https://bugs.webkit.org/show_bug.cgi?id=68808
2869 Add a function to BitmapTexture for direct pixel updates.
2870 Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
2871 to RGBA swizzling is done inside that function, there's no need for the
2872 RGBA32PremultipliedBuffer class to contain such function. Also,
2873 RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
2876 Reviewed by Andreas Kling.
2878 No new tests. Existing tests in LayoutTests/compositing test this.
2880 * platform/graphics/opengl/TextureMapperGL.cpp:
2881 (WebCore::BitmapTextureGL::beginPaint):
2882 (WebCore::BitmapTextureGL::endPaint):
2883 (WebCore::swizzleBGRAToRGBA):
2884 (WebCore::BitmapTextureGL::updateContents):
2885 * platform/graphics/opengl/TextureMapperGL.h:
2886 (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
2887 * platform/graphics/qt/TextureMapperQt.cpp:
2888 (WebCore::BitmapTextureQt::updateContents):
2889 (WebCore::BGRA32PremultimpliedBufferQt::data):
2890 (WebCore::BGRA32PremultimpliedBuffer::create):
2891 * platform/graphics/qt/TextureMapperQt.h:
2892 * platform/graphics/texmap/TextureMapper.h:
2894 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2896 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
2898 QWidget and friends now live in the QtWidgets library. We update
2899 includes in implementation files and private headers to us the
2900 non-module-prefixed path, and leave the lookup for the include
2901 path. For public headers we have to ifdef the includes as the
2902 user might now have the modules we need in his QT config.
2904 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
2905 have to update our code and use windowHandle() for setting the
2906 parent relationships.
2908 https://bugs.webkit.org/show_bug.cgi?id=68687
2910 Reviewed by Andreas Kling.
2913 * platform/graphics/qt/GraphicsLayerQt.cpp:
2915 2011-09-27 Pavel Feldman <pfeldman@google.com>
2917 Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
2918 Send attribute name and value within the event.
2919 https://bugs.webkit.org/show_bug.cgi?id=68613
2921 Reviewed by Yury Semikhatsky.
2924 (WebCore::Element::setAttribute):
2925 (WebCore::Element::removeAttribute):
2926 * inspector/Inspector.draft-01.json:
2927 * inspector/Inspector.json:
2928 * inspector/InspectorDOMAgent.cpp:
2929 (WebCore::InspectorDOMAgent::didModifyDOMAttr):
2930 (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
2931 * inspector/InspectorDOMAgent.h:
2932 * inspector/InspectorInstrumentation.cpp:
2933 (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
2934 (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
2935 * inspector/InspectorInstrumentation.h:
2936 (WebCore::InspectorInstrumentation::didModifyDOMAttr):
2937 (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
2938 * inspector/front-end/DOMAgent.js:
2939 (WebInspector.DOMNode.prototype._addAttribute):
2940 (WebInspector.DOMNode.prototype._setAttribute):
2941 (WebInspector.DOMNode.prototype._removeAttribute):
2942 (WebInspector.DOMAgent.prototype._attributeModified):
2943 (WebInspector.DOMAgent.prototype._attributeRemoved):
2944 (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
2945 (WebInspector.DOMAgent.prototype._loadNodeAttributes):
2946 (WebInspector.DOMDispatcher.prototype.attributeModified):
2947 (WebInspector.DOMDispatcher.prototype.attributeRemoved):
2948 * inspector/front-end/ElementsPanel.js:
2949 (WebInspector.ElementsPanel):
2950 (WebInspector.ElementsPanel.prototype._attributesUpdated):
2951 * inspector/front-end/MetricsSidebarPane.js:
2952 (WebInspector.MetricsSidebarPane):
2953 (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
2954 * inspector/front-end/StylesSidebarPane.js:
2955 (WebInspector.StylesSidebarPane):
2956 (WebInspector.StylesSidebarPane.prototype._attributesModified):
2957 (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
2958 (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
2959 (WebInspector.StylePropertyTreeElement.prototype.event):
2960 (WebInspector.StylePropertyTreeElement.prototype):
2961 * inspector/validate-protocol-compatibility:
2963 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
2965 Unreviewed, rolling out r96070 and r96075.
2966 http://trac.webkit.org/changeset/96070
2967 http://trac.webkit.org/changeset/96075
2968 https://bugs.webkit.org/show_bug.cgi?id=68893
2970 WK2 tests started crashing after r96070 for SL and Qt
2971 (Requested by torarne on #webkit).
2973 * page/FrameView.cpp:
2974 (WebCore::FrameView::updateScrollCorner):
2975 * platform/ScrollView.cpp:
2976 (WebCore::ScrollView::setHasHorizontalScrollbar):
2977 (WebCore::ScrollView::setHasVerticalScrollbar):
2978 (WebCore::ScrollView::updateScrollbars):
2979 * platform/ScrollableArea.cpp:
2980 (WebCore::ScrollableArea::invalidateScrollCorner):
2981 * platform/ScrollableArea.h:
2982 * rendering/RenderLayerCompositor.cpp:
2983 (WebCore::RenderLayerCompositor::destroyRootLayer):
2984 * rendering/RenderScrollbarPart.cpp:
2985 (WebCore::RenderScrollbarPart::imageChanged):
2987 2011-09-27 Andrey Kosyakov <caseq@chromium.org>
2989 Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
2990 https://bugs.webkit.org/show_bug.cgi?id=68888
2992 Reviewed by Pavel Feldman.
2994 * inspector/front-end/ElementsPanel.js:
2995 (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
2997 2011-09-21 Pavel Podivilov <podivilov@chromium.org>
2999 Web Inspector: migrate RawSourceCode clients to SourceMapping class.
3000 https://bugs.webkit.org/show_bug.cgi?id=68524
3002 Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
3003 Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
3005 Reviewed by Yury Semikhatsky.
3007 * inspector/front-end/BreakpointManager.js:
3008 (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
3009 (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
3010 * inspector/front-end/DebuggerPresentationModel.js:
3011 (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
3012 (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3013 (WebInspector.DebuggerPresentationModel.prototype._addScript):
3014 (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
3015 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3016 (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
3017 (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3018 (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
3019 (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3020 (WebInspector.PresentationCallFrame.prototype.get url):
3021 (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
3022 (WebInspector.PresentationCallFrame.prototype.sourceLine):
3023 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3024 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3025 * inspector/front-end/SourceFile.js:
3026 (WebInspector.RawSourceCode.prototype.get sourceMapping):
3028 2011-09-27 Vineet Chaudhary <vineet.chaudhary@motorola.com>
3030 wrap attribute of textarea element cannot be accessed by JavaScript.
3031 https://bugs.webkit.org/show_bug.cgi?id=68592
3033 Reviewed by Kent Tamura.
3035 Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
3037 Test: fast/forms/textarea-wrap-attribute.html
3039 * html/HTMLTextAreaElement.idl:
3041 2011-09-27 Xan Lopez <xlopez@igalia.com>
3043 [GTK] Add compatibility methods for DOM bindings
3044 https://bugs.webkit.org/show_bug.cgi?id=68884
3046 Reviewed by Philippe Normand.
3048 Add compatibility methods for our DOM bindings.
3050 * bindings/gobject/WebKitDOMCustom.cpp:
3051 (webkit_dom_blob_slice): alias to the new method name.
3052 (webkit_dom_html_form_element_dispatch_form_change): this was
3053 removed from WebCore, so just print a warning about it.
3054 (webkit_dom_html_form_element_dispatch_form_input): ditto.
3055 * bindings/gobject/WebKitDOMCustom.h:
3057 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
3059 Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
3060 https://bugs.webkit.org/show_bug.cgi?id=68875
3062 Reviewed by Kent Tamura.
3064 Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
3065 Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
3067 * editing/DeleteSelectionCommand.cpp:
3068 (WebCore::DeleteSelectionCommand::removeNode):
3069 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3070 * editing/ReplaceSelectionCommand.cpp:
3071 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3072 (WebCore::ReplaceSelectionCommand::doApply):
3073 (WebCore::ReplaceSelectionCommand::insertAsListItems):
3074 * editing/ReplaceSelectionCommand.h:
3075 (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
3076 (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
3077 (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
3078 (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
3079 (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
3080 * editing/htmlediting.cpp:
3081 (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
3082 * editing/htmlediting.h:
3084 2011-09-27 Arun Patole <bmf834@motorola.com>
3086 Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
3087 https://bugs.webkit.org/show_bug.cgi?id=60972
3089 Reviewed by Philippe Normand.
3091 The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
3092 WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
3094 Test: media/media-element-play-after-eos.html
3096 * html/HTMLMediaElement.cpp:
3097 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
3099 2011-09-27 Rakesh KN <rakesh.kn@motorola.com>
3101 <input> with autofocus doesn't lose focus when it has a certain onblur listener
3102 https://bugs.webkit.org/show_bug.cgi?id=68513
3104 Reviewed by Kent Tamura.
3106 Test: fast/forms/autofocus-focus-only-once.html
3108 These changes make sure that an element is focused only once when autofocus attribute is used.
3110 * html/HTMLFormControlElement.cpp:
3111 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
3112 (WebCore::shouldAutofocus):
3113 (WebCore::HTMLFormControlElement::attach):
3114 * html/HTMLFormControlElement.h:
3115 (WebCore::HTMLFormControlElement::hasAutofocused):
3116 (WebCore::HTMLFormControlElement::setAutofocused):
3118 2011-09-26 Kentaro Hara <haraken@chromium.org>
3120 Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
3121 https://bugs.webkit.org/show_bug.cgi?id=68345
3123 Reviewed by Adam Barth.
3125 Previously, the following test cases fail or crash:
3127 - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
3128 - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
3130 This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
3131 However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
3132 since PopStateEvent can be constructed in the context that does not know ScriptValue.
3133 For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
3134 popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
3135 the corresponding ScriptValue here because the deserialization requires ExecState.
3136 In other words, although we want to store PopStateEvent.state by ScriptValue internally,
3137 PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
3138 With these observations, this patch makes the following changes:
3140 - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
3141 When PopStateEvent.state is called, the ScriptValue is returned.
3142 - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
3143 SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
3144 at this point). When PopStateEvent.state is called, the SerializedScriptValue is
3145 deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
3147 Tests: fast/events/constructors/pop-state-event-constructor.html
3148 fast/events/fire-popstate-event.html
3150 * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
3151 * UseJSC.cmake: Ditto.
3152 * WebCore.gypi: Ditto.
3153 * WebCore.pro: Ditto.
3154 * WebCore.xcodeproj/project.pbxproj: Ditto.
3155 * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3156 * bindings/js/JSPopStateEventCustom.cpp:
3157 (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
3158 * bindings/v8/custom/V8PopStateEventCustom.cpp:
3159 (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
3160 * dom/PopStateEvent.cpp:
3161 (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
3162 (WebCore::PopStateEvent::PopStateEvent): Ditto.
3163 (WebCore::PopStateEvent::create): Ditto.
3164 (WebCore::PopStateEvent::initPopStateEvent): Ditto.
3165 * dom/PopStateEvent.h:
3166 (WebCore::PopStateEvent::serializedState): Getter.
3167 (WebCore::PopStateEvent::state): Getter.
3168 * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
3170 2011-09-09 Simon Fraser <simon.fraser@apple.com>
3172 Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
3173 https://bugs.webkit.org/show_bug.cgi?id=67858
3175 Reviewed by Darin Adler.
3177 When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
3178 the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
3180 Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
3181 on scrollbar creation appears to happen via updating the scrollbar style.
3183 Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
3184 stale scrollbars when run manually, even though the green squares are missing from the
3185 pixel result (bug 67878).
3187 * page/FrameView.cpp:
3188 (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
3189 * platform/ScrollView.cpp:
3190 (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
3191 (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
3192 (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
3193 compute the scroll corner rect while we still have scrollbars, and then invalidate it
3194 explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
3196 * platform/ScrollableArea.cpp:
3197 (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
3198 compute it in the case where the scrollbars are going away.
3199 * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
3200 invalidateScrollbar().
3201 * rendering/RenderLayerCompositor.cpp:
3202 (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
3203 * rendering/RenderScrollbarPart.cpp: Ditto.
3204 (WebCore::RenderScrollbarPart::imageChanged): Ditto.
3206 2011-09-09 Simon Fraser <simon.fraser@apple.com>
3208 Translucent scrollbars on composited layers render incorrectly
3209 https://bugs.webkit.org/show_bug.cgi?id=58515
3211 Reviewed by Sam Weinig.
3213 Scrollbars in composited elements were getting drawn twice,
3214 because r41203 moved the call to paintOverflowControls() out of
3215 RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
3217 Test: compositing/scrollbar-painting.html
3219 * rendering/RenderLayerBacking.cpp:
3220 (WebCore::RenderLayerBacking::paintIntoLayer):
3222 2011-09-26 Nat Duca <nduca@chromium.org>
3224 [chromium] Make CCThreadProxy draw
3225 https://bugs.webkit.org/show_bug.cgi?id=67417
3227 Update the CCThreadProxy to correctly implement the CCProxy
3228 interface, do all the right committing and updating steps, and
3229 draw a picture on the screen.
3231 Reviewed by James Robinson.
3233 * platform/graphics/IntRect.h:
3234 * platform/graphics/chromium/LayerRendererChromium.cpp:
3235 (WebCore::LayerRendererChromium::~LayerRendererChromium):
3236 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3237 (WebCore::CCHeadsUpDisplay::enabled):
3238 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3239 (WebCore::CCLayerImpl::CCLayerImpl):
3240 (WebCore::CCLayerImpl::~CCLayerImpl):
3241 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3242 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3243 (WebCore::CCLayerTreeHost::commitTo):
3244 (WebCore::CCLayerTreeHost::commitComplete):
3245 (WebCore::CCLayerTreeHost::setNeedsRedraw):
3246 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3247 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3248 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3249 (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
3250 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3251 (WebCore::CCSingleThreadProxy::finishAllRendering):
3252 (WebCore::CCSingleThreadProxy::setNeedsCommit):
3253 (WebCore::CCSingleThreadProxy::commitIfNeeded):
3254 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3255 (WebCore::CCThreadProxy::CCThreadProxy):
3256 (WebCore::CCThreadProxy::~CCThreadProxy):
3257 (WebCore::CCThreadProxy::compositeAndReadback):
3258 (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
3259 (WebCore::CCThreadProxy::finishAllRendering):
3260 (WebCore::CCThreadProxy::isStarted):
3261 (WebCore::CCThreadProxy::setNeedsCommit):
3262 (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
3263 (WebCore::CCThreadProxy::setNeedsRedraw):
3264 (WebCore::CCThreadProxy::start):
3265 (WebCore::CCThreadProxy::stop):
3266 (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
3267 (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
3268 (WebCore::CCThreadProxy::beginFrameAndCommit):
3269 (WebCore::CCThreadProxy::commitOnCCThread):
3270 (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
3271 (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
3272 (WebCore::CCThreadProxy::drawLayersOnCCThread):
3273 (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
3274 * platform/graphics/chromium/cc/CCThreadProxy.h:
3276 2011-09-26 Adam Klein <adamk@chromium.org>
3278 [MutationObservers] implement MutationRecord
3279 https://bugs.webkit.org/show_bug.cgi?id=68824
3281 Reviewed by Darin Adler.
3283 Implements MutationRecord as specified in the thread at
3284 http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
3285 including some minor naming changes from the original proposal.
3287 This is a small part of the MutationObserver API, see
3288 https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
3291 No new tests as this isn't yet exposed to the platform.
3294 * DerivedSources.cpp:
3295 * DerivedSources.make:
3296 * GNUmakefile.list.am:
3299 * WebCore.vcproj/WebCore.vcproj:
3300 * WebCore.xcodeproj/project.pbxproj:
3301 * dom/MutationRecord.cpp: Added.
3302 (WebCore::MutationRecord::createChildList):
3303 (WebCore::MutationRecord::createAttributes):
3304 (WebCore::MutationRecord::createCharacterData):
3305 (WebCore::MutationRecord::MutationRecord):
3306 (WebCore::MutationRecord::~MutationRecord):
3307 * dom/MutationRecord.h: Added.
3308 (WebCore::MutationRecord::target):
3309 (WebCore::MutationRecord::addedNodes):
3310 (WebCore::MutationRecord::removedNodes):
3311 (WebCore::MutationRecord::previousSibling):
3312 (WebCore::MutationRecord::nextSibling):
3313 (WebCore::MutationRecord::attributeName):
3314 (WebCore::MutationRecord::attributeNamespace):
3315 (WebCore::MutationRecord::oldValue):
3316 (WebCore::MutationRecord::setOldValue):
3317 * dom/MutationRecord.idl: Added.
3319 2011-09-26 Kentaro Hara <haraken@chromium.org>
3321 Implement a CloseEvent constructor for V8
3322 https://bugs.webkit.org/show_bug.cgi?id=68793
3324 Reviewed by Adam Barth.
3326 Test: fast/events/constructors/close-event-constructor.html
3328 * bindings/v8/OptionsObject.cpp:
3329 (WebCore::OptionsObject::getKey): Just removed an extra space.
3330 (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
3331 * bindings/v8/OptionsObject.h:
3332 * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
3333 * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
3335 2011-09-26 Nate Chapin <japhet@chromium.org>
3337 Clean up CachedResource::load(). Collapse its
3338 logic into a single callsite, taking just a
3339 CachedResourceLoader and a ResourceLoaderOptions.
3341 1. Its 'incremental' parameter is redundant.
3342 2. With 'incremental' removed, the SecurityCheckPolicy is the only
3343 parameter difference between the CachedResource::load() variants.
3344 Making it a part of ResourceLoaderOptions removes yet another random
3345 enum that is passed around individually.
3346 3. We currently have to call setResourceLoaderOptions() before load() on a
3347 new CachedResource, so we should just take the ResourceLoaderOptions in load().
3349 https://bugs.webkit.org/show_bug.cgi?id=67443
3351 Reviewed by Antti Koivisto.
3353 No new tests, refactor only.
3355 * loader/DocumentThreadableLoader.cpp:
3356 * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
3357 * loader/MainResourceLoader.cpp:
3358 * loader/NetscapePlugInStreamLoader.cpp:
3359 * loader/ResourceLoadScheduler.cpp:
3360 * loader/ResourceLoadScheduler.h:
3361 * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
3362 * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
3363 * loader/SubresourceLoader.cpp:
3364 * loader/SubresourceLoader.h:
3365 * loader/cache/CachedFont.cpp:
3366 * loader/cache/CachedFont.h:
3367 * loader/cache/CachedImage.cpp:
3368 * loader/cache/CachedImage.h:
3369 * loader/cache/CachedResource.cpp:
3370 * loader/cache/CachedResource.h:
3371 * loader/cache/CachedResourceLoader.cpp:
3372 (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
3373 CachedResource loads here instead of as a default parameter on requestResource().
3374 * loader/cache/CachedResourceLoader.h:
3375 * loader/cache/CachedResourceRequest.cpp:
3376 (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
3377 is already enforced in the data() implementation of every CachedResource that doesn't want
3379 * loader/cache/CachedResourceRequest.h:
3381 2011-09-26 Joshua Bell <jsbell@chromium.org>
3383 IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
3384 https://bugs.webkit.org/show_bug.cgi?id=68818
3386 Reviewed by Tony Chang.
3388 Test: storage/indexeddb/factory-basics.html
3390 Adds ability to enumerate IndexedDB databases within an origin.
3392 * bindings/v8/custom/V8IDBAnyCustom.cpp:
3394 * storage/IDBAny.cpp:
3395 (WebCore::IDBAny::domStringList):
3396 (WebCore::IDBAny::set):
3398 * storage/IDBBackingStore.h:
3399 * storage/IDBCallbacks.h:
3400 * storage/IDBFactory.cpp:
3401 (WebCore::IDBFactory::getDatabaseNames):
3402 * storage/IDBFactory.h:
3403 * storage/IDBFactory.idl:
3404 * storage/IDBFactoryBackendImpl.cpp:
3405 (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
3406 (WebCore::IDBFactoryBackendImpl::open):
3407 (WebCore::IDBFactoryBackendImpl::openBackingStore):
3408 * storage/IDBFactoryBackendImpl.h:
3409 * storage/IDBFactoryBackendInterface.h:
3410 * storage/IDBLevelDBBackingStore.cpp:
3411 (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
3412 (WebCore::IDBLevelDBBackingStore::getObjectStores):
3413 (WebCore::IDBLevelDBBackingStore::getIndexes):
3414 * storage/IDBLevelDBBackingStore.h:
3415 * storage/IDBLevelDBCoding.cpp:
3416 (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
3417 (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
3418 * storage/IDBLevelDBCoding.h:
3419 * storage/IDBRequest.cpp:
3420 (WebCore::IDBRequest::onSuccess):
3421 * storage/IDBRequest.h:
3422 * storage/IDBSQLiteBackingStore.cpp:
3423 (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
3424 * storage/IDBSQLiteBackingStore.h:
3426 2011-09-26 Tim Horton <timothy_horton@apple.com>
3428 <animateColor> applied to filtered ellipse does not update
3429 https://bugs.webkit.org/show_bug.cgi?id=68457
3430 <rdar://problem/10154777>
3432 Reviewed by Darin Adler.
3434 Invalidate the filter's cache when style changes take place so that style changes are respected.
3436 Test: svg/filters/animate-fill.svg
3438 * rendering/svg/SVGResourcesCache.cpp:
3439 (WebCore::SVGResourcesCache::clientStyleChanged):
3440 (WebCore::SVGResourcesCache::clientUpdatedFromElement):
3442 2011-09-26 Max Perepelitsyn <pph34r@gmail.com>
3444 Set but unused variables cleanup in v8 bindings (gcc 4.6)
3445 https://bugs.webkit.org/show_bug.cgi?id=68079
3447 Reviewed by Adam Barth.
3449 Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
3451 * bindings/scripts/CodeGeneratorV8.pm:
3452 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3453 (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
3454 * bindings/scripts/test/V8/V8TestObj.cpp:
3455 (WebCore::ConfigureV8TestObjTemplate):
3456 * bindings/v8/WorkerScriptDebugServer.cpp:
3457 (WebCore::WorkerScriptDebugServer::addListener):
3458 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3459 (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
3460 * bindings/v8/custom/V8WebSocketCustom.cpp:
3461 (WebCore::V8WebSocket::sendCallback):
3463 2011-09-26 Tony Chang <tony@chromium.org>
3465 switch the initial value of flex-order to 0
3466 https://bugs.webkit.org/show_bug.cgi?id=68820
3468 The spec changed from having an initial value of 1 to 0.
3470 Reviewed by Ojan Vafai.
3472 * rendering/style/RenderStyle.h:
3473 (WebCore::InheritedFlags::initialFlexOrder):
3475 2011-09-26 Chris Rogers <crogers@google.com>
3477 OfflineAudioDestinationNode must wait for thread completion in uninitialize()
3478 https://bugs.webkit.org/show_bug.cgi?id=68725
3480 Reviewed by Kenneth Russell.
3482 No new tests. This fixes internal implementation details.
3484 * webaudio/OfflineAudioDestinationNode.cpp:
3485 (WebCore::OfflineAudioDestinationNode::uninitialize):
3487 2011-09-26 Xan Lopez <xlopez@igalia.com>
3489 [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
3490 https://bugs.webkit.org/show_bug.cgi?id=68837
3492 Reviewed by Martin Robinson.
3494 * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
3495 setters) for 'Replaceable' attributes. Punt for the future
3496 actually making them settable, since it seems non trivial.
3498 2011-09-26 Ryosuke Niwa <rniwa@webkit.org>
3502 * testing/Internals.cpp:
3503 (WebCore::Internals::setZoomAnimatorTransform):
3505 2011-09-26 Joshua Bell <jsbell@chromium.org>
3507 IndexedDB: Null key path gets stored as empty string key path
3508 https://bugs.webkit.org/show_bug.cgi?id=68726
3510 Reviewed by Tony Chang.
3512 Store additional flag to indicate if object store key path
3513 is null vs. empty. Added additional runtime tests for integrity
3514 of object store metadata.
3516 * storage/IDBLevelDBBackingStore.cpp:
3517 (WebCore::checkObjectStoreAndMetaDataType):
3518 (WebCore::IDBLevelDBBackingStore::getObjectStores):
3519 (WebCore::IDBLevelDBBackingStore::createObjectStore):
3520 * storage/IDBLevelDBCoding.cpp:
3522 2011-09-26 John Bauman <jbauman@chromium.org>
3524 Fix nonpremultiplied webgl toDataURL to jpeg
3525 https://bugs.webkit.org/show_bug.cgi?id=68366
3527 The canvas spec says that toDataURL to formats without an alpha must
3528 be "composited onto a solid black background using the source-over
3531 Reviewed by Kenneth Russell.
3533 * platform/graphics/cg/ImageBufferCG.cpp:
3534 (WebCore::CGImageToDataURL):
3535 (WebCore::ImageBuffer::toDataURL):
3536 (WebCore::ImageDataToDataURL):
3537 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3538 (WebCore::RGBAtoRGB):
3540 2011-09-26 Raphael Kubo da Costa <kubo@profusion.mobi>
3542 [CMake] Remove FindFreetype.cmake
3543 https://bugs.webkit.org/show_bug.cgi?id=68778
3545 Reviewed by Adam Barth.
3547 CMake has provided its own FindFreetype.cmake forever, so there is no
3548 need to have another implementation in WebKit.
3550 No new tests, just a buildsystem change.
3552 * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
3553 Freetype_{LIBRARIES,INCLUDE_DIRS}.
3555 2011-09-26 Alexei Svitkine <asvitkine@chromium.org>
3557 Fix full-page rubber band overhang appearing when gesturing during a slow page load.
3558 https://bugs.webkit.org/show_bug.cgi?id=68568
3560 Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
3562 (This also happens on Safari.)
3564 The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
3566 Reviewed by Adam Barth.
3568 No new tests, since this is highly timing-related.
3570 * platform/ScrollView.cpp:
3571 (WebCore::ScrollView::overhangAmount):
3572 (WebCore::ScrollView::wheelEvent):
3574 2011-09-26 W. James MacLean <wjmaclean@chromium.org>
3576 [chromium] Revise zoom animator backend to use full transform instead of just scale.
3577 https://bugs.webkit.org/show_bug.cgi?id=68535
3579 Reviewed by Kenneth Russell.
3581 * page/Settings.cpp:
3582 (WebCore::Settings::Settings):
3584 (WebCore::Settings::setZoomAnimatorScale):
3585 (WebCore::Settings::zoomAnimatorScale):
3586 (WebCore::Settings::setZoomAnimatorPosition):
3587 (WebCore::Settings::zoomAnimatorPosX):
3588 (WebCore::Settings::zoomAnimatorPosY):
3589 * platform/graphics/chromium/LayerRendererChromium.cpp:
3590 (WebCore::LayerRendererChromium::LayerRendererChromium):
3591 (WebCore::LayerRendererChromium::drawLayersInternal):
3592 * platform/graphics/chromium/LayerRendererChromium.h:
3593 (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
3594 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3595 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3596 (WebCore::CCLayerTreeHost::commitTo):
3597 (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
3598 (WebCore::CCLayerTreeHost::updateLayers):
3599 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3600 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3601 (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
3602 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3603 * testing/Internals.cpp:
3604 (WebCore::Internals::setZoomAnimatorTransform):
3605 * testing/Internals.h:
3606 * testing/Internals.idl:
3608 2011-09-26 Dan Bernstein <mitz@apple.com>
3610 REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
3611 https://bugs.webkit.org/show_bug.cgi?id=68819
3613 Reviewed by Dave Hyatt.
3615 * rendering/RenderObject.cpp:
3616 (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
3617 parameter of isRooted, since only the former returns 0 when the document is detached.
3619 2011-09-26 Vsevolod Vlasov <vsevik@chromium.org>
3621 Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
3622 https://bugs.webkit.org/show_bug.cgi?id=67399
3624 Reviewed by Pavel Feldman.
3626 * inspector/ConsoleMessage.cpp:
3627 (WebCore::ConsoleMessage::ConsoleMessage):
3628 * inspector/ConsoleMessage.h:
3629 * inspector/InspectorConsoleAgent.cpp:
3630 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3631 * inspector/InspectorConsoleAgent.h:
3632 * inspector/InspectorInstrumentation.cpp:
3633 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3634 * inspector/front-end/ConsoleMessage.js:
3635 (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
3636 (WebInspector.ConsoleMessage.prototype._formatMessage):
3637 * inspector/front-end/ResourcesPanel.js:
3638 (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
3639 * inspector/front-end/inspector.js:
3640 (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
3641 (WebInspector.linkifyStringAsFragment):
3643 2011-09-26 Jer Noble <jer.noble@apple.com>
3645 White flash when entering full-screen using element.webkitRequestFullScreen()
3646 https://bugs.webkit.org/show_bug.cgi?id=68481
3648 Reviewed by Simon Fraser.
3650 No new tests; covered by existing full screen tests.
3652 During an animation, renderers may try to paint into the FullScreenRenderer's
3653 GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's
3654 background will cause these paints to fail. Remove this optimization in
3655 containsPaintedContent, and taking non-composited elements into full screen will
3658 * rendering/RenderLayerBacking.cpp:
3659 (WebCore::RenderLayerBacking::containsPaintedContent):
3661 2011-09-26 Mihai Parparita <mihaip@chromium.org>
3663 Unreviewed, rolling out r95960.
3664 http://trac.webkit.org/changeset/95960
3665 https://bugs.webkit.org/show_bug.cgi?id=58608
3667 Significantly changes table border rendering
3669 * rendering/RenderObject.cpp:
3670 (WebCore::RenderObject::drawLineForBoxSide):
3672 2011-09-23 Simon Fraser <simon.fraser@apple.com>
3674 Repaint tests don't work in WebKit2
3675 https://bugs.webkit.org/show_bug.cgi?id=68453
3677 Reviewed by Sam Weinig.
3679 Have FrameView keep track of repaint rects when asked to, and
3680 expose this set of repaint rects via private WebKit API for later
3681 use by DumpRenderTree.
3683 The repaint rects are in WebView coordinates, so we have to
3684 unapply the scroll offset.
3687 * page/FrameView.cpp:
3688 (WebCore::FrameView::FrameView):
3689 (WebCore::FrameView::reset):
3690 (WebCore::FrameView::repaintContentRectangle):
3691 (WebCore::FrameView::setTracksRepaints):
3693 (WebCore::FrameView::isTrackingRepaints):
3694 (WebCore::FrameView::resetTrackedRepaints):
3695 (WebCore::FrameView::trackedRepaintRects):
3697 2011-09-26 Antti Koivisto <antti@apple.com>
3699 Optimize matching of common pseudo classes
3700 https://bugs.webkit.org/show_bug.cgi?id=68633
3702 Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
3704 :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
3705 default stylesheet) so we try to match them for all elements in the document. They take always the
3706 slow matching path. In addition we match link styles twice due to visited link pseudo style generation
3707 so the overhead is doubled. As a result substantial portion of our style matching time is spent
3708 dealing with these pseudo classes.
3710 This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
3711 if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
3712 We can also enable the fast path checking for the rest of the selector in many cases.
3714 This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
3715 when loading the full HTML5 spec.
3717 * css/CSSStyleSelector.cpp:
3718 (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
3719 (WebCore::RuleSet::idRules):
3720 (WebCore::RuleSet::classRules):
3721 (WebCore::RuleSet::tagRules):
3722 (WebCore::RuleSet::shadowPseudoElementRules):
3723 (WebCore::RuleSet::linkPseudoClassRules):
3724 (WebCore::RuleSet::visitedPseudoClassRules):
3725 (WebCore::RuleSet::focusPseudoClassRules):
3726 (WebCore::RuleSet::universalRules):
3727 (WebCore::RuleSet::pageRules):
3729 Add a new lists, some stylistic renamings.
3731 (WebCore::CSSStyleSelector::matchRules):
3733 New link and focus checks.
3735 (WebCore::CSSStyleSelector::matchRulesForList):
3736 (WebCore::CSSStyleSelector::checkSelector):
3738 Inline the rightmost selector tag checking, skip if unnecessary.
3740 (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
3742 Common pseudo classes now match based on early filtering (though it is not a hash in this case).
3744 (WebCore::RuleData::RuleData):
3745 (WebCore::RuleSet::~RuleSet):
3746 (WebCore::RuleSet::addRule):
3748 Sort pseudo classes to new lists.
3750 (WebCore::RuleSet::collectFeatures):
3751 (WebCore::RuleSet::shrinkToFit):
3752 (WebCore::CSSStyleSelector::matchPageRules):
3753 * css/SelectorChecker.cpp:
3754 (WebCore::SelectorChecker::checkSelector):
3756 Adopt to expanded fast path (this is used by querySelectorAll).
3758 (WebCore::SelectorChecker::fastCheckRightmostSelector):
3759 (WebCore::SelectorChecker::fastCheckSelector):
3761 Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
3762 is equivalent to fastCheckRightmostSelector().
3764 (WebCore::isFastCheckableRelation):
3765 (WebCore::isFastCheckableMatch):
3766 (WebCore::isFastCheckableRightmostSelector):
3767 (WebCore::SelectorChecker::isFastCheckableSelector):
3768 (WebCore::SelectorChecker::checkOneSelector):
3769 (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
3770 (WebCore::SelectorChecker::isFrameFocused):
3771 * css/SelectorChecker.h:
3772 (WebCore::SelectorChecker::isCommonPseudoClassSelector):
3773 (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
3774 (WebCore::SelectorChecker::matchesFocusPseudoClass):
3775 (WebCore::SelectorChecker::tagMatches):
3777 Refactor a bunch of shared checks into functions.
3779 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
3781 REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
3782 https://bugs.webkit.org/show_bug.cgi?id=57340
3784 Reviewed by Eric Seidel.
3786 This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
3788 To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
3790 Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
3791 placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
3792 Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
3794 Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
3795 B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
3796 moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
3798 To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
3799 example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
3801 This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
3802 end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
3803 base position on the right of A is the right end of a bidi run and the extent position between B and A is
3804 inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
3806 Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
3807 a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
3808 because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
3809 when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
3810 between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
3811 the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
3812 we'll end up selecting just "c".
3814 While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
3815 various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
3817 Test: editing/selection/select-bidi-run.html
3819 * editing/FrameSelection.cpp:
3820 (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
3821 (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
3822 restores the original base as needed.
3823 * editing/FrameSelection.h:
3824 * editing/RenderedPosition.cpp:
3825 (WebCore::RenderedPosition::RenderedPosition):
3826 (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
3827 (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
3828 (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
3829 so that the rightmost position in a box and the leftmost position in the following box is considered equal.
3830 (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
3831 add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
3832 (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
3833 (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
3834 (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
3835 (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
3836 (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
3837 (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
3838 if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
3839 (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
3840 * editing/RenderedPosition.h:
3841 (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
3842 (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
3843 (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
3844 (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
3845 (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
3846 reinterpret_cast<InlineBox*>(1) is not an integral value.
3847 (WebCore::RenderedPosition::RenderedPosition):
3848 * editing/VisibleSelection.h:
3849 (WebCore::VisibleSelection::visibleBase): Added.
3850 (WebCore::VisibleSelection::visibleExtent): Added.
3851 * page/EventHandler.cpp:
3852 (WebCore::EventHandler::updateSelectionForMouseDrag):
3854 2011-09-26 Sheriff Bot <webkit.review.bot@gmail.com>
3856 Unreviewed, rolling out r95256.
3857 http://trac.webkit.org/changeset/95256
3858 https://bugs.webkit.org/show_bug.cgi?id=68814
3860 Temporary CRASH calls no longer needed (Requested by enne on
3863 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3864 (WebCore::CCLayerTreeHost::commitTo):
3866 2011-09-26 Mark Rowe <mrowe@apple.com>
3868 <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
3870 If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
3871 while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
3872 lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
3873 thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
3875 Reviewed by Anders Carlsson.
3877 * loader/icon/IconDatabase.cpp:
3878 (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
3881 2011-09-26 Antaryami Pandia <antaryami.pandia@motorola.com>
3883 Groove/inset/outset borders show solid if the color is black.
3884 https://bugs.webkit.org/show_bug.cgi?id=58608
3886 Reviewed by Simon Fraser.
3888 Lightened the border side colors when drawing borders with styles as
3889 Outset/Inset/Groove/Ridge.
3891 Tests: fast/borders/border-groove.html
3892 fast/borders/border-inset.html
3893 fast/borders/border-outset.html
3894 fast/borders/border-ridge.html
3896 * rendering/RenderObject.cpp:
3897 (WebCore::RenderObject::drawLineForBoxSide):
3899 2011-09-26 Abhishek Arya <inferno@chromium.org>
3901 Delete retired custom font data only on document
3902 destruction, and not on recalc style.
3903 https://bugs.webkit.org/show_bug.cgi?id=68805
3905 Reviewed by Dave Hyatt.
3907 Test: fast/text/custom-font-data-crash.html
3910 (WebCore::Document::recalcStyle):
3912 2011-09-23 Adrienne Walker <enne@google.com>
3914 [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
3915 https://bugs.webkit.org/show_bug.cgi?id=68742
3917 Reviewed by James Robinson.
3919 If video textures are reclaimed (such as during a visibility change on
3920 a tab), the dirty rect for the layer is empty and it skips out of
3921 updating compositor resources, leaving the video textures invalid.
3922 Instead, check the textures here to make sure they're still valid
3923 first before early out so that they can get reupdated if necessary.
3925 Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
3926 videos would not get drawn because all 3 planes didn't have valid
3929 Test: compositing/video-page-visibility.html
3931 * platform/graphics/chromium/VideoLayerChromium.cpp:
3932 (WebCore::VideoLayerChromium::VideoLayerChromium):
3933 (WebCore::VideoLayerChromium::cleanupResources):
3934 (WebCore::VideoLayerChromium::updateCompositorResources):
3935 (WebCore::VideoLayerChromium::pushPropertiesTo):
3936 (WebCore::VideoLayerChromium::setLayerTreeHost):
3937 (WebCore::VideoLayerChromium::texturesValid):
3938 * platform/graphics/chromium/VideoLayerChromium.h:
3940 2011-09-26 Pavel Feldman <pfeldman@google.com>
3942 Web Inspector: introduce protocol backwards compatibility validator.
3943 https://bugs.webkit.org/show_bug.cgi?id=68800
3945 Reviewed by Yury Semikhatsky.
3947 * inspector/Inspector.json:
3948 * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
3949 * inspector/validate-protocol-compatibility: Added.
3951 2011-09-26 Andreas Kling <kling@webkit.org>
3953 [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
3954 https://bugs.webkit.org/show_bug.cgi?id=68798
3956 Reviewed by Noam Rosenthal.
3958 * platform/network/qt/QNetworkReplyHandler.cpp:
3959 (WebCore::QNetworkReplyHandler::sendNetworkRequest):
3961 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
3963 Second unreviewed build fix for r95941
3965 * inspector/InspectorInstrumentation.cpp:
3966 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3968 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
3970 Unreviewed build fix for webkit builds after r95941.
3972 * inspector/InspectorInstrumentation.cpp:
3973 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3975 2011-09-26 Andrey Kosyakov <caseq@chromium.org>
3977 Web Inspector: [Extensions API] allow resources to hook on click on resource links
3978 https://bugs.webkit.org/show_bug.cgi?id=68528
3980 Reviewed by Yury Semikhatsky.
3983 * WebCore.vcproj/WebCore.vcproj:
3984 * inspector/front-end/ExtensionAPI.js:
3985 (injectedExtensionAPI.Console.prototype.get Severity):
3986 (injectedExtensionAPI.Panels.prototype.create):
3987 (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
3988 (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
3989 (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
3990 (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
3991 * inspector/front-end/ExtensionServer.js:
3992 (WebInspector.ExtensionServer):
3993 (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
3994 (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
3995 (WebInspector.ExtensionServer.prototype._addExtensions):
3996 (WebInspector.ExtensionServer.prototype._addExtension):
3997 (WebInspector.ExtensionServer.prototype._registerExtension):
3998 * inspector/front-end/SettingsScreen.js:
3999 (WebInspector.SettingsScreen):
4000 (WebInspector.SettingsScreen.prototype._createCustomSetting):
4001 * inspector/front-end/WebKit.qrc:
4002 * inspector/front-end/helpScreen.css:
4003 (.help-content select):
4004 (.help-content select:disabled):
4005 (.help-content option):
4006 * inspector/front-end/inspector.html:
4007 * inspector/front-end/inspector.js:
4008 (WebInspector.set attached):
4009 (WebInspector._showAnchorLocation):
4011 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
4013 Web Inspector: Timeline: record root event for the function calls enforced by console eval.
4014 https://bugs.webkit.org/show_bug.cgi?id=68695
4016 In a complex web application developer might want to timeline a specific piece of code.
4018 In this case he can do the next steps:
4020 2) eval a command in console;
4023 I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
4025 Reviewed by Yury Semikhatsky.
4027 Test: inspector/timeline/timeline-injected-script-eval.html
4029 * bindings/v8/ScriptFunctionCall.cpp:
4030 * inspector/InjectedScript.cpp:
4031 (WebCore::InjectedScript::makeCall):
4032 * inspector/InspectorInstrumentation.cpp:
4033 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
4035 2011-09-26 No'am Rosenthal <noam.rosenthal@nokia.com>
4037 [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
4038 https://bugs.webkit.org/show_bug.cgi?id=65473
4040 Reviewed by Andreas Kling.
4042 For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
4043 We do that by iterating on the pixels and manually swapping each pixel's red and blue
4044 values. This can be done faster with shaders, but for now this is a working solution
4045 for platforms without&n