method/enctype/formMethod/formEnctype properties should be limited to known values.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-02  Kent Tamura  <tkent@chromium.org>
2
3         method/enctype/formMethod/formEnctype properties should be limited to known values.
4         https://bugs.webkit.org/show_bug.cgi?id=68887
5
6         Reviewed by Hajime Morita.
7
8         According to the standard and other browser behaviors, the
9         following IDL properties should be reflected to the corresponding
10         HTML attributes on setting, but should return normalized values on
11         getting.
12         - HTMLFormElement::method
13         - HTMLFormElement::enctype
14         - HTMLInputElement::formMethod
15         - HTMLInputElement::formEnctype
16         - HTMLButtonElement::formMethod
17         - HTMLButtonElement::formEnctype
18
19         Tests: fast/forms/enctype-attribute.html
20                fast/forms/method-attribute.html
21
22         * html/HTMLButtonElement.idl:
23         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
24         getter function.
25         * html/HTMLFormControlElement.cpp:
26         (WebCore::HTMLFormControlElement::formEnctype):
27         Normalizes the value by parseEncodingType().
28         (WebCore::HTMLFormControlElement::setFormEnctype):
29         Simply calls setAttribute()
30         (WebCore::HTMLFormControlElement::formMethod):
31         Normalizes the value by parseMethodType().
32         (WebCore::HTMLFormControlElement::setFormMethod):
33         Simply calls setAttribute()
34         * html/HTMLFormControlElement.h:
35         * html/HTMLFormElement.cpp:
36         (WebCore::HTMLFormElement::parseMappedAttribute):
37         Follow the Attributes function renaming.
38         (WebCore::HTMLFormElement::method):
39         Normalizes the value by parseMethodType().
40         * html/HTMLFormElement.idl:
41         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
42         getter function.
43         * html/HTMLInputElement.idl: ditto.
44         * loader/FormSubmission.cpp:
45         (WebCore::FormSubmission::Attributes::parseEncodingType):
46         New function made from a part of old parseEncodingType().
47         (WebCore::FormSubmission::Attributes::updateEncodingType):
48         Renamed from parseEncodingType().
49         (WebCore::FormSubmission::Attributes::parseMethodType):
50         New function made from a part of old parseMethodType().
51         (WebCore::FormSubmission::Attributes::updateMethodType):
52         Renamed from parseMethodType().
53         (WebCore::FormSubmission::create):
54         Follow the Attributes function renaming.
55         * loader/FormSubmission.h:
56         (WebCore::FormSubmission::Attributes::methodString):
57         A helper function to provide normalized strings for FormSubmission::Method.
58
59 2011-10-02  Sam Weinig  <sam@webkit.org>
60
61         Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
62         https://bugs.webkit.org/show_bug.cgi?id=69230
63
64         Reviewed by Anders Carlsson.
65
66         * WebCore.exp.in:
67         * page/Frame.h:
68         * page/mac/FrameMac.mm:
69
70 2011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
71
72         [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
73         https://bugs.webkit.org/show_bug.cgi?id=69223
74
75         Add a missing import (NSWindow.h) in WebVideoFullscreenHUDWindowController.
76         Add a missing include path and a missing objective source file to WebCore.pro.
77
78         Reviewed by Noam Rosenthal.
79
80         No new tests, build fix.
81
82         * WebCore.pro:
83         * platform/mac/WebVideoFullscreenHUDWindowController.h:
84
85 2011-10-02  Julien Chaffraix  <jchaffraix@webkit.org>
86
87         Remove an unused member in RenderTable::ColumnStruct
88         https://bugs.webkit.org/show_bug.cgi?id=69119
89
90         Reviewed by Darin Adler.
91
92         No test as there should be no change in behavior.
93
94         The member was added several years ago and its users were removed or changed. The code would
95         need a refactoring but this would be tricky to get right. This change just removes the member
96         to reap the short-term benefits.
97
98         * rendering/RenderTable.h:
99         (WebCore::RenderTable::ColumnStruct::ColumnStruct): Remove anything associated with m_width.
100
101 2011-10-02  Dan Bernstein  <mitz@apple.com>
102
103         REGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble() when media query specifies unit-less length
104         https://bugs.webkit.org/show_bug.cgi?id=68760
105
106         Reviewed by Antti Koivisto.
107
108         Test: fast/media/invalid-lengths.html
109
110         Made length-comparison media queries accept only length values. In compatibility mode, numbers
111         are allowed as well, and they are interpreted as pixels.
112
113         * css/MediaQueryEvaluator.cpp:
114         (WebCore::computeLength): Added this helper function.
115         (WebCore::device_heightMediaFeatureEval): Changed to use computeLength().
116         (WebCore::device_widthMediaFeatureEval): Ditto.
117         (WebCore::heightMediaFeatureEval): Ditto.
118         (WebCore::widthMediaFeatureEval): Ditto.
119
120 2011-10-02  Dirk Schulze  <krit@webkit.org>
121
122         SVG Mask should take 'color-interpolation' into account to determine the color space of the mask image
123         https://bugs.webkit.org/show_bug.cgi?id=69076
124
125         Reviewed by Simon Fraser.
126         
127         SVG Masks should take 'color-interpolation' into account to determine the color space of the mask image.
128         The behavior was changed in SVG 1.1 SE. The color space of the mask image gets defined by the computed value of the
129         'color-interpolation' property. This will switch the default color space from linearRGB to sRGB for mask images and
130         is a performance improvement for platforms without native support for linearRGB color space. The
131         color space transformation can be avoided.
132
133         Test: svg/custom/grayscale-gradient-mask-2.svg
134
135         * rendering/svg/RenderSVGResourceMasker.cpp:
136         (WebCore::RenderSVGResourceMasker::applyResource):
137         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
138         * rendering/svg/RenderSVGResourceMasker.h:
139
140 2011-10-01  Vangelis Kokkevis  <vangelis@chromium.org>
141
142         [chromium] Fixing draw matrix for composited layers. This
143         was a regression introduced by:
144         http://trac.webkit.org/changeset/96454
145
146         https://bugs.webkit.org/show_bug.cgi?id=69217
147
148         Reviewed by James Robinson.
149
150         Tests: compositor test now pass
151
152         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
153         (WebCore::CCTiledLayerImpl::draw):
154         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
155
156 2011-10-01  Geoffrey Garen  <ggaren@apple.com>
157
158         Removed redundant helper functions for allocating Strong handles
159         https://bugs.webkit.org/show_bug.cgi?id=69218
160
161         Reviewed by Sam Weinig.
162
163         * ForwardingHeaders/heap/StrongInlines.h: Added.
164         * bindings/js/JSCallbackData.h:
165         * bindings/js/JSDOMWindowShell.cpp:
166         * bindings/js/ScheduledAction.h:
167         * bindings/js/ScriptCachedFrameData.cpp:
168         * bindings/js/ScriptController.cpp:
169         * bindings/js/ScriptState.cpp:
170         * bindings/js/ScriptValue.h:
171         * bindings/js/WorkerScriptController.cpp:
172         * bridge/runtime_root.cpp:
173
174 2011-10-01  Sheriff Bot  <webkit.review.bot@gmail.com>
175
176         Unreviewed, rolling out r96421.
177         http://trac.webkit.org/changeset/96421
178         https://bugs.webkit.org/show_bug.cgi?id=69206
179
180         It broke Qt-WK2 build (Requested by ossy on #webkit).
181
182         * WebCore.pro:
183
184 2011-09-30  Adrienne Walker  <enne@google.com>
185
186         [chromium] Track separate scroll deltas on the compositor thread
187         https://bugs.webkit.org/show_bug.cgi?id=69034
188
189         Reviewed by James Robinson.
190
191         Test: new tests in CCLayerTreeHostImplTest/CCLayerTreeHostTest
192
193         Track scroll deltas and maximum scrolls on LayerChromium/CCLayerImpl.
194         The CCLayerImpl tree is now able to adjust these scroll deltas
195         independent of the main thread. To push them back to the main thread,
196         CCLayerTreeHostImpl collects them all and then bakes them into the
197         scroll position during a begin frame and commit call. This allows new
198         deltas to be collected while the scroll position containing the old
199         delta and the old scroll position will be overwritten during the next
200         commit.
201
202         Only the main frame is supported right now for pushing this scroll
203         delta back into the authoritative WebKit source to keep both sides in
204         sync.
205
206         Move tilingTransform() to the impl tree because drawTransform() is now
207         updated using scroll deltas and so the results from calculating draw
208         transforms needs to be dynamic so that children are updated properly.
209
210         Also, exposed DebugScopedSetImplThread public because it's used in a
211         few places.
212
213         * platform/graphics/chromium/LayerChromium.cpp:
214         (WebCore::LayerChromium::pushPropertiesTo):
215         * platform/graphics/chromium/LayerChromium.h:
216         (WebCore::LayerChromium::maxScrollPosition):
217         (WebCore::LayerChromium::setMaxScrollPosition):
218         (WebCore::LayerChromium::scrollDelta):
219         (WebCore::LayerChromium::scrollable):
220         * platform/graphics/chromium/NonCompositedContentHost.cpp:
221         (WebCore::NonCompositedContentHost::setViewport):
222         * platform/graphics/chromium/TiledLayerChromium.cpp:
223         (WebCore::TiledLayerChromium::pushPropertiesTo):
224         * platform/graphics/chromium/TiledLayerChromium.h:
225         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
226         (WebCore::CCLayerImpl::scrollBy):
227         * platform/graphics/chromium/cc/CCLayerImpl.h:
228         (WebCore::CCLayerImpl::maxScrollPosition):
229         (WebCore::CCLayerImpl::setMaxScrollPosition):
230         (WebCore::CCLayerImpl::scrollDelta):
231         (WebCore::CCLayerImpl::setScrollDelta):
232         (WebCore::CCLayerImpl::scrollable):
233         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
234         (WebCore::CCLayerTreeHost::applyScrollDeltas):
235         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
236         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
237         (WebCore::calculateDrawTransformsAndVisibilityInternal):
238         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
239         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
240         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
241         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
242         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
243         * platform/graphics/chromium/cc/CCProxy.h:
244         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
245         (WebCore::CCSingleThreadProxy::start):
246         (WebCore::CCSingleThreadProxy::context):
247         (WebCore::CCSingleThreadProxy::finishAllRendering):
248         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
249         (WebCore::CCSingleThreadProxy::setNeedsCommit):
250         (WebCore::CCSingleThreadProxy::stop):
251         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
252         (WebCore::CCSingleThreadProxy::commitIfNeeded):
253         (WebCore::CCSingleThreadProxy::doComposite):
254         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
255         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
256         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
257         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
258         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
259         (WebCore::CCThreadProxy::beginFrameAndCommit):
260         * platform/graphics/chromium/cc/CCThreadProxy.h:
261         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
262         (WebCore::CCTiledLayerImpl::tilingTransform):
263         (WebCore::CCTiledLayerImpl::draw):
264         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
265
266 2011-09-30  David Hyatt  <hyatt@apple.com>
267
268         https://bugs.webkit.org/show_bug.cgi?id=69202
269         
270         [CSS3 Regions] Make positioned objects use the first region as the ICB when it
271         is their containing block. Make sure static distance computations take into
272         account the current region as well.
273
274         Reviewed by Sam Weinig.
275
276         Added new tests in fast/regions.
277
278         * rendering/RenderBlock.cpp:
279         (WebCore::RenderBlock::adjustPositionedBlock):
280         * rendering/RenderBlock.h:
281         (WebCore::RenderBlock::startOffsetForContent):
282         * rendering/RenderBox.cpp:
283         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
284         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
285         (WebCore::computeInlineStaticDistance):
286         (WebCore::computeLogicalLeftPositionedOffset):
287         (WebCore::computeLogicalTopPositionedOffset):
288         * rendering/RenderFlowThread.cpp:
289         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
290         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
291         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
292         * rendering/RenderFlowThread.h:
293
294 2011-09-30  David Barr  <davidbarr@chromium.org>
295
296         Implement currentColor support for CSS gradients
297         https://bugs.webkit.org/show_bug.cgi?id=58730
298
299         Reviewed by Adam Barth.
300
301         Allow currentColor as a CSS3 gradient color-stop.
302
303         Test: fast/css/linear-gradient-currentcolor.html
304
305         * css/CSSGradientValue.cpp:
306         (WebCore::CSSGradientValue::isCacheable): Make currentColor uncacheable since the
307         background image may be invalidated if currentColor is used as a gradient stop and
308         the value of the 'color' property changes.
309         * css/CSSParser.cpp:
310         (WebCore::parseGradientColorOrKeyword): Accept the currentColor keyword.
311         * rendering/style/StyleGeneratedImage.cpp:
312         (WebCore::StyleGeneratedImage::image): Initialize document styleSelector so that
313         currentColor may be computed for a StyleGeneratedImage.
314
315 2011-09-30  Gavin Barraclough  <barraclough@apple.com>
316
317         Remove toStrictThisObject, toThisString, toThisJSString
318         https://bugs.webkit.org/show_bug.cgi?id=69203
319
320         Rubber stamped by Sam Weinig
321
322         These are no longer used.
323
324         * bindings/js/JSDOMWindowBase.cpp:
325         * bindings/js/JSDOMWindowBase.h:
326
327 2011-09-30  Adam Barth  <abarth@webkit.org>
328
329         Remove ASSERT introduced in http://trac.webkit.org/changeset/96427
330         which is triggering all over the place.
331
332         Sorting this out is covered in this bug:
333         https://bugs.webkit.org/show_bug.cgi?id=69200
334
335         * rendering/RenderView.cpp:
336         (WebCore::RenderView::layout):
337
338 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
339
340         Unreviewed, rolling out r96426.
341         http://trac.webkit.org/changeset/96426
342         https://bugs.webkit.org/show_bug.cgi?id=69199
343
344         Broke a zillion image results on Chromium Skia Mac (Requested
345         by abarth|gardener on #webkit).
346
347         * platform/graphics/skia/GraphicsContextSkia.cpp:
348         (WebCore::getFocusRingOutset):
349         (WebCore::GraphicsContext::drawFocusRing):
350
351 2011-09-30  Ilya Sherman  <isherman@chromium.org>
352
353         Fix assertion failure in XSS Auditor
354         https://bugs.webkit.org/show_bug.cgi?id=69050
355         https://code.google.com/p/chromium/issues/detail?id=97346
356
357         Reviewed by Daniel Bates.
358
359         Test: fast/forms/xss-auditor-doesnt-crash.html
360
361         * html/parser/XSSAuditor.cpp:
362         (WebCore::XSSAuditor::init): Don't try to decode the HTML body if it is empty.
363
364 2011-09-30  Maciej Stachowiak  <mjs@apple.com>
365
366         Loading page on potterybankids causes reproducible assertion failure in debug builds
367         https://bugs.webkit.org/show_bug.cgi?id=69185
368         <rdar://problem/10218241>
369
370         Reviewed by Simon Fraser.
371
372         * rendering/RenderLayer.cpp:
373         (WebCore::RenderLayer::computeRepaintRects): Remove assert condition that isn't guaranteed
374         to be true.
375
376 2011-09-30  Johnny Ding  <jnd@chromium.org>
377
378         Support -webkit-tap-highlight-color when enabling touch events support.
379         https://bugs.webkit.org/show_bug.cgi?id=48544
380
381         Reviewed by Kenneth Rohde Christiansen.
382
383         Original code from the iOS WebCore code dump, extracted and modified by tijiang@rim and jnd@chromium.
384         Supports the new CSS property -webkit-tap-highlight-color on platforms which support touch events.
385         Platform can override WebCore::RenderTheme::platformTapHighlightColor to use its own platform
386         specific default tap highlight color. Otherwise RenderTheme::defaultTapHighlightColor will be
387         used as default tap highlight color.
388
389         Test: fast/events/touch/tap-highlight-color.html
390
391         * css/CSSComputedStyleDeclaration.cpp:
392         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
393         * css/CSSParser.cpp:
394         (WebCore::CSSParser::parseValue):
395         * css/CSSPropertyNames.in:
396         * css/CSSStyleSelector.cpp:
397         (WebCore::CSSStyleSelector::applyProperty):
398         * rendering/RenderTheme.cpp:
399         (WebCore::RenderTheme::tapHighlightColor):
400         * rendering/RenderTheme.h:
401         (WebCore::RenderTheme::platformTapHighlightColor):
402         * rendering/style/RenderStyle.cpp:
403         (WebCore::RenderStyle::initialTapHighlightColor):
404         * rendering/style/RenderStyle.h:
405         (WebCore::InheritedFlags::tapHighlightColor):
406         (WebCore::InheritedFlags::setTapHighlightColor):
407         * rendering/style/StyleRareInheritedData.cpp:
408         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
409         (WebCore::StyleRareInheritedData::operator==):
410         * rendering/style/StyleRareInheritedData.h:
411
412 2011-09-30  David Hyatt  <hyatt@apple.com>
413
414         https://bugs.webkit.org/show_bug.cgi?id=69173
415         
416         RTL/LTR mixtures still not correct in regions. Simplify the loop once I realized it's only
417         your directionality that matters and not your containing block's.
418
419         Reviewed by Dan Bernstein.
420
421         Added new test in fast/regions.
422
423         * rendering/RenderBox.cpp:
424         (WebCore::RenderBox::borderBoxRectInRegion):
425
426 2011-09-30  Dan Bernstein  <mitz@apple.com>
427
428         <rdar://problem/10208291> first-letter in generated before content with display: table is not updated
429
430         Reviewed by Sam Weinig.
431
432         Test: fast/css-generated-content/first-letter-in-nested-before.html
433
434         * rendering/RenderObjectChildList.cpp:
435         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Preserve the style type of anonymous
436         containers around the generated content when updating their style. This preserves the first-letter-ness
437         of the inline wrapping the first letter, which allows updateFirstLetter() to identify it later.
438
439 2011-09-30  Cary Clark  <caryclark@google.com>
440
441         Inset focus ring (Skia on Mac)
442         https://bugs.webkit.org/show_bug.cgi?id=69166
443         http://code.google.com/p/chromium/issues/detail?id=97956
444
445         This focus ring was drawn too large and was left tracks
446         in subsequent invalidations. Make it more closely match
447         the CG version.
448
449         Reviewed by Stephen White.
450
451         No new tests. This platform is not enabled.
452
453         * platform/graphics/skia/GraphicsContextSkia.cpp:
454         (WebCore::getFocusRingOutset):
455         (WebCore::GraphicsContext::drawFocusRing):
456
457 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
458
459         Unreviewed, rolling out r96422.
460         http://trac.webkit.org/changeset/96422
461         https://bugs.webkit.org/show_bug.cgi?id=69170
462
463         Broke Windows build and kling wanted to roll it out as well
464         (Requested by rniwa on #webkit).
465
466         * rendering/InlineBox.cpp:
467         (WebCore::InlineBox::prevOnLineExists):
468         * rendering/InlineBox.h:
469         (WebCore::InlineBox::InlineBox):
470
471 2011-09-30  David Hyatt  <hyatt@apple.com>
472
473         https://bugs.webkit.org/show_bug.cgi?id=69167
474         
475         [CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
476         for blocks in variable width regions. Specifically, this patch addresses a minor bug
477         with overflow:hidden/scroll/auto block placement and with RTL directionality.
478
479         Reviewed by Sam Weinig.
480
481         Added five new tests in fast/regions.
482
483         * rendering/RenderBlock.cpp:
484         (WebCore::RenderBlock::logicalRightOffsetForContent):
485         Avoid a double fetch of the border box in a given region by not calling
486         logicalLeftOffsetForContent. No correctness change here. It's just cleaner.
487
488         * rendering/RenderBox.cpp:
489         (WebCore::RenderBox::borderBoxRectInRegion):
490         Change the shifted optimization to be cached for "self" rather than for "containing block".
491         Rework the adjustment loop to handle changes in directionality and to fix correctness
492         issues with RTL.
493
494         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
495         Don't double adjust if an object uses line width as the containing block width. In that
496         case we already computed the line width in the region, so we don't need to apply any
497         additional fixup.
498
499         (WebCore::RenderBox::renderBoxRegionInfo):
500         * rendering/RenderBoxRegionInfo.h:
501         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
502         (WebCore::RenderBoxRegionInfo::isShifted):
503         Changed the shifted code to be on self rather than on containing block.
504
505         * rendering/RenderFlowThread.cpp:
506         (WebCore::RenderFlowThread::layout):
507         Refactor the layout code for RenderFlowThread to properly set up region rects assuming
508         right alignment in RTL code. This change forces us to compute our maximum logical width
509         first before looping through the regions again to set their content rects.
510
511 2011-09-30  Andreas Kling  <kling@webkit.org>
512
513         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
514         https://bugs.webkit.org/show_bug.cgi?id=64914
515
516         Reviewed by Antti Koivisto.
517
518         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
519         since nobody is using them anymore. nextOnLineExists() is still used by
520         GTK+ accessibility code.
521
522         Also added a compile-time assertion to guard against future bloating of
523         the InlineBox class.
524
525         * rendering/InlineBox.cpp:
526         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
527         * rendering/InlineBox.h:
528         (WebCore::InlineBox::InlineBox):
529
530 2011-09-30  Pierre Rossi  <pierre.rossi@gmail.com>
531
532         [Qt] Build fix: Qt::escape is deprecated in Qt5
533         https://bugs.webkit.org/show_bug.cgi?id=69162
534
535         Use QString::toHtmlEscaped in the Qt5 case.
536
537         Reviewed by Andreas Kling.
538
539         No new tests needed.
540
541         * WebCore.pro: adjust the include path accordingly
542         in the v8 case.
543
544 2011-09-30  Ryosuke Niwa  <rniwa@webkit.org>
545
546         Remove unused ReplaceSelectionCommand::copyStyleToChildren
547         https://bugs.webkit.org/show_bug.cgi?id=69153
548
549         Reviewed by Antonio Gomes.
550
551         Removed the function because it's no called anywhere.
552
553         * editing/ReplaceSelectionCommand.cpp:
554         * editing/ReplaceSelectionCommand.h:
555
556 2011-09-30  Aaron Colwell  <acolwell@chromium.org>
557
558         Fix EnabledAtRuntime support for constants.
559         https://bugs.webkit.org/show_bug.cgi?id=67311
560
561         Reviewed by Adam Barth.
562
563         * bindings/scripts/CodeGeneratorV8.pm:
564         (GenerateImplementation):
565
566 2011-09-29  David Hyatt  <hyatt@apple.com>
567
568         https://bugs.webkit.org/show_bug.cgi?id=69043
569         
570         [CSS3 Regions] Blocks split across regions with variable width need to size
571         differently in each region.
572         
573         This patch adds the capability for blocks to have variable width and positioning
574         when split across regions. It is very rudimentary and so far only operates on basic
575         normal flow RenderBlocks. Future patches will expand the support to cover other layout
576         constructs like flexible boxes and tables.
577
578         Reviewed by Sam Weinig.
579
580         Added new tests in fast/regions and updated existing results.
581
582         * WebCore.xcodeproj/project.pbxproj:
583         * rendering/HitTestResult.cpp:
584         (WebCore::HitTestResult::HitTestResult):
585         (WebCore::HitTestResult::operator=):
586         * rendering/HitTestResult.h:
587         (WebCore::HitTestResult::region):
588         (WebCore::HitTestResult::setRegion):
589         The hit test result now holds the active RenderRegion so that hit testing can adjust
590         block widths and positions when hit testing their border boxes.
591
592         * rendering/PaintInfo.h:
593         (WebCore::PaintInfo::PaintInfo):
594         The paint info struct now holds the active RenderRegion so that painting can adjust
595         block widths and positions when painting borders and backgrounds and shadows.
596
597         * rendering/RenderBlock.cpp:
598         (WebCore::RenderBlock::layoutBlock):
599         If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
600         regions that we span.
601
602         (WebCore::RenderBlock::clearRenderBoxRegionInfo):
603         Called to clear out our cached region-specific information in all regions that we span.
604
605         (WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
606         Returns the borderBoxRect for the region at the specified vertical offset. This rect
607         can be both shifted horizontally and have a different width from our original border rect.
608
609         (WebCore::RenderBlock::logicalLeftOffsetForContent):
610         (WebCore::RenderBlock::logicalRightOffsetForContent):
611         Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
612         the content rect of the border box rect for the specific region.
613
614         * rendering/RenderBlock.h:
615         (WebCore::RenderBlock::logicalRightOffsetForContent):
616         Modified to call logicalLeftOffsetForContent since it's cleaner.
617
618         * rendering/RenderBox.cpp:
619         (WebCore::RenderBox::borderBoxRectInRegion):
620         Called to compute the border box rect in a specific region. The result is cached in a HashMap
621         in the region itself so that subsequent lookups are fast.
622
623         (WebCore::RenderBox::nodeAtPoint):
624         Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.
625
626         (WebCore::RenderBox::paintBoxDecorations):
627         Modified to use the border box rect in the active region when painting the backgrounds of boxes.
628
629         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
630         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
631         (WebCore::RenderBox::computeLogicalWidth):
632         (WebCore::RenderBox::computeLogicalWidthInRegion):
633         Helpers for computing logical widths and margins in a specific region. The result is then cached
634         in a HashMap in the region.
635
636         (WebCore::RenderBox::renderBoxRegionInfo):
637         The function for obtaining the region-specific information for a given box.
638
639         * rendering/RenderBox.h:
640         (WebCore::RenderBox::borderBoxRectInRegion):
641         New function for returning the border box rect in a given region.
642
643         * rendering/RenderBoxModelObject.cpp:
644         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
645         Make sure mask painting honors the active region.
646
647         * rendering/RenderBoxRegionInfo.h: Added.
648         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
649         (WebCore::RenderBoxRegionInfo::logicalLeft):
650         (WebCore::RenderBoxRegionInfo::logicalWidth):
651         (WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
652         New class held by RenderRegions that caches box-specific info for a given region. This will eventually
653         expand to include custom styles as well, but for now it is limited to a new logical left and a new
654         logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
655         too much groveling up the containing block chain.
656
657         * rendering/RenderFlowThread.cpp:
658         (WebCore::RenderFlowThread::RenderFlowThread):
659         Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
660         to limit it with the results now being cached.
661
662         (WebCore::RenderFlowThread::layout):
663         All box-specific region information is always cleared whenever the regions are invalidated.
664
665         (WebCore::RenderFlowThread::computeLogicalWidth):
666         Modified to set up RenderBoxRegionInfo for the flow thread in all regions.
667         
668         (WebCore::RenderFlowThread::paintIntoRegion):
669         (WebCore::RenderFlowThread::hitTestRegion):
670         Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
671         thread layer tree can properly receive the active region.
672
673         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
674         Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
675         we may want to have a cache of the start/end regions for a given box somewhere.
676
677         * rendering/RenderFlowThread.h:
678         Removal of the region fitting stuff.
679
680         * rendering/RenderLayer.cpp:
681         (WebCore::RenderLayer::paint):
682         (WebCore::RenderLayer::paintOverlayScrollbars):
683         (WebCore::RenderLayer::paintLayer):
684         (WebCore::RenderLayer::paintList):
685         (WebCore::RenderLayer::paintPaginatedChildLayer):
686         (WebCore::RenderLayer::paintChildLayerIntoColumns):
687         * rendering/RenderLayer.h:
688         * rendering/RenderLayerBacking.cpp:
689         (WebCore::RenderLayerBacking::paintIntoLayer):
690         Modified to pass the current region down through painting functions so that it is known at paint time.
691
692         * rendering/RenderObject.cpp:
693         (WebCore::RenderObject::RenderObject):
694         Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
695         object needs flow thread special casing.
696
697         (WebCore::RenderObject::enclosingRenderFlowThread):
698         Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.
699
700         (WebCore::RenderObject::containerForRepaint):
701         Same.
702
703         * rendering/RenderObject.h:
704         (WebCore::RenderObject::setParent):
705         setParent now updates inRenderFlowThread() state.
706
707         (WebCore::RenderObject::inRenderFlowThread):
708         (WebCore::RenderObject::setInRenderFlowThread):
709         Adding the new bit.
710
711         * rendering/RenderObjectChildList.cpp:
712         (WebCore::RenderObjectChildList::removeChildNode):
713         Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
714         in all regions.
715
716         * rendering/RenderRegion.cpp:
717         (WebCore::RenderRegion::~RenderRegion):
718         (WebCore::RenderRegion::paintReplaced):
719         (WebCore::RenderRegion::nodeAtPoint):
720         (WebCore::RenderRegion::renderBoxRegionInfo):
721         (WebCore::RenderRegion::setRenderBoxRegionInfo):
722         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
723         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
724         (WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
725         * rendering/RenderRegion.h:
726         Added the new HashMap for holding box-specific region information. Also added an additional optimization to
727         check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to 
728         cache box-specific information for that region.
729
730         * rendering/RenderReplica.cpp:
731         (WebCore::RenderReplica::paint):
732         * rendering/RenderScrollbarPart.cpp:
733         (WebCore::RenderScrollbarPart::paintIntoRect):
734         * rendering/svg/SVGImageBufferTools.cpp:
735         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
736         Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
737         have to consider it (since masks illustrated this is necessary).
738
739 2011-09-30  Tim Horton  <timothy_horton@apple.com>
740
741         feBlend uses a table of function pointers which reduces inlineability inside the main loop
742         https://bugs.webkit.org/show_bug.cgi?id=69154
743         <rdar://problem/10215221>
744
745         Reviewed by Darin Adler.
746
747         Don't use a table of function pointers inside the feBlend inner loop, instead
748         use switch and inline functions, bringing a 20% performance gain across the
749         board to feBlend.
750
751         No new tests, minor performance improvement.
752
753         * platform/graphics/filters/FEBlend.cpp:
754         (WebCore::normal):
755         (WebCore::multiply):
756         (WebCore::screen):
757         (WebCore::darken):
758         (WebCore::lighten):
759         (WebCore::FEBlend::apply):
760
761 2011-09-30  Mark Hahnenberg  <mhahnenberg@apple.com>
762
763         Add getCallData to MethodTable in ClassInfo
764         https://bugs.webkit.org/show_bug.cgi?id=69024
765
766         Reviewed by Sam Weinig.
767
768         No new tests.
769
770         * WebCore.exp.in:
771
772         Changed getCallData from private to protected to allow subclasses who 
773         don't override getCallData themselves to reference it in their own 
774         method tables when calling the CREATE_METHOD_TABLE macro.
775         * bridge/runtime_method.h:
776
777 2011-09-30  Ned Holbrook  <nholbrook@apple.com>
778
779         Complex spaces with synthetic bold are too wide
780         https://bugs.webkit.org/show_bug.cgi?id=69033
781
782         Reviewed by Dan Bernstein.
783
784         Test: fast/text/complex-synthetic-bold-space-width.html
785
786         * platform/graphics/mac/ComplexTextController.cpp:
787         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
788         * platform/graphics/win/UniscribeController.cpp:
789         (WebCore::UniscribeController::shapeAndPlaceItem): Ditto.
790
791 2011-09-30  Pavel Feldman  <pfeldman@google.com>
792
793         Web Inspector: [chromium] expose inspector protocol version to the embedder.
794         https://bugs.webkit.org/show_bug.cgi?id=69092
795
796         This change also introduces major/minor inspector version components.
797
798         Reviewed by Yury Semikhatsky.
799
800         * CMakeLists.txt:
801         * CodeGenerators.pri:
802         * DerivedSources.make:
803         * GNUmakefile.am:
804         * GNUmakefile.list.am:
805         * WebCore.gyp/WebCore.gyp:
806         * WebCore.gypi:
807         * inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
808         * inspector/Inspector.json:
809         * inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.
810
811 2011-09-29  Antti Koivisto  <antti@apple.com>
812
813         https://bugs.webkit.org/show_bug.cgi?id=69106
814         Universal attribute selectors disable style sharing
815
816         Reviewed by Dave Hyatt.
817
818         Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
819         rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.
820
821         Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually 
822         matches the element. Before sharing, we also check the current element against collected attribute rules.
823         We can share the style if neither element was affected.
824         
825         This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
826         Increased sharing should also save a substantial amount of memory.
827
828         * css/CSSSelector.h:
829         (WebCore::CSSSelector::isAttributeSelector):
830         * css/CSSStyleSelector.cpp:
831         (WebCore::RuleData::containsUncommonAttributeSelector):
832         (WebCore::collectSpecialRulesInDefaultStyle):
833         (WebCore::assertNoSiblingRulesInDefaultStyle):
834         (WebCore::CSSStyleSelector::CSSStyleSelector):
835         (WebCore::CSSStyleSelector::matchRules):
836         (WebCore::CSSStyleSelector::matchesRuleSet):
837         (WebCore::CSSStyleSelector::canShareStyleWithElement):
838         (WebCore::CSSStyleSelector::locateSharedStyle):
839         (WebCore::CSSStyleSelector::styleForElement):
840         (WebCore::selectorListContainsUncommonAttributeSelector):
841         (WebCore::isCommonAttributeSelectorAttribute):
842         (WebCore::containsUncommonAttributeSelector):
843         (WebCore::RuleData::RuleData):
844         (WebCore::collectFeaturesFromSelector):
845         (WebCore::collectFeaturesFromList):
846         * css/CSSStyleSelector.h:
847         * css/SelectorChecker.cpp:
848         (WebCore::SelectorChecker::checkOneSelector):
849         * rendering/style/RenderStyle.cpp:
850         (WebCore::RenderStyle::RenderStyle):
851         * rendering/style/RenderStyle.h:
852         (WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
853         (WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):
854
855 2011-09-30  James Robinson  <jamesr@chromium.org>
856
857         [chromium] Add WebKit API for sending input events to the compositor thread
858         https://bugs.webkit.org/show_bug.cgi?id=69117
859
860         Reviewed by Darin Fisher.
861
862         Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
863         in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
864         nature of this pointer, the rest are removing the old thread creation codepath.
865
866         These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
867         use_threaded_compositing=1 gyp define.
868
869         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
870         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
871         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
872         (WebCore::CCThreadProxy::setThread):
873         (WebCore::CCThreadProxy::CCThreadProxy):
874         (WebCore::CCThreadProxy::~CCThreadProxy):
875         (WebCore::CCThreadProxy::compositeAndReadback):
876         (WebCore::CCThreadProxy::finishAllRendering):
877         (WebCore::CCThreadProxy::initializeLayerRenderer):
878         (WebCore::CCThreadProxy::setNeedsCommit):
879         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
880         (WebCore::CCThreadProxy::setNeedsRedraw):
881         (WebCore::CCThreadProxy::start):
882         (WebCore::CCThreadProxy::stop):
883         (WebCore::CCThreadProxy::beginFrameAndCommit):
884         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
885         * platform/graphics/chromium/cc/CCThreadProxy.h:
886
887 2011-09-29  Fady Samuel  <fsamuel@chromium.org>
888
889         Fixed Hit testing on Framesets when Frameset is transformed
890         https://bugs.webkit.org/show_bug.cgi?id=67740
891
892         Reviewed by Simon Fraser.
893
894         Tests: fast/frames/frame-set-rotation-hit.html
895                fast/frames/frame-set-scaling-hit.html
896
897         * rendering/RenderFrameSet.cpp:
898         (WebCore::RenderFrameSet::userResize):
899
900 2011-09-29  Dirk Pranke  <dpranke@chromium.org>
901
902         fix gyp warnings in chromium for renamed files
903         https://bugs.webkit.org/show_bug.cgi?id=69116
904
905         Reviewed by Adam Barth.
906
907         * WebCore.gypi:
908
909 2011-09-29  Martin Robinson  <mrobinson@igalia.com>
910
911         [Freetype] Some text in Planet GNOME renders in the wrong place
912         https://bugs.webkit.org/show_bug.cgi?id=69099
913
914         Reviewed by Dirk Schulze.
915
916         Test: platform/gtk/fonts/synthetic-oblique-positioning.html
917
918         Fold the oblique transform into the font matrix itself rather than transforming
919         the CTM of the context at render time. Not only does this fix the issue, it
920         prevents unnecessary work on every paint.
921
922         * platform/graphics/cairo/FontCairo.cpp:
923         No longer set the synthetic oblique transformation matrix on the context
924         when rendering the text. Instead it is now folded into the TM of the font
925         itself.
926         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
927         (WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
928         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
929         (WebCore::FontPlatformData::FontPlatformData): Ditto.
930
931 2011-09-29  Dan Bernstein  <mitz@apple.com>
932
933         Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
934
935         Reviewed by Simon Fraser.
936
937         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
938         (WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.
939
940 2011-09-29  Cary Clark  <caryclark@google.com>
941
942         Enable LCD text in Skia on Mac
943         https://bugs.webkit.org/show_bug.cgi?id=68734
944
945         Reviewed by Stephen White.
946
947         No new tests. Existing layout tests are generated
948         with LCD text disabled for pixel comparisons.
949
950         Duplicate the logic in FontMac.mm to pass settings
951         for antialiasing and smoothing. Also disable smoothing
952         for DumpRenderTree.
953  
954         * platform/graphics/skia/FontSkia.cpp:
955         (WebCore::setupPaint):
956         (WebCore::Font::drawGlyphs):
957
958 2011-09-29  Varun Jain  <varunjain@google.com>
959  
960          Implement flick gesture in Chromium Gesture Recognizer
961          https://bugs.webkit.org/show_bug.cgi?id=67930
962  
963          Reviewed by Dimitri Glazkov.
964  
965          Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp 
966  
967          * platform/chromium/GestureRecognizerChromium.cpp:
968          (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
969          (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
970          (WebCore::GestureRecognizerChromium::updateValues):
971          (WebCore::GestureRecognizerChromium::scrollEnd):
972          * platform/chromium/GestureRecognizerChromium.h:
973
974 2011-09-29  Noel Gordon  <noel.gordon@gmail.com>
975
976         [chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
977         https://bugs.webkit.org/show_bug.cgi?id=67402
978
979         Reviewed by Kenneth Russell.
980
981         libjpeg-turbo can read directly from the input data for the premultiplied BRGX
982         (SkBitmap) encoding case.
983
984         No change in behavior, covered by existing canvas 2d/3d tests
985         canvas/philip/tests/toDataURL.jpeg.alpha.html
986         fast/canvas/webgl/premultiplyalpha-test.html
987
988         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
989         (WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
990         the input BRGX pixels directly within libjpeg-turbo.
991
992 2011-09-29  Adam Barth  <abarth@webkit.org>
993
994         Fixenate the build.
995
996         * bindings/v8/V8DOMWindowShell.cpp:
997         (WebCore::V8DOMWindowShell::namedItemAdded):
998
999 2011-09-29  Ryosuke Niwa  <rniwa@webkit.org>
1000
1001         Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
1002         https://bugs.webkit.org/show_bug.cgi?id=69023
1003
1004         Reviewed by Enrica Casucci.
1005
1006         Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
1007         and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
1008         (old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).
1009
1010         Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
1011         and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
1012         endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.
1013
1014         Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
1015         completeHTMLReplacement by nullity checks of start and end positions.
1016
1017         * dom/Node.cpp:
1018         (WebCore::Node::traversePreviousSibling): Added.
1019         * dom/Node.h:
1020         * editing/ReplaceSelectionCommand.cpp:
1021         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
1022         willRemoveNode.
1023         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
1024         removeUnrenderedTextNodesAtEnds.
1025         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1026         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1027         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
1028         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
1029         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
1030         accessing m_firstNodeInserted.
1031         (WebCore::ReplaceSelectionCommand::doApply):
1032         (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
1033         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
1034         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1035         * editing/ReplaceSelectionCommand.h:
1036
1037 2011-09-29  Andreas Kling  <kling@webkit.org>
1038
1039         Shrink HTMLAnchorElement on 32-bit.
1040         https://bugs.webkit.org/show_bug.cgi?id=69094
1041
1042         Reviewed by Antti Koivisto.
1043
1044         * html/HTMLAnchorElement.h: Pack members into a bitfield.
1045
1046 2011-09-29  Dan Bernstein  <mitz@apple.com>
1047
1048         <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
1049
1050         Reviewed by Simon Fraser.
1051
1052         Test: fast/text/line-initial-and-final-swashes.html
1053
1054         Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
1055         change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
1056         incorrectly claims to have the line-initial feature enabled, but disabling it actually does
1057         something different and bad (breaking some combining marks).
1058
1059         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1060         (WebCore::createFeatureSettingDictionary): Added this helper function.
1061         (WebCore::cascadeToLastResortFontDescriptor): Deployed WTF_ARRAY_LENGTH().
1062         (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Added. Returns a font descriptor
1063         that, in addition to having a cascade list consisting of the last resort font, also has feature
1064         settings to disable line-initial and line-final swashes.
1065         (WebCore::FontPlatformData::ctFont): For Hoefler Text Italic, use cascadeToLastResortAndDisableSwashesFontDescriptor().
1066
1067 2011-09-29  Mark Hahnenberg  <mhahnenberg@apple.com>
1068
1069         Unreviewed: resetting baseline for code generator bindings
1070
1071         Unreviewed build fix
1072
1073         No new tests.
1074
1075         * bindings/scripts/test/JS/JSTestObj.cpp:
1076         * bindings/scripts/test/JS/JSTestObj.h:
1077
1078 2011-09-29  Nate Chapin  <japhet@chromium.org>
1079
1080         [V8, chromium] More logging to determine cause of a null
1081         v8::Context in V8DOMWindowShell::namedItemAdded().
1082
1083         https://bugs.webkit.org/show_bug.cgi?id=68099
1084
1085         Reviewed by Adam Barth.
1086
1087         * bindings/v8/V8DOMWindowShell.cpp:
1088         (WebCore::V8DOMWindowShell::namedItemAdded):
1089
1090 2011-09-29  Alexey Proskuryakov  <ap@apple.com>
1091
1092         https://bugs.webkit.org/show_bug.cgi?id=69040
1093         ScrollbarThemeComposite requires a ScrollView to draw scroll corner
1094
1095         Reviewed by Simon Fraser.
1096
1097         No new tests. This will be needed later.
1098
1099         * platform/ScrollbarThemeComposite.cpp:
1100         (WebCore::pageForScrollView):
1101         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
1102         Use pageForScrollView() function which already existed in this file, used in another similar
1103         location.
1104
1105         * platform/chromium/FramelessScrollView.cpp:
1106         * platform/chromium/FramelessScrollView.h:
1107         * platform/gtk/ScrollbarThemeGtk.cpp:
1108         * platform/gtk/ScrollbarThemeGtk.h:
1109         * platform/wx/ScrollbarThemeWx.cpp:
1110         * platform/wx/ScrollbarThemeWx.h:
1111         All these overrides are no longer needed, ScrollbarThemeComposite will do the right thing.
1112
1113         * platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner):
1114         Removed a special case for updatingControlTints phase. The same case is present in cross-platform
1115         code now, and Qt doesn't have any custom subclasses of ScrollableArea or ScrollView to need
1116         special handling.
1117         This was added in r37377 without a bug or much ChangeLog explanation.
1118
1119 2011-09-29  Mark Hahnenberg  <mhahnenberg@apple.com>
1120
1121         De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
1122         https://bugs.webkit.org/show_bug.cgi?id=68839
1123
1124         Reviewed by Geoffrey Garen.
1125
1126         No new tests.
1127
1128         Removed the remaining visitChildrenVirtual methods.  This patch completes the process of 
1129         de-virtualizing visitChildren.
1130
1131         * WebCore.exp.in:
1132         * bindings/js/JSAttrCustom.cpp:
1133         * bindings/js/JSAudioContextCustom.cpp:
1134         * bindings/js/JSCSSRuleCustom.cpp:
1135         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1136         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1137         * bindings/js/JSDOMGlobalObject.cpp:
1138         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
1139         (WebCore::JSDOMGlobalObject::finishCreation):
1140         * bindings/js/JSDOMGlobalObject.h:
1141         * bindings/js/JSDOMWindowCustom.cpp:
1142         * bindings/js/JSDOMWindowShell.cpp:
1143         * bindings/js/JSDOMWindowShell.h:
1144         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1145         * bindings/js/JSMessageChannelCustom.cpp:
1146         * bindings/js/JSMessagePortCustom.cpp:
1147         * bindings/js/JSNamedNodeMapCustom.cpp:
1148         * bindings/js/JSNodeCustom.cpp:
1149         * bindings/js/JSNodeFilterCustom.cpp:
1150         * bindings/js/JSNodeIteratorCustom.cpp:
1151         * bindings/js/JSSVGElementInstanceCustom.cpp:
1152         * bindings/js/JSSharedWorkerCustom.cpp:
1153         * bindings/js/JSStyleSheetCustom.cpp:
1154         * bindings/js/JSTreeWalkerCustom.cpp:
1155         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1156         * bindings/js/JSWorkerContextCustom.cpp:
1157         * bindings/js/JSXMLHttpRequestCustom.cpp:
1158         * bindings/js/JSXPathResultCustom.cpp:
1159         * bindings/scripts/CodeGeneratorJS.pm:
1160         (GenerateHeader):
1161         (GenerateImplementation):
1162         * bridge/qt/qt_instance.cpp:
1163         * bridge/qt/qt_runtime.cpp:
1164         * bridge/qt/qt_runtime.h:
1165
1166 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1167
1168         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
1169
1170         QWidget and friends now live in the QtWidgets library. We update
1171         includes in implementation files and private headers to us the
1172         non-module-prefixed path, and leave the lookup for the include
1173         path. For public headers we have to ifdef the includes as the
1174         user might now have the modules we need in his QT config.
1175
1176         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
1177         have to update our code and use windowHandle() for setting the
1178         parent relationships.
1179
1180         https://bugs.webkit.org/show_bug.cgi?id=68687
1181
1182         Reviewed by Andreas Kling.
1183
1184         * WebCore.pri:
1185         * platform/graphics/qt/GraphicsLayerQt.cpp:
1186
1187 2011-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1188
1189         Unreviewed, rolling out r96340.
1190         http://trac.webkit.org/changeset/96340
1191         https://bugs.webkit.org/show_bug.cgi?id=69098
1192
1193         Caused 10 tests to crash in Debug (Requested by
1194         abarth|gardener on #webkit).
1195
1196         * accessibility/AXObjectCache.cpp:
1197         (WebCore::AXObjectCache::AXObjectCache):
1198         (WebCore::AXObjectCache::~AXObjectCache):
1199         (WebCore::AXObjectCache::remove):
1200         (WebCore::AXObjectCache::childrenChanged):
1201         * accessibility/AXObjectCache.h:
1202         * accessibility/AccessibilityMenuList.cpp:
1203         (WebCore::AccessibilityMenuList::childrenChanged):
1204         * accessibility/AccessibilityMenuList.h:
1205         * accessibility/AccessibilityMenuListPopup.cpp:
1206         (WebCore::AccessibilityMenuListPopup::childrenChanged):
1207         * accessibility/AccessibilityMenuListPopup.h:
1208         * accessibility/AccessibilityObject.h:
1209         (WebCore::AccessibilityObject::childrenChanged):
1210         * accessibility/AccessibilityRenderObject.cpp:
1211         (WebCore::startOfContinuations):
1212         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1213         (WebCore::AccessibilityRenderObject::childrenChanged):
1214         * accessibility/AccessibilityRenderObject.h:
1215         * rendering/RenderObject.cpp:
1216         (WebCore::RenderObject::willBeDestroyed):
1217
1218 2011-09-29  Andreas Kling  <kling@webkit.org>
1219
1220         Shrink FontFallbackList.
1221         https://bugs.webkit.org/show_bug.cgi?id=69093
1222
1223         Reviewed by Antti Koivisto.
1224
1225         Reduce the size of FontFallbackList by one CPU word, decreasing memory
1226         consumption by 300 kB (on 64-bit) when loading the full HTML5 spec.
1227
1228         * platform/graphics/FontCache.h:
1229         * platform/graphics/FontCache.cpp:
1230         (WebCore::FontCache::generation):
1231
1232             Store the FontCache generation as an ushort rather than uint.
1233
1234         * platform/graphics/FontFallbackList.cpp:
1235         (WebCore::FontFallbackList::FontFallbackList):
1236         * platform/graphics/FontFallbackList.h:
1237
1238             Pack enum and bool members in a bitfield.
1239
1240 2011-09-29  Adam Barth  <abarth@webkit.org>
1241
1242         We should ignore the return value of GetRealNamedProperty
1243         https://bugs.webkit.org/show_bug.cgi?id=68840
1244
1245         Reviewed by Nate Chapin.
1246
1247         Instead of skipping the lookup process by using the result of real
1248         named property, we should just indiciate that it wasn't handled by the
1249         interceptor.
1250
1251         Test: http/tests/security/window-named-valueOf.html
1252
1253         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1254         (WebCore::V8DOMWindow::namedPropertyGetter):
1255
1256 2011-09-29  Chris Fleizach  <cfleizach@apple.com>
1257
1258         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
1259         https://bugs.webkit.org/show_bug.cgi?id=62289
1260
1261         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
1262         notification is not sent. To fix this, the childrenChanged() method needs to actually create
1263         the appropriate objects, but since that method gets called during a render tree update, we've learned 
1264         that it's generally not safe to create objects.
1265
1266         Instead a one shot timer can be fired that will update and create the necessary objects so that the
1267         correct notification can be sent.
1268
1269         Reviewed by Darin Adler.
1270
1271         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
1272
1273         * accessibility/AXObjectCache.cpp:
1274         (WebCore::AXObjectCache::AXObjectCache):
1275         (WebCore::AXObjectCache::~AXObjectCache):
1276         (WebCore::AXObjectCache::remove):
1277         (WebCore::AXObjectCache::childrenUpdateTimerFired):
1278         (WebCore::AXObjectCache::childrenChanged):
1279         * accessibility/AXObjectCache.h:
1280         * accessibility/AccessibilityMenuList.cpp:
1281         (WebCore::AccessibilityMenuList::childrenChanged):
1282         * accessibility/AccessibilityMenuList.h:
1283         * accessibility/AccessibilityMenuListPopup.cpp:
1284         (WebCore::AccessibilityMenuListPopup::childrenChanged):
1285         * accessibility/AccessibilityMenuListPopup.h:
1286         * accessibility/AccessibilityObject.h:
1287         (WebCore::AccessibilityObject::childrenChanged):
1288         * accessibility/AccessibilityRenderObject.cpp:
1289         (WebCore::startOfContinuations):
1290         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1291         (WebCore::AccessibilityRenderObject::childrenChanged):
1292         * accessibility/AccessibilityRenderObject.h:
1293         * rendering/RenderObject.cpp:
1294         (WebCore::RenderObject::willBeDestroyed):
1295
1296 2011-09-29  Martin Robinson  <mrobinson@igalia.com>
1297
1298         [GTK] Dragging a selection does not produce a drag image
1299         https://bugs.webkit.org/show_bug.cgi?id=69064
1300
1301         Reviewed by Andreas Kling.
1302
1303         Moved Chromium's generic implementation of Frame::nodeImage and
1304         Frame::dragImageForSeletion to Frame.cpp and simply excluded via
1305         #ifdefs platforms that do not have their own implementation. Removed
1306         all empty implementations of these functions and Qt's which was
1307         functionally identical.
1308
1309         No new tests. Drag-and-drop drag image functionality changes
1310         are incredibly difficult to test in a non-manual way.
1311
1312         * CMakeListsEfl.txt: Delist FrameEfl.cpp.
1313         * GNUmakefile.list.am: Delist FrameGtk.cpp.
1314         * WebCore.gypi: Delist removed Frame*.cpp.
1315         * WebCore.pro: Delist FrameQt.cpp.
1316         * page/Frame.cpp: Moved FrameChromium implementation here.
1317         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
1318         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
1319         (WebCore::Frame::nodeImage):
1320         (WebCore::Frame::dragImageForSelection):
1321         * page/chromium/FrameChromium.cpp: Removed.
1322         * page/efl/FrameEfl.cpp: Removed.
1323         * page/gtk/FrameGtk.cpp: Removed.
1324         * page/qt/FrameQt.cpp: Removed.
1325         * page/wx/FrameWx.cpp: Removed.
1326         * platform/gtk/ClipboardGtk.cpp:
1327         (WebCore::ClipboardGtk::createDragImage): Call nodeImage to get
1328         the drag image for a node.
1329
1330 2011-09-29  Noel Gordon  <noel.gordon@gmail.com>
1331
1332         [chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
1333         https://bugs.webkit.org/show_bug.cgi?id=68988
1334
1335         Reviewed by Kenneth Russell.
1336
1337         No new tests.  Covered by existing canvas 2d and 3d tests.
1338         canvas/philip/tests/toDataURL.png.*.html
1339         fast/canvas/toDataURL-alpha.html
1340         fast/canvas/webgl/premultiplyalpha-test.html
1341
1342         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1343         (WebCore::encodePixels):  Move constant out of the encoding loop.
1344         (WebCore::PNGImageEncoder::encode):  Consistency & style: call encodePixels()
1345         just like we do in the JPEG encoder.
1346
1347 2011-09-29  Iain Merrick  <husky@google.com>
1348
1349         Add unit test for CCLayerSorter
1350         https://bugs.webkit.org/show_bug.cgi?id=68622
1351
1352         Minor refactoring for testability:
1353         - Made pointInTriangle public.
1354         - Added LayerShape to decouple LayerIntersector and GraphNode.
1355         - Added a public wrapper function for LayerIntersector.
1356
1357         Reviewed by James Robinson.
1358
1359         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1360         (WebCore::CCLayerSorter::pointInTriangle):
1361         (WebCore::CCLayerSorter::calculateZDiff):
1362         (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
1363         (WebCore::CCLayerSorter::LayerIntersector::go):
1364         (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
1365         (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
1366         (WebCore::CCLayerSorter::checkOverlap):
1367         (WebCore::CCLayerSorter::LayerShape::LayerShape):
1368         (WebCore::CCLayerSorter::createGraphNodes):
1369         * platform/graphics/chromium/cc/CCLayerSorter.h:
1370         (WebCore::CCLayerSorter::LayerShape::LayerShape):
1371         (WebCore::CCLayerSorter::GraphNode::GraphNode):
1372
1373 2011-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
1374
1375         Web Inspector: UI performance test for network panel is incorrect. The time is including a timeout between scheduled refresh and actual refresh.
1376         https://bugs.webkit.org/show_bug.cgi?id=69087
1377
1378         The fix has the changes for the test and minor perf framework improvements.
1379
1380         Reviewed by Yury Semikhatsky.
1381
1382         * inspector/front-end/NetworkPanel.js:
1383         (WebInspector.NetworkLogView.prototype._defaultRefreshDelay.500._scheduleRefresh):
1384
1385 2011-09-29  Vsevolod Vlasov  <vsevik@chromium.org>
1386
1387         Web Inspector: Make search-in-resource test simpler.
1388         https://bugs.webkit.org/show_bug.cgi?id=69025
1389
1390         Changed search-in-resource test.
1391         Removed error parameter from content provider's searchInContent callback.
1392
1393         Reviewed by Pavel Feldman.
1394
1395         * inspector/InspectorPageAgent.cpp:
1396         (WebCore::InspectorPageAgent::searchInResource):
1397         (WebCore::InspectorPageAgent::searchInResources):
1398         * inspector/front-end/Resource.js:
1399         (WebInspector.Resource.prototype.searchInContent):
1400
1401 2011-09-29  Hans Wennborg  <hans@chromium.org>
1402
1403         IndexedDB: Use LevelDB also for in-memory databases
1404         https://bugs.webkit.org/show_bug.cgi?id=68903
1405
1406         Reviewed by Steve Block.
1407
1408         Add LevelDBDatabase::openInMemory() which uses leveldb::NewMemEnv()
1409         to create in-memory LevelDB databases.
1410
1411         Use this in IDBLeveLDBBackingStore::open() when the caller passes in
1412         an empty file path.
1413         This happens in Chromium's incognito mode, and when running layout
1414         tests.
1415
1416         Fix IDBSQLiteBackingStore::backingStoreExists() so it doesn't create
1417         files when passed in an empty file path, but uses the in-memory mode
1418         instead.
1419
1420         Existing layout tests will all be run in-memory.
1421
1422         * platform/leveldb/LevelDBDatabase.cpp:
1423         (WebCore::LevelDBDatabase::~LevelDBDatabase):
1424         (WebCore::openDB):
1425         (WebCore::LevelDBDatabase::open):
1426         (WebCore::LevelDBDatabase::openInMemory):
1427         * platform/leveldb/LevelDBDatabase.h:
1428         * storage/IDBLevelDBBackingStore.cpp:
1429         (WebCore::IDBLevelDBBackingStore::open):
1430         * storage/IDBSQLiteBackingStore.cpp:
1431         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
1432
1433 2011-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
1434
1435         Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
1436         https://bugs.webkit.org/show_bug.cgi?id=69081
1437
1438         There is a test with 30 requests.
1439         For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
1440         NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
1441         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.
1442
1443         Reviewed by Pavel Feldman.
1444
1445         Test: inspector/performance/resources/network-append-30-requests.html
1446
1447         * inspector/front-end/NetworkPanel.js:
1448         (WebInspector.NetworkLogView):
1449         (WebInspector.NetworkLogView.prototype._invalidateAllItems):
1450         (WebInspector.NetworkLogView.prototype.refresh):
1451         (WebInspector.NetworkLogView.prototype._reset):
1452         (WebInspector.NetworkLogView.prototype._refreshResource):
1453
1454 2011-09-28  Pavel Feldman  <pfeldman@google.com>
1455
1456         Web Inspector: make inspector protocol validation a part of the build process.
1457         https://bugs.webkit.org/show_bug.cgi?id=68999
1458
1459         Since we'd like to commit to inspector protocol backwards compatibility, violating it
1460         should be a build failure.
1461
1462         Reviewed by Yury Semikhatsky.
1463
1464         * CMakeLists.txt:
1465         * CodeGenerators.pri:
1466         * DerivedSources.make:
1467         * GNUmakefile.am:
1468         * WebCore.gyp/WebCore.gyp:
1469         * inspector/Inspector.draft-01.json:
1470         * inspector/Inspector.json:
1471         * inspector/generate-inspector-idl:
1472         * inspector/generate-protocol-externs:
1473         * inspector/validate-protocol-compatibility:
1474
1475 2011-09-27  Pavel Feldman  <pfeldman@google.com>
1476
1477         Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
1478         https://bugs.webkit.org/show_bug.cgi?id=68827
1479
1480         Reviewed by Yury Semikhatsky.
1481
1482         * inspector/front-end/ScriptsPanel.js:
1483         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
1484         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
1485         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1486
1487 2011-09-28  Andrey Kosyakov  <caseq@chromium.org>
1488
1489         Web Inspector: network log view refresh optimizations
1490         https://bugs.webkit.org/show_bug.cgi?id=69010
1491
1492         Reviewed by Pavel Feldman.
1493
1494         * inspector/front-end/NetworkPanel.js:
1495         (WebInspector.NetworkLogView.prototype.refresh):
1496
1497 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
1498
1499         Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
1500         https://bugs.webkit.org/show_bug.cgi?id=69068
1501
1502         Reviewed by Yury Semikhatsky.
1503
1504         * WebCore.gypi:
1505         * WebCore.vcproj/WebCore.vcproj:
1506         * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
1507         (WebInspector.RawSourceCode): Moved from SourceFile.js.
1508         (WebInspector.UILocation): Moved from SourceFile.js.
1509         * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
1510         (WebInspector.ScriptContentProvider):
1511         (WebInspector.ScriptContentProvider.prototype.requestContent):
1512         (WebInspector.ConcatenatedScriptsContentProvider):
1513         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
1514         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1515         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1516         (WebInspector.ResourceContentProvider):
1517         (WebInspector.ResourceContentProvider.prototype.requestContent):
1518         (WebInspector.StaticContentProvider):
1519         (WebInspector.StaticContentProvider.prototype.requestContent):
1520         * inspector/front-end/WebKit.qrc:
1521         * inspector/front-end/inspector.html:
1522
1523 2011-09-29  Philippe Normand  <pnormand@igalia.com>
1524
1525         [GStreamer] 2 flaky media tests
1526         https://bugs.webkit.org/show_bug.cgi?id=67407
1527
1528         Reviewed by Martin Robinson.
1529
1530         Workaround for GStreamer bug#639941. In GStreamer
1531         0.10.35 basesink reports wrong duration in case of EOS and
1532         negative playback rate. This workaround fixes two media tests,
1533         media/video-timeupdate-reverse-play.html and
1534         media/video-reverse-play-duration.html.
1535
1536         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1537         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
1538         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
1539         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
1540
1541 2011-09-29  Philippe Normand  <pnormand@igalia.com>
1542
1543         [GStreamer] fullscreen video pause/play fails
1544         https://bugs.webkit.org/show_bug.cgi?id=66936
1545
1546         Reviewed by Martin Robinson.
1547
1548         Don't use the identity element to avoid painting of the in-window
1549         video. Instead simply make the sink aware of the fullscreen state
1550         and ignore buffers if fullscreen and autovideosink are
1551         active. Also fixed two deadlocks happening when a paused pipeline
1552         is switched to fullscreen and when fullscreen is disabled for a
1553         paused pipeline.
1554
1555         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1556         (WebCore::GStreamerGWorld::enterFullscreen):
1557         (WebCore::GStreamerGWorld::exitFullscreen):
1558         * platform/graphics/gstreamer/GStreamerGWorld.h:
1559         (WebCore::GStreamerGWorld::isFullscreen):
1560         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1561         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1562         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1563         (webkit_video_sink_render):
1564         (webkit_video_sink_new):
1565         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
1566
1567 2011-09-29  Tim Horton  <timothy_horton@apple.com>
1568
1569         REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
1570         https://bugs.webkit.org/show_bug.cgi?id=68679
1571         <rdar://problem/10204649>
1572
1573         Reviewed by Nikolas Zimmermann.
1574
1575         Strip prefixes from SVG attributes before testing if they're supported.
1576         Namespaced attributes will be matched using their namespace instead of
1577         the (user-choosable) prefix.
1578
1579         Test: svg/custom/xlink-custom-namespace.svg
1580
1581         * svg/SVGAElement.cpp:
1582         (WebCore::SVGAElement::isSupportedAttribute):
1583         * svg/SVGAnimateMotionElement.cpp:
1584         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
1585         * svg/SVGAnimateTransformElement.cpp:
1586         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
1587         * svg/SVGAnimationElement.cpp:
1588         (WebCore::SVGAnimationElement::isSupportedAttribute):
1589         * svg/SVGCircleElement.cpp:
1590         (WebCore::SVGCircleElement::isSupportedAttribute):
1591         * svg/SVGClipPathElement.cpp:
1592         (WebCore::SVGClipPathElement::isSupportedAttribute):
1593         * svg/SVGComponentTransferFunctionElement.cpp:
1594         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
1595         * svg/SVGCursorElement.cpp:
1596         (WebCore::SVGCursorElement::isSupportedAttribute):
1597         * svg/SVGElement.h:
1598         (WebCore::SVGAttributeHashTranslator::hash):
1599         (WebCore::SVGAttributeHashTranslator::equal):
1600         * svg/SVGEllipseElement.cpp:
1601         (WebCore::SVGEllipseElement::isSupportedAttribute):
1602         * svg/SVGExternalResourcesRequired.h:
1603         * svg/SVGFEBlendElement.cpp:
1604         (WebCore::SVGFEBlendElement::isSupportedAttribute):
1605         * svg/SVGFEColorMatrixElement.cpp:
1606         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
1607         * svg/SVGFEComponentTransferElement.cpp:
1608         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
1609         * svg/SVGFECompositeElement.cpp:
1610         (WebCore::SVGFECompositeElement::isSupportedAttribute):
1611         * svg/SVGFEConvolveMatrixElement.cpp:
1612         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
1613         * svg/SVGFEDiffuseLightingElement.cpp:
1614         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
1615         * svg/SVGFEDisplacementMapElement.cpp:
1616         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
1617         * svg/SVGFEDropShadowElement.cpp:
1618         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
1619         * svg/SVGFEGaussianBlurElement.cpp:
1620         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
1621         * svg/SVGFEImageElement.cpp:
1622         (WebCore::SVGFEImageElement::isSupportedAttribute):
1623         * svg/SVGFELightElement.cpp:
1624         (WebCore::SVGFELightElement::isSupportedAttribute):
1625         * svg/SVGFEMergeNodeElement.cpp:
1626         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
1627         * svg/SVGFEMorphologyElement.cpp:
1628         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
1629         * svg/SVGFEOffsetElement.cpp:
1630         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
1631         * svg/SVGFESpecularLightingElement.cpp:
1632         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
1633         * svg/SVGFETileElement.cpp:
1634         (WebCore::SVGFETileElement::isSupportedAttribute):
1635         * svg/SVGFETurbulenceElement.cpp:
1636         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
1637         * svg/SVGFilterElement.cpp:
1638         (WebCore::SVGFilterElement::isSupportedAttribute):
1639         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1640         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
1641         * svg/SVGForeignObjectElement.cpp:
1642         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
1643         * svg/SVGGElement.cpp:
1644         (WebCore::SVGGElement::isSupportedAttribute):
1645         * svg/SVGGradientElement.cpp:
1646         (WebCore::SVGGradientElement::isSupportedAttribute):
1647         * svg/SVGImageElement.cpp:
1648         (WebCore::SVGImageElement::isSupportedAttribute):
1649         * svg/SVGLineElement.cpp:
1650         (WebCore::SVGLineElement::isSupportedAttribute):
1651         * svg/SVGLinearGradientElement.cpp:
1652         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
1653         * svg/SVGMPathElement.cpp:
1654         (WebCore::SVGMPathElement::isSupportedAttribute):
1655         * svg/SVGMarkerElement.cpp:
1656         (WebCore::SVGMarkerElement::isSupportedAttribute):
1657         * svg/SVGMaskElement.cpp:
1658         (WebCore::SVGMaskElement::isSupportedAttribute):
1659         * svg/SVGPathElement.cpp:
1660         (WebCore::SVGPathElement::isSupportedAttribute):
1661         * svg/SVGPatternElement.cpp:
1662         (WebCore::SVGPatternElement::isSupportedAttribute):
1663         * svg/SVGPolyElement.cpp:
1664         (WebCore::SVGPolyElement::isSupportedAttribute):
1665         * svg/SVGRadialGradientElement.cpp:
1666         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
1667         * svg/SVGRectElement.cpp:
1668         (WebCore::SVGRectElement::isSupportedAttribute):
1669         * svg/SVGScriptElement.cpp:
1670         (WebCore::SVGScriptElement::isSupportedAttribute):
1671         * svg/SVGStopElement.cpp:
1672         (WebCore::SVGStopElement::isSupportedAttribute):
1673         * svg/SVGStyleElement.cpp:
1674         (WebCore::SVGStyleElement::isSupportedAttribute):
1675         * svg/SVGStyledTransformableElement.cpp:
1676         (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
1677         * svg/SVGSymbolElement.cpp:
1678         (WebCore::SVGSymbolElement::isSupportedAttribute):
1679         * svg/SVGTRefElement.cpp:
1680         (WebCore::SVGTRefElement::isSupportedAttribute):
1681         * svg/SVGTextContentElement.cpp:
1682         (WebCore::SVGTextContentElement::isSupportedAttribute):
1683         * svg/SVGTextElement.cpp:
1684         (WebCore::SVGTextElement::isSupportedAttribute):
1685         * svg/SVGTextPathElement.cpp:
1686         (WebCore::SVGTextPathElement::isSupportedAttribute):
1687         * svg/SVGTextPositioningElement.cpp:
1688         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
1689         * svg/SVGURIReference.cpp:
1690         (WebCore::SVGURIReference::addSupportedAttributes):
1691         * svg/SVGUseElement.cpp:
1692         (WebCore::SVGUseElement::isSupportedAttribute):
1693         * svg/SVGViewElement.cpp:
1694         (WebCore::SVGViewElement::isSupportedAttribute):
1695
1696 2011-09-28  Kentaro Hara  <haraken@chromium.org>
1697
1698         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&"
1699         https://bugs.webkit.org/show_bug.cgi?id=68984
1700
1701         Reviewed by Darin Adler.
1702
1703         Just a follow-up fix for the bug 68345. For performance,
1704         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&".
1705
1706         Tests: fast/events/constructors/pop-state-event-constructor.html
1707                fast/events/fire-popstate-event.html
1708
1709         * dom/PopStateEvent.cpp:
1710         (WebCore::PopStateEvent::PopStateEvent):
1711         (WebCore::PopStateEvent::create):
1712         (WebCore::PopStateEvent::initPopStateEvent):
1713         * dom/PopStateEvent.h:
1714
1715 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
1716
1717         [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
1718         https://bugs.webkit.org/show_bug.cgi?id=66890
1719
1720         Added a GtkDragAndDropHelper class to hold all the logic that is common
1721         between WebKit1 and WebKit2. This will allow greater code sharing between
1722         the two ports.
1723
1724         Reviewed by Philippe Normand.
1725
1726         No new tests. This patch should not change behavior.
1727
1728         * GNUmakefile.list.am: Added the GtkDragAndDropHelper to the sources list.
1729         * platform/gtk/GtkDragAndDropHelper.cpp: Added.
1730         * platform/gtk/GtkDragAndDropHelper.h: Added.
1731
1732 2011-09-28  Dan Bernstein  <mitz@apple.com>
1733
1734         <rdar://problem/10196497> first-letter after list marker not updated correctly
1735
1736         Reviewed by Simon Fraser.
1737
1738         Test: fast/dynamic/first-letter-after-list-marker.html
1739
1740         * rendering/RenderBlock.cpp:
1741         (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
1742         when trying to locate a first letter to update.
1743
1744 2011-09-28  Kent Tamura  <tkent@chromium.org>
1745
1746         REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
1747         https://bugs.webkit.org/show_bug.cgi?id=68981
1748
1749         Reviewed by Darin Adler.
1750
1751         * html/parser/HTMLParserIdioms.cpp:
1752         (WebCore::parseHTMLInteger):
1753         Check the failure of charactersToIntStrict().
1754         (WebCore::parseHTMLNonNegativeInteger):
1755         Check the failure of charactersToUIntStrict().
1756
1757 2011-09-28  Antoine Labour  <piman@chromium.org>
1758
1759         Remove unused createRootLayerPainter from CCLayerTreeHostClient
1760         https://bugs.webkit.org/show_bug.cgi?id=69042
1761
1762         Reviewed by James Robinson.
1763
1764         No new test needed: no semantic change.
1765
1766         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1767
1768 2011-09-28  Luke Macpherson   <macpherson@chromium.org>
1769
1770         Only resolve direction aware properties when properties are direction aware.
1771         https://bugs.webkit.org/show_bug.cgi?id=68968
1772
1773         Reviewed by Eric Seidel.
1774
1775         No new tests / no functionality changed.
1776
1777         Profiling showed a ~8% improvement in applyProperty by not calling resolveDirectionAwareProperty for every property.
1778
1779         * css/CSSStyleSelector.cpp:
1780         (WebCore::CSSStyleSelector::applyProperty):
1781
1782 2011-09-28  Simon Fraser  <simon.fraser@apple.com>
1783
1784         fast/dom/scroll-element-to-rect.html fails on WK1 Mac port
1785         https://bugs.webkit.org/show_bug.cgi?id=68815
1786
1787         Reviewed by Dan Bernstein.
1788         
1789         FrameView::scrollElementToRect() was incorrectly using Element::boundsInWindowSpace(),
1790         which is window-relative (not web view-relative), and has flipped coordinates
1791         in WebKit1.
1792         
1793         Change to use Node::getRect() which is what the author intended.
1794
1795         * dom/Element.h:
1796         * page/FrameView.cpp:
1797         (WebCore::FrameView::scrollElementToRect):
1798
1799 2011-09-28  Peter Beverloo  <peter@chromium.org>
1800
1801         Don't clamp cubic-bezier timing functions between 0 and 1
1802         https://bugs.webkit.org/show_bug.cgi?id=45761
1803
1804         Remove the limitation of clamping the cubic-bezier timing function
1805         values between 0 and 1, following the specification change made on
1806         April 5 of this year.
1807
1808         Reviewed by Dean Jackson.
1809
1810         Tests: transitions/cubic-bezier-overflow-color.html
1811                transitions/cubic-bezier-overflow-length.html
1812                transitions/cubic-bezier-overflow-shadow.html
1813                transitions/cubic-bezier-overflow-svg-length.html
1814                transitions/cubic-bezier-overflow-transform.html
1815
1816         * css/CSSParser.cpp:
1817         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
1818
1819 2011-09-28  Chris Rogers  <crogers@google.com>
1820
1821         DelayNode must set the context on delayTime AudioParam to support automation
1822         https://bugs.webkit.org/show_bug.cgi?id=68828
1823
1824         Reviewed by Kenneth Russell.
1825
1826         Test: webaudio/delaynode-scheduling.html
1827
1828         * webaudio/DelayNode.cpp:
1829         (WebCore::DelayNode::DelayNode):
1830
1831 2011-09-28  Sergey Glazunov  <serg.glazunov@gmail.com>
1832
1833         JavaScript generated documents don't inherit the cookie URL
1834         https://bugs.webkit.org/show_bug.cgi?id=69003
1835
1836         Reviewed by Adam Barth.
1837
1838         Test: http/tests/security/cookies/cookie-theft-with-javascript-doc.html
1839
1840         * dom/Document.h:
1841         (WebCore::Document::setCookieURL):
1842         * loader/DocumentWriter.cpp:
1843         (WebCore::DocumentWriter::replaceDocument):
1844         (WebCore::DocumentWriter::begin):
1845         * loader/DocumentWriter.h:
1846
1847 2011-09-27  Dimitri Glazkov  <dglazkov@chromium.org>
1848
1849         REGRESSION(r95573): Crash when loading SVG documents in a flattened frame or any SVG document in Chromium/Mac.
1850         https://bugs.webkit.org/show_bug.cgi?id=68938
1851
1852         Reviewed by David Hyatt.
1853
1854         Test: all svg tests in LayoutTests.
1855
1856         * rendering/RenderBlock.cpp:
1857         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Added a null-check for containingBlock.
1858
1859 2011-09-28  Una Sabovic  <una.sabovic@palm.com>
1860
1861         Setting innerText to an empty string on editable div loses focus
1862         https://bugs.webkit.org/show_bug.cgi?id=62092
1863
1864         Reviewed by Ryosuke Niwa.
1865
1866         When selection start or end node is being deleted do not clear the selection.
1867         Instead update the start/end position to an equivalent parent-anchored positions.
1868         When text is inserted/deleted update selection per range modification spec:
1869         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation
1870
1871         Tests: editing/selection/document-mutation.html
1872                editing/selection/editable-div-clear-on-keydown.html
1873
1874         * editing/FrameSelection.cpp:
1875         (WebCore::FrameSelection::respondToNodeModification):
1876         (WebCore::updatePositionAfterAdoptingTextReplacement):
1877         (WebCore::FrameSelection::textWillBeReplaced):
1878         * editing/htmlediting.cpp:
1879         (WebCore::updatePositionForNodeRemoval):
1880
1881 2011-09-28  Joseph Pecoraro  <joepeck@webkit.org>
1882
1883         FTPDirectoryDocument Shows Garbled String for Last Modified Date
1884         https://bugs.webkit.org/show_bug.cgi?id=69011
1885
1886         Reviewed by Dan Bernstein.
1887
1888         Force WTF::String concatenation instead of an accidental char* pointer addition.
1889
1890         * html/FTPDirectoryDocument.cpp:
1891         (WebCore::processFileDateString):
1892
1893 2011-09-28  Nate Chapin  <japhet@chromium.org>
1894
1895         Fix a regression in r96060. ResourceLoader shouldn't get
1896         initialized with a null DocumentLoader.
1897         https://bugs.webkit.org/show_bug.cgi?id=69004
1898
1899         Reviewed by Csaba Osztrogonác.
1900
1901         This should fix a debug crash in some platforms in
1902         plugins/js-from-destroy.html
1903
1904         * loader/ResourceLoader.cpp:
1905         (WebCore::ResourceLoader::init): Move the activeDocumentLoader() null checks back
1906             to SubresouceLoader::create().
1907         * loader/SubresourceLoader.cpp:
1908         (WebCore::SubresourceLoader::create):
1909
1910 2011-09-28  Adam Barth  <abarth@webkit.org>
1911
1912         CSP doesn't work for a wide variety of cases
1913         https://bugs.webkit.org/show_bug.cgi?id=68921
1914
1915         Reviewed by Darin Adler.
1916
1917         Patch suggested by Sam Weinig.  It's unclear to me how to test this
1918         change because all our tests run on non-default ports, which is why we
1919         have this bug in the first place.  Mozilla uses a proxy while testing
1920         so they can test with URLs like http://example.com, but we don't have
1921         such a facility.
1922
1923         * page/ContentSecurityPolicy.cpp:
1924         (WebCore::CSPSource::portMatches):
1925
1926 2011-09-28  Fady Samuel  <fsamuel@chromium.org>
1927
1928         [Chromium] Seperate GTK specific Gyp rules from X11 Gyp rules
1929         https://bugs.webkit.org/show_bug.cgi?id=68936
1930
1931         Reviewed by Tony Chang.
1932
1933         Chromium need to be built without Gtk for future version of ChromiumOS.
1934
1935         * WebCore.gyp/WebCore.gyp:
1936
1937 2011-09-28  Tom Sepez  <tsepez@chromium.org>
1938
1939         Revert change which broke displaying end script tags in view-source, instead
1940         deal with any trailing </script> tag included by mistake in the XSSAuditor
1941         itself.  Correct tests to detect the missing close tags.
1942         https://bugs.webkit.org/show_bug.cgi?id=68898
1943
1944         Reviewed by Adam Barth.
1945
1946         * html/parser/HTMLSourceTracker.cpp:
1947         (WebCore::HTMLSourceTracker::end):
1948         * html/parser/HTMLTokenizer.cpp:
1949         (WebCore::HTMLTokenizer::nextToken):
1950         * html/parser/XSSAuditor.cpp:
1951         (WebCore::startsHTMLEndTagAt):
1952         (WebCore::XSSAuditor::snippetForJavaScript):
1953
1954 2011-09-28  Adam Barth  <abarth@webkit.org>
1955
1956         Remove empty directories.
1957
1958         * editing/brew: Removed.
1959         * page/brew: Removed.
1960         * platform/brew: Removed.
1961         * platform/graphics/brew: Removed.
1962         * platform/network/brew: Removed.
1963         * platform/text/brew: Removed.
1964
1965 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
1966
1967         Web Inspector: optional arguments support for the frontend needs to be extended.
1968         https://bugs.webkit.org/show_bug.cgi?id=69005
1969
1970         Generator supports optional arguments but they are transferred by value.
1971         It is not suitable if the used type doesn't have operator bool.
1972         I'll transfer such arguments by pointer.
1973
1974         Reviewed by Pavel Feldman.
1975
1976         Build is the test.
1977
1978         * inspector/CodeGeneratorInspector.pm:
1979         (generateFrontendFunction):
1980         (paramTypeTraits):
1981         * inspector/InspectorDebuggerAgent.cpp:
1982         (WebCore::InspectorDebuggerAgent::didParseSource):
1983         * inspector/InspectorResourceAgent.cpp:
1984         (WebCore::InspectorResourceAgent::didFailLoading):
1985
1986 2011-09-28  Antaryami Pandia  <antaryami.pandia@motorola.com>
1987
1988         Reflected attribute input.size wraps on negative values (Chrome), or
1989         returns them (Safari).
1990         https://bugs.webkit.org/show_bug.cgi?id=44886
1991
1992         Reviewed by Darin Adler.
1993
1994         Test: fast/dom/HTMLInputElement/input-size-attribute.html
1995
1996         * html/HTMLInputElement.cpp:
1997         (WebCore::HTMLInputElement::parseMappedAttribute):
1998
1999 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
2000
2001         Web Inspector: Add support for search in single resource to page agent.
2002         https://bugs.webkit.org/show_bug.cgi?id=68998
2003
2004         Reviewed by Pavel Feldman.
2005
2006         Test: http/tests/inspector/search/search-in-resource.html
2007
2008         * inspector/ContentSearchUtils.cpp:
2009         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2010         * inspector/ContentSearchUtils.h:
2011         * inspector/Inspector.json:
2012         * inspector/InspectorPageAgent.cpp:
2013         (WebCore::buildObjectForSearchMatch):
2014         (WebCore::InspectorPageAgent::searchInResource):
2015         * inspector/InspectorPageAgent.h:
2016         * inspector/front-end/Resource.js:
2017         (WebInspector.Resource.prototype.searchInContent):
2018         * inspector/front-end/SourceFile.js:
2019         (WebInspector.ResourceContentProvider.prototype.requestContent):
2020         (WebInspector.ResourceContentProvider.prototype.searchInContent):
2021         * inspector/front-end/UISourceCode.js:
2022         (WebInspector.ContentProvider.prototype.requestContent):
2023         (WebInspector.ContentProvider.prototype.searchInContent):
2024
2025 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
2026
2027         Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
2028         https://bugs.webkit.org/show_bug.cgi?id=69002
2029
2030         Reviewed by Yury Semikhatsky.
2031
2032         * inspector/CodeGeneratorInspector.pm:
2033
2034 2011-09-27  Pavel Podivilov  <podivilov@chromium.org>
2035
2036         Web Inspector: live edit cursor always appears at the beginning of the file.
2037         https://bugs.webkit.org/show_bug.cgi?id=68900
2038
2039         Reviewed by Pavel Feldman.
2040
2041         * inspector/front-end/TextViewer.js:
2042         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
2043
2044 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
2045
2046         Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
2047         https://bugs.webkit.org/show_bug.cgi?id=68930
2048
2049         Reviewed by Yury Semikhatsky.
2050
2051         Search moved out from page agent.
2052         Fixed search for non regex case which is not yet used.
2053
2054         Test: http/tests/inspector/search/search-in-resources.html
2055
2056         * CMakeLists.txt:
2057         * GNUmakefile.list.am:
2058         * WebCore.gypi:
2059         * WebCore.pro:
2060         * WebCore.vcproj/WebCore.vcproj:
2061         * WebCore.xcodeproj/project.pbxproj:
2062         * inspector/ContentSearchUtils.cpp: Added.
2063         (WebCore::ContentSearchUtils::createSearchRegexSource):
2064         (WebCore::ContentSearchUtils::createSearchRegex):
2065         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
2066         * inspector/ContentSearchUtils.h: Added.
2067         * inspector/InspectorPageAgent.cpp:
2068         (WebCore::hasTextContent):
2069         (WebCore::InspectorPageAgent::cachedResourceContent):
2070         (WebCore::textContentForCachedResource):
2071         (WebCore::buildObjectForSearchResult):
2072         (WebCore::InspectorPageAgent::searchInResources):
2073         * inspector/front-end/utilities.js:
2074         ():
2075
2076 2011-09-28  Kentaro Hara  <haraken@chromium.org>
2077
2078         Implement a PopStateEvent constructor for V8
2079         https://bugs.webkit.org/show_bug.cgi?id=68896
2080
2081         Reviewed by Adam Barth.
2082
2083         Test: fast/events/constructors/pop-state-event-constructor.html
2084
2085         * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
2086         * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
2087
2088 2011-09-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
2089
2090         [Texmap] Allow TextureMapperGL to work without a GraphicsContext
2091         https://bugs.webkit.org/show_bug.cgi?id=68980
2092
2093         Reviewed by Andreas Kling.
2094
2095         Perform a null-check for m_context and initialize that variable.
2096         If a graphics-context doesn't exist, we don't need to reset it.
2097
2098         No new functionality so no new tests.
2099
2100         * platform/graphics/opengl/TextureMapperGL.cpp:
2101         (WebCore::TextureMapperGL::TextureMapperGL):
2102         (WebCore::TextureMapperGL::beginPainting):
2103         (WebCore::TextureMapperGL::endPainting):
2104
2105 2011-09-28  Kentaro Hara  <haraken@chromium.org>
2106
2107         Implement an ErrorEvent constructor for V8
2108         https://bugs.webkit.org/show_bug.cgi?id=68336
2109
2110         Reviewed by Adam Barth.
2111
2112         Test: fast/events/constructors/error-event-constructor.html
2113
2114         * bindings/v8/OptionsObject.cpp:
2115         (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
2116         * bindings/v8/OptionsObject.h:
2117         * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
2118         * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
2119
2120 2011-09-27  Andy Estes  <aestes@apple.com>
2121
2122         WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
2123         https://bugs.webkit.org/show_bug.cgi?id=68863
2124
2125         Reviewed by Darin Adler.
2126
2127         The SolarWalk binary does not link against WebKit.framework directly,
2128         so calling NSVersionOfLinkTimeLibrary() will not return the version of
2129         WebKit against which SolarWalk was linked. Since Solar Walk has
2130         released an update that addresses the issue for which this app-specific
2131         hack was originally added, we should just remove the hack.
2132
2133         * WebCore.exp.in: Remove applicationIsSolarWalkMac().
2134         * platform/RuntimeApplicationChecks.cpp: Ditto.
2135         * platform/RuntimeApplicationChecks.h: Ditto.
2136
2137 2011-09-28  Tim Horton  <timothy_horton@apple.com>
2138
2139         Fix potential SVG performance regression (over-invalidation of caches) from 96052
2140         https://bugs.webkit.org/show_bug.cgi?id=68941
2141         <rdar://problem/10196224>
2142
2143         Reviewed by Zoltan Herczeg.
2144
2145         Only invalidate the cache of a filter when target style changes, as of the different types of cached
2146         resources, only filters make use of the style of the target element and thus need to be invalidated
2147         when the target style changes.
2148
2149         No new tests, performance improvement.
2150
2151         * rendering/svg/SVGResourcesCache.cpp:
2152         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
2153
2154 2011-09-28  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
2155
2156         Missing initialization of member in ImageFrameQt class
2157         https://bugs.webkit.org/show_bug.cgi?id=68943
2158
2159         Reviewed by Kenneth Rohde Christiansen.
2160
2161         No new tests, this fixes internal implementation detail.
2162
2163         * platform/image-decoders/qt/ImageFrameQt.cpp:
2164         (WebCore::ImageFrame::ImageFrame):
2165         (WebCore::ImageFrame::operator=):
2166
2167 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
2168
2169         Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
2170         https://bugs.webkit.org/show_bug.cgi?id=68964
2171
2172         Reviewed by Eric Seidel.
2173
2174         No new tests / no functionality changed.
2175
2176         Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
2177         before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
2178
2179         * css/CSSStyleSelector.cpp:
2180         (WebCore::CSSStyleSelector::applyProperty):
2181
2182 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2183
2184         Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
2185         https://bugs.webkit.org/show_bug.cgi?id=68939
2186
2187         Reviewed by Darin Adler.
2188
2189         Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
2190
2191         This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
2192         text at ends are not removed when it has a render object. Fixed the bug by checking the length of
2193         the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
2194
2195         This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
2196         on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
2197         issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
2198
2199         * dom/Position.cpp:
2200         (WebCore::Position::rendersInDifferentPosition):
2201         * editing/ReplaceSelectionCommand.cpp:
2202         (WebCore::nodeHasVisibleRenderText): Added.
2203         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
2204         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
2205         * editing/visible_units.cpp:
2206         (WebCore::startOfParagraph): Calls renderedTextLength.
2207         (WebCore::endOfParagraph): Ditto.
2208         * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
2209         * rendering/InlineBox.h: Ditto.
2210         * rendering/InlineTextBox.cpp: Ditto.
2211         * rendering/InlineTextBox.h: Ditto.
2212         * rendering/RenderBR.cpp: Ditto.
2213         * rendering/RenderBR.h: Ditto.
2214         * rendering/RenderObject.cpp: Ditto.
2215         * rendering/RenderObject.h: Ditto.
2216         * rendering/RenderReplaced.cpp: Ditto.
2217         * rendering/RenderReplaced.h: Ditto.
2218         * rendering/RenderText.cpp:
2219         (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
2220         * rendering/RenderText.h:
2221
2222 2011-09-27  James Robinson  <jamesr@chromium.org>
2223
2224         [chromium] LayerRenderChromium asserts about leaking textures.
2225         https://bugs.webkit.org/show_bug.cgi?id=68190
2226
2227         Reviewed by Kenneth Russell.
2228
2229         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
2230         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
2231         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
2232         to make sure we aren't leaking any textures.
2233
2234         * WebCore.gypi:
2235         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2236         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2237         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2238         * platform/graphics/chromium/ImageLayerChromium.cpp:
2239         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2240         * platform/graphics/chromium/LayerChromium.h:
2241         (WebCore::LayerChromium::updateCompositorResources):
2242         * platform/graphics/chromium/LayerRendererChromium.cpp:
2243         (WebCore::LayerRendererChromium::LayerRendererChromium):
2244         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
2245         (WebCore::LayerRendererChromium::drawLayers):
2246         (WebCore::LayerRendererChromium::useRenderSurface):
2247         (WebCore::LayerRendererChromium::initializeSharedObjects):
2248         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2249         * platform/graphics/chromium/LayerRendererChromium.h:
2250         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
2251         (WebCore::LayerRendererChromium::contentsTextureAllocator):
2252         * platform/graphics/chromium/LayerTextureUpdater.h:
2253         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2254         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2255         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2256         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2257         * platform/graphics/chromium/ManagedTexture.cpp:
2258         (WebCore::ManagedTexture::bindTexture):
2259         (WebCore::ManagedTexture::framebufferTexture2D):
2260         * platform/graphics/chromium/ManagedTexture.h:
2261         * platform/graphics/chromium/TextureManager.cpp:
2262         (WebCore::TextureManager::memoryUseBytes):
2263         (WebCore::TextureManager::deleteEvictedTextures):
2264         (WebCore::TextureManager::evictAndDeleteAllTextures):
2265         (WebCore::TextureManager::removeTexture):
2266         (WebCore::TextureManager::allocateTexture):
2267         (WebCore::TextureManager::requestTexture):
2268         * platform/graphics/chromium/TextureManager.h:
2269         (WebCore::TextureAllocator::~TextureAllocator):
2270         * platform/graphics/chromium/TiledLayerChromium.cpp:
2271         (WebCore::TiledLayerChromium::updateCompositorResources):
2272         * platform/graphics/chromium/TiledLayerChromium.h:
2273         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
2274         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
2275         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
2276         (WebCore::TrackingTextureAllocator::createTexture):
2277         (WebCore::TrackingTextureAllocator::deleteTexture):
2278         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
2279         (WebCore::TrackingTextureAllocator::create):
2280         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
2281         * platform/graphics/chromium/VideoLayerChromium.cpp:
2282         (WebCore::VideoLayerChromium::updateCompositorResources):
2283         (WebCore::VideoLayerChromium::updateTexture):
2284         * platform/graphics/chromium/VideoLayerChromium.h:
2285         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2286         (WebCore::WebGLLayerChromium::updateCompositorResources):
2287         * platform/graphics/chromium/WebGLLayerChromium.h:
2288         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2289         (WebCore::CCHeadsUpDisplay::draw):
2290         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2291         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2292         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
2293         (WebCore::CCLayerTreeHost::commitToOnCCThread):
2294         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2295         (WebCore::CCLayerTreeHost::updateCompositorResources):
2296         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2297         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2298         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
2299         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2300         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2301         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2302         (WebCore::CCRenderSurface::drawSurface):
2303         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2304         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2305         (WebCore::CCSingleThreadProxy::stop):
2306         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
2307         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2308         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2309         (WebCore::CCThreadProxy::commitOnCCThread):
2310         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2311 2011-09-27  James Robinson  <jamesr@chromium.org>
2312
2313         [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
2314         https://bugs.webkit.org/show_bug.cgi?id=68967
2315
2316         Reviewed by Kenneth Russell.
2317
2318         When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
2319         opposed to only a redraw).
2320
2321         Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
2322
2323         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2324         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
2325
2326 2011-09-27  Kentaro Hara  <haraken@chromium.com>
2327
2328         Implement a PageTransitionEvent constructor for V8
2329         https://bugs.webkit.org/show_bug.cgi?id=68067
2330
2331         Reviewed by Adam Barth.
2332
2333         Test: fast/events/constructors/page-transition-event-constructor.html
2334
2335         * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
2336         * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
2337
2338 2011-09-27  Kentaro Hara  <haraken@chromium.org>
2339
2340         Implement a MessageEvent constructor for JSC
2341         https://bugs.webkit.org/show_bug.cgi?id=68883
2342
2343         Reviewed by Adam Barth.
2344
2345         The spec for MessageEvent is here:
2346         http://www.whatwg.org/specs/web-apps/current-work/#messageevent
2347
2348         Currently, some tests in fast/events/constructors/message-event-constructor.html
2349         are failing or crashing in DRT, as we commented in the test file.
2350         This is because MessageEvent.data is implemented as SerializedScriptValue,
2351         and thus it cannot keep ScriptValue passed by JavaScript.
2352         This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
2353         We will soon make a follow-up patch to fix these failures, after this
2354         patch is landed.
2355
2356         Test: fast/events/constructors/message-event-constructor.html
2357
2358         * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
2359         * bindings/js/JSDictionary.cpp:
2360         (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
2361         * bindings/js/JSDictionary.h:
2362         * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
2363         * dom/MessageEvent.cpp:
2364         (WebCore::MessageEventInit::MessageEventInit):
2365         (WebCore::MessageEvent::MessageEvent):
2366         (WebCore::MessageEvent::initMessageEvent):
2367         * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
2368         (WebCore::MessageEvent::create):
2369         (WebCore::MessageEvent::origin):
2370         (WebCore::MessageEvent::lastEventId):
2371         (WebCore::MessageEvent::source):
2372         (WebCore::MessageEvent::ports):
2373         (WebCore::MessageEvent::dataType):
2374         (WebCore::MessageEvent::dataAsSerializedScriptValue):
2375         (WebCore::MessageEvent::dataAsString):
2376         (WebCore::MessageEvent::dataAsBlob):
2377         (WebCore::MessageEvent::dataAsArrayBuffer):
2378         * dom/MessageEvent.idl: Makes MessageEvent constructible.
2379
2380 2011-09-27  Eric Uhrhane  <ericu@chromium.org>
2381
2382         [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
2383         https://bugs.webkit.org/show_bug.cgi?id=67684
2384
2385         Reviewed by David Levin.
2386
2387         Tests: fast/filesystem/file-writer-abort-continue.html
2388                fast/filesystem/file-writer-abort.html
2389
2390         Track the state of the backend and be prepared for reentrant user
2391         requests.  Limit recursion depth to an arbitrary small constant.
2392         * fileapi/FileWriter.cpp: Lots of event-handling changes.
2393         * fileapi/FileWriter.h:
2394
2395 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
2396
2397         Unreviewed, rolling out r96141.
2398         http://trac.webkit.org/changeset/96141
2399         https://bugs.webkit.org/show_bug.cgi?id=68190
2400
2401         Breaks PrerenderBrowserTest.PrerenderHTML5Video in
2402         browser_tests
2403
2404         * WebCore.gypi:
2405         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2406         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2407         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2408         * platform/graphics/chromium/ImageLayerChromium.cpp:
2409         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2410         * platform/graphics/chromium/LayerChromium.h:
2411         (WebCore::LayerChromium::updateCompositorResources):
2412         * platform/graphics/chromium/LayerRendererChromium.cpp:
2413         (WebCore::LayerRendererChromium::LayerRendererChromium):
2414         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
2415         (WebCore::LayerRendererChromium::drawLayers):
2416         (WebCore::LayerRendererChromium::createLayerTexture):
2417         (WebCore::LayerRendererChromium::deleteLayerTexture):
2418         (WebCore::LayerRendererChromium::useRenderSurface):
2419         (WebCore::LayerRendererChromium::initializeSharedObjects):
2420         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2421         * platform/graphics/chromium/LayerRendererChromium.h:
2422         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
2423         * platform/graphics/chromium/LayerTextureUpdater.h:
2424         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2425         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2426         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2427         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2428         * platform/graphics/chromium/ManagedTexture.cpp:
2429         (WebCore::ManagedTexture::bindTexture):
2430         (WebCore::ManagedTexture::framebufferTexture2D):
2431         * platform/graphics/chromium/ManagedTexture.h:
2432         * platform/graphics/chromium/TextureManager.cpp:
2433         (WebCore::memoryUseBytes):
2434         (WebCore::TextureManager::deleteEvictedTextures):
2435         (WebCore::TextureManager::evictAndDeleteAllTextures):
2436         (WebCore::TextureManager::removeTexture):
2437         (WebCore::TextureManager::allocateTexture):
2438         (WebCore::TextureManager::requestTexture):
2439         * platform/graphics/chromium/TextureManager.h:
2440         * platform/graphics/chromium/TiledLayerChromium.cpp:
2441         (WebCore::TiledLayerChromium::updateCompositorResources):
2442         * platform/graphics/chromium/TiledLayerChromium.h:
2443         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
2444         * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
2445         * platform/graphics/chromium/VideoLayerChromium.cpp:
2446         (WebCore::VideoLayerChromium::updateCompositorResources):
2447         (WebCore::VideoLayerChromium::updateTexture):
2448         * platform/graphics/chromium/VideoLayerChromium.h:
2449         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2450         (WebCore::WebGLLayerChromium::updateCompositorResources):
2451         * platform/graphics/chromium/WebGLLayerChromium.h:
2452         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2453         (WebCore::CCHeadsUpDisplay::draw):
2454         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2455         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2456         (WebCore::CCLayerTreeHost::deleteContentsTextures):
2457         (WebCore::CCLayerTreeHost::commitTo):
2458         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2459         (WebCore::CCLayerTreeHost::updateCompositorResources):
2460         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
2461         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2462         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2463         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2464         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2465         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2466         (WebCore::CCRenderSurface::drawSurface):
2467         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2468         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2469         (WebCore::CCSingleThreadProxy::stop):
2470         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
2471         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2472         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2473         (WebCore::CCThreadProxy::commitOnCCThread):
2474         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2475
2476 2011-09-27  James Robinson  <jamesr@chromium.org>
2477
2478         [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
2479         https://bugs.webkit.org/show_bug.cgi?id=68953
2480
2481         Reviewed by Kenneth Russell.
2482
2483         The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
2484         together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
2485         so the features can advance independently. Today, it's not safe to set both of these flags.
2486
2487         * platform/graphics/chromium/ContentLayerChromium.cpp:
2488         (WebCore::ContentLayerChromium::createTextureUpdater):
2489         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2490         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2491
2492 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
2493
2494         Slightly improve performance of CSSStyleApplyProperty handler lookup.
2495         https://bugs.webkit.org/show_bug.cgi?id=68868
2496
2497         Reviewed by Eric Seidel.
2498
2499         No new tests as no functionality changed.
2500
2501         * css/CSSStyleApplyProperty.h:
2502         (WebCore::CSSStyleApplyProperty::propertyHandler):
2503         Make propertyHandler() public and remove redirecting functions.
2504         * css/CSSStyleSelector.cpp:
2505         (WebCore::CSSStyleSelector::applyProperty):
2506         Perform property handler lookup once and reuse the result.
2507
2508 2011-09-27  Kent Tamura  <tkent@chromium.org>
2509
2510         [V8] element.dataset.nonExistingKey should return undefined.
2511         https://bugs.webkit.org/show_bug.cgi?id=68877
2512
2513         Reviewed by Nate Chapin.
2514
2515         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2516         (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
2517
2518 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
2519
2520         Add static version of JSCell::visitChildren
2521         https://bugs.webkit.org/show_bug.cgi?id=68404
2522
2523         Reviewed by Darin Adler.
2524
2525         No new tests.
2526
2527         In this patch we just extract the bodies of the virtual visitChildren methods
2528         throughout the JSCell inheritance hierarchy out into static methods, which are 
2529         now called from the virtual methods.  This is an intermediate step in trying to 
2530         move the virtual-ness of visitChildren into our own custom vtable stored in 
2531         ClassInfo.  We need to convert the methods to static methods in order to be 
2532         able to more easily store and refer to them in our custom vtable since normal 
2533         member methods store some implicit information in their types, making it 
2534         impossible to store them generically in ClassInfo.
2535
2536         * WebCore.exp.in:
2537         * bindings/js/JSAttrCustom.cpp:
2538         (WebCore::JSAttr::visitChildrenVirtual):
2539         (WebCore::JSAttr::visitChildren):
2540         * bindings/js/JSAudioContextCustom.cpp:
2541         (WebCore::JSAudioContext::visitChildrenVirtual):
2542         (WebCore::JSAudioContext::visitChildren):
2543         * bindings/js/JSCSSRuleCustom.cpp:
2544         (WebCore::JSCSSRule::visitChildrenVirtual):
2545         (WebCore::JSCSSRule::visitChildren):
2546         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2547         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
2548         (WebCore::JSCSSStyleDeclaration::visitChildren):
2549         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2550         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
2551         (WebCore::JSCanvasRenderingContext::visitChildren):
2552         * bindings/js/JSDOMGlobalObject.cpp:
2553         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
2554         (WebCore::JSDOMGlobalObject::visitChildren):
2555         * bindings/js/JSDOMGlobalObject.h:
2556         * bindings/js/JSDOMWindowCustom.cpp:
2557         (WebCore::JSDOMWindow::visitChildrenVirtual):
2558         (WebCore::JSDOMWindow::visitChildren):
2559         * bindings/js/JSDOMWindowShell.cpp:
2560         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
2561         (WebCore::JSDOMWindowShell::visitChildren):
2562         * bindings/js/JSDOMWindowShell.h:
2563         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
2564         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
2565         (WebCore::JSJavaScriptAudioNode::visitChildren):
2566         * bindings/js/JSMessageChannelCustom.cpp:
2567         (WebCore::JSMessageChannel::visitChildrenVirtual):
2568         (WebCore::JSMessageChannel::visitChildren):
2569         * bindings/js/JSMessagePortCustom.cpp:
2570         (WebCore::JSMessagePort::visitChildrenVirtual):
2571         (WebCore::JSMessagePort::visitChildren):
2572         * bindings/js/JSNamedNodeMapCustom.cpp:
2573         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
2574         (WebCore::JSNamedNodeMap::visitChildren):
2575         * bindings/js/JSNodeCustom.cpp:
2576         (WebCore::JSNode::visitChildrenVirtual):
2577         (WebCore::JSNode::visitChildren):
2578         * bindings/js/JSNodeFilterCustom.cpp:
2579         (WebCore::JSNodeFilter::visitChildrenVirtual):
2580         (WebCore::JSNodeFilter::visitChildren):
2581         * bindings/js/JSNodeIteratorCustom.cpp:
2582         (WebCore::JSNodeIterator::visitChildrenVirtual):
2583         (WebCore::JSNodeIterator::visitChildren):
2584         * bindings/js/JSSVGElementInstanceCustom.cpp:
2585         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
2586         (WebCore::JSSVGElementInstance::visitChildren):
2587         * bindings/js/JSSharedWorkerCustom.cpp:
2588         (WebCore::JSSharedWorker::visitChildrenVirtual):
2589         (WebCore::JSSharedWorker::visitChildren):
2590         * bindings/js/JSStyleSheetCustom.cpp:
2591         (WebCore::JSStyleSheet::visitChildrenVirtual):
2592         (WebCore::JSStyleSheet::visitChildren):
2593         * bindings/js/JSTreeWalkerCustom.cpp:
2594         (WebCore::JSTreeWalker::visitChildrenVirtual):
2595         (WebCore::JSTreeWalker::visitChildren):
2596         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2597         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
2598         (WebCore::JSWebGLRenderingContext::visitChildren):
2599         * bindings/js/JSWorkerContextCustom.cpp:
2600         (WebCore::JSWorkerContext::visitChildrenVirtual):
2601         (WebCore::JSWorkerContext::visitChildren):
2602         * bindings/js/JSXMLHttpRequestCustom.cpp:
2603         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
2604         (WebCore::JSXMLHttpRequest::visitChildren):
2605         * bindings/js/JSXPathResultCustom.cpp:
2606         (WebCore::JSXPathResult::visitChildrenVirtual):
2607         (WebCore::JSXPathResult::visitChildren):
2608         * bindings/scripts/CodeGeneratorJS.pm:
2609         (GenerateHeader):
2610         (GenerateImplementation):
2611         * bindings/scripts/test/JS/JSTestObj.cpp:
2612         (WebCore::JSTestObj::visitChildrenVirtual):
2613         (WebCore::JSTestObj::visitChildren):
2614         * bindings/scripts/test/JS/JSTestObj.h:
2615         * bridge/qt/qt_instance.cpp:
2616         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
2617         (JSC::Bindings::QtRuntimeObject::visitChildren):
2618         * bridge/qt/qt_runtime.cpp:
2619         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
2620         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
2621         * bridge/qt/qt_runtime.h:
2622         * workers/WorkerContext.h:
2623
2624 <<<<<<< .mine
2625 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
2626
2627         Add static version of JSCell::getCallData
2628         https://bugs.webkit.org/show_bug.cgi?id=68741
2629
2630         Reviewed by Darin Adler.
2631
2632         No new tests.
2633
2634         In this patch we just extract the bodies of the virtual getCallData methods
2635         throughout the JSCell inheritance hierarchy out into static methods, which are 
2636         now called from the virtual methods.  This is an intermediate step in trying to 
2637         move the virtual-ness of getCallData into our own method table stored in 
2638         ClassInfo.  We need to convert the methods to static methods because static methods 
2639         can be represented as function pointers rather than pointers to member functions, and
2640         function pointers are smaller and faster to call than pointers to member functions.
2641
2642         * WebCore.exp.in:
2643         * bindings/js/JSCallbackData.cpp:
2644         (WebCore::JSCallbackData::invokeCallback):
2645         * bindings/js/JSCustomXPathNSResolver.cpp:
2646         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2647         * bindings/js/JSErrorHandler.cpp:
2648         (WebCore::JSErrorHandler::handleEvent):
2649         * bindings/js/JSEventListener.cpp:
2650         (WebCore::JSEventListener::handleEvent):
2651         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2652         (WebCore::JSHTMLAllCollection::getCallDataVirtual):
2653         (WebCore::JSHTMLAllCollection::getCallData):
2654         * bindings/js/JSHTMLAppletElementCustom.cpp:
2655         (WebCore::JSHTMLAppletElement::getCallDataVirtual):
2656         (WebCore::JSHTMLAppletElement::getCallData):
2657         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2658         (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
2659         (WebCore::JSHTMLEmbedElement::getCallData):
2660         * bindings/js/JSHTMLObjectElementCustom.cpp:
2661         (WebCore::JSHTMLObjectElement::getCallDataVirtual):
2662         (WebCore::JSHTMLObjectElement::getCallData):
2663         * bindings/js/JSInjectedScriptHostCustom.cpp:
2664         (WebCore::JSInjectedScriptHost::evaluate):
2665         * bindings/js/JSPluginElementFunctions.cpp:
2666         (WebCore::runtimeObjectGetCallData):
2667         * bindings/scripts/CodeGeneratorJS.pm:
2668         (GenerateHeader):
2669         * bridge/objc/objc_runtime.h:
2670         * bridge/objc/objc_runtime.mm:
2671         (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
2672         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
2673         * bridge/qt/qt_runtime.cpp:
2674         (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
2675         (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
2676         (JSC::Bindings::QtRuntimeConnectionMethod::call):
2677         (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
2678         (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
2679         (JSC::Bindings::isJavaScriptFunction):
2680         * bridge/qt/qt_runtime.h:
2681         * bridge/runtime_method.cpp:
2682         (JSC::RuntimeMethod::getCallDataVirtual):
2683         (JSC::RuntimeMethod::getCallData):
2684         * bridge/runtime_method.h:
2685         * bridge/runtime_object.cpp:
2686         (JSC::Bindings::RuntimeObject::getCallDataVirtual):
2687         (JSC::Bindings::RuntimeObject::getCallData):
2688         * bridge/runtime_object.h:
2689
2690 =======
2691 2011-09-27  Dean Jackson  <dino@apple.com>
2692
2693         Unreviewed. Remove duplicate FilterOperation{s}.h that were
2694         accidentally added to the top level of the Xcode project.
2695
2696         * WebCore.xcodeproj/project.pbxproj:
2697
2698 >>>>>>> .r96163
2699 2011-09-27  David Hyatt  <hyatt@apple.com>
2700
2701         https://bugs.webkit.org/show_bug.cgi?id=68940
2702
2703         Narrow the float/lines pagination heuristic to only kick in if
2704         the previous line broke cleanly and if the floats are occurring
2705         at the start of the line.
2706
2707         Reviewed by Dan Bernstein.
2708
2709         * rendering/RenderBlockLineLayout.cpp:
2710         (WebCore::RenderBlock::positionNewFloatOnLine):
2711
2712 2011-09-27  James Robinson  <jamesr@chromium.org>
2713
2714         Add a mechanism to test for the compositing tree mutated during painting
2715         https://bugs.webkit.org/show_bug.cgi?id=68738
2716
2717         Reviewed by Adam Barth.
2718
2719         Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
2720         destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
2721
2722         Test: compositing/video/video-with-invalid-source.html
2723
2724         * platform/graphics/GraphicsLayer.cpp:
2725         (WebCore::GraphicsLayer::GraphicsLayer):
2726         (WebCore::GraphicsLayer::~GraphicsLayer):
2727         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2728
2729 2011-09-27  Ojan Vafai  <ojan@chromium.org>
2730
2731         take padding/border on flexbox into account with direction:rtl
2732         https://bugs.webkit.org/show_bug.cgi?id=68846
2733
2734         Reviewed by David Hyatt.
2735
2736         Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
2737         so that we include the flexbox's border and padding.
2738         
2739         Also, change all uses of availableLogicalWidth to contentLogicalWidth.
2740         The former takes multi-column into account. Multi-column flexboxes don't
2741         make any sense, so there's no point in calling availableLogicalWidth.
2742
2743         * rendering/RenderFlexibleBox.cpp:
2744         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
2745         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
2746         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2747         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
2748         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2749         * rendering/RenderFlexibleBox.h:
2750
2751 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2752
2753         Unreviewed, rolling out r96139.
2754         http://trac.webkit.org/changeset/96139
2755         https://bugs.webkit.org/show_bug.cgi?id=68933
2756
2757         Broke table-percent-height.html on Mac bots (Requested by
2758         mwenge2 on #webkit).
2759
2760         * rendering/RenderBox.cpp:
2761         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2762         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2763         * rendering/RenderBox.h:
2764
2765 2011-09-27  Tim Horton  <timothy_horton@apple.com>
2766
2767         REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
2768         https://bugs.webkit.org/show_bug.cgi?id=67700
2769         <rdar://problem/10125102>
2770
2771         Reviewed by Darin Adler.
2772
2773         Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
2774         of the <svg> element. This fixes the case where a transformed element displays part of a resource
2775         outside of the size of the <svg> element.
2776
2777         When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
2778         the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
2779         when patterns are over the 4k limit.
2780
2781         Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
2782
2783         * rendering/svg/RenderSVGResourceClipper.cpp:
2784         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2785         * rendering/svg/RenderSVGResourceGradient.cpp:
2786         (WebCore::createMaskAndSwapContextForTextGradient):
2787         (WebCore::clipToTextMask):
2788         * rendering/svg/RenderSVGResourceMasker.cpp:
2789         (WebCore::RenderSVGResourceMasker::applyResource):
2790         * rendering/svg/RenderSVGResourcePattern.cpp:
2791         (WebCore::RenderSVGResourcePattern::applyResource):
2792         (WebCore::RenderSVGResourcePattern::createTileImage):
2793         * rendering/svg/RenderSVGResourcePattern.h:
2794         * rendering/svg/SVGImageBufferTools.cpp:
2795         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
2796         * rendering/svg/SVGImageBufferTools.h:
2797
2798 2011-09-27  Dan Bernstein  <mitz@apple.com>
2799
2800         <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
2801
2802         Reviewed by Simon Fraser.
2803
2804         Test: fast/dynamic/layer-no-longer-paginated.html
2805
2806         FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
2807         The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
2808         the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
2809         of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
2810
2811         * rendering/RenderLayer.cpp:
2812         (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
2813
2814 2011-09-27  Ojan Vafai  <ojan@chromium.org>
2815
2816         offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
2817         https://bugs.webkit.org/show_bug.cgi?id=68304
2818
2819         Reviewed by David Hyatt.
2820
2821         When grabbing the x/y values of the RenderBox, we need to take writing mode
2822         flipping into account.
2823
2824         Test: fast/dom/offset-position-writing-modes.html
2825
2826         * rendering/RenderBox.cpp:
2827         (WebCore::RenderBox::locationIncludingFlipping):
2828         * rendering/RenderBox.h:
2829         (WebCore::RenderBox::yFlippedForWritingMode):
2830         (WebCore::RenderBox::xFlippedForWritingMode):
2831         * rendering/RenderBoxModelObject.cpp:
2832         (WebCore::RenderBoxModelObject::offsetLeft):
2833         (WebCore::RenderBoxModelObject::offsetTop):
2834
2835 2011-09-27  Tim Horton  <timothy_horton@apple.com>
2836
2837         Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
2838         https://bugs.webkit.org/show_bug.cgi?id=68816
2839         <rdar://problem/10186468>
2840
2841         Reviewed by Simon Fraser.
2842
2843         If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
2844
2845         Test: svg/filters/feMorphology-zero-radius.svg
2846
2847         * platform/graphics/filters/FEMorphology.cpp:
2848         (WebCore::FEMorphology::apply):
2849         * platform/graphics/filters/FETurbulence.cpp:
2850         (WebCore::FETurbulence::apply):
2851
2852 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2853
2854         CompositeEditCommand::prune should remove subtree at once
2855         https://bugs.webkit.org/show_bug.cgi?id=68866
2856
2857         Reviewed by Darin Adler.
2858
2859         Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
2860         This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
2861
2862         * editing/CompositeEditCommand.cpp:
2863         (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
2864         the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
2865         (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
2866         (WebCore::CompositeEditCommand::prune):
2867         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2868
2869 2011-09-27  David Hyatt  <hyatt@apple.com>
2870
2871         https://bugs.webkit.org/show_bug.cgi?id=68922
2872
2873         Paginated floats should not grow the height of a block when they don't end
2874         up being tied to a line. Floats encountered in skipLeadingWhitespace that
2875         paginate can't immediately grow the height of the block, since there may not
2876         end up being any actual line content. We only want to push the height of the
2877         block down if we have actual line content that we want to keep with the
2878         float.
2879         
2880         Make positionNewFloatOnLine check if the line is empty or not, and if it is,
2881         it just puts the desired pagination strut into LineInfo. If and when actual
2882         line content is encountered and setEmpty becomes false, we'll grow the block
2883         height then.
2884         
2885         Reviewed by Dan Bernstein.
2886
2887         Added fast/multicol/float-paginate-empty-lines.html and
2888         fast/regions/webkit-flow-double-pagination-float-push.html.
2889
2890         * rendering/RenderBlock.h:
2891         * rendering/RenderBlockLineLayout.cpp:
2892         (WebCore::LineWidth::LineWidth):
2893         (WebCore::LineWidth::fitsOnLine):
2894         (WebCore::LineWidth::currentWidth):
2895         (WebCore::LineWidth::uncommittedWidth):
2896         (WebCore::LineWidth::committedWidth):
2897         (WebCore::LineWidth::availableWidth):
2898         (WebCore::LineWidth::addUncommittedWidth):
2899         (WebCore::LineWidth::commit):
2900         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2901         (WebCore::LineWidth::updateAvailableWidth):
2902         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2903         (WebCore::LineWidth::applyOverhang):
2904         (WebCore::LineWidth::fitBelowFloats):
2905         (WebCore::LineInfo::LineInfo):
2906         (WebCore::LineInfo::floatPaginationStrut):
2907         (WebCore::LineInfo::setEmpty):
2908         (WebCore::LineInfo::setFloatPaginationStrut):
2909         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
2910         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2911         (WebCore::RenderBlock::positionNewFloatOnLine):
2912
2913 2011-09-27  Dean Jackson  <dino@apple.com>
2914
2915         Add 'filter' value to RenderStyle
2916         https://bugs.webkit.org/show_bug.cgi?id=68471
2917
2918         Reviewed by Simon Fraser.
2919
2920         Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
2921         is turned on. Similar to -webkit-transform, -webkit-filter is a
2922         list of FilterOperations, each identifying what type of operation
2923         it is. This change simply adds the basic objects, it does not
2924         parse the property to generate the list.
2925
2926         * CMakeLists.txt:
2927         * GNUmakefile.list.am:
2928         * WebCore.gypi:
2929         * WebCore.pro:
2930         * WebCore.vcproj/WebCore.vcproj:
2931         * WebCore.xcodeproj/project.pbxproj:
2932         * platform/graphics/filters/FilterOperation.h: Added.
2933         (WebCore::FilterOperation::~FilterOperation):
2934         (WebCore::FilterOperation::operator!=):
2935         (WebCore::FilterOperation::getOperationType):
2936         (WebCore::FilterOperation::isSameType):
2937         (WebCore::FilterOperation::FilterOperation):
2938         (WebCore::ReferenceFilterOperation::create):
2939         (WebCore::ReferenceFilterOperation::reference):
2940         (WebCore::ReferenceFilterOperation::operator==):
2941         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
2942         (WebCore::BasicColorMatrixFilterOperation::create):
2943         (WebCore::BasicColorMatrixFilterOperation::amount):
2944         (WebCore::BasicColorMatrixFilterOperation::operator==):
2945         (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
2946         (WebCore::BasicComponentTransferFilterOperation::create):
2947         (WebCore::BasicComponentTransferFilterOperation::amount):
2948         (WebCore::BasicComponentTransferFilterOperation::operator==):
2949         (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
2950         (WebCore::GammaFilterOperation::create):
2951         (WebCore::GammaFilterOperation::amplitude):
2952         (WebCore::GammaFilterOperation::exponent):
2953         (WebCore::GammaFilterOperation::offset):
2954         (WebCore::GammaFilterOperation::operator==):
2955         (WebCore::GammaFilterOperation::GammaFilterOperation):
2956         (WebCore::BlurFilterOperation::create):
2957         (WebCore::BlurFilterOperation::stdDeviationX):
2958         (WebCore::BlurFilterOperation::stdDeviationY):
2959         (WebCore::BlurFilterOperation::operator==):
2960         (WebCore::BlurFilterOperation::BlurFilterOperation):
2961         (WebCore::SharpenFilterOperation::create):
2962         (WebCore::SharpenFilterOperation::radius):
2963         (WebCore::SharpenFilterOperation::threshold):
2964         (WebCore::SharpenFilterOperation::amount):
2965         (WebCore::SharpenFilterOperation::operator==):
2966         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
2967         (WebCore::DropShadowFilterOperation::create):
2968         (WebCore::DropShadowFilterOperation::shadow):
2969         (WebCore::DropShadowFilterOperation::operator==):
2970         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
2971         * platform/graphics/filters/FilterOperations.cpp: Added.
2972         (WebCore::FilterOperations::FilterOperations):
2973         (WebCore::FilterOperations::operator==):
2974         * platform/graphics/filters/FilterOperations.h: Added.
2975         (WebCore::FilterOperations::operator!=):
2976         (WebCore::FilterOperations::clear):
2977         (WebCore::FilterOperations::operations):
2978         (WebCore::FilterOperations::size):
2979         (WebCore::FilterOperations::at):
2980         * rendering/style/RenderStyle.cpp:
2981         (WebCore::RenderStyle::RenderStyle):
2982         * rendering/style/RenderStyle.h:
2983         (WebCore::InheritedFlags::filter):
2984         (WebCore::InheritedFlags::hasFilter):
2985         (WebCore::InheritedFlags::setFilter):
2986         (WebCore::InheritedFlags::initialFilter):
2987         * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
2988         * rendering/style/StyleFilterData.cpp: Added.
2989         (WebCore::StyleFilterData::StyleFilterData):
2990         (WebCore::StyleFilterData::operator==):
2991         * rendering/style/StyleFilterData.h: Added.
2992         (WebCore::StyleFilterData::create):
2993         (WebCore::StyleFilterData::copy):
2994         (WebCore::StyleFilterData::operator!=):
2995         * rendering/style/StyleRareNonInheritedData.cpp:
2996         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2997         (WebCore::StyleRareNonInheritedData::operator==):
2998         * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
2999
3000 2011-09-27  James Robinson  <jamesr@chromium.org>
3001
3002         [chromium] LayerRenderChromium asserts about leaking textures.
3003         https://bugs.webkit.org/show_bug.cgi?id=68190
3004
3005         Reviewed by Kenneth Russell.
3006
3007         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
3008         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
3009         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
3010         to make sure we aren't leaking any textures.
3011
3012         * WebCore.gypi:
3013         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3014         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
3015         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3016         * platform/graphics/chromium/ImageLayerChromium.cpp:
3017         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3018         * platform/graphics/chromium/LayerChromium.h:
3019         (WebCore::LayerChromium::updateCompositorResources):
3020         * platform/graphics/chromium/LayerRendererChromium.cpp:
3021         (WebCore::LayerRendererChromium::LayerRendererChromium):
3022         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
3023         (WebCore::LayerRendererChromium::drawLayers):
3024         (WebCore::LayerRendererChromium::useRenderSurface):
3025         (WebCore::LayerRendererChromium::initializeSharedObjects):
3026         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3027         * platform/graphics/chromium/LayerRendererChromium.h:
3028         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
3029         (WebCore::LayerRendererChromium::contentsTextureAllocator):
3030         * platform/graphics/chromium/LayerTextureUpdater.h:
3031         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3032         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
3033         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
3034         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
3035         * platform/graphics/chromium/ManagedTexture.cpp:
3036         (WebCore::ManagedTexture::bindTexture):
3037         (WebCore::ManagedTexture::framebufferTexture2D):
3038         * platform/graphics/chromium/ManagedTexture.h:
3039         * platform/graphics/chromium/TextureManager.cpp:
3040         (WebCore::TextureManager::memoryUseBytes):
3041         (WebCore::TextureManager::deleteEvictedTextures):
3042         (WebCore::TextureManager::evictAndDeleteAllTextures):
3043         (WebCore::TextureManager::removeTexture):
3044         (WebCore::TextureManager::allocateTexture):
3045         (WebCore::TextureManager::requestTexture):
3046         * platform/graphics/chromium/TextureManager.h:
3047         (WebCore::TextureAllocator::~TextureAllocator):
3048         * platform/graphics/chromium/TiledLayerChromium.cpp:
3049         (WebCore::TiledLayerChromium::updateCompositorResources):
3050         * platform/graphics/chromium/TiledLayerChromium.h:
3051         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
3052         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
3053         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
3054         (WebCore::TrackingTextureAllocator::createTexture):
3055         (WebCore::TrackingTextureAllocator::deleteTexture):
3056         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
3057         (WebCore::TrackingTextureAllocator::create):
3058         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
3059         * platform/graphics/chromium/VideoLayerChromium.cpp:
3060         (WebCore::VideoLayerChromium::updateCompositorResources):
3061         (WebCore::VideoLayerChromium::updateTexture):
3062         * platform/graphics/chromium/VideoLayerChromium.h:
3063         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3064         (WebCore::WebGLLayerChromium::updateCompositorResources):
3065         * platform/graphics/chromium/WebGLLayerChromium.h:
3066         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3067         (WebCore::CCHeadsUpDisplay::draw):
3068         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3069         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
3070         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
3071         (WebCore::CCLayerTreeHost::commitToOnCCThread):
3072         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
3073         (WebCore::CCLayerTreeHost::updateCompositorResources):
3074         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3075         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3076         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
3077         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3078         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3079         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3080         (WebCore::CCRenderSurface::drawSurface):
3081         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3082         (WebCore::CCSingleThreadProxy::setNeedsCommit):
3083         (WebCore::CCSingleThreadProxy::stop):
3084         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
3085         (WebCore::CCSingleThreadProxy::commitIfNeeded):
3086         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3087         (WebCore::CCThreadProxy::commitOnCCThread):
3088         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
3089
3090 2011-06-28  Robert Hogan  <robert@webkit.org>
3091
3092         Reviewed by David Hyatt.
3093
3094         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
3095         https://bugs.webkit.org/show_bug.cgi?id=29447
3096
3097         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
3098         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
3099
3100         Test: fast/replaced/table-percent-width.html
3101
3102         * rendering/RenderBox.cpp:
3103         (WebCore::avoidSqueezingWidth):
3104         (WebCore::avoidSqueezingHeight):
3105         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
3106         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3107         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3108         * rendering/RenderBox.h:
3109
3110 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
3111
3112         https://bugs.webkit.org/show_bug.cgi?id=67858
3113
3114         Roll r96070 back in now that the crash has been fixed in r96130.
3115
3116         Reviewed by Darin Adler.
3117         
3118         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
3119         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
3120         
3121         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
3122         on scrollbar creation appears to happen via updating the scrollbar style.
3123
3124         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
3125         stale scrollbars when run manually, even though the green squares are missing from the
3126         pixel result (bug 67878).
3127
3128         * page/FrameView.cpp:
3129         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
3130         * platform/ScrollView.cpp:
3131         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
3132         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
3133         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
3134         compute the scroll corner rect while we still have scrollbars, and then invalidate it
3135         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
3136         rect.)
3137         * platform/ScrollableArea.cpp:
3138         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
3139         compute it in the case where the scrollbars are going away.
3140         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
3141         invalidateScrollbar().
3142         * rendering/RenderLayerCompositor.cpp:
3143         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
3144         * rendering/RenderScrollbarPart.cpp: Ditto.
3145         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
3146
3147 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
3148
3149         Fix Chromium Mac build after r96130.
3150
3151         * page/FrameView.cpp:
3152         (WebCore::FrameView::layerForOverhangAreas):
3153
3154 2011-09-27  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3155
3156         Autofocus on readonly inputs does not focus the element.
3157         https://bugs.webkit.org/show_bug.cgi?id=24092
3158
3159         Reviewed by Ryosuke Niwa.
3160
3161         Readonly input elements should be autofocusable. Removed the check.
3162
3163         Tests: fast/forms/autofocus-readonly-attribute.html
3164
3165         * html/HTMLFormControlElement.cpp:
3166         (WebCore::shouldAutofocus):
3167
3168 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
3169
3170         Clean up how FrameView accesses the RenderView
3171         https://bugs.webkit.org/show_bug.cgi?id=68914
3172
3173         Reviewed by Sam Weinig.
3174
3175         Clean up how FrameView accesses the content renderer of its
3176         frame. Previously, this was done in several different ways,
3177         only some of which did null-checking.
3178         
3179         Use an inline method to avoid having to expose Frame
3180         in the header.
3181         
3182         Standardize the terminology to use 'root' for this RenderView.
3183
3184         * page/FrameView.cpp:
3185         (WebCore::rootRenderer):
3186         (WebCore::FrameView::setFrameRect):
3187         (WebCore::FrameView::adjustViewSize):
3188         (WebCore::FrameView::updateCompositingLayers):
3189         (WebCore::FrameView::clearBackingStores):
3190         (WebCore::FrameView::restoreBackingStores):
3191         (WebCore::FrameView::layerForHorizontalScrollbar):
3192         (WebCore::FrameView::layerForVerticalScrollbar):
3193         (WebCore::FrameView::layerForScrollCorner):
3194         (WebCore::FrameView::layerForOverhangAreas):
3195         (WebCore::FrameView::syncCompositingStateForThisFrame):
3196         (WebCore::FrameView::hasCompositedContent):
3197         (WebCore::FrameView::enterCompositingMode):
3198         (WebCore::FrameView::isSoftwareRenderable):
3199         (WebCore::FrameView::didMoveOnscreen):
3200         (WebCore::FrameView::willMoveOffscreen):
3201         (WebCore::FrameView::layout):
3202         (WebCore::FrameView::embeddedContentBox):
3203         (WebCore::FrameView::contentsInCompositedLayer):
3204         (WebCore::FrameView::scrollContentsFastPath):
3205         (WebCore::FrameView::scrollContentsSlowPath):
3206         (WebCore::FrameView::maintainScrollPositionAtAnchor):
3207         (WebCore::FrameView::scrollPositionChanged):
3208         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
3209         (WebCore::FrameView::visibleContentsResized):
3210         (WebCore::FrameView::scheduleRelayoutOfSubtree):
3211         (WebCore::FrameView::needsLayout):
3212         (WebCore::FrameView::setNeedsLayout):
3213         (WebCore::FrameView::performPostLayoutTasks):
3214         (WebCore::FrameView::updateControlTints):
3215         (WebCore::FrameView::paintContents):
3216         (WebCore::FrameView::forceLayoutForPagination):
3217         (WebCore::FrameView::adjustPageHeightDeprecated):
3218         (WebCore::FrameView::isVerticalDocument):
3219         (WebCore::FrameView::isFlippedDocument):
3220
3221 2011-09-27  Dominic Mazzoni  <dmazzoni@google.com>
3222
3223         AXObjectCache cleared unnecessarily when non-top Document is detached.
3224         https://bugs.webkit.org/show_bug.cgi?id=68636
3225
3226         Reviewed by Chris Fleizach.
3227
3228         Test: accessibility/deleting-iframe-destroys-axcache.html
3229
3230         * dom/Document.cpp:
3231         (WebCore::Document::attach):
3232         (WebCore::Document::detach):
3233
3234 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3235
3236         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
3237         http://trac.webkit.org/changeset/96108
3238         http://trac.webkit.org/changeset/96111
3239         http://trac.webkit.org/changeset/96113
3240         http://trac.webkit.org/changeset/96116
3241         https://bugs.webkit.org/show_bug.cgi?id=68913
3242
3243         Wait for working Qt5 (Requested by ossy on #webkit).
3244
3245         * WebCore.pri:
3246         * platform/graphics/qt/GraphicsLayerQt.cpp:
3247
3248 2011-09-27  Csaba Osztrogonác  <ossy@webkit.org>
3249
3250         Fix ENABLE(SQL_DATABASE)=0 build after r95919
3251         https://bugs.webkit.org/show_bug.cgi?id=68902
3252
3253         r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
3254         it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
3255
3256         Reviewed by Adam Barth.
3257
3258         * platform/sql/SQLiteAuthorizer.cpp:
3259         * platform/sql/SQLiteDatabase.cpp:
3260         * platform/sql/SQLiteFileSystem.cpp:
3261         * platform/sql/SQLiteStatement.cpp:
3262         * platform/sql/SQLiteTransaction.cpp:
3263         * storage/DatabaseAuthorizer.cpp:
3264
3265 2011-09-27  Julien Chaffraix  <jchaffraix@webkit.org>
3266
3267         Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
3268         https://bugs.webkit.org/show_bug.cgi?id=66291
3269
3270         Reviewed by Darin Adler.
3271
3272         Test: fast/canvas/crash-set-font.html
3273
3274         This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
3275         applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
3276         We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
3277         list as Font::update was never called.
3278
3279         The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
3280         Until this happens, it is better not to crash.
3281
3282         * css/CSSStyleSelector.cpp:
3283         (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
3284         mutated by the previous property change. Also added a comment explaining why it is safe to do it
3285         this way.
3286
3287 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
3288
3289         [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
3290         https://bugs.webkit.org/show_bug.cgi?id=68897
3291
3292         Reviewed by Andreas Kling.
3293
3294         No new functionality so no new tests.
3295
3296         * platform/graphics/texmap/TextureMapperNode.cpp:
3297         (WebCore::TextureMapperNode::computeAllTransforms):
3298         (WebCore::TextureMapperNode::computeTiles):
3299         (WebCore::TextureMapperNode::syncCompositingState):
3300         * platform/graphics/texmap/TextureMapperNode.h:
3301
3302 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
3303
3304         [Texmap][Qt] Refactor texture-upload to allow direct chunk update
3305         https://bugs.webkit.org/show_bug.cgi?id=68808
3306
3307         Add a function to BitmapTexture for direct pixel updates.
3308         Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
3309         to RGBA swizzling is done inside that function, there's no need for the 
3310         RGBA32PremultipliedBuffer class to contain such function. Also,
3311         RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
3312         an old mistake.
3313
3314         Reviewed by Andreas Kling.
3315
3316         No new tests. Existing tests in LayoutTests/compositing test this.
3317
3318         * platform/graphics/opengl/TextureMapperGL.cpp:
3319         (WebCore::BitmapTextureGL::beginPaint):
3320         (WebCore::BitmapTextureGL::endPaint):
3321         (WebCore::swizzleBGRAToRGBA):
3322         (WebCore::BitmapTextureGL::updateContents):
3323         * platform/graphics/opengl/TextureMapperGL.h:
3324         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
3325         * platform/graphics/qt/TextureMapperQt.cpp:
3326         (WebCore::BitmapTextureQt::updateContents):
3327         (WebCore::BGRA32PremultimpliedBufferQt::data):
3328         (WebCore::BGRA32PremultimpliedBuffer::create):
3329         * platform/graphics/qt/TextureMapperQt.h:
3330         * platform/graphics/texmap/TextureMapper.h:
3331
3332 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3333
3334         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
3335
3336         QWidget and friends now live in the QtWidgets library. We update
3337         includes in implementation files and private headers to us the
3338         non-module-prefixed path, and leave the lookup for the include
3339         path. For public headers we have to ifdef the includes as the
3340         user might now have the modules we need in his QT config.
3341
3342         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
3343         have to update our code and use windowHandle() for setting the
3344         parent relationships.
3345
3346         https://bugs.webkit.org/show_bug.cgi?id=68687
3347
3348         Reviewed by Andreas Kling.
3349
3350         * WebCore.pri:
3351         * platform/graphics/qt/GraphicsLayerQt.cpp:
3352
3353 2011-09-27  Pavel Feldman  <pfeldman@google.com>
3354
3355         Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
3356         Send attribute name and value within the event.
3357         https://bugs.webkit.org/show_bug.cgi?id=68613
3358
3359         Reviewed by Yury Semikhatsky.
3360
3361         * dom/Element.cpp:
3362         (WebCore::Element::setAttribute):
3363         (WebCore::Element::removeAttribute):
3364         * inspector/Inspector.draft-01.json:
3365         * inspector/Inspector.json:
3366         * inspector/InspectorDOMAgent.cpp:
3367         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
3368         (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
3369         * inspector/InspectorDOMAgent.h:
3370         * inspector/InspectorInstrumentation.cpp:
3371         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
3372         (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
3373         * inspector/InspectorInstrumentation.h:
3374         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
3375         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
3376         * inspector/front-end/DOMAgent.js:
3377         (WebInspector.DOMNode.prototype._addAttribute):
3378         (WebInspector.DOMNode.prototype._setAttribute):
3379         (WebInspector.DOMNode.prototype._removeAttribute):
3380         (WebInspector.DOMAgent.prototype._attributeModified):
3381         (WebInspector.DOMAgent.prototype._attributeRemoved):
3382         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
3383         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
3384         (WebInspector.DOMDispatcher.prototype.attributeModified):
3385         (WebInspector.DOMDispatcher.prototype.attributeRemoved):
3386         * inspector/front-end/ElementsPanel.js:
3387         (WebInspector.ElementsPanel):
3388         (WebInspector.ElementsPanel.prototype._attributesUpdated):
3389         * inspector/front-end/MetricsSidebarPane.js:
3390         (WebInspector.MetricsSidebarPane):
3391         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
3392         * inspector/front-end/StylesSidebarPane.js:
3393         (WebInspector.StylesSidebarPane):
3394         (WebInspector.StylesSidebarPane.prototype._attributesModified):
3395         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
3396         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
3397         (WebInspector.StylePropertyTreeElement.prototype.event):
3398         (WebInspector.StylePropertyTreeElement.prototype):
3399         * inspector/validate-protocol-compatibility:
3400
3401 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3402
3403         Unreviewed, rolling out r96070 and r96075.
3404         http://trac.webkit.org/changeset/96070
3405         http://trac.webkit.org/changeset/96075
3406         https://bugs.webkit.org/show_bug.cgi?id=68893
3407
3408         WK2 tests started crashing after r96070 for SL and Qt
3409         (Requested by torarne on #webkit).
3410
3411         * page/FrameView.cpp:
3412         (WebCore::FrameView::updateScrollCorner):
3413         * platform/ScrollView.cpp:
3414         (WebCore::ScrollView::setHasHorizontalScrollbar):
3415         (WebCore::ScrollView::setHasVerticalScrollbar):
3416         (WebCore::ScrollView::updateScrollbars):
3417         * platform/ScrollableArea.cpp:
3418         (WebCore::ScrollableArea::invalidateScrollCorner):
3419         * platform/ScrollableArea.h:
3420         * rendering/RenderLayerCompositor.cpp:
3421         (WebCore::RenderLayerCompositor::destroyRootLayer):
3422         * rendering/RenderScrollbarPart.cpp:
3423         (WebCore::RenderScrollbarPart::imageChanged):
3424
3425 2011-09-27  Andrey Kosyakov  <caseq@chromium.org>
3426
3427         Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
3428         https://bugs.webkit.org/show_bug.cgi?id=68888
3429
3430         Reviewed by Pavel Feldman.
3431
3432         * inspector/front-end/ElementsPanel.js:
3433         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
3434
3435 2011-09-21  Pavel Podivilov  <podivilov@chromium.org>
3436
3437         Web Inspector: migrate RawSourceCode clients to SourceMapping class.
3438         https://bugs.webkit.org/show_bug.cgi?id=68524
3439
3440         Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
3441         Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
3442
3443         Reviewed by Yury Semikhatsky.
3444
3445         * inspector/front-end/BreakpointManager.js:
3446         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
3447         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
3448         * inspector/front-end/DebuggerPresentationModel.js:
3449         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
3450         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3451         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3452         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
3453         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3454         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
3455         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3456         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
3457         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3458         (WebInspector.PresentationCallFrame.prototype.get url):
3459         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
3460         (WebInspector.PresentationCallFrame.prototype.sourceLine):
3461         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3462         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3463         * inspector/front-end/SourceFile.js:
3464         (WebInspector.RawSourceCode.prototype.get sourceMapping):
3465
3466 2011-09-27  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
3467
3468         wrap attribute of textarea element cannot be accessed by JavaScript.</