Unreviewed, rolling out r112489.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r112489.
4         http://trac.webkit.org/changeset/112489
5         https://bugs.webkit.org/show_bug.cgi?id=82725
6
7         Tentatively introduces a lot of webfont-related test flakiness
8         on Snow Leopard (Requested by apavlov on #webkit).
9
10         * css/CSSSegmentedFontFace.cpp:
11         (WebCore::CSSSegmentedFontFace::getFontData):
12
13 2012-03-30  Keishi Hattori  <keishi@webkit.org>
14
15         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
16         https://bugs.webkit.org/show_bug.cgi?id=80972
17
18         Reviewed by Kent Tamura.
19
20         * CMakeLists.txt:
21         * Configurations/FeatureDefines.xcconfig:
22         * GNUmakefile.am:
23         * WebCore.exp.in:
24         * css/html.css:
25         * html/ColorInputType.cpp:
26         * html/ColorInputType.h:
27         * html/HTMLInputElement.cpp:
28         (WebCore):
29         * html/HTMLInputElement.h:
30         (HTMLInputElement):
31         * html/InputType.cpp:
32         (WebCore::createInputTypeFactoryMap):
33         (WebCore):
34         (InputTypeNames):
35         * html/InputType.h:
36         (InputType):
37         (InputTypeNames):
38         * loader/EmptyClients.h:
39         (EmptyChromeClient):
40         * page/Chrome.cpp:
41         (WebCore):
42         * page/Chrome.h:
43         (WebCore):
44         (Chrome):
45         * page/ChromeClient.h:
46         (WebCore):
47         (ChromeClient):
48         * platform/ColorChooser.h:
49         * platform/ColorChooserClient.h:
50         * testing/InternalSettings.cpp:
51         * testing/Internals.cpp:
52         (WebCore):
53         * testing/Internals.h:
54         (Internals):
55         * testing/Internals.idl:
56
57 2012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>
58
59         [BlackBerry] EventLoop::platformInit() obsolete.
60         https://bugs.webkit.org/show_bug.cgi?id=82709
61
62         Reviewed by Rob Buis.
63
64         No new tests, build fix for BlackBerry porting.
65
66         * platform/blackberry/EventLoopBlackBerry.cpp:
67
68 2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
69
70         Web Inspector: ScriptsNavigator should open scripts with single click (not double click).
71         https://bugs.webkit.org/show_bug.cgi?id=82723
72
73         Reviewed by Pavel Feldman.
74
75         This patch makes ScriptsNavigator open scripts with single click.
76
77         * inspector/front-end/ScriptsNavigator.js:
78         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
79         (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
80
81 2012-03-30  Vineet Chaudhary  <rgf748@motorola.com>
82
83         IDLParser.pm should be able to parse sequence<T> as method argument.
84         https://bugs.webkit.org/show_bug.cgi?id=82599
85
86         Reviewed by Kentaro Hara.
87
88         With this patch IDL parser should support sequence<T> as method argument.
89         Current behaviour is argument name is not parsed hence shows empty spaces instead.
90
91         Tests: bindings/scripts/test/TestObj.idl
92
93         * bindings/scripts/CodeGeneratorCPP.pm:
94         (SkipFunction): Skip functions for specific type.
95         (SkipAttribute): Skip functions for specific type.
96         (AddIncludesForType): Skip header for sequence<T> type.
97         (GenerateHeader): Skip header and declaration for sequence<T> type.
98         (GenerateImplementation): Skip header and implementation for sequence<T> type.
99         * bindings/scripts/CodeGeneratorGObject.pm:
100         (SkipFunction): Skip functions for sequence<T> type.
101         * bindings/scripts/CodeGeneratorObjC.pm:
102         (SkipFunction): Skip functions for specific type.
103         (SkipAttribute): Skip functions for specific type.
104         (AddForwardDeclarationsForType): Skip header for sequence<T> type.
105         (AddIncludesForType): Skip header for sequence<T> type.
106         (GenerateHeader):Skip header and declaration for sequence<T> type.
107         (GenerateImplementation): Skip header and implementation for sequence<T> type.
108         * bindings/scripts/CodeGeneratorV8.pm:
109         (CreateCustomSignature): Add appropriate headers.
110         * bindings/scripts/IDLStructure.pm: Add support to parse sequence<T>.
111         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Modified results from run-binding-tests.
112         (WebDOMTestObj::objMethodWithArgs):
113         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
114         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
115         (webkit_dom_test_obj_obj_method_with_args):
116         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
117         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
118         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
119         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
120         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
121         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
122         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
123         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
124         (WebCore::ConfigureV8TestObjTemplate):
125
126 2012-03-30  Pavel Feldman  <pfeldman@chromium.org>
127
128         Web Inspector: editing resets line-ending of the whole file
129         https://bugs.webkit.org/show_bug.cgi?id=82708
130
131         Reviewed by Yury Semikhatsky.
132
133         This change splits TextEditorModel's setText into setText (for initialization) and
134         editRange (for editing). Distinguishing between the two allowed properly detecting
135         the preferred line endings.
136
137         Test: inspector/editor/text-editor-line-breaks.html
138
139         * inspector/front-end/JavaScriptSourceFrame.js:
140         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
141         * inspector/front-end/SourceFrame.js:
142         (WebInspector.SourceFrame.prototype.setContent):
143         * inspector/front-end/TextEditorModel.js:
144         (WebInspector.TextEditorCommand):
145         (WebInspector.TextEditorModel):
146         (WebInspector.TextEditorModel.endsWithBracketRegex.):
147         * inspector/front-end/TextViewer.js:
148         (WebInspector.TextViewer.prototype._textChanged):
149         (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
150         (WebInspector.TextEditorMainPanel.prototype._unindentLines):
151         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
152         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
153         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
154         (WebInspector.TextEditorMainPanel.prototype._editRange):
155
156 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
157
158         Web Inspector: Take IndexedDB support out of experiments.
159         https://bugs.webkit.org/show_bug.cgi?id=82635
160
161         Reviewed by Pavel Feldman.
162
163         This patch takes inspector IndexedDB support out of experiments and enables tests.
164
165         Test: http/tests/inspector/indexeddb/resources-panel.html
166
167         * inspector/front-end/ResourcesPanel.js:
168         * inspector/front-end/Settings.js:
169         (WebInspector.ExperimentsSettings):
170
171 2012-03-30  Patrick Gansterer  <paroga@webkit.org>
172
173         Build fix after r112482.
174
175         * platform/network/cf/FormDataStreamCFNet.h: Added missing forward decleration.
176
177 2012-03-30  Philippe Normand  <pnormand@igalia.com>
178
179         [GTK] WebAudio channelSize issue
180         https://bugs.webkit.org/show_bug.cgi?id=81905
181
182         Reviewed by Martin Robinson.
183
184         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
185         (WebCore::AudioFileReader::handleBuffer): Calculate the audio
186         buffer duration and frames number from the buffer and caps instead
187         of relying on the buffer offets that are not always correctly set
188         depending on the audio file format.
189
190 2012-03-29  Alexandru Chiculita  <achicu@adobe.com>
191
192         [CSS Filters] Trigger a repaint on elements with changed filter
193         https://bugs.webkit.org/show_bug.cgi?id=82521
194
195         Reviewed by Dean Jackson.
196
197         I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when
198         the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer
199         or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware
200         (composited).
201
202         Tests: css3/filters/filter-change-repaint-composited.html
203                css3/filters/filter-change-repaint.html
204
205         * css/CSSStyleSelector.cpp:
206         (WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value.
207         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that.
208         (PlatformCALayer::setFilters):
209         * rendering/RenderBoxModelObject.cpp:
210         (WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change.
211         * rendering/RenderLayer.cpp:
212         (WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware.
213         * rendering/RenderObject.cpp:
214         (WebCore::RenderObject::adjustStyleDifference):
215         * rendering/style/RenderStyle.cpp:
216         (WebCore::RenderStyle::diff):
217         * rendering/style/RenderStyleConstants.h:
218
219 2012-03-29  Koji Ishii  <kojiishi@gmail.com>
220
221
222         Vertical flow support for OpenType fonts with the least platform dependencies
223         https://bugs.webkit.org/show_bug.cgi?id=81326
224
225         Reviewed by Dan Bernstein.
226
227         This patch introduces a new class OpenTypeVerticalData to read
228         vertical font metrics from OpenType fonts.
229
230         Currently, WebKit relies on platform APIs to do the work. However,
231         some platforms such as Windows lack support for all the capabilities
232         WebKit requires for vertical flow and the text-orientation property
233         to work correctly. Reading OpenType tables directly also gives
234         benefits in consistent behavior among the WebKit platforms.
235
236         This patch is for any platforms that want to parse OpenType tables
237         directly, but it's currently included only in CGWin and isn't on any
238         code path even on CGWin yet. Caller's side change for CGWin and
239         support for other platforms will be in separate bugs.
240
241         No new tests are required. No behavior changes.
242
243         * WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
244         * platform/SharedBuffer.cpp: Add create(size_t)
245         (WebCore::SharedBuffer::SharedBuffer):
246         (WebCore):
247         * platform/SharedBuffer.h: Add create(size_t)
248         (WebCore::SharedBuffer::create):
249         (SharedBuffer):
250         * platform/graphics/FontPlatformData.h: Added openTypeTable().
251         (WebCore):
252         (FontPlatformData):
253         * platform/graphics/SimpleFontData.h: Added sizePerUnit().
254         (WebCore::SimpleFontData::sizePerUnit): size() / unitsPerEm() for less multiplication.
255         * platform/graphics/opentype/OpenTypeTypes.h: Added OpenType basic type definitions.
256         (OpenType):
257         (WebCore::OpenType::BigEndianShort::operator short):
258         (WebCore::OpenType::BigEndianShort::BigEndianShort):
259         (BigEndianShort):
260         (WebCore::OpenType::BigEndianUShort::operator unsigned short):
261         (WebCore::OpenType::BigEndianUShort::BigEndianUShort):
262         (BigEndianUShort):
263         (WebCore::OpenType::BigEndianLong::operator int):
264         (WebCore::OpenType::BigEndianLong::BigEndianLong):
265         (BigEndianLong):
266         (WebCore::OpenType::BigEndianULong::operator unsigned):
267         (WebCore::OpenType::BigEndianULong::BigEndianULong):
268         (BigEndianULong):
269         * platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.
270         (OpenType):
271         (HheaTable):
272         (VheaTable):
273         (Entry):
274         (VORGTable):
275         (VertOriginYMetrics):
276         (WebCore::OpenType::VORGTable::requiredSize):
277         (WebCore):
278         (WebCore::validatedPtr):
279         (WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
280         (WebCore::OpenTypeVerticalData::advanceHeight): Advance height for a glyph.
281         (WebCore::OpenTypeVerticalData::getVerticalTranslationsForGlyphs): Vertical origin.
282         * platform/graphics/opentype/OpenTypeVerticalData.h: Added.
283         (WebCore):
284         (OpenTypeVerticalData): A new class to handle vertical flow data in OpenType.
285         (WebCore::OpenTypeVerticalData::isOpenType):
286         (WebCore::OpenTypeVerticalData::hasVerticalMetrics):
287         (WebCore::OpenTypeVerticalData::hasVORG):
288         * platform/graphics/win/FontPlatformDataWin.cpp:
289         (WebCore):
290         (WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.
291
292 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
293
294         [BlackBerry] Sync up PlatformMouseEvent
295         https://bugs.webkit.org/show_bug.cgi?id=82567
296
297         Reviewed by Rob Buis.
298
299         This patch is adding blackberry specific members to PlatformMouseEvent.
300         Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
301         of PlatformMouseEvent.
302
303         * platform/PlatformMouseEvent.h:
304         (PlatformMouseEvent): BlackBerry specific constructor.
305         (WebCore::PlatformMouseEvent::inputMethod): Input source of mouse event
306         for blackberry platform.
307         * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
308         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Re-base the constructor
309         to adapt the re-factor of PlatformMouseEvent.
310
311 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
312
313         [BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
314         https://bugs.webkit.org/show_bug.cgi?id=82573
315
316         Reviewed by Rob Buis.
317
318         Tests: covered by existing tests.
319
320         * loader/cache/CachedFont.cpp:
321
322 2012-03-29  Adam Barth  <abarth@webkit.org>
323
324         [Chromium] Attempt to fix the component build
325         https://bugs.webkit.org/show_bug.cgi?id=82676
326
327         Reviewed by Dirk Pranke.
328
329         Now that we're implementing some of the WEBKIT_EXPORT symbols in
330         WebCore/platform/chromium/support, we need to tell the build system
331         that we want to actually export these symbols.
332
333         * WebCore.gyp/WebCore.gyp:
334
335 2012-03-29  Adam Barth  <abarth@webkit.org>
336
337         Unreviewed, rolling out r112572.
338         http://trac.webkit.org/changeset/112572
339         https://bugs.webkit.org/show_bug.cgi?id=82582
340
341         Does not compile in Windows component build
342
343         * WebCore.gyp/WebCore.gyp:
344         * WebCore.gypi:
345
346 2012-03-29  Adam Barth  <abarth@webkit.org>
347
348         Unreviewed, rolling out r112579.
349         http://trac.webkit.org/changeset/112579
350         https://bugs.webkit.org/show_bug.cgi?id=82657
351
352         Does not compile in Windows component build
353
354         * WebCore.gypi:
355
356 2012-03-29  Adam Barth  <abarth@webkit.org>
357
358         Unreviewed, rolling out r112611.
359         http://trac.webkit.org/changeset/112611
360         https://bugs.webkit.org/show_bug.cgi?id=82676
361
362         Does not compile in Windows component build
363
364         * WebCore.gyp/WebCore.gyp:
365
366 2012-03-29  Bear Travis  <betravis@adobe.com>
367
368         Update shape-inside/shape-outside CSS Exclusion properties
369         https://bugs.webkit.org/show_bug.cgi?id=82365
370
371         Reviewed by Ryosuke Niwa.
372
373         Updating CSS property names for wrap-shape-inside and wrap-shape-outside
374         to shape-inside and shape-outside, per the current exclusions spec.
375         Renaming some parsing functions in CSSParser for clarity.
376         No new functionality.
377
378         * css/CSSComputedStyleDeclaration.cpp:
379         (WebCore):
380         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
381         * css/CSSParser.cpp:
382         (WebCore::CSSParser::parseValue):
383         (WebCore::CSSParser::parseClipShape):
384         (WebCore::CSSParser::parseExclusionShapeRect):
385         (WebCore::CSSParser::parseExclusionShapeCircle):
386         (WebCore::CSSParser::parseExclusionShapeEllipse):
387         (WebCore::CSSParser::parseExclusionShapePolygon):
388         (WebCore::CSSParser::parseExclusionShape):
389         * css/CSSParser.h:
390         * css/CSSProperty.cpp:
391         (WebCore::CSSProperty::isInheritedProperty):
392         * css/CSSPropertyNames.in:
393         * css/CSSStyleSelector.cpp:
394         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
395
396 2012-03-29  Ryan Sleevi  <rsleevi@chromium.org>
397
398         [chromium] Update paths in GYP files
399         https://bugs.webkit.org/show_bug.cgi?id=82663
400
401         Reviewed by Adam Barth.
402
403         * WebCore.gypi:
404         Remove PluginDataGtk.cpp following r112401
405
406 2012-03-29  Abhishek Arya  <inferno@chromium.org>
407
408         Crash in GenericEventQueue::~GenericEventQueue.
409         https://bugs.webkit.org/show_bug.cgi?id=81976
410
411         Reviewed by Eric Carlson.
412
413         * dom/GenericEventQueue.cpp:
414         (WebCore::GenericEventQueue::create):
415         (WebCore):
416         (WebCore::GenericEventQueue::GenericEventQueue):
417         (WebCore::GenericEventQueue::enqueueEvent):
418         (WebCore::GenericEventQueue::timerFired):
419         * dom/GenericEventQueue.h:
420         (GenericEventQueue):
421         * html/HTMLMediaElement.cpp:
422         (WebCore::HTMLMediaElement::HTMLMediaElement):
423         (WebCore::HTMLMediaElement::scheduleEvent):
424         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
425         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
426         (WebCore::HTMLMediaElement::hasPendingActivity):
427         * html/HTMLMediaElement.h:
428         (HTMLMediaElement):
429
430 2012-03-29  Adam Barth  <abarth@webkit.org>
431
432         [Chromium] Attempt to fix the component build
433         https://bugs.webkit.org/show_bug.cgi?id=82676
434
435         Unreviewed.
436
437         Now that we're implementing some of the WEBKIT_EXPORT symbols in
438         WebCore/platform/chromium/support, we need to tell the build system
439         that we want to actually export these symbols.
440
441         * WebCore.gyp/WebCore.gyp:
442
443 2012-03-29  Nate Chapin  <japhet@chromium.org>
444
445         Simplify reporting a main resource error to DocumentLoader and
446         FrameLoader.
447         https://bugs.webkit.org/show_bug.cgi?id=82649
448
449         Reviewed by Adam Barth.
450
451         No new tests, no functionality change intended.
452
453         * loader/DocumentLoader.cpp:
454         (WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,
455             since it was always true. Call FrameLoader::receivedMainResourceError,
456             instead of the other way around.
457         * loader/DocumentLoader.h:
458         * loader/FrameLoader.cpp:
459         (WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,
460             since it was always true. Merge in most of mainReceivedCompleteError().
461         * loader/FrameLoader.h:
462         * loader/MainResourceLoader.cpp:
463         (WebCore::MainResourceLoader::receivedError):
464         (WebCore::MainResourceLoader::didCancel):
465
466 2012-03-28  Jer Noble  <jer.noble@apple.com>
467
468         Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
469         https://bugs.webkit.org/show_bug.cgi?id=82055
470
471         Reviewed by David Hyatt.
472
473         No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.
474
475         When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
476         parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc().  This
477         forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
478         order, fixing a double-delete crash.
479
480         The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
481         the full screen placeholder.
482
483         * rendering/RenderFullScreen.cpp:
484         (RenderFullScreen::wrapRenderer):
485         (RenderFullScreen::unwrapRenderer):
486         (RenderFullScreen::createPlaceholder):
487
488 2012-03-29  Benjamin Poulain  <bpoulain@apple.com>
489
490         Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
491         https://bugs.webkit.org/show_bug.cgi?id=82543
492
493         Reviewed by Andreas Kling.
494
495         After the change to client based geolocation, the method positionChangedInternal()
496         is called only by positionChanged(). This patch remove this extra indirection.
497
498         * Modules/geolocation/Geolocation.cpp:
499         (WebCore::Geolocation::positionChanged):
500         * Modules/geolocation/Geolocation.h:
501         (Geolocation):
502         * WebCore.order:
503
504 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
505
506         InputType attribute changed functions should happen after the attribute change
507         https://bugs.webkit.org/show_bug.cgi?id=82644
508
509         Reviewed by Benjamin Poulain.
510
511         * html/HTMLInputElement.cpp:
512         (WebCore::HTMLInputElement::parseAttribute):
513
514 2012-03-29  Bear Travis  <betravis@adobe.com>
515
516         Update CSS Exclusion wrap-flow values left & right to start & end
517         https://bugs.webkit.org/show_bug.cgi?id=82366
518
519         http://dev.w3.org/csswg/css3-exclusions/
520         -webkit-wrap-flow now takes the values start and end rather than
521         left and right. Updating the code to reflect this. Functionality
522         is covered by existing tests.
523         
524         Reviewed by Andreas Kling.
525
526         * css/CSSParser.cpp:
527         (WebCore::isValidKeywordPropertyAndValue):
528         * css/CSSPrimitiveValueMappings.h:
529         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
530         (WebCore::CSSPrimitiveValue::operator WrapFlow):
531         * rendering/style/RenderStyleConstants.h:
532
533 2012-03-29  Dirk Pranke  <dpranke@chromium.org>
534
535         rollout r112484, r112545, r112574
536         https://bugs.webkit.org/show_bug.cgi?id=82662
537
538         Unreviewed, build fix.
539
540         this appears to be producing some questionable differences on
541         the apple mac bots, and possibly one test on chromium linux.
542
543         * css/mediaControls.css:
544         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
545         * css/mediaControlsChromium.css:
546         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
547         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
548         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
549         * html/shadow/MediaControlElements.cpp:
550         (RenderMediaVolumeSliderContainer):
551         (WebCore):
552         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
553         (WebCore::RenderMediaVolumeSliderContainer::layout):
554         (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
555         * html/shadow/MediaControlElements.h:
556         (MediaControlVolumeSliderContainerElement):
557         * html/shadow/MediaControlRootElementChromium.cpp:
558         (WebCore::MediaControlRootElementChromium::create):
559
560 2012-03-29  Julien Chaffraix  <jchaffraix@webkit.org>
561
562         REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
563         https://bugs.webkit.org/show_bug.cgi?id=82129
564
565         Reviewed by Ojan Vafai.
566
567         Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
568                fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
569                fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
570                fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
571                fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
572                fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
573                fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
574                fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html
575
576         This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
577         However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
578         we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
579         would be wrong on our RenderLayer children.
580
581         * rendering/RenderBox.cpp:
582         (WebCore::RenderBox::addLayoutOverflow):
583         Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.
584
585 2012-03-29  Adam Barth  <abarth@webkit.org>
586
587         [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
588         https://bugs.webkit.org/show_bug.cgi?id=82657
589
590         Reviewed by James Robinson.
591
592         We finally arive at our destination. This patch actually moves
593         WebCore::ResourceHandle from Source/WebKit/chromium/src to
594         Source/WebCore/network/chromium, matching its location in other ports.
595         To make this happen, we also need to move WrappedResourceRequest and
596         WrappedResourceResponse.
597
598         This patch is the last patch from
599         https://github.com/abarth/webkit/compare/master...webcore-platform
600
601         * WebCore.gypi:
602         * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
603         * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
604         * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.
605         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
606         (WebCore::ResourceHandleInternal::start):
607         (WebCore::ResourceHandle::loadResourceSynchronously):
608         (WebCore::ResourceHandle::cacheMetadata):
609         * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.
610
611 2012-03-29  Patrick Gansterer  <paroga@webkit.org>
612
613         Build fix for WinCE after r112555.
614
615         * platform/text/wince/TextCodecWinCE.cpp:
616         (WebCore::LanguageManager::LanguageManager):
617
618 2012-03-29  Anders Carlsson  <andersca@apple.com>
619
620         Images that reload via media queries don't paint when device scale factor changes
621         https://bugs.webkit.org/show_bug.cgi?id=82648
622         <rdar://problem/11143637>
623
624         Reviewed by Beth Dakin.
625
626         Commit scale factor changes before dirty rect changes, since setting the scale factor
627         can lead to more rects being dirtied when using the tile cache.
628
629         * platform/graphics/ca/GraphicsLayerCA.cpp:
630         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
631
632 2012-03-29  Adam Barth  <abarth@webkit.org>
633
634         Move CPP files related to ResourceHandle to WebCore/platform
635         https://bugs.webkit.org/show_bug.cgi?id=82582
636
637         Reviewed by James Robinson.
638
639         This patch moves a number of files that implement parts of the platform
640         portion of the Chromium WebKit API from the WebKit layer to
641         WebCore/platform. These files are in the dependency cone of
642         ResourceHandle and have no dependencies on anything outside
643         WebCore/platform.
644
645         * WebCore.gyp/WebCore.gyp:
646         * WebCore.gypi:
647         * platform/chromium/support: Added.
648         * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
649         * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
650         * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
651         * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
652         * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
653         * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
654         * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
655         * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
656         * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
657
658 2012-03-29  Michal Mocny  <mmocny@google.com>
659
660         [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
661         https://bugs.webkit.org/show_bug.cgi?id=82569
662
663         Reviewed by James Robinson.
664
665         Updated LayerRendererChromiumTest unittests.
666
667         * platform/graphics/chromium/LayerRendererChromium.cpp:
668         (WebCore::LayerRendererChromium::setVisible):
669         (WebCore::LayerRendererChromium::beginDrawingFrame):
670         * platform/graphics/chromium/LayerRendererChromium.h:
671         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
672         (WebCore::CCSingleThreadProxy::compositeAndReadback):
673         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
674         (WebCore::CCThreadProxy::compositeAndReadback):
675         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
676
677 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
678
679         Add a compile assert for the size of RenderBlock
680         https://bugs.webkit.org/show_bug.cgi?id=82586
681
682         Reviewed by Tony Chang.
683         
684         Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
685         We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.
686
687         * rendering/RenderBlock.cpp:
688         (SameSizeAsRenderBlock):
689         (WebCore):
690         (WebCore::RenderBlock::addOverflowFromFloats):
691         (WebCore::RenderBlock::repaintOverhangingFloats):
692         (WebCore::RenderBlock::paintFloats):
693         (WebCore::RenderBlock::insertFloatingObject):
694         (WebCore::RenderBlock::clearFloats):
695         (WebCore::RenderBlock::addOverhangingFloats):
696         (WebCore::RenderBlock::addIntrudingFloats):
697         (WebCore::RenderBlock::hitTestFloats):
698         (WebCore::RenderBlock::adjustForBorderFit):
699         * rendering/RenderBlock.h:
700         (WebCore::RenderBlock::FloatingObject::shouldPaint):
701         (WebCore::RenderBlock::FloatingObject::setShouldPaint):
702         (WebCore::RenderBlock::FloatingObject::isDescendant):
703         (WebCore::RenderBlock::FloatingObject::setIsDescendant):
704         (FloatingObject):
705         (RenderBlock):
706
707 2012-03-29  Gavin Barraclough  <barraclough@apple.com>
708
709         Template the Yarr::Interpreter on the character type
710         https://bugs.webkit.org/show_bug.cgi?id=82637
711
712         Reviewed by Sam Weinig.
713
714         We should be able to call to the interpreter after having already checked the character type,
715         without having to re-package the character pointer back up into a string!
716
717         * inspector/ContentSearchUtils.cpp:
718         (WebCore::ContentSearchUtils::findMagicComment):
719         * platform/text/RegularExpression.cpp:
720         (WebCore::RegularExpression::match):
721             - Don't pass length.
722
723 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
724
725         Unreviewed, rolling out r112553.
726         http://trac.webkit.org/changeset/112553
727         https://bugs.webkit.org/show_bug.cgi?id=82638
728
729         It made all tests crash on Qt WK2 (Requested by Ossy_away on
730         #webkit).
731
732         * Modules/geolocation/Geolocation.cpp:
733         (WebCore::Geolocation::stop):
734         (WebCore::Geolocation::lastPosition):
735         (WebCore::Geolocation::requestPermission):
736         (WebCore::Geolocation::startUpdating):
737         (WebCore::Geolocation::stopUpdating):
738         * Modules/geolocation/Geolocation.h:
739         (WebCore):
740         * Modules/geolocation/GeolocationController.cpp:
741         * Modules/geolocation/GeolocationController.h:
742         * WebCore.exp.in:
743         * page/GeolocationClient.h:
744         (WebCore):
745         (GeolocationClient):
746         * page/Page.cpp:
747         (WebCore::Page::Page):
748         (WebCore::Page::PageClients::PageClients):
749         * page/Page.h:
750         (WebCore):
751         (PageClients):
752         (Page):
753         (WebCore::Page::geolocationController):
754
755 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
756
757         HashMap<>::add should return a more descriptive object
758         https://bugs.webkit.org/show_bug.cgi?id=71063
759
760         Reviewed by Ryosuke Niwa.
761
762         Update code to use AddResult instead of a pair. No new tests, just a refactoring.
763
764         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
765         (WebCore::SQLTransactionCoordinator::acquireLock):
766         * Modules/webdatabase/chromium/QuotaTracker.cpp:
767         (WebCore::QuotaTracker::updateDatabaseSize):
768         * bindings/js/DOMObjectHashTableMap.h:
769         (WebCore::DOMObjectHashTableMap::get):
770         * bindings/js/JSDOMBinding.cpp:
771         (WebCore::cacheDOMStructure):
772         * bindings/js/JSDOMBinding.h:
773         (WebCore::cacheWrapper):
774         * bindings/js/JSDOMGlobalObject.h:
775         (WebCore::getDOMConstructor):
776         * bindings/js/PageScriptDebugServer.cpp:
777         (WebCore::PageScriptDebugServer::addListener):
778         * bindings/js/ScriptDebugServer.cpp:
779         (WebCore::ScriptDebugServer::setBreakpoint):
780         * bindings/js/SerializedScriptValue.cpp:
781         (WebCore::CloneSerializer::startObjectInternal):
782         (WebCore::CloneSerializer::write):
783         * bindings/v8/NPV8Object.cpp:
784         (WebCore::npCreateV8ScriptObject):
785         * bridge/IdentifierRep.cpp:
786         (WebCore::IdentifierRep::get):
787         * bridge/NP_jsobject.cpp:
788         (ObjectMap::add):
789         * css/CSSComputedStyleDeclaration.cpp:
790         (WebCore::logUnimplementedPropertyID):
791         * css/CSSFontFaceSource.cpp:
792         (WebCore::CSSFontFaceSource::getFontData):
793         * css/CSSFontSelector.cpp:
794         (WebCore::CSSFontSelector::addFontFaceRule):
795         (WebCore::CSSFontSelector::getFontData):
796         * css/CSSSegmentedFontFace.cpp:
797         (WebCore::CSSSegmentedFontFace::getFontData):
798         * css/CSSStyleApplyProperty.cpp:
799         (WebCore::ApplyPropertyCounter::applyInheritValue):
800         (WebCore::ApplyPropertyCounter::applyValue):
801         * css/CSSStyleSelector.cpp:
802         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
803         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
804         * css/CSSValuePool.cpp:
805         (WebCore::CSSValuePool::createIdentifierValue):
806         (WebCore::CSSValuePool::createColorValue):
807         (WebCore::CSSValuePool::createValue):
808         (WebCore::CSSValuePool::createFontFamilyValue):
809         (WebCore::CSSValuePool::createFontFaceValue):
810         * dom/CheckedRadioButtons.cpp:
811         (WebCore::RadioButtonGroup::add):
812         (WebCore::CheckedRadioButtons::addButton):
813         * dom/ChildListMutationScope.cpp:
814         (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
815         * dom/Document.cpp:
816         (WebCore::Document::windowNamedItems):
817         (WebCore::Document::documentNamedItems):
818         (WebCore::Document::getCSSCanvasElement):
819         (WebCore::Document::getItems):
820         * dom/DocumentEventQueue.cpp:
821         (WebCore::DocumentEventQueue::enqueueEvent):
822         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
823         (WebCore::DocumentEventQueue::pendingEventTimerFired):
824         * dom/DocumentOrderedMap.cpp:
825         (WebCore::DocumentOrderedMap::add):
826         * dom/EventListenerMap.cpp:
827         (WebCore::EventListenerMap::add):
828         * dom/Node.cpp:
829         (WebCore::Node::dumpStatistics):
830         (WebCore::Node::getElementsByTagName):
831         (WebCore::Node::getElementsByTagNameNS):
832         (WebCore::Node::getElementsByName):
833         (WebCore::Node::getElementsByClassName):
834         (WebCore::Node::collectMatchingObserversForMutation):
835         * dom/QualifiedName.cpp:
836         (WebCore::QualifiedName::init):
837         * dom/SpaceSplitString.cpp:
838         (WebCore::SpaceSplitStringData::create):
839         * dom/StyledElement.cpp:
840         (WebCore::StyledElement::updateAttributeStyle):
841         * html/HTMLCollection.cpp:
842         (WebCore::HTMLCollection::append):
843         * inspector/DOMPatchSupport.cpp:
844         (WebCore::DOMPatchSupport::diff):
845         * inspector/InspectorCSSAgent.cpp:
846         (WebCore::SelectorProfile::commitSelector):
847         * inspector/InspectorDOMAgent.cpp:
848         (WebCore::InspectorDOMAgent::performSearch):
849         * inspector/InspectorDebuggerAgent.cpp:
850         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
851         * inspector/InspectorValues.h:
852         (WebCore::InspectorObject::setValue):
853         (WebCore::InspectorObject::setObject):
854         (WebCore::InspectorObject::setArray):
855         * loader/appcache/ApplicationCacheGroup.cpp:
856         (WebCore::ApplicationCacheGroup::addEntry):
857         * loader/appcache/ApplicationCacheStorage.cpp:
858         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
859         * page/EventHandler.cpp:
860         (WebCore::EventHandler::handleTouchEvent):
861         * page/PageGroup.cpp:
862         (WebCore::PageGroup::pageGroup):
863         (WebCore::PageGroup::addVisitedLink):
864         (WebCore::PageGroup::addUserScriptToWorld):
865         (WebCore::PageGroup::addUserStyleSheetToWorld):
866         * page/SecurityPolicy.cpp:
867         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
868         * page/TouchAdjustment.cpp:
869         (WebCore::TouchAdjustment::compileSubtargetList):
870         * platform/cf/BinaryPropertyList.cpp:
871         (WebCore::BinaryPropertyListPlan::writeInteger):
872         (WebCore::BinaryPropertyListPlan::writeString):
873         (WebCore::BinaryPropertyListPlan::writeIntegerArray):
874         * platform/graphics/blackberry/LayerTiler.cpp:
875         (WebCore::LayerTiler::addTileJob):
876         * platform/graphics/ca/GraphicsLayerCA.cpp:
877         (WebCore::GraphicsLayerCA::findOrMakeClone):
878         * platform/graphics/ca/mac/TileCache.mm:
879         (WebCore::TileCache::revalidateTiles):
880         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
881         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
882         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
883         (WebCore::getDerivedFontData):
884         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
885         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
886         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
887         (WebCore::initializeATSUStyle):
888         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
889         (WebCore::SimpleFontData::getCFStringAttributes):
890         * platform/graphics/mac/SimpleFontDataMac.mm:
891         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
892         * platform/graphics/wince/FontPlatformData.cpp:
893         (WebCore::FixedSizeFontData::create):
894         * platform/gtk/RenderThemeGtk3.cpp:
895         (WebCore::getStyleContext):
896         * platform/mac/ThreadCheck.mm:
897         (WebCoreReportThreadViolation):
898         * platform/network/HTTPHeaderMap.cpp:
899         (WebCore::HTTPHeaderMap::add):
900         * platform/network/HTTPHeaderMap.h:
901         (HTTPHeaderMap):
902         * platform/network/ResourceRequestBase.cpp:
903         (WebCore::ResourceRequestBase::addHTTPHeaderField):
904         * plugins/PluginDatabase.cpp:
905         (WebCore::PluginDatabase::add):
906         (WebCore::PluginDatabase::loadPersistentMetadataCache):
907         * plugins/win/PluginDatabaseWin.cpp:
908         (WebCore::PluginDatabase::getPluginPathsInDirectories):
909         * rendering/RenderBlock.cpp:
910         (WebCore::RenderBlock::addPercentHeightDescendant):
911         * rendering/RenderBlockLineLayout.cpp:
912         (WebCore::setLogicalWidthForTextRun):
913         * rendering/RenderNamedFlowThread.cpp:
914         (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
915         * rendering/RenderRegion.cpp:
916         (WebCore::RenderRegion::setRenderBoxRegionInfo):
917         * rendering/svg/RenderSVGResourceGradient.cpp:
918         (WebCore::RenderSVGResourceGradient::applyResource):
919         * rendering/svg/RenderSVGResourcePattern.cpp:
920         (WebCore::RenderSVGResourcePattern::applyResource):
921         * storage/StorageMap.cpp:
922         (WebCore::StorageMap::setItem):
923         (WebCore::StorageMap::importItem):
924         * svg/SVGDocumentExtensions.cpp:
925         (WebCore::SVGDocumentExtensions::addPendingResource):
926         * xml/XMLHttpRequest.cpp:
927         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
928         * xml/XPathFunctions.cpp:
929         (WebCore::XPath::FunId::evaluate):
930         * xml/XPathPath.cpp:
931         (WebCore::XPath::LocationPath::evaluate):
932         * xml/XPathPredicate.cpp:
933         (WebCore::XPath::Union::evaluate):
934
935 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
936
937         Web Inspector: improve window selection accuracy in vertical overview of timeline panel
938         https://bugs.webkit.org/show_bug.cgi?id=82625
939
940         Reviewed by Vsevolod Vlasov.
941
942         * inspector/front-end/TimelineOverviewPane.js:
943         (WebInspector.TimelineVerticalOverview):
944         (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
945         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.
946
947 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
948
949         GEOLOCATION should be implemented as Page Supplement
950         https://bugs.webkit.org/show_bug.cgi?id=82228
951
952         Reviewed by Adam Barth.
953
954         Geolocation now uses the Supplement interface instead of
955         keeping an instance variable on Page. This allows us to
956         remove all geolocation-related functions, variables, and
957         ifdefs out of Page and into Modules/geolocation/.
958
959         * Modules/geolocation/Geolocation.cpp:
960         (WebCore::Geolocation::stop):
961         (WebCore::Geolocation::lastPosition):
962         (WebCore::Geolocation::requestPermission):
963         (WebCore::Geolocation::startUpdating):
964         (WebCore::Geolocation::stopUpdating):
965         * Modules/geolocation/Geolocation.h:
966         (WebCore):
967         * Modules/geolocation/GeolocationController.cpp:
968         (WebCore::GeolocationController::supplementName):
969         (WebCore):
970         (WebCore::provideGeolocationTo):
971         * Modules/geolocation/GeolocationController.h:
972         (GeolocationController):
973         (WebCore::GeolocationController::from):
974         * WebCore.exp.in:
975         * page/GeolocationClient.h:
976         (WebCore):
977         (GeolocationClient):
978         * page/Page.cpp:
979         (WebCore::Page::Page):
980         (WebCore::Page::PageClients::PageClients):
981         * page/Page.h:
982         (WebCore):
983         (PageClients):
984         (Page):
985
986 2012-03-29  John Bates  <jbates@google.com>
987
988         Sync up WebKit TraceEvent.h with chromium trace_event.h
989         https://bugs.webkit.org/show_bug.cgi?id=82527
990
991         Reviewed by James Robinson.
992
993         * platform/chromium/TraceEvent.h:
994
995 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
996
997         Web Inspector: subtree disapears from <iframe> after loading
998         https://bugs.webkit.org/show_bug.cgi?id=76552
999
1000         Reviewed by Yury Semikhatsky.
1001
1002         The problem was that content document subtree was not unbound upon iframe re-push.
1003         Upon owner element refresh content document was not sent to the frontend
1004         since backend assumed that front-end has already had the up-to-date version.
1005
1006         Test: inspector/elements/iframe-load-event.html
1007
1008         * inspector/InspectorDOMAgent.cpp:
1009         (WebCore::InspectorDOMAgent::loadEventFired):
1010
1011 2012-03-29  Dana Jansens  <danakj@chromium.org>
1012
1013         [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
1014         https://bugs.webkit.org/show_bug.cgi?id=82380
1015
1016         Reviewed by Adrienne Walker.
1017
1018         The current occlusion was exposed on the occlusion tracker for the
1019         transition over to culling 2.0 which has landed, so we can remove
1020         it now. It still had one use in unit tests which is moved to a
1021         test subclass.
1022
1023         Above test subclass already existed in the occlusion tracker tests,
1024         so pulled it out to a common file CCOcclusionTrackerTestCommon.h
1025         so that other unit tests can use it to get at occlusion internals.
1026
1027         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1028         (WebCore):
1029         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1030
1031 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
1032
1033         <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
1034
1035         Test: fast/forms/range/range-drag-when-toggled-disabled.html
1036
1037         Reviewed by Kent Tamura.
1038
1039         * html/shadow/SliderThumbElement.cpp:
1040         (WebCore::SliderThumbElement::defaultEventHandler):
1041         A slider can toggle its readonly or disabled state while in the middle
1042         of dragging, in those cases we should cancel the drag and perform cleanup.
1043
1044 2012-03-29  Adam Klein  <adamk@chromium.org>
1045
1046         Factor out common post-insertion logic in ContainerNode
1047         https://bugs.webkit.org/show_bug.cgi?id=82544
1048
1049         Reviewed by Ryosuke Niwa.
1050
1051         appendChild, insertBefore, and replaceChild all share a great deal of logic.
1052         This patch factors out the "post-insertion" logic that deals with
1053         notifying parents that their children changed and notifying children
1054         that they've been added to the tree.
1055
1056         Besides reducing code duplication, this is in preparation for moving
1057         this post-insertion notification later in the insertion process.
1058
1059         No new tests, no change in behavior.
1060
1061         * dom/ContainerNode.cpp:
1062         (WebCore):
1063         (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
1064         (WebCore::ContainerNode::replaceChild): ditto.
1065         (WebCore::ContainerNode::appendChild): ditto.
1066         (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.
1067
1068 2012-03-29  Tony Chang  <tony@chromium.org>
1069
1070         Need to implement flex-line-pack
1071         https://bugs.webkit.org/show_bug.cgi?id=70794
1072
1073         Reviewed by Ojan Vafai.
1074
1075         Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
1076                css3/flexbox/multiline-line-pack.html
1077
1078         * rendering/RenderFlexibleBox.cpp:
1079         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
1080         (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
1081         (WebCore):
1082         (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
1083         (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
1084             Note that we don't need to relayout on stretch because
1085             alignChildren will do that for us (only auto size needs stretching).
1086         (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
1087             cross axis offset before calling packFlexLines because we can
1088             move the the line contexts.
1089         * rendering/RenderFlexibleBox.h:
1090
1091 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
1092
1093         Web Inspector: SnippetsScriptMapping should process existing snippets on load.
1094         https://bugs.webkit.org/show_bug.cgi?id=82619
1095
1096         Reviewed by Pavel Feldman.
1097
1098         SnippetsScriptMapping now loads existing snippets on creation.
1099         Otherwise scripts panel shows snippets created during current session only.
1100         Drive-by ScriptsNavigator closure compilation fix.
1101
1102         * inspector/front-end/SnippetsModel.js:
1103         (WebInspector.SnippetsModel.prototype.set get snippets):
1104         (WebInspector.SnippetsScriptMapping):
1105         (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
1106         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1107
1108 2012-03-29  Yury Semikhatsky  <yurys@chromium.org>
1109
1110         Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
1111         https://bugs.webkit.org/show_bug.cgi?id=82621
1112
1113         Reviewed by Pavel Feldman.
1114
1115         * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
1116         to the first place saves 1 of 6 secs on the heap profiler perf test.
1117         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1118         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
1119         one and is the only one that doesn't have dominator, so we may start iterating nodes from
1120         the second node and avoid additional check in the loop.
1121
1122 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
1123
1124         Web Inspector: "go to the previous panel" shortcut is painful to maintain
1125         https://bugs.webkit.org/show_bug.cgi?id=82602
1126
1127         Reviewed by Vsevolod Vlasov.
1128
1129         Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
1130         more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
1131         Remaping it to Cmd - Option - [ (]) /  (Ctrl - Alt - [ (]) ).
1132
1133         Drive-by: de-capitalize captions from the settings panel.
1134
1135         * English.lproj/localizedStrings.js:
1136         * inspector/front-end/ConsoleView.js:
1137         (WebInspector.ConsoleView.prototype._registerShortcuts):
1138         * inspector/front-end/InspectorView.js:
1139         (WebInspector.InspectorView.prototype._keyDown):
1140         * inspector/front-end/ScriptsPanel.js:
1141         * inspector/front-end/TimelinePanel.js:
1142         (WebInspector.TimelinePanel.prototype._registerShortcuts):
1143         (WebInspector.TimelinePanel.prototype._contextMenu):
1144         * inspector/front-end/inspector.js:
1145         (WebInspector._registerShortcuts):
1146
1147 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
1148
1149         Unreviewed, rolling out r112531.
1150         http://trac.webkit.org/changeset/112531
1151         https://bugs.webkit.org/show_bug.cgi?id=82616
1152
1153         Broke timeline overview selection
1154
1155         * inspector/front-end/TimelineOverviewPane.js:
1156         (WebInspector.TimelineOverviewWindow):
1157
1158 2012-03-28  Dirk Schulze  <krit@webkit.org>
1159
1160         Introduce CSSParserMode in all classes
1161         https://bugs.webkit.org/show_bug.cgi?id=82335
1162
1163         Reviewed by Ryosuke Niwa.
1164
1165         Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
1166         But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.
1167
1168         No new tests. No change of functionality. Everything gets covered by existing tests.
1169
1170         * css/CSSImportRule.cpp:
1171         (WebCore::CSSImportRule::setCSSStyleSheet):
1172         * css/CSSMediaRule.cpp:
1173         (WebCore::CSSMediaRule::insertRule):
1174         * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
1175         (WebCore):
1176         (WebCore::parseColorValue):
1177         (WebCore::parseSimpleLengthValue):
1178         (WebCore::CSSParser::parseFontFaceValue):
1179         (WebCore::CSSParser::parseValue):
1180         (WebCore::CSSParser::parseColor):
1181         (WebCore::CSSParser::createStyleRule):
1182         (WebCore::CSSParser::createFontFaceRule):
1183         (WebCore::CSSParser::createPageRule):
1184         (WebCore::CSSParser::createKeyframeRule):
1185         * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
1186         (CSSParser):
1187         * css/CSSParserMode.h:
1188         (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
1189         (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
1190         * css/CSSRule.h:
1191         (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
1192         * css/CSSStyleSheet.cpp:
1193         (WebCore::CSSStyleSheet::CSSStyleSheet):
1194         (WebCore::CSSStyleSheet::insertRule):
1195         (WebCore::CSSStyleSheet::parseString):
1196         (WebCore::CSSStyleSheet::parseStringAtLine):
1197         * css/CSSStyleSheet.h:
1198         (CSSStyleSheet):
1199         (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
1200         (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
1201         * css/MediaList.cpp:
1202         (WebCore::MediaQuerySet::parse):
1203         (WebCore::MediaQuerySet::add):
1204         (WebCore::MediaQuerySet::remove):
1205         * css/StylePropertySet.cpp:
1206         (WebCore::StylePropertySet::StylePropertySet):
1207         (WebCore::StylePropertySet::setProperty):
1208         (WebCore::StylePropertySet::parseDeclaration):
1209         * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.  
1210         (WebCore::StylePropertySet::create):
1211         (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
1212         (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
1213         (StylePropertySet):
1214         * css/StyleSheet.h:
1215         (StyleSheet):
1216         * css/WebKitCSSKeyframesRule.cpp:
1217         (WebCore::WebKitCSSKeyframesRule::insertRule):
1218         * css/WebKitCSSMatrix.cpp:
1219         (WebCore::WebKitCSSMatrix::setMatrixValue):
1220         * dom/Document.cpp:
1221         (WebCore::Document::webkitGetFlowByName):
1222         (WebCore::Document::pageUserSheet):
1223         (WebCore::Document::pageGroupUserSheets):
1224         * dom/Element.cpp:
1225         (WebCore::Element::webkitMatchesSelector):
1226         * dom/ElementAttributeData.cpp:
1227         (WebCore::ElementAttributeData::ensureInlineStyle):
1228         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
1229         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
1230         * dom/Node.cpp:
1231         (WebCore::Node::querySelector):
1232         (WebCore::Node::querySelectorAll):
1233         * dom/ProcessingInstruction.cpp:
1234         (WebCore::ProcessingInstruction::parseStyleSheet):
1235         * dom/StyleElement.cpp:
1236         (WebCore::StyleElement::createSheet):
1237         * html/HTMLElement.cpp:
1238         (WebCore::StyledElement::copyNonAttributeProperties):
1239         * html/HTMLLinkElement.cpp:
1240         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1241         * html/canvas/CanvasRenderingContext2D.cpp:
1242         (WebCore::CanvasRenderingContext2D::setFont):
1243         * html/shadow/ContentSelectorQuery.cpp:
1244         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
1245         * inspector/InspectorStyleSheet.cpp:
1246         (WebCore::InspectorStyleSheet::reparseStyleSheet):
1247         * svg/SVGElementRareData.h:
1248         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
1249         * svg/SVGFontFaceElement.cpp:
1250         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1251         * svg/SVGStyledElement.cpp:
1252         (WebCore::SVGStyledElement::getPresentationAttribute):
1253         * xml/XSLStyleSheet.h:
1254         (XSLStyleSheet):
1255         * xml/XSLStyleSheetLibxslt.cpp:
1256         (WebCore::XSLStyleSheet::parseString):
1257         * xml/XSLStyleSheetQt.cpp:
1258         (WebCore::XSLStyleSheet::parseString):
1259
1260 2012-03-29  Sanghyun Park  <sh919.park@samsung.com>
1261
1262         Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
1263         https://bugs.webkit.org/show_bug.cgi?id=81639
1264
1265         Reviewed by Eric Carlson.
1266
1267         Test : LayoutTest/webaudio/audiobuffersource-channels.html
1268
1269         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1270
1271 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
1272
1273         Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
1274         https://bugs.webkit.org/show_bug.cgi?id=82614
1275
1276         Reviewed by Pavel Feldman.
1277
1278         UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
1279         This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
1280
1281         * inspector/front-end/ScriptsPanel.js:
1282         (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
1283         (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
1284         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1285         (WebInspector.ScriptsPanel.prototype._reset):
1286         * inspector/front-end/SnippetsModel.js:
1287         (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
1288
1289 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
1290
1291         Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
1292         https://bugs.webkit.org/show_bug.cgi?id=82616
1293
1294         Reviewed by Pavel Feldman.
1295
1296         * inspector/front-end/TimelineOverviewPane.js:
1297         (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
1298         (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):
1299
1300 2012-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1301
1302         Unavailable pre-processor macro in non-Qt environments
1303         https://bugs.webkit.org/show_bug.cgi?id=82042
1304
1305         Reviewed by Simon Hausmann.
1306
1307         This patch removes the use of the macro QT_VERSION_CHECK() because, in
1308         non-Qt environments, the pre-processors raises an error. Instead of
1309         calling the macro to generate the version number, the version is
1310         expressed directly.
1311
1312         * platform/graphics/texmap/TextureMapperGL.cpp:
1313         (SharedGLData): remove pre-processor macro for Qt version check.
1314
1315 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
1316
1317         Web Inspector: event details popover in Timeline panel displays invalid time offset
1318         https://bugs.webkit.org/show_bug.cgi?id=82611
1319
1320         Reviewed by Pavel Feldman.
1321
1322         * inspector/front-end/TimelinePresentationModel.js:
1323         (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
1324
1325 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
1326
1327         Web Inspector: use canvas to render bars in "vertical overview" mode
1328         https://bugs.webkit.org/show_bug.cgi?id=82606
1329
1330         Reviewed by Pavel Feldman.
1331
1332         * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
1333         (WebInspector.TimelineVerticalOverview):
1334         (WebInspector.TimelineVerticalOverview.prototype.update):
1335         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
1336         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
1337         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
1338         * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
1339         (.timeline-vertical-overview-bars):
1340
1341 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
1342
1343         Web Inspector: timeline overview window selection is not reset upon clear/record
1344         https://bugs.webkit.org/show_bug.cgi?id=82603
1345
1346         Reviewed by Pavel Feldman.
1347
1348         - TimelineOverviewPane.reset() -> _reset();
1349         - perform update() from reset();
1350         - perform reset() upon RecordsCleared event from the model.
1351
1352         * inspector/front-end/TimelineOverviewPane.js:
1353         (WebInspector.TimelineOverviewPane):
1354         (WebInspector.TimelineOverviewPane.prototype._reset):
1355         (WebInspector.TimelineVerticalOverview):
1356         (WebInspector.TimelineVerticalOverview.prototype.update):
1357         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
1358         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
1359         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
1360         * inspector/front-end/timelinePanel.css:
1361         (.timeline-vertical-overview-bars):
1362
1363 2012-03-29  Zalan Bujtas  <zbujtas@gmail.com>
1364
1365         Remove redundant updateViewportArguments() call when page is restored from page cache.
1366         https://bugs.webkit.org/show_bug.cgi?id=82500
1367
1368         Reviewed by Kenneth Rohde Christiansen.
1369
1370         Document::updateViewportArguments() is called twice, while restoring a page from page cache.
1371         First, it is called when the document is set on the mainframe and later, it is called
1372         when page cache finished the restoration. Since viewport arguments don't change between
1373         the 2 calls, it's safe to remove the second.
1374
1375         Manual test added. Viewport value updates heavily depend on UI process code.
1376
1377         * dom/Document.cpp:
1378         (WebCore::Document::documentDidResumeFromPageCache):
1379
1380 2012-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>
1381
1382         [BlackBerry] Add Internal test support for blackberry porting.
1383         https://bugs.webkit.org/show_bug.cgi?id=82597
1384
1385         Reviewed by Rob Buis.
1386
1387         No new tests, just the build system enhancement for BlackBerry porting.
1388
1389         * UseJSC.cmake:
1390
1391 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
1392
1393         Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
1394         https://bugs.webkit.org/show_bug.cgi?id=82453
1395
1396         When heap snapshot is completely loaded move nodes and containment edges
1397         into two separate arrays. This way we don't need _nodeIndex and _nodePosition
1398         maps to go from node offset inside the raw snapshot to its index and back, instead
1399         we may just divide node offset by the number of node fields to get node index. After
1400         the nodes and containment edges are separated original array (_nodes) is dropped.
1401         All front-end code was switched to the new representation.
1402
1403         Reviewed by Pavel Feldman.
1404
1405         * inspector/front-end/HeapSnapshot.js:
1406         (WebInspector.HeapSnapshotRetainerEdge):
1407         (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
1408         (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
1409         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
1410         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
1411         (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
1412         (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
1413         (WebInspector.HeapSnapshotNode.prototype.get retainers):
1414         (WebInspector.HeapSnapshotNode.prototype.get _nodes):
1415         (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
1416         (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
1417         (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
1418         (WebInspector.HeapSnapshot.prototype._init):
1419         (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
1420         (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
1421         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
1422         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1423         (WebInspector.HeapSnapshot.prototype.dispose):
1424         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1425         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1426         (WebInspector.HeapSnapshot.prototype._bfs):
1427         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1428         (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
1429         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
1430         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1431
1432 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
1433
1434         [BlackBerry] Add m_targetType to WorkerScriptLoader
1435         https://bugs.webkit.org/show_bug.cgi?id=82574
1436
1437         Reviewed by Rob Buis.
1438
1439         Just as Chromium porting blackberry porting is using m_targetType also.
1440
1441         * workers/WorkerScriptLoader.h:
1442         (WorkerScriptLoader):
1443
1444 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
1445
1446         [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
1447         https://bugs.webkit.org/show_bug.cgi?id=82570
1448
1449         Reviewed by Rob Buis.
1450
1451         No new tests, no change in functionality.
1452
1453         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1454         (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
1455         (WebCore):
1456
1457 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
1458
1459         [BlackBerry] Clean up ImageBufferData
1460         https://bugs.webkit.org/show_bug.cgi?id=82444
1461
1462         Reviewed by Rob Buis.
1463
1464         No behavior changes, no new tests.
1465
1466         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
1467         (ImageBufferData): Remove unused member variable m_buffer and change the type
1468         of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.
1469
1470 2012-03-28  Antti Koivisto  <antti@apple.com>
1471
1472         Split WebKitCSSKeyframeRule into internal and CSSOM types 
1473         https://bugs.webkit.org/show_bug.cgi?id=82490 
1474
1475         Reviewed by Andreas Kling.
1476
1477         WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
1478         
1479         - Add StyleKeyframe as the internal data structure for keyframes.
1480         - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
1481         - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
1482
1483         * css/CSSGrammar.y:
1484         
1485             Use StyleKeyframes instead of WebKitCSSKeyframeRules.
1486         
1487         * css/CSSMediaRule.h:
1488         (CSSMediaRule):
1489         (WebCore::CSSMediaRule::length):
1490         (WebCore::CSSMediaRule::item):
1491         
1492             Adapt to LiveCSSRuleList changes.
1493         
1494         * css/CSSParser.cpp:
1495         (WebCore::CSSParser::parseKeyframeRule):
1496         (WebCore::CSSParser::createKeyframe):
1497         * css/CSSParser.h:        
1498         (WebCore):
1499         (CSSParser):
1500         
1501             Construct StyleKeyframes.
1502         
1503         * css/CSSRuleList.h:
1504         (WebCore::LiveCSSRuleList::length):
1505         (WebCore::LiveCSSRuleList::item):
1506
1507             Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
1508     
1509         * css/CSSStyleSelector.cpp:
1510         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1511         * css/CSSStyleSelector.h:
1512         (CSSStyleSelector):
1513         * css/WebKitCSSKeyframeRule.cpp:
1514         
1515             Use StyleKeyframe.
1516             Make 0% and 100% keyframes static.
1517         
1518         (WebCore):
1519         (WebCore::StyleKeyframe::setProperties):
1520         (WebCore::StyleKeyframe::parseKeyString):
1521         (WebCore::StyleKeyframe::cssText):
1522         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
1523         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
1524         (WebCore::WebKitCSSKeyframeRule::style):
1525         * css/WebKitCSSKeyframeRule.h:
1526         (WebCore):
1527         (WebCore::StyleKeyframe::create):
1528         (WebCore::StyleKeyframe::keyText):
1529         (WebCore::StyleKeyframe::setKeyText):
1530         (StyleKeyframe):
1531         (WebCore::StyleKeyframe::properties):
1532         (WebCore::StyleKeyframe::StyleKeyframe):
1533         (WebKitCSSKeyframeRule):
1534         (WebCore::WebKitCSSKeyframeRule::keyText):
1535         (WebCore::WebKitCSSKeyframeRule::setKeyText):
1536         (WebCore::WebKitCSSKeyframeRule::cssText):
1537         
1538             Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe. 
1539         
1540         * css/WebKitCSSKeyframesRule.cpp:
1541         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
1542         (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
1543         (WebCore::WebKitCSSKeyframesRule::insertRule):
1544         (WebCore::WebKitCSSKeyframesRule::deleteRule):
1545         (WebCore::WebKitCSSKeyframesRule::findRule):
1546         (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
1547         (WebCore::WebKitCSSKeyframesRule::cssText):
1548         (WebCore):
1549         (WebCore::WebKitCSSKeyframesRule::item):
1550         * css/WebKitCSSKeyframesRule.h:
1551         (WebCore):
1552         (WebCore::WebKitCSSKeyframesRule::keyframes):
1553         (WebKitCSSKeyframesRule):
1554         (WebCore::WebKitCSSKeyframesRule::length):
1555         
1556             Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
1557             Construct the wrapper vector and wrappers themselves on demand.
1558             Keep the vectors in sync during mutations.
1559         
1560         * css/WebKitCSSRegionRule.h:
1561         
1562             Adapt to LiveCSSRuleList changes.
1563
1564 2012-03-29  Zeno Albisser  <zeno@webkit.org>
1565
1566         Fieldset disabled attribute does not work.
1567         https://bugs.webkit.org/show_bug.cgi?id=58837
1568
1569         Make HTMLFormControlElements inherit the disabled state
1570         from HTMLFieldSetElement ancestors. Subordinates of the
1571         first HTMLLegendElement in a fieldset will never be disabled.
1572
1573         Patch by Zeno Albisser <zeno@webkit.org>
1574
1575         Test: fast/forms/fieldset-disabled.html
1576
1577         Reviewed by Kent Tamura.
1578
1579         * html/HTMLFieldSetElement.cpp:
1580         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
1581         (WebCore):
1582         (WebCore::HTMLFieldSetElement::legend):
1583         * html/HTMLFieldSetElement.h:
1584         (HTMLFieldSetElement):
1585         * html/HTMLFieldSetElement.idl:
1586         * html/HTMLFormControlElement.cpp:
1587         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1588         (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
1589         (WebCore):
1590         (WebCore::HTMLFormControlElement::parseAttribute):
1591         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
1592         (WebCore::HTMLFormControlElement::removedFromTree):
1593         (WebCore::HTMLFormControlElement::disabled):
1594         * html/HTMLFormControlElement.h:
1595         (WebCore):
1596         (HTMLFormControlElement):
1597
1598 2012-03-29  Tommy Widenflycht  <tommyw@google.com>
1599
1600         MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
1601         https://bugs.webkit.org/show_bug.cgi?id=82584
1602
1603         Reviewed by Adam Barth.
1604
1605         No changes that affects functionality.
1606
1607         * Modules/mediastream/PeerConnection00.cpp:
1608         (WebCore::PeerConnection00::createOffer):
1609         (WebCore::PeerConnection00::createAnswer):
1610
1611 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
1612
1613         Pack bitfields in InlineBox for Windows
1614         https://bugs.webkit.org/show_bug.cgi?id=82578
1615
1616         Reviewed by Kent Tamura.
1617
1618         Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
1619         sturct AB {
1620         unsigned m_1 : 31;
1621         bool m_2 : 1;
1622         }
1623         then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
1624         sizeof(unsigned) * 1 for AB.
1625
1626         Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
1627
1628         * rendering/EllipsisBox.cpp:
1629         (WebCore::EllipsisBox::paint):
1630         (WebCore::EllipsisBox::selectionRect):
1631         (WebCore::EllipsisBox::nodeAtPoint):
1632         * rendering/InlineBox.cpp:
1633         (WebCore):
1634         (SameSizeAsInlineBox):
1635         (WebCore::InlineBox::logicalHeight):
1636         (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
1637         (WebCore::InlineBox::lineHeight): Ditto.
1638         (WebCore::InlineBox::deleteLine):
1639         (WebCore::InlineBox::extractLine):
1640         (WebCore::InlineBox::attachLine):
1641         (WebCore::InlineBox::nextOnLineExists):
1642         (WebCore::InlineBox::clearKnownToHaveNoOverflow):
1643         * rendering/InlineBox.h:
1644         (WebCore::InlineBox::InlineBox):
1645         (WebCore::InlineBox::isText):
1646         (WebCore::InlineBox::setIsText):
1647         (WebCore::InlineBox::hasVirtualLogicalHeight):
1648         (WebCore::InlineBox::setHasVirtualLogicalHeight):
1649         (WebCore::InlineBox::isHorizontal):
1650         (WebCore::InlineBox::setIsHorizontal):
1651         (WebCore::InlineBox::isConstructed):
1652         (WebCore::InlineBox::setConstructed):
1653         (WebCore::InlineBox::setExtracted):
1654         (WebCore::InlineBox::setFirstLineStyleBit):
1655         (WebCore::InlineBox::isFirstLineStyle):
1656         (InlineBox):
1657         (WebCore::InlineBox::bidiLevel):
1658         (WebCore::InlineBox::setBidiLevel):
1659         (WebCore::InlineBox::direction):
1660         (WebCore::InlineBox::isDirty):
1661         (WebCore::InlineBox::markDirty):
1662         (WebCore::InlineBox::expansion):
1663         (WebCore::InlineBox::verticalAlign):
1664         (WebCore::InlineBox::knownToHaveNoOverflow):
1665         (WebCore::InlineBox::dirOverride):
1666         (WebCore::InlineBox::setDirOverride):
1667         (InlineBoxBitfields):
1668         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
1669         (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
1670         (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
1671         (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
1672         (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
1673         (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
1674         (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
1675         (WebCore::InlineBox::InlineBoxBitfields::expansion):
1676         (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
1677         (WebCore::InlineBox::endsWithBreak):
1678         (WebCore::InlineBox::setEndsWithBreak):
1679         (WebCore::InlineBox::hasEllipsisBox):
1680         (WebCore::InlineBox::hasSelectedChildren):
1681         (WebCore::InlineBox::setHasSelectedChildren):
1682         (WebCore::InlineBox::setHasEllipsisBox):
1683         (WebCore::InlineBox::hasHyphen):
1684         (WebCore::InlineBox::setHasHyphen):
1685         (WebCore::InlineBox::canHaveLeadingExpansion):
1686         (WebCore::InlineBox::setCanHaveLeadingExpansion):
1687         (WebCore::InlineBox::setExpansion):
1688         (WebCore::InlineBox::extracted):
1689         * rendering/InlineFlowBox.cpp:
1690         (WebCore::InlineFlowBox::addToLine):
1691         (WebCore::InlineFlowBox::removeChild):
1692         (WebCore::InlineFlowBox::extractLine):
1693         (WebCore::InlineFlowBox::attachLine):
1694         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1695         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1696         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1697         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1698         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
1699         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1700         (WebCore::InlineFlowBox::paintBoxDecorations):
1701         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1702         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1703         * rendering/InlineTextBox.cpp:
1704         (WebCore::InlineTextBox::destroy):
1705         (WebCore::InlineTextBox::logicalOverflowRect):
1706         (WebCore::InlineTextBox::setLogicalOverflowRect):
1707         (WebCore::InlineTextBox::baselinePosition):
1708         (WebCore::InlineTextBox::lineHeight):
1709         (WebCore::InlineTextBox::localSelectionRect):
1710         (WebCore::InlineTextBox::extractLine):
1711         (WebCore::InlineTextBox::attachLine):
1712         (WebCore::InlineTextBox::placeEllipsisBox):
1713         (WebCore::InlineTextBox::paint):
1714         (WebCore::InlineTextBox::paintDecoration):
1715         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1716         (WebCore::InlineTextBox::paintCompositionUnderline):
1717         (WebCore::InlineTextBox::offsetForPosition):
1718         (WebCore::InlineTextBox::positionForOffset):
1719         (WebCore::InlineTextBox::constructTextRun):
1720         * rendering/InlineTextBox.h:
1721         (InlineTextBox):
1722         (WebCore::InlineTextBox::setExpansion):
1723         (WebCore::InlineTextBox::expansionBehavior):
1724         * rendering/RenderBlockLineLayout.cpp:
1725         (WebCore::RenderBlock::constructLine):
1726         * rendering/RenderTreeAsText.cpp:
1727         (WebCore::writeTextRun):
1728         * rendering/RootInlineBox.cpp:
1729         (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
1730         (WebCore::RootInlineBox::lineHeight): Ditto.
1731         (WebCore::RootInlineBox::paint):
1732         (WebCore::RootInlineBox::ascentAndDescentForBox):
1733         (WebCore::RootInlineBox::verticalPositionForBox):
1734         * rendering/RootInlineBox.h:
1735         (RootInlineBox):
1736         * rendering/svg/SVGInlineTextBox.cpp:
1737         (WebCore::SVGInlineTextBox::constructTextRun):
1738         * rendering/svg/SVGRenderTreeAsText.cpp:
1739         (WebCore::writeSVGInlineTextBox):
1740
1741 2012-03-29  hayato@chromium.org  <hayato@chromium.org>
1742
1743         Let focus navigation be compliant with Shadow DOM spec.
1744         https://bugs.webkit.org/show_bug.cgi?id=78588
1745
1746         Reviewed by Dimitri Glazkov.
1747
1748         Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
1749
1750         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
1751
1752         According to the Shadow DOM spec:
1753         The shadow DOM navigation order sequence is inserted into the document navigation order:
1754         1. immediately after the shadow host, if the shadow host is focusable; or
1755         2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
1756
1757         Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
1758         since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
1759         Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
1760
1761         Implementation notes:
1762         Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
1763         Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
1764         To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
1765         it does not skip a non-focusable shadow host in current focus scope.
1766         After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
1767         considering a nested focus scope inside of a shadow host or iframe.
1768         To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
1769
1770         This change does not affect an existing behavior if a shadow dom is not involved.
1771
1772         Test: fast/dom/shadow/focus-navigation.html
1773
1774         * dom/Element.cpp:
1775         (WebCore::Element::focus):
1776         * dom/ReifiedTreeTraversal.cpp:
1777         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
1778         * page/FocusController.cpp:
1779         (WebCore::isShadowHost):
1780         (WebCore):
1781         (WebCore::FocusScope::FocusScope):
1782         (WebCore::FocusScope::rootNode):
1783         (WebCore::FocusScope::owner):
1784         (WebCore::FocusScope::focusScopeOf):
1785         (WebCore::FocusScope::focusScopeOwnedByShadowHost):
1786         (WebCore::FocusScope::focusScopeOwnedByIFrame):
1787         (WebCore::hasCustomFocusLogic):
1788         (WebCore::isNonFocusableShadowHost):
1789         (WebCore::isFocusableShadowHost):
1790         (WebCore::adjustedTabIndex):
1791         (WebCore::shouldVisit):
1792         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
1793         (WebCore::FocusController::advanceFocusInDocumentOrder):
1794         (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
1795         (WebCore::FocusController::findFocusableNodeRecursively):
1796         (WebCore::FocusController::findFocusableNode):
1797         (WebCore::FocusController::findNodeWithExactTabIndex):
1798         (WebCore::nextNodeWithGreaterTabIndex):
1799         (WebCore::previousNodeWithLowerTabIndex):
1800         (WebCore::FocusController::nextFocusableNode):
1801         (WebCore::FocusController::previousFocusableNode):
1802         * page/FocusController.h:
1803         (WebCore):
1804         (FocusScope):
1805         (FocusController):
1806
1807 2012-03-28  Kinuko Yasuda  <kinuko@chromium.org>
1808
1809         [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
1810         https://bugs.webkit.org/show_bug.cgi?id=76826
1811
1812         Add two helper methods for creating isolated filesystem to the
1813         PlatformSupport interface.
1814
1815         Reviewed by David Levin.
1816
1817         No new tests: tests will be added when app-facing code is added.
1818
1819         * platform/chromium/PlatformSupport.h:
1820         (PlatformSupport):
1821
1822 2012-03-29  Vineet Chaudhary  <rgf748@motorola.com>
1823
1824         Remove custom bindings form Internals.idl of attribute type Array.
1825         https://bugs.webkit.org/show_bug.cgi?id=82319
1826
1827         Reviewed by Kentaro Hara.
1828
1829         Remove custom bindings for Array type and replace Array type with sequence<String>.
1830
1831         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
1832         even after these changes.
1833
1834         * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1835         * UseJSC.cmake: Remove JSInternalsCustom.cpp.
1836         * UseV8.cmake: Remove V8InternalsCustom.cpp.
1837         * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1838         * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1839         * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1840         * bindings/js/JSDOMBinding.h:
1841         (WebCore):
1842         (WebCore::jsArray): Added new specialize function template for Strings.
1843         * bindings/scripts/CodeGeneratorJS.pm:
1844         (JSValueToNative): Add jsArray<String>() to deduce return type.
1845         (NativeToJSValue): Added check for type String.
1846         * bindings/scripts/CodeGeneratorV8.pm:
1847         (JSValueToNative): Add v8Array<String>() to deduce return type.
1848         (NativeToJSValue): Added check for type String.
1849         * bindings/scripts/test/JS/JSTestObj.cpp:
1850         (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
1851         * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
1852         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
1853         * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
1854         (WebCore):
1855         (WebCore::v8Array):
1856         (WebCore::toNativeArray):
1857         * testing/Internals.idl: Replace Array type with sequence<String>
1858         * testing/js/JSInternalsCustom.cpp: Removed.
1859         * testing/v8/V8InternalsCustom.cpp: Removed.
1860
1861 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1862
1863         Unreviewed, rolling out r112500.
1864         http://trac.webkit.org/changeset/112500
1865         https://bugs.webkit.org/show_bug.cgi?id=82576
1866
1867         assertion failed on fast/events/tab-test-not-visible-
1868         imagemap.html on gtk/qt (Requested by hayato on #webkit).
1869
1870         * dom/Element.cpp:
1871         (WebCore::Element::focus):
1872         * page/FocusController.cpp:
1873         (WebCore):
1874         (WebCore::shadowRoot):
1875         (WebCore::isTreeScopeOwner):
1876         (WebCore::FocusController::transferFocusToElementInShadowRoot):
1877         (WebCore::hasCustomFocusLogic):
1878         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
1879         (WebCore::FocusController::advanceFocusInDocumentOrder):
1880         (WebCore::ownerOfTreeScope):
1881         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
1882         (WebCore::FocusController::findFocusableNode):
1883         (WebCore::nextNodeWithExactTabIndex):
1884         (WebCore::previousNodeWithExactTabIndex):
1885         (WebCore::nextNodeWithGreaterTabIndex):
1886         (WebCore::previousNodeWithLowerTabIndex):
1887         (WebCore::FocusController::nextFocusableNode):
1888         (WebCore::FocusController::previousFocusableNode):
1889         * page/FocusController.h:
1890         (WebCore):
1891         (FocusController):
1892
1893 2012-03-28  Kent Tamura  <tkent@chromium.org>
1894
1895         Add TextFieldDecorationElement::decorate()
1896         https://bugs.webkit.org/show_bug.cgi?id=82572
1897
1898         Reviewed by Hajime Morita.
1899
1900         This change will be needed for Bug 82143.
1901         No new tests because of no behavior changes yet. This code change
1902         doesn't affect non-Chromium ports for now.
1903
1904         * dom/ShadowRoot.cpp:
1905         (WebCore::ShadowRoot::create):
1906         Remove unnecessary assertion. We should allow multiple UA shadow roots.
1907         * html/shadow/TextFieldDecorationElement.cpp:
1908         (WebCore::TextFieldDecorationElement::decorate):
1909         Added.
1910         This function adds another ShadowRoot, and it contains one flexible box container.
1911         The container contains existin ShadowRoot content and the decoration element.
1912         * html/shadow/TextFieldDecorationElement.h:
1913         (TextFieldDecorationElement): Add the declaration of decorate().
1914
1915 2012-03-28  Vineet Chaudhary  <rgf748@motorola.com>
1916
1917         Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
1918         https://bugs.webkit.org/show_bug.cgi?id=82442
1919
1920         Reviewed by Kentaro Hara.
1921
1922         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
1923         even after these changes.
1924
1925         * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
1926         (WebCore::JSInternals::userPreferredLanguages):
1927         * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
1928         (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):
1929
1930 2012-03-28  Hayato Ito  <hayato@chromium.org>
1931
1932         Let focus navigation be compliant with Shadow DOM spec.
1933         https://bugs.webkit.org/show_bug.cgi?id=78588
1934
1935         Reviewed by Dimitri Glazkov.
1936
1937         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
1938
1939         According to the Shadow DOM spec:
1940         The shadow DOM navigation order sequence is inserted into the document navigation order:
1941         1. immediately after the shadow host, if the shadow host is focusable; or
1942         2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
1943
1944         Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
1945         since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
1946         Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
1947
1948         Implementation notes:
1949         Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
1950         Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
1951         To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
1952         it does not skip a non-focusable shadow host in current focus scope.
1953         After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
1954         considering a nested focus scope inside of a shadow host or iframe.
1955         To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
1956
1957         This change does not affect an existing behavior if a shadow dom is not involved.
1958
1959         Test: fast/dom/shadow/focus-navigation.html
1960
1961         * dom/Element.cpp:
1962         (WebCore::Element::focus):
1963         * page/FocusController.cpp:
1964         (WebCore::isShadowHost):
1965         (WebCore):
1966         (WebCore::FocusScope::FocusScope):
1967         (WebCore::FocusScope::rootNode):
1968         (WebCore::FocusScope::owner):
1969         (WebCore::FocusScope::focusScopeOf):
1970         (WebCore::FocusScope::focusScopeOwnedByShadowHost):
1971         (WebCore::FocusScope::focusScopeOwnedByIFrame):
1972         (WebCore::hasCustomFocusLogic):
1973         (WebCore::isNonFocusableShadowHost):
1974         (WebCore::isFocusableShadowHost):
1975         (WebCore::adjustedTabIndex):
1976         (WebCore::shouldVisit):
1977         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
1978         (WebCore::FocusController::advanceFocusInDocumentOrder):
1979         (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
1980         (WebCore::FocusController::findFocusableNodeRecursively):
1981         (WebCore::FocusController::findFocusableNode):
1982         (WebCore::FocusController::findNodeWithExactTabIndex):
1983         (WebCore::nextNodeWithGreaterTabIndex):
1984         (WebCore::previousNodeWithLowerTabIndex):
1985         (WebCore::FocusController::nextFocusableNode):
1986         (WebCore::FocusController::previousFocusableNode):
1987         * page/FocusController.h:
1988         (WebCore):
1989         (FocusScope):
1990         (FocusController):
1991
1992 2012-03-28  Li Yin  <li.yin@intel.com>
1993
1994         [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
1995         https://bugs.webkit.org/show_bug.cgi?id=82307
1996
1997         Reviewed by Kent Tamura.
1998
1999         From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
2000         If the WebSocket openhanding respond included the mismatched
2001         Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.
2002
2003         Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
2004
2005         * Modules/websockets/WebSocketHandshake.cpp:
2006         (WebCore::WebSocketHandshake::checkResponseHeaders):
2007
2008 2012-03-28  Jessie Berlin  <jberlin@apple.com>
2009
2010         Fix Windows build after r112482.
2011
2012         * platform/network/cf/FormDataStreamCFNet.cpp:
2013         (WebCore::formOpen):
2014         Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.
2015
2016 2012-03-28  Alexandru Chiculita  <achicu@adobe.com>
2017
2018         [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
2019         https://bugs.webkit.org/show_bug.cgi?id=82524
2020
2021         Reviewed by Dean Jackson.
2022
2023         RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
2024         even though they were to be deleted a couple of lines below. This change avoids updating the filters,
2025         if we are in the "destroyed" state.
2026
2027         No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
2028
2029         * rendering/RenderLayer.cpp:
2030         (WebCore::RenderLayer::~RenderLayer):
2031         (WebCore::RenderLayer::clearBacking):
2032         * rendering/RenderLayer.h:
2033         (RenderLayer):
2034
2035 2012-03-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2036
2037         Remove ScriptExecutionContext from NavigatorBattery.idl
2038         https://bugs.webkit.org/show_bug.cgi?id=82556
2039
2040         Reviewed by Adam Barth.
2041
2042         As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
2043         Document can be used instead of ScriptExecutionContext.
2044
2045         Tests: batterystatus/add-listener-from-callback.html
2046                batterystatus/basic-all-types-of-events.html
2047                batterystatus/basic-operation.html
2048                batterystatus/event-after-navigation.html
2049                batterystatus/multiple-frames.html
2050                batterystatus/updates.html
2051                batterystatus/window-property.html
2052
2053         * Modules/battery/BatteryManager.cpp:
2054         (WebCore::BatteryManager::create):
2055         (WebCore::BatteryManager::BatteryManager):
2056         * Modules/battery/BatteryManager.h:
2057         (BatteryManager):
2058         * Modules/battery/NavigatorBattery.cpp:
2059         (WebCore::NavigatorBattery::webkitBattery):
2060         * Modules/battery/NavigatorBattery.h:
2061         (NavigatorBattery):
2062         * Modules/battery/NavigatorBattery.idl:
2063
2064 2012-03-28  Jason Liu  <jason.liu@torchmobile.com.cn>
2065
2066         [BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
2067         https://bugs.webkit.org/show_bug.cgi?id=82041
2068
2069         We shouldn't overwrite cookies of response if there are more than one
2070         header of Set-Cookie.
2071
2072         Reviewed by Rob Buis.
2073
2074         Test: http/tests/cookies/resources/setArraycookies.php
2075
2076         * platform/network/blackberry/NetworkJob.cpp:
2077         (WebCore::NetworkJob::handleNotifyHeaderReceived):
2078
2079 2012-03-28  Noel Gordon  <noel.gordon@gmail.com>
2080
2081         JPEGImageDecoder: Set frame alpha state before marking a frame complete
2082         https://bugs.webkit.org/show_bug.cgi?id=82428
2083
2084         Reviewed by Kenneth Russell.
2085
2086         r109779 changed JPEG alpha channel handling by marking a JPEG image frame
2087         as having no alpha _after_ setting the image status frame-complete, which
2088         prevents the application of image color profiles in some WebGL cases.
2089
2090         No new tests. The application of the color profile is not guaranteed for
2091         images used as textures in WebGL. Refer to http://wkb.ug/76498.
2092
2093         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2094         (WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
2095         before marking the image frame status as frame-complete.
2096
2097 2012-03-28  Emil A Eklund  <eae@chromium.org>
2098
2099         Fix rounding in RenderInline::paintOutlineForLine
2100         https://bugs.webkit.org/show_bug.cgi?id=82540
2101
2102         Reviewed by Eric Seidel.
2103
2104         No new tests, no change in functionality.
2105
2106         * rendering/RenderInline.cpp:
2107         (WebCore::RenderInline::paintOutlineForLine):
2108         Change paintOutlineForLine to pixel snap the left and right edges of the
2109         lines instead of adding the offset to an already rounded number.
2110
2111 2012-03-28  David Grogan  <dgrogan@chromium.org>
2112
2113         IndexedDB: don't expose IDBDatabaseError to script
2114         https://bugs.webkit.org/show_bug.cgi?id=82280
2115
2116         It's not used anywhere and firefox doesn't expose it.
2117
2118         Reviewed by Tony Chang.
2119
2120         Test: storage/indexeddb/removed.html
2121
2122         * CMakeLists.txt:
2123         * DerivedSources.cpp:
2124         * DerivedSources.make:
2125         * DerivedSources.pri:
2126         * GNUmakefile.list.am:
2127         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
2128         * Modules/indexeddb/IDBDatabaseError.idl: Removed.
2129         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
2130         * WebCore.gypi:
2131         * WebCore.vcproj/WebCore.vcproj:
2132         * WebCore.xcodeproj/project.pbxproj:
2133
2134 2012-03-28  Kenichi Ishibashi  <bashi@chromium.org>
2135
2136         Respects font fallback list during webfonts are loading
2137         https://bugs.webkit.org/show_bug.cgi?id=76684
2138
2139         Reviewed by Dimitri Glazkov.
2140
2141         For layout, use the rest of the fallback list while webfonts are loading.
2142         If the webfont is loading, it will be given an invalid Unicode Range so that
2143         font selection mechansim doesn't use the webfont for layout.
2144
2145         Test: http/tests/webfont/fallback-font-while-loading.html
2146
2147         * css/CSSSegmentedFontFace.cpp:
2148         (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
2149         (WebCore):
2150         (WebCore::CSSSegmentedFontFace::getFontData):
2151
2152 2012-03-28  Mark Rowe  <mrowe@apple.com>
2153
2154         Update Localizable.strings.
2155
2156         * English.lproj/Localizable.strings:
2157
2158 2012-03-28  Victor Carbune  <vcarbune@adobe.com>
2159
2160         Removed particular rendering for the volume slider and used
2161         css positioning instead (simpler and less prone to errors when
2162         changes occur).
2163         https://bugs.webkit.org/show_bug.cgi?id=82150
2164
2165         Reviewed by Eric Carlson.
2166
2167         Test: media/video-controls-rendering-toggle-display-none.html
2168
2169         * css/mediaControls.css: Updated css to correctly render controls.
2170         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2171         * css/mediaControlsChromium.css: Updated css to correctly render controls.
2172         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 
2173         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2174         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2175         * html/shadow/MediaControlElements.cpp: Removed particular renderer.
2176         (WebCore):
2177         * html/shadow/MediaControlElements.h: Removed particular renderer.
2178         (MediaControlVolumeSliderContainerElement):
2179         * html/shadow/MediaControlRootElementChromium.cpp:
2180         (WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
2181         for the mute button and volume slider (to be displayed on top of each other)
2182
2183 2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2184
2185         Unreviewed, rolling out r110064.
2186         http://trac.webkit.org/changeset/110064
2187         https://bugs.webkit.org/show_bug.cgi?id=82537
2188
2189         The patch leaks the DOM when audio elements are used
2190         (Requested by sundiamonde on #webkit).
2191
2192         * bindings/js/JSNodeCustom.cpp:
2193         (WebCore::isReachableFromDOM):
2194
2195 2012-03-28  Alexey Proskuryakov  <ap@apple.com>
2196
2197         [Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
2198         https://bugs.webkit.org/show_bug.cgi?id=82386
2199         <rdar://problem/11121501>
2200
2201         Reviewed by Brady Eidson.
2202
2203         Covered by existing tests.
2204
2205         * platform/network/cf/FormDataStreamCFNet.cpp:
2206         * platform/network/cf/FormDataStreamCFNet.h:
2207         Moved low level implementation from FormDataStreamMac, and exposed an additional function
2208         to implement Foundation-based API on top of this.
2209
2210         * platform/network/mac/FormDataStreamMac.h:
2211         * platform/network/mac/FormDataStreamMac.mm:
2212         Rely on toll-free bridging and implementation details to make this work without duplicating
2213         code.
2214         Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
2215         requests across process boundary. We probably only get away with this because we don't attempt
2216         to send requests to UI process once they already have streams associated with them.
2217
2218         * WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.
2219
2220         * platform/cf/FileSystemCF.cpp: Fixed include style.
2221
2222         * platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
2223         implementation.
2224
2225 2012-03-28  Adrienne Walker  <enne@google.com>
2226
2227         [chromium] Fix tiled layer assert for huge layers
2228         https://bugs.webkit.org/show_bug.cgi?id=82486
2229
2230         Reviewed by James Robinson.
2231
2232         Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
2233
2234         TilingData::numTiles() is calculated as the product of two ints and so
2235         can potentially overflow, causing numTiles() to be incorrect. To avoid
2236         calling code accidentally falling into this trap, remove this function
2237         and all code that uses tile index from TilingData.  This requires
2238         fixing up a bunch of callers of TilingData and CCLayerTilingData.
2239
2240         Additionally, TilingData::numTiles() has long been a confusing
2241         function name in some contexts, so rename to bool hasEmptyBounds().
2242
2243         Also, remove TilingData::intersectDrawQuad because there are no
2244         clients of that function.
2245
2246         * platform/graphics/chromium/TiledLayerChromium.cpp:
2247         (WebCore::TiledLayerChromium::drawsContent):
2248         (WebCore::TiledLayerChromium::reserveTextures):
2249         (WebCore::TiledLayerChromium::prepareToUpdate):
2250         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2251         (WebCore::TiledLayerChromium::needsIdlePaint):
2252         (WebCore::TiledLayerChromium::idlePaintRect):
2253         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2254         (WebCore::CCLayerTilingData::tileRect):
2255         * platform/graphics/chromium/cc/CCLayerTilingData.h:
2256         (WebCore::CCLayerTilingData::hasEmptyBounds):
2257         (WebCore::CCLayerTilingData::tileBounds):
2258         (WebCore::CCLayerTilingData::isEmpty):
2259         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2260         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2261         (WebCore::CCTiledLayerImpl::appendQuads):
2262         * platform/graphics/gpu/Texture.cpp:
2263         (WebCore::Texture::create):
2264         (WebCore::Texture::updateSubRect):
2265         * platform/graphics/gpu/TilingData.cpp:
2266         (WebCore::TilingData::tileBounds):
2267         (WebCore::TilingData::tileBoundsWithBorder):
2268         (WebCore::TilingData::tileBoundsNormalized):
2269         * platform/graphics/gpu/TilingData.h:
2270         (WebCore::TilingData::hasEmptyBounds):
2271         (TilingData):
2272         (WebCore::TilingData::assertTile):
2273
2274 2012-03-28  Emil A Eklund  <eae@chromium.org>
2275
2276         Change FilterOperations::getOutsets to use integers
2277         https://bugs.webkit.org/show_bug.cgi?id=82535
2278
2279         Reviewed by Eric Seidel.
2280
2281         FilterOperations::getOutsets calculates the outsets using integers and
2282         the values are guranteed to be set to full-pixel values. By changing the
2283         function signature we communicate this fact better and avoid unnecessary
2284         type conversions in some cases.
2285
2286         No new tests.
2287
2288         * platform/graphics/filters/FilterOperations.cpp:
2289         (WebCore::FilterOperations::getOutsets):
2290         * platform/graphics/filters/FilterOperations.h:
2291         (FilterOperations):
2292         * rendering/RenderBox.cpp:
2293         (WebCore::RenderBox::computeRectForRepaint):
2294         (WebCore::RenderBox::addVisualEffectOverflow):
2295         * rendering/RenderInline.cpp:
2296         (WebCore::RenderInline::computeRectForRepaint):
2297         * rendering/style/RenderStyle.h:
2298
2299 2012-03-28  Nate Chapin  <japhet@chromium.org>
2300
2301         Remove dispatchDidLoadMainResource callback, since no
2302         port implements it.
2303         https://bugs.webkit.org/show_bug.cgi?id=82539
2304
2305         Reviewed by Alexey Proskuryakov.
2306
2307         No new tests, just deleting dead code.
2308
2309         * loader/EmptyClients.h:
2310         (EmptyFrameLoaderClient):
2311         * loader/FrameLoader.cpp:
2312         (WebCore::FrameLoader::finishedLoading):
2313         (WebCore::FrameLoader::mainReceivedCompleteError):
2314         * loader/FrameLoaderClient.h:
2315         (FrameLoaderClient):
2316         * loader/MainResourceLoader.cpp:
2317         (WebCore::MainResourceLoader::receivedError):
2318         (WebCore::MainResourceLoader::didCancel):
2319
2320 2012-03-28  Enrica Casucci  <enrica@apple.com>
2321
2322         REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
2323         https://bugs.webkit.org/show_bug.cgi?id=82497
2324         <rdar://problem/11140334>
2325
2326         Reviewed by Brady Eidson.
2327         
2328         The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
2329         This change fixes the way data is read from the pasteboard for the same pasteboard type.
2330
2331         No new tests. Fixes the existing one that fails.
2332
2333         * platform/mac/ClipboardMac.mm:
2334         (WebCore::absoluteURLsFromPasteboard):
2335         * platform/mac/PlatformPasteboardMac.mm:
2336         (WebCore::PlatformPasteboard::stringForType):
2337
2338 2012-03-28  Joe Thomas  <joethomas@motorola.com>
2339
2340         SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
2341         https://bugs.webkit.org/show_bug.cgi?id=82390
2342
2343         Reviewed by Simon Fraser.
2344
2345         This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
2346         The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
2347         in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.
2348
2349         This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
2350         And it ensures that the Length structure is not getting modified during copy-construction. 
2351
2352         * css/LengthFunctions.cpp:
2353         (WebCore::minimumValueForLength):
2354         (WebCore::valueForLength):
2355         (WebCore::floatValueForLength):
2356         * css/LengthFunctions.h:
2357         (WebCore):
2358
2359 2012-03-28  Gavin Barraclough  <barraclough@apple.com>
2360
2361         Yarr: if we're not using the output array, don't populate it!
2362         https://bugs.webkit.org/show_bug.cgi?id=82519
2363
2364         Reviewed by Sam Weinig.
2365
2366         * ForwardingHeaders/runtime/MatchResult.h: Added.
2367         * ForwardingHeaders/yarr/YarrJIT.h: Added.
2368             - Added forwarding headers.
2369
2370 2012-03-23  David Hyatt  <hyatt@apple.com>
2371
2372         https://bugs.webkit.org/show_bug.cgi?id=81685
2373         
2374         [New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
2375         It derives from RenderFlowThread.
2376         
2377         Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
2378         This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
2379     
2380         Reviewed by Julien Chaffraix.
2381
2382         * CMakeLists.txt:
2383         * GNUmakefile.list.am:
2384         * Target.pri:
2385         * WebCore.gypi:
2386         * WebCore.vcproj/WebCore.vcproj:
2387         * WebCore.xcodeproj/project.pbxproj:
2388         * dom/Document.cpp:
2389         * dom/NodeRenderingContext.cpp:
2390         * dom/NodeRenderingContext.h:
2391         (WebCore):
2392         (WebCore::NodeRenderingContext::parentFlowRenderer):
2393         * dom/WebKitNamedFlow.cpp:
2394         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
2395         * dom/WebKitNamedFlow.h:
2396         (WebCore):
2397         (WebCore::WebKitNamedFlow::create):
2398         (WebKitNamedFlow):
2399         * rendering/RenderBlock.cpp:
2400         (WebCore::RenderBlock::collapseAnonymousBoxChild):
2401         * rendering/RenderFlowThread.cpp:
2402         (WebCore::RenderFlowThread::RenderFlowThread):
2403         (WebCore):
2404         (WebCore::RenderFlowThread::addRegionToThread):
2405         (WebCore::RenderFlowThread::removeRegionFromThread):
2406         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2407         * rendering/RenderFlowThread.h:
2408         (WebCore):
2409         * rendering/RenderMultiColumnFlowThread.cpp: Added.
2410         (WebCore):
2411         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2412         (WebCore::RenderMultiColumnFlowThread::renderName):
2413         * rendering/RenderMultiColumnFlowThread.h: Added.
2414         (WebCore):
2415         (RenderMultiColumnFlowThread):
2416         * rendering/RenderNamedFlowThread.cpp: Added.
2417         (WebCore):
2418         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2419         (WebCore::RenderNamedFlowThread::renderName):
2420         (WebCore::RenderNamedFlowThread::nextRendererForNode):
2421         (WebCore::RenderNamedFlowThread::previousRendererForNode):
2422         (WebCore::RenderNamedFlowThread::addFlowChild):
2423         (WebCore::RenderNamedFlowThread::removeFlowChild):
2424         (WebCore::RenderNamedFlowThread::dependsOn):
2425         (WebCore::compareRenderRegions):
2426         (WebCore::RenderNamedFlowThread::addRegionToThread):
2427         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
2428         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
2429         (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
2430         (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
2431         (WebCore::RenderNamedFlowThread::pushDependencies):
2432         (WebCore::RenderNamedFlowThread::ensureNamedFlow):
2433         * rendering/RenderNamedFlowThread.h: Added.
2434         (WebCore):
2435         (RenderNamedFlowThread):
2436         (WebCore::RenderNamedFlowThread::name):
2437         (WebCore::RenderNamedFlowThread::hasChildren):
2438         (WebCore::RenderNamedFlowThread::hasChild):
2439         (WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
2440         (WebCore::toRenderNamedFlowThread):
2441         * rendering/RenderObject.cpp:
2442         (WebCore::RenderObject::willBeDestroyed):
2443         * rendering/RenderObject.h:
2444         (WebCore::RenderObject::isRenderNamedFlowThread):
2445         * rendering/RenderObjectChildList.cpp:
2446         (WebCore::renderNamedFlowThreadContainer):
2447         (WebCore::RenderObjectChildList::removeChildNode):
2448         (WebCore::RenderObjectChildList::appendChildNode):
2449         (WebCore::RenderObjectChildList::insertChildNode):
2450         * rendering/RenderRegion.cpp:
2451         (WebCore::RenderRegion::RenderRegion):
2452         (WebCore::RenderRegion::attachRegion):
2453         * rendering/RenderRegion.h:
2454         (WebCore):
2455         (WebCore::RenderRegion::parentNamedFlowThread):
2456         (RenderRegion):
2457         * rendering/RenderTreeAsText.cpp:
2458         (WebCore::writeRenderNamedFlowThreads):
2459         (WebCore::writeLayers):
2460         * rendering/RenderView.cpp:
2461         (WebCore::RenderView::RenderView):
2462         (WebCore::RenderView::layout):
2463         (WebCore::RenderView::styleDidChange):
2464         (WebCore::RenderView::ensureRenderFlowThreadWithName):
2465         (WebCore::RenderView::layoutRenderNamedFlowThreads):
2466         * rendering/RenderView.h:
2467         (WebCore):
2468         (RenderView):
2469         (WebCore::RenderView::hasRenderNamedFlowThreads):
2470         (WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
2471         (WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
2472         (WebCore::RenderView::renderNamedFlowThreadList):
2473
2474 2012-03-28  Emil A Eklund  <eae@chromium.org>
2475
2476         Remove unnecessary rounding in RenderLayerBacking
2477         https://bugs.webkit.org/show_bug.cgi?id=82529
2478
2479         Reviewed by Eric Seidel.
2480
2481         Remove rounding that is no longer required now that borderBoxRect returns
2482         an IntRect.
2483         
2484         No new tests.
2485
2486         * rendering/RenderLayerBacking.cpp:
2487         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2488         (WebCore::RenderLayerBacking::startAnimation):
2489         (WebCore::RenderLayerBacking::startTransition):
2490
2491 2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2492
2493         Unreviewed, rolling out r112432.
2494         http://trac.webkit.org/changeset/112432
2495         https://bugs.webkit.org/show_bug.cgi?id=82536
2496
2497         Causes ccs3 layout test asserts (Requested by enne on
2498         #webkit).
2499
2500         * platform/graphics/chromium/TiledLayerChromium.cpp:
2501         (WebCore::TiledLayerChromium::drawsContent):
2502         (WebCore::TiledLayerChromium::reserveTextures):
2503         (WebCore::TiledLayerChromium::prepareToUpdate):
2504         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2505         (WebCore::TiledLayerChromium::needsIdlePaint):
2506         (WebCore::TiledLayerChromium::idlePaintRect):
2507         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2508         (WebCore::CCLayerTilingData::tileRect):
2509         * platform/graphics/chromium/cc/CCLayerTilingData.h:
2510         (WebCore::CCLayerTilingData::numTiles):
2511         (WebCore::CCLayerTilingData::tileBounds):
2512         (WebCore::CCLayerTilingData::isEmpty):
2513         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2514         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2515         (WebCore::CCTiledLayerImpl::appendQuads):
2516         * platform/graphics/filters/FECustomFilter.cpp:
2517         (WebCore::FECustomFilter::platformApplySoftware):
2518         * platform/graphics/gpu/Texture.cpp:
2519         (WebCore::Texture::create):
2520         (WebCore::Texture::updateSubRect):
2521         * platform/graphics/gpu/TilingData.cpp:
2522         (WebCore::TilingData::tileBounds):
2523         (WebCore::TilingData::tileBoundsWithBorder):
2524         (WebCore::TilingData::tileBoundsNormalized):
2525         (WebCore::TilingData::intersectDrawQuad):
2526         (WebCore):
2527         * platform/graphics/gpu/TilingData.h:
2528         (WebCore::TilingData::numTiles):
2529         (WebCore::TilingData::tileIndex):
2530         (WebCore::TilingData::tileXIndex):
2531         (WebCore::TilingData::tileYIndex):
2532         (TilingData):
2533         (WebCore::TilingData::assertTile):
2534
2535 2012-03-27  Daniel Cheng  <dcheng@chromium.org>
2536
2537         [chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
2538         https://bugs.webkit.org/show_bug.cgi?id=82407
2539
2540         Reviewed by Tony Chang.
2541
2542         Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
2543         combine the two and remove a layer of indirection.
2544
2545         No functionality change, should be covered by existing tests.
2546
2547         * WebCore.gypi:
2548         * platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
2549         (WebCore::ChromiumDataObject::createFromPasteboard):
2550         (WebCore::ChromiumDataObject::create):
2551         (WebCore::ChromiumDataObject::length):
2552         (WebCore):
2553         (WebCore::ChromiumDataObject::item):
2554         (WebCore::ChromiumDataObject::deleteItem):
2555         (WebCore::ChromiumDataObject::clearAll):
2556         (WebCore::ChromiumDataObject::add):
2557         (WebCore::ChromiumDataObject::clearData):
2558         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2559         (WebCore::ChromiumDataObject::types):
2560         (WebCore::ChromiumDataObject::getData):
2561         (WebCore::ChromiumDataObject::setData):
2562         (WebCore::ChromiumDataObject::urlAndTitle):
2563         (WebCore::ChromiumDataObject::setURLAndTitle):
2564         (WebCore::ChromiumDataObject::htmlAndBaseURL):
2565         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
2566         (WebCore::ChromiumDataObject::containsFilenames):
2567         (WebCore::ChromiumDataObject::filenames):
2568         (WebCore::ChromiumDataObject::addFilename):
2569         (WebCore::ChromiumDataObject::addSharedBuffer):
2570         (WebCore::ChromiumDataObject::ChromiumDataObject):
2571         (WebCore::ChromiumDataObject::findStringItem):
2572         (WebCore::ChromiumDataObject::internalAddStringItem):
2573         (WebCore::ChromiumDataObject::internalAddFileItem):
2574         * platform/chromium/ChromiumDataObject.h:
2575         (WebCore):
2576         (ChromiumDataObject):
2577         * platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
2578         (WebCore):
2579         (WebCore::ChromiumDataObjectItem::createFromString):
2580         (WebCore::ChromiumDataObjectItem::createFromFile):
2581         (WebCore::ChromiumDataObjectItem::createFromURL):
2582         (WebCore::ChromiumDataObjectItem::createFromHTML):
2583         (WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
2584         (WebCore::ChromiumDataObjectItem::createFromPasteboard):
2585         (WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
2586         (WebCore::ChromiumDataObjectItem::getAsString):
2587         (WebCore::ChromiumDataObjectItem::getAsFile):
2588         (WebCore::ChromiumDataObjectItem::internalGetAsString):
2589         (WebCore::ChromiumDataObjectItem::isFilename):
2590         * platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
2591         (WebCore):
2592         (ChromiumDataObjectItem):
2593         (WebCore::ChromiumDataObjectItem::kind):
2594         (WebCore::ChromiumDataObjectItem::type):
2595         (WebCore::ChromiumDataObjectItem::sharedBuffer):
2596         (WebCore::ChromiumDataObjectItem::title):
2597         (WebCore::ChromiumDataObjectItem::baseURL):
2598         * platform/chromium/ClipboardChromium.cpp:
2599         (WebCore::ClipboardChromium::files):
2600         (WebCore::ClipboardChromium::hasData):
2601         (WebCore::ClipboardChromium::items):
2602         * platform/chromium/DataTransferItemListChromium.cpp: Removed.
2603         * platform/chromium/DataTransferItemListChromium.h: Removed.
2604
2605 2012-03-28  Nat Duca  <nduca@chromium.org>
2606
2607         [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
2608         https://bugs.webkit.org/show_bug.cgi?id=82516
2609
2610         Reviewed by James Robinson.
2611
2612         * platform/graphics/chromium/LayerRendererChromium.cpp:
2613         (WebCore::LayerRendererChromium::swapBuffers):
2614         * platform/graphics/chromium/LayerRendererChromium.h:
2615         (LayerRendererChromium):
2616         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2617         (WebCore::CCLayerTreeHostImpl::swapBuffers):
2618         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2619         (CCLayerTreeHostImpl):
2620         * platform/graphics/chromium/cc/CCScheduler.cpp:
2621         (WebCore::CCScheduler::processScheduledActions):
2622         * platform/graphics/chromium/cc/CCScheduler.h:
2623         (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
2624         (CCScheduledActionDrawAndSwapResult):
2625         (WebCore):
2626         (CCSchedulerClient):
2627         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2628         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2629         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
2630         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
2631         * platform/graphics/chromium/cc/CCThreadProxy.h:
2632         (CCThreadProxy):
2633
2634 2012-03-26  Eric Uhrhane  <ericu@chromium.org>
2635
2636         FileWriter has two race conditions
2637         https://bugs.webkit.org/show_bug.cgi?id=81861
2638
2639         Reviewed by David Levin.
2640
2641         Should make current tests less flaky.
2642
2643         * Modules/filesystem/FileWriter.h:
2644         * Modules/filesystem/FileWriter.cpp:
2645         Track the in-flight operation, whether it be an abort/write/truncate.
2646         Whether an abort comes back as didWrite, didTruncate, or didFail, handle
2647         it appropriately.  Before this fix, the Chromium implementation would
2648         assert in two cases:
2649
2650         If the user calls abort, then write, then abort before the backend
2651         catches up, we'd send both aborts to the backend, even though it hadn't
2652         received the write yet.  Chromium's backend asserts if there's an abort
2653         with no write in progress.  We now record that we've sent an abort and
2654         are waiting for the response.
2655
2656         If the user calls abort while a write/truncate is just finishing, on the
2657         Chromium worker implementation, the completion message could be
2658         thread-hopping back to WebCore at the
2659         WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
2660         in the other direction.  Again, this leads to an abort call to the
2661         backend with no write in progress, and an assert.  We're now robust to
2662         completions coming back when we're expecting an abort, and
2663         https://chromiumcodereview.appspot.com/9764018/ will make the backend
2664         robust to extra abort calls.
2665
2666 2012-03-27  Ryosuke Niwa  <rniwa@webkit.org>
2667
2668         Deleting a paragraph of text should not add elements for typing style
2669         https://bugs.webkit.org/show_bug.cgi?id=82401
2670
2671         Reviewed by Enrica Casucci.
2672
2673         This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
2674         We're changing our behavior to match TextEdit and Firefox in this patch.
2675
2676         The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.
2677
2678         Test: editing/execCommand/deleting-text-rests-typing-style.html
2679
2680         * editing/DeleteSelectionCommand.cpp:
2681         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2682
2683 2012-03-28  Michal Mocny  <mmocny@google.com>
2684
2685         [chromium] Add tracing events around CCLayerTreeHostImpl visibility.
2686         https://bugs.webkit.org/show_bug.cgi?id=82501
2687
2688         Reviewed by James Robinson.
2689
2690         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2691         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2692         (WebCore::CCLayerTreeHostImpl::setVisible):
2693
2694 2012-03-28  Florin Malita  <fmalita@google.com>
2695
2696         Incorrect foreignObject hit test results when overlapping other SVG elements
2697         https://bugs.webkit.org/show_bug.cgi?id=82059
2698
2699         Reviewed by Nikolas Zimmermann.
2700
2701         Test: svg/hittest/foreign-object-background.svg
2702
2703         Foreign content needs to be hit-tested atomically due to the (pseudo)
2704         stacking context established by FOs.
2705
2706         * rendering/svg/RenderSVGForeignObject.cpp:
2707         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
2708         Hit test all phases on FO HitTestForeground.
2709
2710 2012-03-26  Shawn Singh  <shawnsingh@chromium.org>
2711
2712         [chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
2713         https://bugs.webkit.org/show_bug.cgi?id=74147
2714
2715         Reviewed by Adrienne Walker.
2716
2717         Added 3 additional unit tests; Modified existing unit tests and layout tests.
2718
2719         The layer's clipRect and usesLayerClipping information was not
2720         being initialized for layers that created a renderSurface. (It
2721         was, however, being initialized for the renderSurface itself.)
2722         This patch adds a unit test that reproduces that this is an error,
2723         other unit tests to tightly test the value of clipRect being
2724         initialized, and adds the logic to properly initialize the
2725         clipRect.
2726
2727         Before this patch, this bug was causing flashing on tab-switch on
2728         the apple iphone page. Even worse, with partial swap enabled, the
2729         layers would simply disappear, because the first frame the
2730         clipRect is uninitialized and the layer is not drawn, and the
2731         second frame onwards, the damage tracker correctly things nothing
2732         is damaged, so it doesn't draw that layer again until other damage
2733         causes it to be redrawn.
2734
2735         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2736         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2737
2738 2012-03-28  Anders Carlsson  <andersca@apple.com>
2739
2740         "Sticky" or slow scrolling on some sites
2741         https://bugs.webkit.org/show_bug.cgi?id=82512
2742         <rdar://problem/11000372>
2743
2744         Reviewed by Andreas Kling.
2745
2746         When we're in the slow mode and have to update the scroll layer position on the main thread,
2747         get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.
2748
2749         * page/scrolling/ScrollingCoordinator.cpp:
2750         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2751         * page/scrolling/ScrollingCoordinator.h:
2752         (ScrollingCoordinator):
2753         * page/scrolling/ScrollingTree.cpp:
2754         (WebCore::ScrollingTree::mainFrameScrollPosition):
2755         (WebCore):
2756         (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
2757         * page/scrolling/ScrollingTree.h:
2758
2759 2012-03-28  Adrienne Walker  <enne@google.com>
2760
2761         [chromium] Fix tiled layer assert for huge layers
2762         https://bugs.webkit.org/show_bug.cgi?id=82486
2763
2764         Reviewed by James Robinson.
2765
2766         Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
2767
2768         TilingData::numTiles() is calculated as the product of two ints and so
2769         can potentially overflow, causing numTiles() to be incorrect. To avoid
2770         calling code accidentally falling into this trap, remove this function
2771         and all code that uses tile index from TilingData.  This requires
2772         fixing up a bunch of callers of TilingData and CCLayerTilingData.
2773
2774         Additionally, TilingData::numTiles() has long been a confusing
2775         function name in some contexts, so rename to bool hasEmptyBounds().
2776
2777         Also, remove TilingData::intersectDrawQuad because there are no
2778         clients of that function.
2779
2780         * platform/graphics/chromium/TiledLayerChromium.cpp:
2781         (WebCore::TiledLayerChromium::drawsContent):
2782         (WebCore::TiledLayerChromium::reserveTextures):
2783         (WebCore::TiledLayerChromium::prepareToUpdate):
2784         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2785         (WebCore::TiledLayerChromium::needsIdlePaint):
2786         (WebCore::TiledLayerChromium::idlePaintRect):
2787         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2788         (WebCore::CCLayerTilingData::tileRect):
2789         * platform/graphics/chromium/cc/CCLayerTilingData.h:
2790         (WebCore::CCLayerTilingData::hasEmptyBounds):
2791         (WebCore::CCLayerTilingData::tileBounds):
2792         (WebCore::CCLayerTilingData::isEmpty):
2793         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2794         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2795         (WebCore::CCTiledLayerImpl::appendQuads):
2796         * platform/graphics/gpu/Texture.cpp:
2797         (WebCore::Texture::create):
2798         (WebCore::Texture::updateSubRect):
2799         * platform/graphics/gpu/TilingData.cpp:
2800         (WebCore::TilingData::tileBounds):
2801         (WebCore::TilingData::tileBoundsWithBorder):
2802         (WebCore::TilingData::tileBoundsNormalized):
2803         * platform/graphics/gpu/TilingData.h:
2804         (WebCore::TilingData::hasEmptyBounds):
2805         (TilingData):
2806         (WebCore::TilingData::assertTile):
2807
2808 2012-03-28  Peter Rybin  <peter.rybin@gmail.com>
2809
2810         Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
2811         https://bugs.webkit.org/show_bug.cgi?id=81558
2812
2813         Reviewed by Pavel Feldman.
2814
2815         Client code is switched to typed API (all InspectorObject and InspectorArray types are
2816         replaced with generated types from TypeBuilder according to Inspector.json).
2817
2818         Missing array of int specialization is added. Code generator now has a check against
2819         misspelled (non-existing) domain names.
2820
2821         * inspector/CodeGeneratorInspector.py:
2822         (Generator.go): check against misspelled domain names added.
2823         * inspector/InjectedScript.cpp:
2824         (WebCore::InjectedScript::evaluate):
2825         (WebCore::InjectedScript::callFunctionOn):
2826         (WebCore::InjectedScript::evaluateOnCallFrame):
2827         (WebCore::InjectedScript::getProperties):
2828         (WebCore::InjectedScript::wrapObject):
2829         (WebCore::InjectedScript::wrapNode):
2830         (WebCore::InjectedScript::wrapSerializedObject):
2831         (WebCore::InjectedScript::makeEvalCall):
2832         * inspector/InjectedScript.h:
2833         (InjectedScript):
2834         * inspector/InspectorDOMAgent.cpp:
2835         (WebCore::InspectorDOMAgent::getDocument):
2836         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2837         (WebCore::InspectorDOMAgent::querySelectorAll):
2838         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2839         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2840         (WebCore::InspectorDOMAgent::getSearchResults):
2841         (WebCore::InspectorDOMAgent::resolveNode):
2842         (WebCore::InspectorDOMAgent::getAttributes):
2843         (WebCore::InspectorDOMAgent::buildObjectForNode):
2844         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2845         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2846         (WebCore::InspectorDOMAgent::loadEventFired):
2847         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2848         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
2849         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
2850         * inspector/InspectorDOMAgent.h:
2851         (InspectorDOMAgent):
2852         * inspector/InspectorPageAgent.cpp:
2853         (WebCore::InspectorPageAgent::resourceTypeJson):
2854         (WebCore::InspectorPageAgent::cachedResourceTypeJson):
2855         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2856         * inspector/InspectorPageAgent.h:
2857         * inspector/InspectorResourceAgent.cpp:
2858         (WebCore::buildObjectForResourceRequest):
2859         (WebCore::buildObjectForResourceResponse):
2860         (WebCore::buildObjectForCachedResource):
2861         (WebCore::InspectorResourceAgent::willSendRequest):
2862         (WebCore::InspectorResourceAgent::didReceiveResponse):
2863         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2864         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2865         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
2866         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
2867         * inspector/InspectorResourceAgent.h:
2868         (InspectorResourceAgent):
2869         * inspector/InspectorRuntimeAgent.cpp:
2870         (WebCore::InspectorRuntimeAgent::evaluate):
2871         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2872         (WebCore::InspectorRuntimeAgent::getProperties):
2873         * inspector/InspectorRuntimeAgent.h:
2874         (InspectorRuntimeAgent):
2875         * inspector/InspectorValues.h:
2876         (InspectorArray):
2877         (WebCore::InspectorArray::pushInt):
2878         (WebCore):
2879         * inspector/ScriptCallFrame.cpp:
2880         (WebCore::ScriptCallFrame::buildInspectorObject):
2881         * inspector/ScriptCallFrame.h:
2882         (ScriptCallFrame):
2883         * inspector/ScriptCallStack.cpp:
2884         (WebCore::ScriptCallStack::buildInspectorArray):
2885         * inspector/ScriptCallStack.h:
2886         (ScriptCallStack):
2887
2888 2012-03-28  Eric Seidel  <eric@webkit.org>
2889
2890         setNeedsLayout(true, false) is super confusing to read and should use an enum instead
2891         https://bugs.webkit.org/show_bug.cgi?id=82369
2892
2893         Reviewed by Julien Chaffraix.
2894
2895         I replaced all uses of the markParents bool with a MarkingBehavior
2896         enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
2897         I'm not sure the naming is perfect (as it's not clear to me if markParents is
2898         used to mean the same thing in these 3 functions), but hopefully this code is more
2899         clear.  I welcome further suggested adjustment from layout experts.
2900
2901         * page/FrameView.cpp:
2902         (WebCore::FrameView::scheduleRelayout):
2903         * rendering/RenderBlock.cpp:
2904         (WebCore::RenderBlock::layoutBlock):
2905         (WebCore::RenderBlock::adjustPositionedBlock):
2906         (WebCore::RenderBlock::layoutBlockChildren):
2907         (WebCore::RenderBlock::layoutBlockChild):
2908         (WebCore::RenderBlock::layoutPositionedObjects):
2909         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2910         (WebCore::RenderBlock::removePositionedObjects):
2911         (WebCore::RenderBlock::insertFloatingObject):
2912         (WebCore::RenderBlock::positionNewFloats):
2913         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2914         (WebCore::RenderBlock::adjustBlockChildForPagination):
2915         * rendering/RenderBlockLineLayout.cpp:
2916         (WebCore::RenderBlock::layoutRunsAndFloats):
2917         (WebCore::RenderBlock::layoutInlineChildren):
2918         (WebCore::RenderBlock::positionNewFloatOnLine):
2919         * rendering/RenderBox.cpp:
2920         (WebCore::RenderBox::positionLineBox):
2921         * rendering/RenderDeprecatedFlexibleBox.cpp:
2922         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2923         (WebCore::gatherFlexChildrenInfo):
2924         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2925         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2926         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2927         * rendering/RenderFlexibleBox.cpp:
2928         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
2929         * rendering/RenderLayer.cpp:
2930         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2931         * rendering/RenderMedia.cpp:
2932         (WebCore::RenderMedia::layout):
2933         * rendering/RenderObject.cpp:
2934         (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
2935         * rendering/RenderObject.h:
2936         (RenderObject):
2937         (WebCore::RenderObject::setNeedsLayout):
2938         (WebCore::RenderObject::setChildNeedsLayout):
2939         * rendering/RenderRubyRun.cpp:
2940         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
2941         * rendering/RenderTable.cpp:
2942         (WebCore::RenderTable::layout):
2943         * rendering/RenderTableRow.cpp:
2944         (WebCore::RenderTableRow::layout):
2945         * rendering/RenderTableSection.cpp:
2946         (WebCore::RenderTableSection::calcRowLogicalHeight):
2947         (WebCore::RenderTableSection::layoutRows):
2948         * rendering/RenderTextControl.cpp:
2949         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
2950         * rendering/RenderTextControlSingleLine.cpp:
2951         (WebCore::RenderTextControlSingleLine::layout):
2952         * rendering/RenderView.cpp:
2953         (WebCore::RenderView::RenderView):
2954         (WebCore::RenderView::layout):
2955         * rendering/mathml/RenderMathMLRoot.cpp:
2956         (WebCore::RenderMathMLRoot::layout):
2957         * rendering/mathml/RenderMathMLRow.cpp:
2958         (WebCore::RenderMathMLRow::layout):
2959         * rendering/mathml/RenderMathMLSubSup.cpp:
2960         (WebCore::RenderMathMLSubSup::layout):
2961         * rendering/svg/SVGRenderSupport.cpp:
2962         (WebCore::SVGRenderSupport::layoutChildren):
2963
2964 2012-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2965
2966         <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
2967
2968         Instead of manually creating the method in DOM.mm we can specify it in
2969         Node.idl and autogenerate part of the interface.
2970
2971         Reviewed by Timothy Hatcher.
2972
2973         * bindings/objc/DOM.mm:
2974         * bindings/objc/DOMPrivate.h:
2975         Move the call to InspectorController::inspect from here ...
2976
2977         * dom/Node.h:
2978         * dom/Node.idl: IDL only in an ObjC block.
2979         * dom/Node.cpp:
2980         (WebCore::Node::inspect):
2981         ... to here.
2982
2983         * WebCore.xcodeproj/project.pbxproj:
2984         Add the new generated file so we can Copy it in the build phase.
2985
2986 2012-03-28  Tommy Widenflycht  <tommyw@google.com>
2987
2988         [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
2989         https://bugs.webkit.org/show_bug.cgi?id=82450
2990
2991         Reviewed by Adam Barth.
2992
2993         This change removes the default PeerConnection00Handler.cpp from the Chromium build.
2994
2995         A major overhaul of the existing layout tests is forthcoming.
2996
2997         * WebCore.gypi:
2998         * platform/mediastream/PeerConnection00Handler.h:
2999         (WebCore):
3000         (PeerConnection00Handler):
3001
3002 2012-03-28  Robert Hogan  <robert@webkit.org>
3003
3004         [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
3005         https://bugs.webkit.org/show_bug.cgi?id=82193
3006
3007         Reviewed by Yury Semikhatsky.
3008
3009         Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding 
3010         plus half its left border plus half its right border in the collapsing border model. The layout of the panel
3011         headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the 
3012         new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
3013         borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).
3014
3015         * inspector/front-end/dataGrid.css:
3016         (.data-grid th.corner):
3017
3018 2012-03-28  Alexis Menard  <alexis.menard@openbossa.org>
3019
3020         Increase code sharing between CSSProperty and CSSPropertyLonghand.
3021         https://bugs.webkit.org/show_bug.cgi?id=82479
3022
3023         Reviewed by Antti Koivisto.
3024
3025         Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
3026         code duplication.
3027
3028         No new tests : refactoring only, we shouldn't have any behavior difference.
3029
3030         * css/CSSProperty.cpp:
3031         (WebCore::resolveToPhysicalProperty):
3032         (WebCore::borderDirections):
3033         (WebCore):
3034         (WebCore::CSSProperty::resolveDirectionAwareProperty):
3035
3036 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3037
3038         Web Inspector: Implement snippets renaming in scripts navigator.
3039         https://bugs.webkit.org/show_bug.cgi?id=82477
3040
3041         Reviewed by Pavel Feldman.
3042
3043         Snippets renaming is implemented as editing of snippet name in scripts navigator.
3044
3045         * inspector/front-end/ScriptsNavigator.js:
3046         (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
3047         (WebInspector.ScriptsNavigator.prototype._fileRenamed):
3048         (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
3049         (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
3050         (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
3051         (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
3052         * inspector/front-end/scriptsPanel.css:
3053         (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):
3054
3055 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3056
3057         Web Inspector: Add context menu for snippets control.
3058         https://bugs.webkit.org/show_bug.cgi?id=82475
3059
3060         Reviewed by Pavel Feldman.
3061
3062         This is a preliminary implementation of snippets control using context menu.
3063         We might want to add a more discoverable one before taking snippets out of experiments.
3064
3065         * English.lproj/localizedStrings.js:
3066         * inspector/front-end/ScriptsNavigator.js:
3067         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
3068         (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
3069         (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
3070         (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
3071         (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
3072         (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
3073         (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
3074         (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
3075         (WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
3076         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
3077         (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
3078         (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
3079
3080 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3081
3082         Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
3083         https://bugs.webkit.org/show_bug.cgi?id=82472
3084
3085         Reviewed by Pavel Feldman.
3086
3087         WebInspector.View provides save/restore scroll position capabilities.
3088         This patch makes them used in ScriptsNavigator.
3089
3090         * inspector/front-end/ScriptsNavigator.js:
3091         (WebInspector.ScriptsNavigator):
3092         (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
3093         * inspector/front-end/scriptsPanel.css:
3094         (#scripts-navigator-tabbed-pane .tabbed-pane-content):
3095         (#scripts-navigator-tabbed-pane .navigator-container):
3096
3097 2012-03-28  Andrey Kosyakov  <caseq@chromium.org>
3098
3099         Web Inspector: only update Timeline overview when really needed
3100         https://bugs.webkit.org/show_bug.cgi?id=81909
3101
3102         Reviewed by Pavel Feldman.
3103
3104         Switch timeline overview to using raw records, thus removing dependency on instance members of
3105         TimelinePresentationModel. This requires moving record styles/categories to static getters.
3106
3107         * inspector/front-end/TimelineModel.js:
3108         (WebInspector.TimelineModel):
3109         (WebInspector.TimelineModel.startTime):
3110         (WebInspector.TimelineModel.endTime):
3111         (WebInspector.TimelineModel.duration):
3112         (WebInspector.TimelineModel.prototype._addRecord):
3113         (WebInspector.TimelineModel.prototype.reset):
3114         (WebInspector.TimelineModel.prototype.minimumRecordTime):
3115         (WebInspector.TimelineModel.prototype.maximumRecordTime):
3116         (WebInspector.TimelineModel.prototype._updateBoundaries):
3117         * inspector/front-end/TimelineOverviewPane.js:
3118         (WebInspector.TimelineOverviewPane):
3119         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
3120         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
3121         (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
3122         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
3123         (WebInspector.TimelineOverviewPane.prototype._update):
3124         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
3125         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
3126         (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
3127         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
3128         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
3129         (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
3130         (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
3131         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
3132         (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
3133         (WebInspector.TimelineOverviewCalculator.prototype.reset):
3134         (WebInspector.HeapGraph):
3135         (WebInspector.HeapGraph.prototype.update):
3136         (WebInspector.TimelineVerticalOverview):
3137         (WebInspector.TimelineVerticalOverview.prototype.reset):
3138         (WebInspector.TimelineVerticalOverview.prototype.update):
3139         (WebInspector.TimelineVerticalOverview.prototype.wasShown):
3140         (WebInspector.TimelineVerticalOverview.prototype.willHide):
3141         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
3142         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
3143         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
3144         (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
3145         (WebInspector.TimelineAggregatedRecord):
3146         (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):
3147         * inspector/front-end/TimelinePanel.js:
3148         (WebInspector.TimelinePanel):
3149         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3150         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
3151         (WebInspector.TimelinePanel.prototype._resetPanel):
3152         (WebInspector.TimelinePanel.prototype._refresh):
3153         (WebInspector.TimelineCalculator):
3154         (WebInspector.TimelineCalculator.prototype.formatTime):
3155         * inspector/front-end/TimelinePresentationModel.js:
3156         (WebInspector.TimelinePresentationModel):
3157         (WebInspector.TimelinePresentationModel.categories):
3158         (WebInspector.TimelinePresentationModel.recordStyle):
3159         (WebInspector.TimelinePresentationModel.categoryForRecord):
3160         (WebInspector.TimelinePresentationModel.prototype.reset):
3161         (WebInspector.TimelinePresentationModel.prototype.addRecord):
3162         (WebInspector.TimelinePresentationModel.Record):
3163         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3164
3165 2012-03-28  Arvid Nilsson  <anilsson@rim.com>
3166
3167         [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
3168         https://bugs.webkit.org/show_bug.cgi?id=82457
3169
3170         Reviewed by Rob Buis.
3171
3172         The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
3173         However, it only ever sets the opaque flag for image layers and color
3174         layers, never for content layers.
3175
3176         This was no big deal, because contentsOpaque() is currently false for
3177         all layers except the root layer, which we always drew using the
3178         BlackBerry::WebKit::BackingStore anyway.
3179
3180         When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
3181         the root layer in situations where the BackingStore is unavailable, we
3182         can speed up rendering of the root layer by honouring the opaque flag.
3183
3184         Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
3185         the way to LayerTiler and on to Texture.
3186
3187         * platform/graphics/blackberry/LayerData.h:
3188         (WebCore::LayerData::LayerData):
3189         (WebCore::LayerData::isOpaque):
3190         (LayerData):
3191         * platform/graphics/blackberry/LayerTile.cpp:
3192         (WebCore::LayerTile::updateContents):
3193         * platform/graphics/blackberry/LayerTile.h:
3194         (LayerTile):
3195         * platform/graphics/blackberry/LayerTiler.cpp:
3196         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
3197         (WebCore::LayerTiler::performTileJob):
3198         * platform/graphics/blackberry/LayerTiler.h:
3199         (WebCore::LayerTiler::TextureJob::TextureJob):
3200         (WebCore::LayerTiler::TextureJob::updateContents):
3201         * platform/graphics/blackberry/LayerWebKitThread.h:
3202         (WebCore::LayerWebKitThread::setOpaque):
3203         * platform/graphics/blackberry/Texture.h:
3204         (Texture):
3205         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
3206         (WebCore::TextureCacheCompositingThread::updateContents):
3207         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
3208         (TextureCacheCompositingThread):
3209
3210 2012-03-28  Andrey Kosyakov  <caseq@chromium.org>
3211
3212         Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
3213         https://bugs.webkit.org/show_bug.cgi?id=82471
3214
3215         Reviewed by Yury Semikhatsky.
3216
3217         * inspector/front-end/TimelineOverviewPane.js:
3218         (WebInspector.TimelineOverviewPane.prototype.update):
3219         (WebInspector.HeapGraph.prototype.update):
3220
3221 2012-03-28  Pavel Podivilov  <podivilov@chromium.org>
3222
3223         Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
3224         https://bugs.webkit.org/show_bug.cgi?id=82463
3225
3226         Reviewed by Vsevolod Vlasov.
3227
3228         Those events are related to specific UISourceCode. See bug 82224 for more details.
3229
3230         * inspector/front-end/DebuggerPresentationModel.js:
3231         (WebInspector.DebuggerPresentationModel):
3232         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
3233         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
3234         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3235         (WebInspector.UISourceCodeImpl):
3236         (WebInspector.UISourceCodeImpl.prototype.consoleMessages):
3237         (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
3238         (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):
3239         * inspector/front-end/JavaScriptSourceFrame.js:
3240         (WebInspector.JavaScriptSourceFrame):
3241         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
3242         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
3243         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
3244         (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
3245         * inspector/front-end/ScriptsPanel.js:
3246         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3247         * inspector/front-end/UISourceCode.js:
3248         (WebInspector.UISourceCode.prototype.breakpoints):
3249         (WebInspector.UISourceCode.prototype.consoleMessages):
3250
3251 2012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3252
3253         [GTK] Implement PlatformStrategies
3254         https://bugs.webkit.org/show_bug.cgi?id=82454
3255
3256         Reviewed by Xan Lopez.
3257
3258         * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same
3259         functionality is now implemented using platform strategies.
3260         * plugins/gtk/PluginDataGtk.cpp: Removed.
3261
3262 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3263
3264         Web Inspector: [Regression] TabIndex is not correctly restored after editing.
3265         https://bugs.webkit.org/show_bug.cgi?id=82464
3266
3267         Reviewed by Pavel Feldman.
3268
3269         This fixes incorrect usage of isNaN that returns false for null value.
3270         Drive-by javascript compilation fix.
3271
3272         * inspector/front-end/CompilerScriptMapping.js:
3273         (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.
3274         * inspector/front-end/ResourceScriptMapping.js:
3275         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.
3276         * inspector/front-end/SnippetsModel.js:
3277         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.
3278         * inspector/front-end/UIUtils.js:
3279         (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.
3280
3281 2012-03-28  Yi Shen  <yi.4.shen@nokia.com>
3282
3283         An extra line break is inserted when pasting into a font element.
3284         https://bugs.webkit.org/show_bug.cgi?id=71207
3285
3286         Reviewed by Ryosuke Niwa.
3287
3288         Fix an editing bug where inserting text into a font element would
3289         create an extra div element in the dom tree. The
3290         WebCore::positionAvoidingPrecedingNodes() tries to set the correct
3291         destination position by checking the next visible position, however,
3292         it causes the position moves into the child element in somecase.
3293         Instead, we should only check the position in parent after node.
3294
3295         Test: editing/inserting/insert-text-into-font.html
3296
3297         * editing/ReplaceSelectionCommand.cpp:
3298         (WebCore::positionAvoidingPrecedingNodes):
3299
3300 2012-03-28  Sergio Villar Senin  <svillar@igalia.com>
3301
3302         [Soup] DNS prefetching spams resolver, shoots self in the foot
3303         https://bugs.webkit.org/show_bug.cgi?id=41630
3304
3305         Reviewed by Martin Robinson.
3306
3307         Added generic DNSResolveQueue class to throttle DNS
3308         prefetches. It's an abstract refactoring of CFNET's
3309         DNSResolveQueue. Platform specific methods implemented for soup
3310         and CFNET backends.
3311
3312         No new tests required as we're just refactoring existing code to
3313         be used by two different ports.
3314
3315         * CMakeLists.txt: added new file.
3316         * GNUmakefile.list.am: ditto.
3317         * WebCore.vcproj/WebCore.vcproj: ditto.
3318         * WebCore.xcodeproj/project.pbxproj: ditto.
3319         * platform/network/DNSResolveQueue.cpp: Added.
3320         (WebCore):
3321         (WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
3322         (WebCore::DNSResolveQueue::fired): by using a delay we coalesce
3323         several prefetch requests and try to resolve them all here.
3324         * platform/network/DNSResolveQueue.h: Added.
3325         (WebCore):
3326         (DNSResolveQueue): class that implements DNS prefetch
3327         throttling using a template pattern.
3328         (WebCore::DNSResolveQueue::shared):
3329         (WebCore::DNSResolveQueue::decrementRequestCount):
3330         * platform/network/cf/DNSCFNet.cpp:
3331         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
3332         (WebCore::DNSResolveQueue::platformResolve):
3333         * platform/network/soup/DNSSoup.cpp:
3334         (WebCore):
3335         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
3336         (WebCore::resolvedCallback):
3337         (WebCore::DNSResolveQueue::platformResolve):
3338         (WebCore::prefetchDNS):
3339
3340 2012-03-28  Eugene Girard  <girard@chromium.org>
3341
3342         window.scrollBy() scrolls incorrectly when zoomed in/out
3343         https://bugs.webkit.org/show_bug.cgi?id=45228
3344
3345         Reviewed by Simon Fraser.
3346
3347         scrollBy now uses layout (not CSS) units. (As scrollTo does.)
3348
3349         Test: fast/dom/zoom-scroll-page-test.html
3350
3351         * page/DOMWindow.cpp:
3352         (WebCore::DOMWindow::scrollBy):
3353
3354 2012-03-28  Stephen Chenney  <schenney@chromium.org>
3355
3356         Null dereference in SVGTextElement::animatedLocalTransform()
3357         https://bugs.webkit.org/show_bug.cgi?id=82375
3358
3359         Reviewed by Nikolas Zimmermann.
3360
3361         A poorly structured SVG file with a text element inside an
3362         animatedTransform element leaves the text element placed outside of
3363         the SVG root and it has no renderer(). Later attempts to use the
3364         renderer in animatedLocalTransform fail.
3365
3366         Test: svg/custom/get-text-element-transform-crash.html
3367
3368         * svg/SVGTextElement.cpp:
3369         (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
3370         for style transform if there is no renderer.
3371
3372 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3373
3374         Enable animVal support for SVGAnimatedPreserveAspectRatio
3375         https://bugs.webkit.org/show_bug.cgi?id=82326
3376
3377         Reviewed by Zoltan Herczeg.
3378
3379         Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
3380         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.
3381
3382         Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
3383         who supply a "void parse(const String&)" method, for this task.
3384
3385         Extended existing tests to cover this.
3386
3387         * svg/SVGAnimatedPreserveAspectRatio.cpp:
3388         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
3389         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
3390         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
3391         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
3392         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
3393         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
3394         * svg/SVGAnimatedPreserveAspectRatio.h:
3395         (SVGAnimatedPreserveAspectRatioAnimator):
3396         * svg/SVGAnimatedType.cpp:
3397         (WebCore::SVGAnimatedType::valueAsString):
3398         (WebCore::SVGAnimatedType::setValueAsString):
3399         (WebCore::SVGAnimatedType::supportsAnimVal):
3400         * svg/SVGFEImageElement.cpp:
3401         (WebCore::SVGFEImageElement::parseAttribute):
3402         * svg/SVGFitToViewBox.cpp:
3403         (WebCore::SVGFitToViewBox::parseAttribute):
3404         * svg/SVGImageElement.cpp:
3405         (WebCore::SVGImageElement::parseAttribute):
3406         * svg/SVGPreserveAspectRatio.cpp:
3407         (WebCore::SVGPreserveAspectRatio::parse):
3408         (WebCore):
3409         * svg/SVGPreserveAspectRatio.h:
3410         (SVGPreserveAspectRatio):
3411         * svg/SVGViewSpec.cpp:
3412         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
3413         (WebCore::SVGViewSpec::parseViewSpec):
3414
3415 2012-03-28  Pavel Feldman  <pfeldman@chromium.org>
3416
3417         Web Inspector: [v8] inspection of CanvasPixelArray is slow.
3418         https://bugs.webkit.org/show_bug.cgi?id=82455
3419
3420         Reviewed by Vsevolod Vlasov.
3421
3422         Added CanvasPixelArray to the list of classes that we consider
3423         arrays.
3424
3425         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3426         (WebCore::V8InjectedScriptHost::typeCallback):
3427
3428 2012-03-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
3429
3430         Selectively retrieve text content around a given position.
3431         https://bugs.webkit.org/show_bug.cgi?id=78361
3432
3433         Reviewed by Ryosuke Niwa.
3434
3435         Tests: a new layout test will be introduced once the required WebKit API code is ready.
3436
3437         Introduce the DOMTextContentWalker class to selectively retrieve content
3438         around a given VisiblePosition into a string in such a way that a text
3439         Range can be extracted later from a pair of the string's positions.
3440
3441         A new boolean called m_shouldStop is also introduced in the TextIterator to force
3442         it advancing under certain conditions. Although this is usually done by setting
3443         m_positionNode to zero, it can't be applied in this case since by doing so the
3444         iterator's range is lost.
3445
3446         * WebCore.gypi:
3447         * editing/SurroundingText.cpp: Added.
3448         (WebCore):
3449         (WebCore::SurroundingText::SurroundingText):
3450         (WebCore::SurroundingText::rangeFromContentOffsets):
3451         (WebCore::SurroundingText::content):
3452         (WebCore::SurroundingText::positionOffsetInContent):
3453         * editing/SurroundingText.h: Added.
3454         (WebCore):
3455         (SurroundingText):
3456         * editing/TextIterator.cpp:
3457         (WebCore::TextIterator::TextIterator):
3458         (WebCore::TextIterator::advance):
3459         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
3460         (WebCore::SimplifiedBackwardsTextIterator::advance):
3461         * editing/TextIterator.h: