fa9673df899708557cabf0071ee0635093c8e3c3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-30  Levi Weintraub  <leviw@chromium.org>
2
3         !m_insideRegionPaint assertion in RenderRegion.cpp is invalid
4         https://bugs.webkit.org/show_bug.cgi?id=77372
5
6         Reviewed by David Hyatt.
7
8         Removing the !m_insideRegionPaint assertion that's in three functions in
9         RenderRegion. It's triggering in numerous layout tests and isn't valid.
10
11         No new tests as this just removes assertions.
12
13         * rendering/RenderRegion.cpp:
14         (WebCore::RenderRegion::setRenderBoxRegionInfo):
15         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
16         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
17
18 2012-01-30  Adrienne Walker  <enne@google.com>
19
20         [chromium] Always pre-reserve scrollbar and scroll corner textures
21         https://bugs.webkit.org/show_bug.cgi?id=77251
22
23         Reviewed by James Robinson.
24
25         Add a flag to LayerChromium that says that a layer's textures should
26         always be reserved. Prior to painting layers, find all layers marked
27         as such and reserve their textures. This will prevent texture memory
28         limits from being hit before the root layer's scrollbars are reserved
29         and painted.
30
31         * platform/graphics/chromium/LayerChromium.cpp:
32         (WebCore::LayerChromium::LayerChromium):
33         * platform/graphics/chromium/LayerChromium.h:
34         (LayerChromium):
35         (WebCore::LayerChromium::reserveTextures):
36         (WebCore::LayerChromium::setAlwaysReserveTextures):
37         (WebCore::LayerChromium::alwaysReserveTextures):
38         * platform/graphics/chromium/TiledLayerChromium.cpp:
39         (WebCore::TiledLayerChromium::reserveTextures):
40         * platform/graphics/chromium/TiledLayerChromium.h:
41         ():
42         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
43         (WebCore::CCLayerTreeHost::updateLayers):
44         (WebCore::CCLayerTreeHost::reserveTextures):
45         (WebCore):
46         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
47         ():
48
49 2012-01-30  Beth Dakin  <bdakin@apple.com>
50
51         Speculative 32-bit build-fix.
52
53         * WebCore.exp.in:
54
55 2012-01-30  Mihnea Ovidenie  <mihnea@adobe.com>
56
57         [CSSRegions]Add support for background-color in region styling
58         https://bugs.webkit.org/show_bug.cgi?id=71488
59
60         Reviewed by David Hyatt.
61
62         Based on work by Alexandru Chiculita (achicu@adobe.com).
63         Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
64         (including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
65         Step1: before each region is repainted, we compute the style for each box that falls into the region
66         Step2: before paint, we store the box original style
67         Step3: paint the region contents using the style in region
68         Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)
69
70         Tests for region styling are also enabled with this patch.
71
72         * WebCore.exp.in:
73         * rendering/RenderFlowThread.cpp:
74         (WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
75         (WebCore::RenderFlowThread::setRegionRangeForBox):
76         * rendering/RenderFlowThread.h:
77         ():
78         * rendering/RenderLayer.cpp:
79         (WebCore::RenderLayer::paint):
80         (WebCore::RenderLayer::hitTest):
81         * rendering/RenderObject.cpp:
82         * rendering/RenderObject.h:
83         (WebCore::RenderObject::style):
84         (RenderObject):
85         * rendering/RenderObjectChildList.cpp:
86         (WebCore::RenderObjectChildList::removeChildNode):
87         * rendering/RenderRegion.cpp:
88         (WebCore::RenderRegion::RenderRegion):
89         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
90         (WebCore):
91         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
92         (WebCore::RenderRegion::paintReplaced):
93         (WebCore::RenderRegion::setRenderBoxRegionInfo):
94         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
95         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
96         (WebCore::RenderRegion::renderBoxRegionStyle):
97         (WebCore::RenderRegion::computeStyleInRegion):
98         (WebCore::RenderRegion::clearBoxStyleInRegion):
99         * rendering/RenderRegion.h:
100         (RenderRegion):
101         * rendering/RenderView.cpp:
102         (WebCore::RenderView::RenderView):
103         * rendering/RenderView.h:
104         (WebCore):
105         (RenderView):
106
107 2012-01-30  Jessie Berlin  <jberlin@apple.com>
108
109         WebCore build exceeds address space on 32-bit Windows builders (again).
110         https://bugs.webkit.org/show_bug.cgi?id=77357
111
112         Reviewed by Adam Roben.
113
114         Add an Inspector All-In-One file, but only use it in Release and Production builds.
115         This differs from our other All-In-One files, but it is a better approach because it makes
116         debugging possible in the Debug configuration (the symbols will be in the correct .obj file
117         for the original .cpp files).
118
119         * WebCore.vcproj/WebCore.vcproj:
120         Also, let VS have its way with the vcproj file.
121         * inspector/InspectorAllInOne.cpp: Added.
122
123 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
124
125         Limit periodic flushing inside ImageBufferCG to just Lion
126         https://bugs.webkit.org/show_bug.cgi?id=77353
127         <rdar://problem/10328309>
128
129         Reviewed by Chris Marrin.
130
131         * platform/graphics/cg/ImageBufferCG.cpp:
132         * platform/graphics/cg/ImageBufferDataCG.h:
133
134 2012-01-30  Tommy Widenflycht  <tommyw@google.com>
135
136         Memory leak caused by PeerConnection add a NULL media stream
137         https://bugs.webkit.org/show_bug.cgi?id=76150
138
139         It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
140         null or undefined arguments, it doesn't. Added checks for null pointers.
141
142         Reviewed by Adam Barth.
143
144         Test: fast/mediastream/peerconnection-addstream.html
145
146         * mediastream/PeerConnection.cpp:
147         (WebCore::PeerConnection::addStream):
148         (WebCore::PeerConnection::removeStream):
149
150 2012-01-26  Andy Estes  <aestes@apple.com>
151
152         [Windows] Optionally invert colors when drawing to a WebView's backing store.
153         https://bugs.webkit.org/show_bug.cgi?id=77168
154
155         Reviewed by Sam Weinig.
156
157         * css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
158         not converted to a CSS value. Exposing a new compositing operation to
159         CSS is outside the scope of this patch.
160         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
161         * platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
162         CompositeOperator. Also, remove an outdated comment.
163         * platform/graphics/cg/GraphicsContextCG.cpp:
164         (WebCore::GraphicsContext::setPlatformCompositeOperation): Map
165         CompositeDifference to kCGBlendModeDifference.
166
167 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
168
169         Limit the shadow offset CG hack to just SL and Lion
170         https://bugs.webkit.org/show_bug.cgi?id=77348
171         <rdar://problem/10158016>
172
173         Reviewed by Chris Marrin.
174
175         No new tests, current tests cover this.
176
177         * platform/graphics/cg/GraphicsContextCG.cpp:
178         (WebCore::GraphicsContext::setPlatformShadow):
179
180 2012-01-30  Beth Dakin  <bdakin@apple.com>
181
182         https://bugs.webkit.org/show_bug.cgi?id=77263
183         PlatformScreenMac should not rely on NSWindow for important bits of data
184
185         Reviewed by Geoff Garen.
186
187         The main problem is that we cannot rely on the NSWindow for information about 
188         the deviceScaleFactor because we cannot access an NSWindow from within 
189         WebCore for WebKit2 windows. Instead, we can fetch it from 
190         WebCore::deviceScaleFactor(), but we need a Frame to call that. So 
191         screenAvailableRect and screenRect both now take a FrameView* instead of a 
192         Widget*. All existing call sites actually sent a FrameView in anyway, so this 
193         is not a big change, but it does require touching a lot of platforms.
194         * WebCore.exp.in:
195         * platform/PlatformScreen.h:
196         (WebCore):
197         * platform/blackberry/PlatformScreenBlackBerry.cpp:
198         (WebCore::screenAvailableRect):
199         (WebCore::screenRect):
200         * platform/chromium/PlatformScreenChromium.cpp:
201         (WebCore::screenRect):
202         (WebCore::screenAvailableRect):
203         * platform/chromium/PlatformSupport.h:
204         (WebCore):
205         (PlatformSupport):
206         ():
207         * platform/efl/PlatformScreenEfl.cpp:
208         (WebCore::screenRect):
209         (WebCore::screenAvailableRect):
210         * platform/gtk/PlatformScreenGtk.cpp:
211         (WebCore::screenRect):
212         (WebCore::screenAvailableRect):
213         * platform/qt/PlatformScreenQt.cpp:
214         (WebCore::screenRect):
215         (WebCore::screenAvailableRect):
216         * platform/win/PlatformScreenWin.cpp:
217         (WebCore::screenRect):
218         (WebCore::screenAvailableRect):
219         * platform/wx/ScreenWx.cpp:
220         (WebCore::screenRect):
221         (WebCore::screenAvailableRect):
222
223         The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to 
224         take a parameter for the deviceScaleFactor.
225         * platform/mac/PlatformScreenMac.mm:
226         (WebCore::screenRect):
227         (WebCore::screenAvailableRect):
228         (WebCore::toUserSpace):
229         (WebCore::toDeviceSpace):
230
231 2012-01-30  Antti Koivisto  <antti@apple.com>
232
233         Kill CSSMutableStyleDeclarationConstIterator
234         https://bugs.webkit.org/show_bug.cgi?id=77342
235
236         Reviewed by Sam Weinig.
237
238         CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.
239
240         * css/CSSMutableStyleDeclaration.cpp:
241         (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
242         (WebCore::CSSMutableStyleDeclaration::removeProperty):
243         (WebCore::CSSMutableStyleDeclaration::setProperty):
244         (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
245         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
246         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
247         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
248         (WebCore::CSSMutableStyleDeclaration::merge):
249         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
250         * css/CSSMutableStyleDeclaration.h:
251         (WebCore):
252         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
253         (CSSMutableStyleDeclaration):
254         * css/CSSStyleDeclaration.cpp:
255         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
256         * css/CSSStyleDeclaration.h:
257         (CSSStyleDeclaration):
258         ():
259         * css/CSSStyleSelector.cpp:
260         (WebCore::CSSStyleSelector::styleForKeyframe):
261         (WebCore::CSSStyleSelector::applyDeclaration):
262         * editing/EditingStyle.cpp:
263
264 2012-01-30  Michael Saboff  <msaboff@apple.com>
265
266         Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
267         https://bugs.webkit.org/show_bug.cgi?id=76649
268
269         Reviewed by Geoffrey Garen.
270
271         No functionality change, therefore no new tests.
272
273         Added 8 bit patch for parseSimpleLengthValue().
274
275         * css/CSSParser.cpp:
276         (WebCore::parseSimpleLengthValue):
277
278 2012-01-30  Michael Saboff  <msaboff@apple.com>
279
280         WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
281         https://bugs.webkit.org/show_bug.cgi?id=76648
282
283         Reviewed by Geoffrey Garen.
284
285         Using new overloaded append(String&, offset, length)  member to build result string.
286         The new member properly handles 8/16 bit-ness of strings.
287
288         Functionality not changed, therefore no new tests.
289
290         * platform/text/DecodeEscapeSequences.h:
291         (WebCore::decodeEscapeSequences):
292
293 2012-01-30  Pavel Feldman  <pfeldman@google.com>
294
295         Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.
296
297         * inspector/front-end/BreakpointsSidebarPane.js:
298         (WebInspector.EventListenerBreakpointsSidebarPane):
299
300 2012-01-30  Parag Radke  <nrqv63@motorola.com>
301
302         REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
303         https://bugs.webkit.org/show_bug.cgi?id=61989
304
305         Reviewed by Simon Fraser.
306
307         According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
308         of the root element. In this case as HTML element has a property 'display:none' and hence renderer 
309         is NULL causes this crash.
310
311         Test: fast/css/fontsize-unit-rems-crash.html
312
313         * css/CSSPrimitiveValue.cpp:
314         (WebCore::CSSPrimitiveValue::computeLengthDouble):
315         Added a null check for the root element's RenderStyle as it can be null in case of html has a property
316         hidden or display:none.
317
318 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
319
320         [Qt] WKTR: Use a software rendering pipiline when running tests.
321         https://bugs.webkit.org/show_bug.cgi?id=76708
322
323         Reviewed by Kenneth Rohde Christiansen.
324
325         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
326         (WebCore::TextureMapperQt::setGraphicsContext):
327         * platform/graphics/qt/TextureMapperQt.h:
328         (WebCore::TextureMapperQt::initialize):
329
330 2012-01-27  Enrica Casucci  <enrica@apple.com>
331
332         Remove all references to NSPasteboard objects from the Pasteboard
333         class interface on Mac.
334         https://bugs.webkit.org/show_bug.cgi?id=77261
335         
336         This is cleanup work needed as first step in the direction of
337         removing access to NSPasteboard from the WebProcess.
338         This way all access to the NSPasteboard object are internal to
339         the class.
340         Removed static methods taking NSPasteboard as paramenter and changed
341         the constructor of the class to take the pasteboard name instead of
342         the NSPasteboard object.
343
344         Reviewed by Alexey Proskuryakov.
345
346         No new tests. There is no change in behavior.
347
348         * editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
349         (WebCore):
350         * editing/Editor.h: Ditto.
351         (Editor):
352         ():
353         * editing/mac/EditorMac.mm:
354         (WebCore::Editor::writeSelectionToPasteboard):
355         (WebCore::Editor::readSelectionFromPasteboard):
356         * platform/Pasteboard.h:
357         (Pasteboard):
358         * platform/mac/ClipboardMac.mm:
359         (WebCore::ClipboardMac::writeRange):
360         (WebCore::ClipboardMac::writePlainText):
361         (WebCore::ClipboardMac::writeURL):
362         * platform/mac/DragDataMac.mm:
363         (WebCore::DragData::asPlainText):
364         (WebCore::DragData::asURL):
365         (WebCore::DragData::asFragment):
366         * platform/mac/PasteboardMac.mm:
367         (WebCore::Pasteboard::generalPasteboard):
368         (WebCore::Pasteboard::Pasteboard):
369         (WebCore::Pasteboard::writeSelectionForTypes): Added.
370         (WebCore::Pasteboard::writePlainText):
371         (WebCore::Pasteboard::writeSelection):
372         (WebCore::Pasteboard::writeURLForTypes): Added.
373         (WebCore::Pasteboard::writeURL):
374         (WebCore::Pasteboard::writeImage):
375
376 2012-01-29  Antti Koivisto  <antti@apple.com>
377
378         Reduce non-CSSOM API of CSSStyleDeclaration
379         https://bugs.webkit.org/show_bug.cgi?id=77299
380
381         Reviewed by Andreas Kling.
382
383         CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only. 
384         This will move us closer to being able to split the CSSOM API from the internal implementation.
385         
386         - Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
387         - Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
388         - Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
389         - Switch a bunch of places to use internal API instead of CSSOM.
390
391         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
392         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
393         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
394         
395             Switch to *Internal versions of the CSSOM functions.
396         
397         * css/CSSComputedStyleDeclaration.cpp:
398         (WebCore):
399         (WebCore::CSSComputedStyleDeclaration::length):
400         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
401         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
402         
403             Move copyPropertiesInSet to subclasses, devirtualize.
404             
405         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
406         (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
407         (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
408         (WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
409         (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
410         (WebCore::CSSComputedStyleDeclaration::setProperty):
411         (WebCore::CSSComputedStyleDeclaration::removeProperty):
412         * css/CSSComputedStyleDeclaration.h:
413         (CSSComputedStyleDeclaration):
414         * css/CSSFontFaceRule.cpp:
415         (WebCore::CSSFontFaceRule::cssText):
416         * css/CSSMutableStyleDeclaration.cpp:
417         (WebCore::CSSMutableStyleDeclaration::length):
418         (WebCore::CSSMutableStyleDeclaration::asText):
419         (WebCore::CSSMutableStyleDeclaration::cssText):
420         (WebCore):
421         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
422         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
423         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
424         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
425         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
426         (WebCore::CSSMutableStyleDeclaration::setProperty):
427         (WebCore::CSSMutableStyleDeclaration::removeProperty):
428         (WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):
429         
430             Move copyPropertiesInSet to subclasses, devirtualize.
431         
432         (WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
433         (WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):
434         
435             Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
436             this object instead of the argument object.
437     
438         * css/CSSMutableStyleDeclaration.h:
439         (CSSMutableStyleDeclaration):
440         (WebCore::CSSMutableStyleDeclaration::propertyCount):
441         (WebCore::CSSMutableStyleDeclaration::isEmpty):
442         (WebCore::CSSMutableStyleDeclaration::propertyAt):
443         
444             Expose properties and property count internally (iterator should be removed in favor of these).
445         
446         * css/CSSStyleDeclaration.cpp:
447         (WebCore):
448         * css/CSSStyleDeclaration.h:
449         (CSSStyleDeclaration):
450         (WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
451         (WebCore::CSSStyleDeclaration::getPropertyValueInternal):
452         (WebCore::CSSStyleDeclaration::setPropertyInternal):
453         
454             Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
455             These take propertyIDs instead of strings names.
456
457         * css/CSSStyleRule.cpp:
458         (WebCore::CSSStyleRule::cssText):
459         * css/CSSStyleSelector.cpp:
460         (WebCore::leftToRightDeclaration):
461         (WebCore::rightToLeftDeclaration):
462         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
463         (WebCore::CSSStyleSelector::matchPageRulesForList):
464         * css/WebKitCSSKeyframeRule.cpp:
465         (WebCore::WebKitCSSKeyframeRule::cssText):
466         * dom/StyledElement.cpp:
467         (WebCore::StyledElement::updateStyleAttribute):
468         * editing/ApplyStyleCommand.cpp:
469         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
470         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
471         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
472         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
473         (WebCore::ApplyStyleCommand::addBlockStyle):
474         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
475         * editing/EditingStyle.cpp:
476         ():
477         (WebCore::copyEditingProperties):
478         (WebCore):
479         (WebCore::propertyCSSValue):
480         (WebCore::getRGBAFontColor):
481         (WebCore::EditingStyle::overrideWithStyle):
482         (WebCore::EditingStyle::removeStyleAddedByNode):
483         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
484         (WebCore::EditingStyle::triStateOfStyle):
485         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
486         (WebCore::EditingStyle::prepareToApplyAt):
487         (WebCore::removePropertiesInStyle):
488         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
489         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
490         (WebCore::StyleChange::StyleChange):
491         (WebCore::fontWeightIsBold):
492         (WebCore::getPropertiesNotIn):
493         (WebCore::getIdentifierValue):
494         (WebCore::hasTransparentBackgroundColor):
495         * editing/EditingStyle.h:
496         
497             Adapt to changes.
498     
499         (WebCore):
500         * editing/ReplaceSelectionCommand.cpp:
501         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
502         (WebCore::handleStyleSpansBeforeInsertion):
503         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
504         * editing/mac/EditorMac.mm:
505         (WebCore::styleForSelectionStart):
506         * editing/markup.cpp:
507         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
508         (WebCore::StyledMarkupAccumulator::appendElement):
509         * html/ImageDocument.cpp:
510         (WebCore::ImageDocument::resizeImageToFit):
511         (WebCore::ImageDocument::restoreImageSize):
512         (WebCore::ImageDocument::windowSizeChanged):
513         * html/canvas/CanvasRenderingContext2D.cpp:
514         (WebCore::CanvasRenderingContext2D::setFont):
515         * html/canvas/CanvasStyle.cpp:
516         (WebCore::currentColor):
517         * inspector/InspectorStyleSheet.cpp:
518         (WebCore::InspectorStyleSheet::revalidateStyle):
519         * page/PageSerializer.cpp:
520         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
521         * rendering/RenderTreeAsText.cpp:
522         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
523         * svg/SVGStyledElement.cpp:
524         (WebCore::SVGStyledElement::getPresentationAttribute):
525
526 2012-01-30  Pavel Feldman  <pfeldman@google.com>
527
528         Web Inspector: protocol validator should fail if one of response fields turns optional
529         https://bugs.webkit.org/show_bug.cgi?id=76452
530
531         Reviewed by Yury Semikhatsky.
532
533         * inspector/Inspector-0.1.json:
534         * inspector/Inspector.json:
535         * inspector/generate-inspector-protocol-version:
536         (compare_commands):
537         (compare_events):
538         (compare_params_list):
539         (compare_types):
540         (self_test):
541
542 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
543
544         Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
545         https://bugs.webkit.org/show_bug.cgi?id=77326
546
547         Keyboard navigation in the detailed heap snapshot view now updates retainers view.
548
549         Reviewed by Pavel Feldman.
550
551         * inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
552         (WebInspector.DataGridNode.prototype.select):
553         (WebInspector.DataGridNode.prototype.deselect):
554         * inspector/front-end/DetailedHeapshotView.js:
555         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
556         (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
557
558 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
559
560         Unreviewed. Fix inspector front-end compilation.
561
562         * inspector/front-end/RemoteObject.js:
563         (WebInspector.RemoteObject):
564         (WebInspector.RemoteObject.fromPayload):
565
566 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
567
568         Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
569         https://bugs.webkit.org/show_bug.cgi?id=77332
570
571         Reviewed by Kent Tamura.
572
573         No new tests. (simple refactoring)
574
575         * dom/Node.cpp:
576         (WebCore::Node::parentOrHostElement):
577
578 2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
579
580         Unreviewed. Fix make distcheck.
581
582         * GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to
583         EXTRA_DIST.
584         * GNUmakefile.list.am: Add missing files.
585
586 2012-01-27  Vsevolod Vlasov  <vsevik@chromium.org>
587
588         Web Inspector: TabbedEditorContainer should save open tabs.
589         https://bugs.webkit.org/show_bug.cgi?id=76912
590
591         Reviewed by Pavel Feldman.
592
593         Test: inspector/tabbed-editors-history.html
594
595         * inspector/front-end/ScriptsPanel.js:
596         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
597         (WebInspector.ScriptsPanel.prototype._reset):
598         (WebInspector.ScriptsPanel.prototype._showFile):
599         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
600         (WebInspector.ScriptsPanel.prototype._editorSelected):
601         (WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
602         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
603         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
604         * inspector/front-end/TabbedEditorContainer.js:
605         (WebInspector.TabbedEditorContainer):
606         (WebInspector.TabbedEditorContainer.prototype.showFile):
607         (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
608         (WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
609         (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
610         (WebInspector.TabbedEditorContainer.prototype._updateHistory):
611         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
612         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
613         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
614         (WebInspector.TabbedEditorContainer.prototype.reset):
615         (WebInspector.TabbedEditorContainer.History):
616         (WebInspector.TabbedEditorContainer.History.prototype.index):
617         (WebInspector.TabbedEditorContainer.History.prototype.update):
618         (WebInspector.TabbedEditorContainer.History.prototype.remove):
619         (WebInspector.TabbedEditorContainer.History.prototype.save):
620         * inspector/front-end/TabbedPane.js:
621         (WebInspector.TabbedPane.prototype.appendTab):
622         (WebInspector.TabbedPane.prototype.closeTab):
623         (WebInspector.TabbedPane.prototype._innerCloseTab):
624         (WebInspector.TabbedPane.prototype.closeAllTabs):
625         (WebInspector.TabbedPane.prototype.lastOpenedTabIds):
626         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
627
628 2012-01-30  Alexander Pavlov  <apavlov@chromium.org>
629
630         Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
631         https://bugs.webkit.org/show_bug.cgi?id=77209
632
633         Reviewed by Pavel Feldman.
634
635         Check if the property value contains a ";" before kicking the freeflow text update.
636
637         * inspector/front-end/StylesSidebarPane.js:
638         (WebInspector.StylePropertyTreeElement.prototype):
639
640 2012-01-30  Vsevolod Vlasov  <vsevik@chromium.org>
641
642         Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
643         https://bugs.webkit.org/show_bug.cgi?id=77321
644
645         Reviewed by Pavel Feldman.
646
647         * inspector/front-end/FilteredItemSelectionDialog.js:
648         (WebInspector.JavaScriptOutlineDialog.createShortcut):
649         (WebInspector.OpenResourceDialog.createShortcut):
650         * inspector/front-end/ScriptsPanel.js:
651
652 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
653
654         Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
655         https://bugs.webkit.org/show_bug.cgi?id=77330
656
657         Reviewed by Pavel Feldman.
658
659         * inspector/front-end/DetailedHeapshotView.js:
660         (WebInspector.DetailedHeapshotView.prototype.willHide):
661
662 2012-01-30  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
663
664         [BlackBerry] Credential backing store implementation
665         https://bugs.webkit.org/show_bug.cgi?id=76761
666
667         Reviewed by Antonio Gomes.
668
669         Implemented credential backing store database and related
670         operations in class CredentialBackingStore.
671
672         * platform/network/blackberry/CredentialBackingStore.cpp:
673         (WebCore::CredentialBackingStore::~CredentialBackingStore):
674         (WebCore::CredentialBackingStore::open):
675         (WebCore::CredentialBackingStore::close):
676         (WebCore::CredentialBackingStore::addLogin):
677         (WebCore::CredentialBackingStore::updateLogin):
678         (WebCore::CredentialBackingStore::hasLogin):
679         (WebCore::CredentialBackingStore::getLogin):
680         (WebCore::CredentialBackingStore::removeLogin):
681         (WebCore::CredentialBackingStore::clear):
682
683 2012-01-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
684
685         Only send resize events when layout size changes.
686         https://bugs.webkit.org/show_bug.cgi?id=77212
687
688         When using fixed layout the widget size is the size of content, therefore
689         resize checks must check against layoutsize and not widget size.
690
691         Reviewed by Kenneth Rohde Christiansen.
692
693         Needs to be manual tests because the test framework does not currently
694         support testing fixed layout.
695
696         Tests: ManualTests/resize-events.html
697
698         * page/FrameView.cpp:
699         (WebCore::FrameView::layout):
700         (WebCore::FrameView::performPostLayoutTasks):
701
702 2012-01-30  Pavel Feldman  <pfeldman@google.com>
703
704         Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
705         https://bugs.webkit.org/show_bug.cgi?id=77301
706
707         Reviewed by Vsevolod Vlasov.
708
709         * inspector/front-end/TimelinePanel.js:
710         (WebInspector.TimelinePanel.prototype._registerShortcuts):
711
712 2012-01-30  Nikolas Zimmermann  <nzimmermann@rim.com>
713
714         Not reviewed. Fix Clang build for real after r106218.
715
716         * inspector/CodeGeneratorInspector.py:
717         (Generator.go): Add virtual destructor to the ABCs.
718
719 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
720
721         No need to keep anonymous RenderBlock in DETAILS.
722         https://bugs.webkit.org/show_bug.cgi?id=77322
723
724         Reviewed by Hajime Morita.
725
726         Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
727         However, it should be removed.
728
729         No new tests. Should be covered by existing tests.
730
731         * rendering/RenderBlock.cpp:
732         (WebCore::canMergeContiguousAnonymousBlocks):
733
734 2012-01-30  Zoltan Herczeg  <zherczeg@webkit.org>
735
736         Custom written CSS lexer
737         https://bugs.webkit.org/show_bug.cgi?id=70107
738
739         Rubber Stamped by Csaba Osztrogonác.
740
741         Do not advance pointer at the end of input, just
742         keep returning with END_TOKEN.
743
744         * css/CSSParser.cpp:
745         (WebCore::CSSParser::lex):
746
747 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
748
749         The query selector for HTMLContentElement should follow the shadow dom spec.
750         https://bugs.webkit.org/show_bug.cgi?id=75946
751
752         Reviewed by Hajime Morita.
753
754         Checks the query selector of HTMLContentElement is valid.
755         If not valid, the selector won't match anything, and shows fallback element.
756
757         Test: fast/dom/shadow/content-selector-query.html
758
759         * html/shadow/ContentSelectorQuery.cpp:
760         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
761         (WebCore::ContentSelectorQuery::isValidSelector):
762         (WebCore::ContentSelectorQuery::matches):
763           When a select query is not valid, any element won't be matched.
764         (WebCore::validateSubSelector):
765         (WebCore::validateSelector):
766         (WebCore::ContentSelectorQuery::validateSelectorList):
767           Validate selectors.
768         * html/shadow/ContentSelectorQuery.h:
769         * html/shadow/HTMLContentElement.cpp:
770         (WebCore::HTMLContentElement::isSelectValid):
771           Returns true if select attribute is valid.
772         * html/shadow/HTMLContentElement.h:
773         * testing/Internals.cpp:
774         (WebCore::Internals::isValidContentSelect):
775         * testing/Internals.h:
776         * testing/Internals.idl:
777
778 2012-01-30  Hans Wennborg  <hans@chromium.org>
779
780         Unreviewed, rolling out r106219.
781         http://trac.webkit.org/changeset/106219
782         https://bugs.webkit.org/show_bug.cgi?id=77083
783
784         This broke Chromium's test_shell.
785
786         * GNUmakefile.list.am:
787         * Target.pri:
788         * WebCore.gypi:
789         * WebCore.vcproj/WebCore.vcproj:
790         * WebCore.xcodeproj/project.pbxproj:
791         * platform/mock/SpeechInputClientMock.cpp: Added.
792         (WebCore):
793         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
794         (WebCore::SpeechInputClientMock::setListener):
795         (WebCore::SpeechInputClientMock::startRecognition):
796         (WebCore::SpeechInputClientMock::stopRecording):
797         (WebCore::SpeechInputClientMock::cancelRecognition):
798         (WebCore::SpeechInputClientMock::addRecognitionResult):
799         (WebCore::SpeechInputClientMock::clearResults):
800         (WebCore::SpeechInputClientMock::timerFired):
801         * platform/mock/SpeechInputClientMock.h: Added.
802         (WebCore):
803         (SpeechInputClientMock):
804
805 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
806
807         Unreviewed. Clang build fix after r106218
808
809         * inspector/CodeGeneratorInspector.py:
810
811 2012-01-30  ChangSeok Oh  <shivamidow@gmail.com>
812
813         Make GraphicsContext3DPrivate of GTK port shareable.
814         https://bugs.webkit.org/show_bug.cgi?id=77296
815
816         Reviewed by Eric Seidel.
817
818         GraphicsContext3DPrivate.cpp/h of GTK port look shareable with another port
819         using glx backend for WebGL. For example, EFL port.
820         Moved GraphicsContext3DPrivate.cpp and its header into Source/WebCore/platform/graphics/glx.
821
822         No new tests required, because of no new feature.
823
824         * GNUmakefile.am:
825         * GNUmakefile.list.am:
826         * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.cpp.
827         (sharedDisplay):
828         (WebCore):
829         (WebCore::activeGraphicsContexts):
830         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
831         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
832         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
833         (WebCore::GraphicsContext3DPrivate::create):
834         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
835         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
836         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
837         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
838         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
839         * platform/graphics/glx/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.h.
840         (WebCore):
841         (GraphicsContext3DPrivate):
842
843 2012-01-26  Hans Wennborg  <hans@chromium.org>
844
845         Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
846         https://bugs.webkit.org/show_bug.cgi?id=77083
847
848         Reviewed by Darin Fisher.
849
850         Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
851         implementation.
852
853         No new tests, just refactoring.
854
855         * GNUmakefile.list.am:
856         * Target.pri:
857         * WebCore.gypi:
858         * WebCore.vcproj/WebCore.vcproj:
859         * WebCore.xcodeproj/project.pbxproj:
860         * platform/mock/SpeechInputClientMock.cpp: Removed.
861         * platform/mock/SpeechInputClientMock.h: Removed.
862
863 2012-01-30  Peter Rybin  <peter.rybin@gmail.com>
864
865         Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h
866         https://bugs.webkit.org/show_bug.cgi?id=77062
867
868         Reviewed by Yury Semikhatsky.
869
870         Code generator is changed. Now it generates InspectorBackendDispatcher
871         as an abstract class so that implementation details could be fully
872         hidden in .cpp file in a separate 'impl' class. This should make .h
873         file more clear.
874         Also new formal interfaces to domain agents are generated. This is an
875         improvement over the current case when interfaces to agents are
876         definen implicitly at calling sites.
877
878         * inspector/CodeGeneratorInspector.py:
879         (RawTypes):
880         (RawTypes.OutputPassModel):
881         (RawTypes.OutputPassModel.ByPointer):
882         (RawTypes.OutputPassModel.ByPointer.get_argument_prefix):
883         (RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix):
884         (RawTypes.OutputPassModel.ByReference):
885         (RawTypes.OutputPassModel.ByReference.get_argument_prefix):
886         (RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix):
887         (RawTypes.BaseType.is_event_param_check_optional):
888         (RawTypes.String):
889         (RawTypes.String.get_output_pass_model):
890         (RawTypes.String.is_heavy_value):
891         (RawTypes.Int):
892         (RawTypes.Int.get_output_pass_model):
893         (RawTypes.Int.is_heavy_value):
894         (RawTypes.Number):
895         (RawTypes.Number.get_output_pass_model):
896         (RawTypes.Number.is_heavy_value):
897         (RawTypes.Bool.get_c_param_type):
898         (RawTypes.Bool):
899         (RawTypes.Bool.get_output_pass_model):
900         (RawTypes.Bool.is_heavy_value):
901         (RawTypes.Object):
902         (RawTypes.Object.get_output_pass_model):
903         (RawTypes.Object.is_heavy_value):
904         (RawTypes.Any.get_c_initializer):
905         (RawTypes.Any):
906         (RawTypes.Any.get_output_pass_model):
907         (RawTypes.Any.is_heavy_value):
908         (RawTypes.Array):
909         (RawTypes.Array.get_output_pass_model):
910         (RawTypes.Array.is_heavy_value):
911         (InspectorBackendDispatcherImpl):
912         (void):
913         (Generator):
914         (Generator.go):
915         (Generator.process_command):
916         * inspector/InspectorController.cpp:
917         (WebCore::InspectorController::connectFrontend):
918         * inspector/WorkerInspectorController.cpp:
919         (WebCore::WorkerInspectorController::connectFrontend):
920
921 2012-01-29  Zoltan Herczeg  <zherczeg@webkit.org>
922
923         Custom written CSS lexer
924         https://bugs.webkit.org/show_bug.cgi?id=70107
925
926         Reviewed by Antti Koivisto and Oliver Hunt.
927
928         This patch replaces the flex based CSS lexer to a
929         new, custom written one. The new code is more
930         than 2 times faster according to oprofile and CPU
931         cycle counters.
932
933         The code structure is quite straightforward: it choose
934         the possible token group based on the first character
935         and employ utility functions to parse the longer than
936         one character long ones. Most of the utilities are inline
937         to make the lexer fast.
938
939         All build systems updated. Including removing the flex support.
940
941         Existing tests cover this feature.
942
943         * CMakeLists.txt:
944         * DerivedSources.make:
945         * DerivedSources.pri:
946         * GNUmakefile.am:
947         * GNUmakefile.list.am:
948         * WebCore.gyp/WebCore.gyp:
949         * WebCore.gyp/scripts/action_maketokenizer.py: Removed.
950         * WebCore.gypi:
951         * WebCore.vcproj/WebCore.vcproj:
952         * WebCore.xcodeproj/project.pbxproj:
953         * css/CSSParser.cpp:
954         (WebCore::CSSParser::CSSParser):
955         (WebCore::CSSParser::setupParser):
956         (WebCore::parseSimpleLengthValue):
957         (WebCore::mightBeRGBA):
958         (WebCore::mightBeRGB):
959         ():
960         (WebCore::isCSSLetter):
961         (WebCore):
962         (WebCore::isCSSEscape):
963         (WebCore::isURILetter):
964         (WebCore::isIdentifierStartAfterDash):
965         (WebCore::isEqualToCSSIdentifier):
966         (WebCore::checkAndSkipEscape):
967         (WebCore::skipWhiteSpace):
968         (WebCore::CSSParser::isIdentifierStart):
969         (WebCore::CSSParser::checkAndSkipString):
970         (WebCore::CSSParser::parseEscape):
971         (WebCore::CSSParser::parseIdentifier):
972         (WebCore::CSSParser::parseString):
973         (WebCore::CSSParser::parseURI):
974         (WebCore::CSSParser::parseUnicodeRange):
975         (WebCore::CSSParser::parseNthChild):
976         (WebCore::CSSParser::parseNthChildExtra):
977         (WebCore::CSSParser::detectFunctionTypeToken):
978         (WebCore::CSSParser::detectMediaQueryToken):
979         (WebCore::CSSParser::detectNumberToken):
980         (WebCore::CSSParser::detectDashToken):
981         (WebCore::CSSParser::detectAtToken):
982         (WebCore::CSSParser::lex):
983         (WebCore::CSSParser::markSelectorListStart):
984         (WebCore::CSSParser::markSelectorListEnd):
985         (WebCore::CSSParser::markRuleBodyStart):
986         (WebCore::CSSParser::markRuleBodyEnd):
987         (WebCore::CSSParser::markPropertyStart):
988         (WebCore::CSSParser::markPropertyEnd):
989         * css/CSSParser.h:
990         (WebCore::CSSParser::token):
991         (CSSParser):
992         ():
993         * css/tokenizer.flex: Removed.
994
995 2012-01-29  Dale Curtis  <dalecurtis@chromium.org>
996
997         Prepare WebCore.gyp for ffmpeg source transition.
998         https://bugs.webkit.org/show_bug.cgi?id=77254
999
1000         We're migrating our ffmpeg repo from a set of patches living on top of
1001         a tarball to an actual git fork of upstream.  The paths have changed
1002         slightly.
1003
1004         In order to not break the current build, we'll keep both paths around
1005         until the transition is complete.  Afterward the 'patched-ffmpeg' path
1006         will be removed.
1007
1008         Reviewed by Tony Chang.
1009
1010         No new tests. GYP change, if it doesn't work, nothing will compile.
1011
1012         * WebCore.gyp/WebCore.gyp:
1013
1014 2012-01-29  Hayato Ito  <hayato@chromium.org>
1015
1016         Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
1017         https://bugs.webkit.org/show_bug.cgi?id=76354
1018
1019         Reviewed by Hajime Morita.
1020
1021         We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
1022         since this is a feature under development.
1023
1024         * dom/ShadowRoot.cpp:
1025         (WebCore::ShadowRoot::create):
1026         (WebCore):
1027         * dom/ShadowRoot.h:
1028         (WebCore):
1029         (ShadowRoot):
1030         * dom/ShadowRoot.idl:
1031         * page/DOMWindow.idl:
1032
1033 2012-01-29  Noel Gordon  <noel.gordon@gmail.com>
1034
1035         [chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
1036         https://bugs.webkit.org/show_bug.cgi?id=74286
1037
1038         Reviewed by Kenneth Russell.
1039
1040         No new tests. Covered by many existing tests: in particular 
1041             fast/images/*, fast/canvas/*,
1042             tables/mozilla/bugs/bug29314.html
1043             tables/mozilla/bugs/bug13169.html
1044             tables/mozilla/bugs/bug10565.html
1045             tables/mozilla/bugs/bug11026.html
1046             fast/repaint/backgroundSizeRepaint.html
1047             fast/repaint/block-layout-inline-children-replaced.html
1048             fast/repaint/clipped-relative.html
1049             fast/repaint/selected-replaced.html
1050             tables/mozilla/bugs/bug12908-1.html
1051
1052         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1053         (rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.
1054
1055 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1056
1057         Unreviewed, rolling out r105999.
1058         http://trac.webkit.org/changeset/105999
1059         https://bugs.webkit.org/show_bug.cgi?id=77304
1060
1061         Validating that this caused a performance regression in page
1062         load tests. (Requested by leviw on #webkit).
1063
1064         * dom/NamedNodeMap.cpp:
1065         * dom/NamedNodeMap.h:
1066         (NamedNodeMap):
1067         * dom/StyledElement.cpp:
1068         (WebCore::StyledElement::updateStyleAttribute):
1069         (WebCore::StyledElement::createInlineStyleDecl):
1070         (WebCore):
1071         (WebCore::StyledElement::destroyInlineStyleDecl):
1072         (WebCore::StyledElement::ensureInlineStyleDecl):
1073         (WebCore::StyledElement::style):
1074         (WebCore::StyledElement::addSubresourceAttributeURLs):
1075         * dom/StyledElement.h:
1076         (WebCore::StyledElement::inlineStyleDecl):
1077         (StyledElement):
1078
1079 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1080
1081         Unreviewed, rolling out r106109.
1082         http://trac.webkit.org/changeset/106109
1083         https://bugs.webkit.org/show_bug.cgi?id=77302
1084
1085         It made tests crash (Requested by Ossy_weekend on #webkit).
1086
1087         * platform/graphics/qt/TextureMapperQt.cpp:
1088         (WebCore::TextureMapperQt::setGraphicsContext):
1089         * platform/graphics/qt/TextureMapperQt.h:
1090         (WebCore::TextureMapperQt::initialize):
1091
1092 2012-01-28  Alexander Færøy  <ahf@0x90.dk>
1093
1094         [Qt] Remove references to CSSBorderImageValue.h in Target.pri
1095         https://bugs.webkit.org/show_bug.cgi?id=77277
1096
1097         Reviewed by Antonio Gomes.
1098
1099         CSSBorderImageValue.h was removed in r105502.
1100
1101         * Target.pri:
1102
1103 2012-01-28  Julien Chaffraix  <jchaffraix@webkit.org>
1104
1105         REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
1106         https://bugs.webkit.org/show_bug.cgi?id=76126
1107
1108         Reviewed by Simon Fraser.
1109
1110         Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html
1111                fast/layers/scroll-no-visible-content-but-visible-descendant.html
1112
1113         The optimization missed out that if the current layer does not have some visible content
1114         (m_hasVisibleContent is false), a descendant could totally be visible and would need to
1115         have its repaint rectangles recomputed.
1116
1117         * rendering/RenderLayer.cpp:
1118         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1119         Bail out only if the layer doesn't have visible content AND no visible descendants.
1120
1121 2012-01-27  Chris Marrin  <cmarrin@apple.com>
1122
1123         Get rid of TransformOperationList
1124         https://bugs.webkit.org/show_bug.cgi?id=77249
1125
1126         Reviewed by Dan Bernstein.
1127
1128         Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
1129         of transform operations. These are not needed, they are already available in the keyframe lists and they
1130         make it more difficult to add support for hardware animated filters. No behavior changes.
1131
1132
1133         * platform/graphics/GraphicsLayer.cpp:
1134         (WebCore::GraphicsLayer::validateTransformOperations):
1135         * platform/graphics/GraphicsLayer.h:
1136         (GraphicsLayer):
1137         * platform/graphics/ca/GraphicsLayerCA.cpp:
1138         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
1139         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1140         * platform/graphics/ca/GraphicsLayerCA.h:
1141         ():
1142         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1143         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1144         * platform/graphics/texmap/TextureMapperAnimation.cpp:
1145         (WebCore::applyTransformAnimation):
1146         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
1147         (WebCore::TextureMapperAnimation::applyInternal):
1148         * platform/graphics/texmap/TextureMapperAnimation.h:
1149         (TextureMapperAnimation):
1150
1151 2012-01-27  Raymond Toy  <rtoy@google.com>
1152
1153         AudioPannerNode::setPanningModel() does not update m_panningModel properly
1154         https://bugs.webkit.org/show_bug.cgi?id=66830
1155
1156         Reviewed by Kenneth Russell.
1157
1158         Test: webaudio/panner-set-model.html
1159
1160         * webaudio/AudioPannerNode.cpp:
1161         (WebCore::AudioPannerNode::setPanningModel):  Update
1162         m_panningModel appropriately.  Also silently do nothing if the
1163         model is invalid.
1164
1165 2012-01-27  Chris Rogers  <crogers@google.com>
1166
1167         HRTFPanner could have high-quality mode for smoother transitions
1168         https://bugs.webkit.org/show_bug.cgi?id=76470
1169
1170         Reviewed by Kenneth Russell.
1171
1172         * platform/audio/HRTFPanner.cpp:
1173         (WebCore):
1174         (WebCore::HRTFPanner::HRTFPanner):
1175         (WebCore::HRTFPanner::reset):
1176         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
1177         (WebCore::HRTFPanner::pan):
1178         * platform/audio/HRTFPanner.h:
1179         (HRTFPanner):
1180         ():
1181
1182 2012-01-27  Mike Lawther  <mikelawther@chromium.org>
1183
1184         CSS calc parsing stage
1185         https://bugs.webkit.org/show_bug.cgi?id=57082
1186
1187         This is the parsing stage of calc. The expressions are evaluated and 
1188         expression trees are generated. CSS values are not created yet - that
1189         will happen in a subsequent commit. 
1190
1191         Reviewed by David Hyatt.
1192
1193         No functional change - covered by existing tests in LayoutTests/css3/calc.
1194
1195         * CMakeLists.txt:
1196         * GNUmakefile.list.am:
1197         * Target.pri:
1198         * WebCore.gypi:
1199         * WebCore.vcproj/WebCore.vcproj:
1200         * WebCore.xcodeproj/project.pbxproj:
1201         * css/CSSCalculationValue.cpp: Added.
1202         (WebCore):
1203         (WebCore::unitCategory):
1204         (WebCore::CSSCalcValue::customCssText):
1205         (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
1206         (CSSCalcPrimitiveValue):
1207         (WebCore::CSSCalcPrimitiveValue::create):
1208         (WebCore::CSSCalcPrimitiveValue::cssText):
1209         (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
1210         ():
1211         (CSSCalcBinaryOperation):
1212         (WebCore::CSSCalcBinaryOperation::create):
1213         (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
1214         (WebCore::checkDepthAndIndex):
1215         (CSSCalcExpressionNodeParser):
1216         (WebCore::CSSCalcExpressionNodeParser::parseCalc):
1217         (Value):
1218         (WebCore::CSSCalcExpressionNodeParser::operatorValue):
1219         (WebCore::CSSCalcExpressionNodeParser::parseValue):
1220         (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
1221         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
1222         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
1223         (WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
1224         (WebCore::CSSCalcValue::create):
1225         * css/CSSCalculationValue.h: Added.
1226         (WebCore):
1227         ():
1228         (CSSCalcExpressionNode):
1229         (WebCore::CSSCalcExpressionNode::category):
1230         (WebCore::CSSCalcExpressionNode::isInt):
1231         (WebCore::CSSCalcExpressionNode::isZero):
1232         (WebCore::CSSCalcExpressionNode::CSSCalcExpressionNode):
1233         (CSSCalcValue):
1234         (WebCore::CSSCalcValue::category):
1235         (WebCore::CSSCalcValue::isInt):
1236         (WebCore::CSSCalcValue::CSSCalcValue):
1237         * css/CSSParser.cpp:
1238         (WebCore::CSSParser::validCalculationUnit):
1239         (WebCore):
1240         (WebCore::CSSParser::validUnit):
1241         (WebCore::CSSParser::createPrimitiveNumericValue):
1242         (WebCore::CSSParser::parseValidPrimitive):
1243         (WebCore::CSSParser::parseValue):
1244         (WebCore::CSSParser::parseFillPositionComponent):
1245         (WebCore::CSSParser::parsedDouble):
1246         (WebCore::CSSParser::isCalculation):
1247         (WebCore::CSSParser::colorIntFromValue):
1248         (WebCore::CSSParser::parseColorParameters):
1249         (WebCore::CSSParser::parseHSLParameters):
1250         (WebCore::ShadowParseContext::ShadowParseContext):
1251         (WebCore::ShadowParseContext::commitLength):
1252         (WebCore::ShadowParseContext::commitStyle):
1253         (ShadowParseContext):
1254         (WebCore::CSSParser::parseShadow):
1255         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
1256         (WebCore::BorderImageSliceParseContext::commitNumber):
1257         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
1258         (BorderImageSliceParseContext):
1259         (WebCore::CSSParser::parseBorderImageSlice):
1260         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
1261         (WebCore::BorderImageQuadParseContext::commitNumber):
1262         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
1263         (BorderImageQuadParseContext):
1264         (WebCore::CSSParser::parseBorderImageQuad):
1265         (WebCore::CSSParser::parseCalculation):
1266         * css/CSSParser.h:
1267         ():
1268         (CSSParser):
1269         * css/CSSValue.cpp:
1270         (WebCore::CSSValue::cssText):
1271         (WebCore::CSSValue::destroy):
1272         * css/CSSValue.h:
1273         (WebCore::CSSValue::isCalculationValue):
1274         ():
1275         * css/SVGCSSParser.cpp:
1276         (WebCore::CSSParser::parseSVGValue):
1277         * platform/CalculationValue.cpp: Added.
1278         (WebCore):
1279         * platform/CalculationValue.h: Added.
1280         (WebCore):
1281         ():
1282
1283 2012-01-27  Anders Carlsson  <andersca@apple.com>
1284
1285         WebTileLayers should honor the acceleratesDrawing flag
1286         https://bugs.webkit.org/show_bug.cgi?id=77242
1287         <rdar://problem/10622128>
1288
1289         Reviewed by Dan Bernstein.
1290
1291         * platform/graphics/ca/mac/TileCache.h:
1292         (WebCore::TileCache::acceleratesDrawing):
1293         Add getter.
1294
1295         * platform/graphics/ca/mac/TileCache.mm:
1296         (WebCore::TileCache::TileCache):
1297         Initialize m_acceleratesDrawing.
1298
1299         (WebCore::TileCache::setAcceleratesDrawing):
1300         Set m_acceleratesDrawing and go through all tile layers and update the flag.
1301
1302         (WebCore::TileCache::createTileLayer):
1303         Call -[CALayer setAcceleratesDrawing:] on the newly created layer.
1304
1305         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1306         (-[WebTileCacheLayer setAcceleratesDrawing:]):
1307         (-[WebTileCacheLayer acceleratesDrawing]):
1308         Call through to the TileCache object.
1309
1310 2012-01-27  Raymond Toy  <rtoy@google.com>
1311
1312         Round time to sample frame
1313         https://bugs.webkit.org/show_bug.cgi?id=76659
1314
1315         Three major changes:
1316
1317         1. Modify timeToSampleFrame to round the time to the sample frame
1318         and add support for Visual Studio to round the time in the same
1319         way as on gcc. (The issue is that Visual Studio uses x87
1320         instructions with 80-bit floats.)  This makes Visual Studio more
1321         consistent with the results with gcc.
1322
1323         2. Change the current time variable from keeping time in seconds
1324         to keeping time in sample frames.  This minimizes rounding except
1325         when needed for the Javascript API.
1326
1327         3. Update AudioBufferSourceNode::process to use samples (instead
1328         of time) as much as possible to reduce round-off effects.
1329
1330         Reviewed by Kenneth Russell.
1331
1332         Tests: Added note-grain-on test to exercise precise
1333         timing. Existing tests (gain and audiobuffersource-playbackrate)
1334         also cover some of these changes, and the equalpower panner test is
1335         modified to enable the tests for the offset of the impulses.
1336
1337         * platform/audio/AudioUtilities.cpp:
1338         (WebCore::AudioUtilities::timeToSampleFrame): Moved from
1339         AudioParamTimeLine and slightly modified, and updated to round
1340         operations consistently.  Add special flags for Visual Studio to
1341         generate code with rounding that is consistent with gcc.
1342         * platform/audio/AudioUtilities.h: Declare new function.
1343         * webaudio/AudioBufferSourceNode.cpp:
1344         (WebCore::AudioBufferSourceNode::process): Use new functions to
1345         convert time to sample frame.  Update code to use integer
1346         arithmetic as much as possible.
1347         (WebCore::AudioBufferSourceNode::renderFromBuffer): Use
1348         timeToSampleFrame to convert time to sample frame.
1349         * webaudio/AudioContext.h: Define new currentSample method to get
1350         the current sample.
1351         * webaudio/AudioDestinationNode.cpp:
1352         (WebCore::AudioDestinationNode::provideInput): Use new function to
1353         convert sample frame to time.  Update
1354         * webaudio/AudioDestiationNode.h: Rename m_currentTime to
1355         m_currentSample, add method to return current Sample.  Update
1356         currentTime() method to compute time from the current sample.
1357         * webaudio/AudioParamTimeline.cpp:
1358         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Remove
1359         timeToSampleFrame and use new function in AudioUtilities to
1360         convert time to sample frame.
1361
1362 2012-01-27  Adrienne Walker  <enne@google.com>
1363
1364         [chromium] Don't ever skip drawing the non-composited content layer
1365         https://bugs.webkit.org/show_bug.cgi?id=77236
1366
1367         Reviewed by James Robinson.
1368
1369         Since the root layer has its textures potentially reserved last in a
1370         front-to-back iteration, don't ever skip drawing it if we can't
1371         reserve its textures. Instead, checkerboard and draw background color
1372         quads instead to fill the viewport. This behavior is tied to the
1373         backgroundFillsViewport setting.
1374
1375         * platform/graphics/chromium/TiledLayerChromium.cpp:
1376         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1377         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1378         (WebCore::CCLayerTilingData::reset):
1379         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1380         (WebCore::CCTiledLayerImpl::appendQuads):
1381
1382 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
1383
1384         Fix a warning in the GTK+ build.
1385
1386         Reviewed by Gustavo Noronha Silva.
1387
1388         No new tests. This should not change behavior.
1389
1390         * plugins/gtk/PluginViewGtk.cpp:
1391         (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
1392
1393 2012-01-27  Tien-Ren Chen  <trchen@chromium.org>
1394
1395         [chromium] CCLayerTreeHostImpl minor code cleanup
1396         https://bugs.webkit.org/show_bug.cgi?id=77181
1397
1398         Fix a typo in comments and group functions properly.
1399         Replace duplicated content size code with function.
1400
1401         Reviewed by James Robinson.
1402
1403         No new tests. No change in behavior.
1404
1405         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1406         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
1407         (WebCore::CCLayerTreeHostImpl::contentSize):
1408         (WebCore):
1409         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
1410         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1411         (CCLayerTreeHostImpl):
1412
1413 2012-01-27  Kevin Ollivier  <kevino@theolliviers.com>
1414
1415         [wx] Unreviewed. Build fix, add missing header.
1416
1417         * rendering/svg/SVGImageBufferTools.h:
1418
1419 2012-01-27  Victor Carbune  <victor@rosedu.org>
1420
1421         Added the GenericEventQueue class in order to generalize asynchronous
1422         event dispatching in HTMLMediaElement.
1423
1424         In order to support asynchronous events dispatched by HTMLTrackElement
1425         there is a need for a generalized implementation of an event queue to
1426         be used for both HTMLMediaElement and Text Tracks.
1427
1428         https://bugs.webkit.org/show_bug.cgi?id=76110
1429
1430         Reviewed by Eric Carlson.
1431
1432         No new tests. No new functionality, only refactoring.
1433
1434         * CMakeLists.txt:
1435         * GNUmakefile.list.am:
1436         * Target.pri:
1437         * WebCore.gypi:
1438         * WebCore.vcproj/WebCore.vcproj:
1439         * WebCore.xcodeproj/project.pbxproj:
1440
1441         * dom/GenericEventQueue.cpp: Added. Implements the abstract class EventQueue.
1442         (WebCore::GenericEventQueue::GenericEventQueue):
1443         (WebCore::GenericEventQueue::~GenericEventQueue):
1444         (WebCore::GenericEventQueue::enqueueEvent): Append an event to the current
1445         pending event list.
1446         (WebCore::GenericEventQueue::cancelEvent): Removes an event from the current
1447         pending event list.
1448         (WebCore::GenericEventQueue::timerFired): Callback method when the timer fires.
1449         Dispatches all events that are currently pending.
1450         (WebCore::GenericEventQueue::close): Closes the event queue such that it cannot
1451         be used anymore.
1452         (WebCore::GenericEventQueue::cancelAllEvents): Removes all pending events.
1453         (WebCore::GenericEventQueue::hasPendingEvents): True if there are pending events.
1454         * dom/GenericEventQueue.h: Added.
1455
1456         * html/HTMLMediaElement.cpp:
1457         (WebCore::HTMLMediaElement::HTMLMediaElement):
1458         (WebCore::HTMLMediaElement::scheduleEvent): Refactored method to enqueue
1459         the scheduled event on the GenericEventQueue instance.
1460         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): Ditto.
1461         (WebCore::HTMLMediaElement::hasPendingActivity): Ditto.
1462         (WebCore::HTMLMediaElement::dispatchEvent): This method is overriden
1463         to keep an evidence when a canPlay event is fired.
1464         * html/HTMLMediaElement.h:
1465
1466 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
1467
1468         Fix a warning in the GTK+ build.
1469
1470         Reviewed by Gustavo Noronha Silva.
1471
1472         No new tests. This should not change behavior.
1473
1474         * plugins/gtk/PluginViewGtk.cpp:
1475         (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
1476
1477 2012-01-27  Benjamin Poulain  <bpoulain@apple.com>
1478
1479         Speed up the prefix matching of cssPropertyName()
1480         https://bugs.webkit.org/show_bug.cgi?id=77158
1481
1482         Reviewed by Geoffrey Garen.
1483
1484         This patch improves the performance by:
1485         -not checking the PropertyName with all 7 prefix
1486          (now, in the worse case, 2 prefixes are checked)
1487         -avoiding the conversion 8bits->16bits by using String::operator[]
1488          instead of ::characters()
1489
1490         To avoid checking every prefix, the code branch based on the first
1491         characters of the propertyName.
1492         The remaining of the prefix is checked character by characters like before.
1493
1494         When accessing CSS property, this gives a 13% improvement when there is no prefix.
1495         There is no performance regression for the matching of prefix, including for the first one
1496         of the previous matching code ("css").
1497
1498         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1499         ():
1500         (WebCore::matchesCSSPropertyNamePrefix):
1501         (WebCore):
1502         (WebCore::getCSSPropertyNamePrefix):
1503         (WebCore::cssPropertyName):
1504
1505 2012-01-27  Ken Buchanan  <kenrb@chromium.org>
1506
1507         Crash in updateFirstLetter() from unnecessary anonymous block
1508         https://bugs.webkit.org/show_bug.cgi?id=72675
1509
1510         Reviewed by David Hyatt.
1511
1512         There was a problem with anonymous blocks not getting removed when
1513         their only block flow siblings are removed if they also have non-block
1514         flow first-letter siblings (i.e. floats). This patch modifies
1515         RenderBlock::removeChild() to look for this situation and strip out
1516         unnecessary anonymous container blocks if it occurs.
1517
1518         * rendering/RenderBlock.cpp:
1519         (WebCore::RenderBlock::removeChild):
1520         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
1521         * rendering/RenderBlock.h:
1522         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
1523
1524 2012-01-27  Fady Samuel  <fsamuel@chromium.org>
1525
1526         Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
1527         https://bugs.webkit.org/show_bug.cgi?id=76459
1528
1529         Reviewed by Darin Fisher.
1530
1531         This should be a setting because it is independent of a particular frame and
1532         should be preserved even if the mainframe changes.
1533
1534         Renamed (set)ShouldLayoutFixedElementsRelativeToFrame to 
1535         (set)FixedElementsLayoutRelativeToFrame due to the connotation
1536         the word "should" may have in this context: If set, 
1537         position:fixed elements will ALWAYS be laid out relative to the frame.
1538
1539
1540         * WebCore.exp.in:
1541         * page/FrameView.cpp:
1542         (WebCore::FrameView::reset):
1543         (WebCore::FrameView::scrollXForFixedPosition):
1544         (WebCore::FrameView::scrollYForFixedPosition):
1545         (WebCore::FrameView::fixedElementsLayoutRelativeToFrame):
1546         (WebCore):
1547         * page/FrameView.h:
1548         (FrameView):
1549         * page/Settings.cpp:
1550         (WebCore::Settings::Settings):
1551         (WebCore::Settings::setFixedElementsLayoutRelativeToFrame):
1552         (WebCore):
1553         * page/Settings.h:
1554         (Settings):
1555         (WebCore::Settings::fixedElementsLayoutRelativeToFrame):
1556         * rendering/RenderBox.cpp:
1557         (WebCore::RenderBox::fixedElementLaysOutRelativeToFrame):
1558         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1559         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1560         * rendering/RenderBox.h:
1561         (RenderBox):
1562         * testing/InternalSettings.cpp:
1563         (WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
1564         * testing/InternalSettings.h:
1565         (InternalSettings):
1566         * testing/InternalSettings.idl:
1567
1568 2012-01-27  Kentaro Hara  <haraken@chromium.org>
1569
1570         Support the [Supplemental] IDL for constants
1571         https://bugs.webkit.org/show_bug.cgi?id=77228
1572
1573         Reviewed by Adam Barth.
1574
1575         We have supported the [Supplemental] IDL for attributes and methods.
1576         This patch supports it for constants.
1577
1578         Test: bindings/scripts/test/TestSupplemental.idl
1579
1580         * bindings/scripts/generate-bindings.pl:
1581         Supported [Supplemental] constants.
1582         Updated some comments.
1583
1584         * bindings/scripts/test/TestSupplemental.idl:
1585         Added test cases for [Supplemental] constants.
1586
1587         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Updated the test results.
1588         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
1589         (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
1590         (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
1591         (WebCore):
1592         (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT1):
1593         (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT2):
1594         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
1595         (WebCore):
1596         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
1597         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1598         (WebCore::ConfigureV8TestInterfaceTemplate):
1599
1600 2012-01-27  Anders Carlsson  <andersca@apple.com>
1601
1602         When threaded scrolling is enabled for a FrameView, always put scrollbars in layers
1603         https://bugs.webkit.org/show_bug.cgi?id=77232
1604         <rdar://problem/10766708>
1605
1606         Reviewed by Beth Dakin.
1607
1608         * page/ScrollingCoordinator.cpp:
1609         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
1610         * page/ScrollingCoordinator.h:
1611         Add a new helper function.
1612
1613         * rendering/RenderLayerCompositor.cpp:
1614         (WebCore::shouldCompositeOverflowControls):
1615         Make this take a FrameView, check with the scrolling coordinator if the overflow controls should be composited.
1616
1617         (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
1618         (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
1619         (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
1620         Update for the change to make shouldCompositeOverflowControls take a FrameView.
1621
1622 2012-01-24  Vincent Scheib  <scheib@chromium.org>
1623
1624         Pointer Lock: Implement pointer interface
1625         https://bugs.webkit.org/show_bug.cgi?id=75762
1626
1627         Reviewed by Julien Chaffraix.
1628
1629         Implement the navigator.pointer interface via a new
1630         PointerLockController class, as per
1631         http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.
1632
1633         The implementation is being made in steps, the feature is still behind
1634         compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
1635         in any browser. (Chromium has a developer flag required.) Follow-up
1636         work will include handling DOM elements being removed, making all
1637         callbacks asynchronous, iframe permissions (similar to Full Screen),
1638         etc.
1639
1640         PointerLockController maintains state of which Element is the current
1641         lock target and the success and failure callbacks. ChromeClient has
1642         methods added to expose the required state change requests.
1643
1644         Tests: pointer-lock/lock-already-locked.html
1645                pointer-lock/lock-fail-responses.html
1646                pointer-lock/mouse-event-delivery.html
1647                pointer-lock/pointerlocklost-event.html
1648
1649         * WebCore.gypi:
1650         * dom/EventNames.h:
1651         * page/ChromeClient.h:
1652         (WebCore::ChromeClient::requestPointerLock):
1653         (WebCore::ChromeClient::requestPointerUnlock):
1654         (WebCore::ChromeClient::isPointerLocked):
1655         * page/Navigator.cpp:
1656         (WebCore::Navigator::webkitPointer):
1657         * page/Page.cpp:
1658         (WebCore::Page::Page):
1659         * page/Page.h:
1660         (WebCore::Page::pointerLockController):
1661         * page/PointerLock.cpp:
1662         (WebCore::PointerLock::PointerLock):
1663         (WebCore::PointerLock::create):
1664         (WebCore::PointerLock::lock):
1665         (WebCore::PointerLock::unlock):
1666         (WebCore::PointerLock::isLocked):
1667         * page/PointerLock.h:
1668         (WebCore::PointerLock::create):
1669         * page/PointerLockController.cpp: Added.
1670         (WebCore::PointerLockController::PointerLockController):
1671         (WebCore::PointerLockController::requestPointerLock):
1672         (WebCore::PointerLockController::requestPointerUnlock):
1673         (WebCore::PointerLockController::isLocked):
1674         (WebCore::PointerLockController::didAcquirePointerLock):
1675         (WebCore::PointerLockController::didNotAcquirePointerLock):
1676         (WebCore::PointerLockController::didLosePointerLock):
1677         (WebCore::PointerLockController::dispatchLockedMouseEvent):
1678         * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.
1679
1680 2012-01-27  Abhishek Arya  <inferno@chromium.org>
1681
1682         Crash in DocumentLoader::detachFromFrame.
1683         https://bugs.webkit.org/show_bug.cgi?id=62764
1684
1685         Reviewed by Brady Eidson.
1686
1687         r105556 didn't fix the crash because canceling the
1688         main resource loader blows away both the current
1689         document loader and frame underneath. Both protectors
1690         are also used in stopLoading() when m_mainResourceLoader->cancel()
1691         is called. Also, tested the fix under ASAN.
1692
1693         * loader/DocumentLoader.cpp:
1694         (WebCore::DocumentLoader::detachFromFrame):
1695
1696 2012-01-27  Tony Chang  <tony@chromium.org>
1697
1698         flexbox scrollbars don't take flex-direction into account
1699         https://bugs.webkit.org/show_bug.cgi?id=70772
1700
1701         Reviewed by Darin Adler.
1702
1703         This fixes a bug where we always used the logicalScrollbarHeight.
1704         For column flow, this was incorrect.
1705
1706         Also fix a bug where we didn't include the trailing border+padding+scrollbar when computing the
1707         height of a column flow.
1708
1709         Tests: css3/flexbox/cross-axis-scrollbar-expected.html
1710                css3/flexbox/cross-axis-scrollbar.html
1711
1712         * rendering/RenderFlexibleBox.cpp:
1713         (WebCore::RenderFlexibleBox::crossAxisScrollbarExtent): Add a direction aware method for getting the scrollbar size.
1714         (WebCore):
1715         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use crossAxisScrollbarExtent.
1716         * rendering/RenderFlexibleBox.h:
1717         (RenderFlexibleBox):
1718
1719 2012-01-27  Kentaro Hara  <haraken@chromium.org>
1720
1721         Unreviewed. Rebasedlined run-bindings-tests results.
1722
1723         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1724         (WebDOMTestInterface::supplementalMethod1):
1725         (WebDOMTestInterface::supplementalMethod2):
1726
1727 2012-01-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
1728
1729         [Qt][WK2] Child layers appear in wrong position when scrolling
1730         https://bugs.webkit.org/show_bug.cgi?id=77063
1731
1732         Reviewed by Simon Fraser.
1733
1734         When using the delegatesScrolling mode in FrameView, the compositor doesn't need
1735         to control the special clip/scroll layers. Also, when we change that mode, we need to let
1736         the compositor reset its backing-stores and rebuild them without scrolling/clipping.
1737
1738         This is tested by compositing tests, when run with Qt in touch mode.
1739
1740         * page/FrameView.cpp:
1741         (WebCore::FrameView::delegatesScrollingDidChange):
1742         (WebCore):
1743         * page/FrameView.h:
1744         (FrameView):
1745         * platform/ScrollView.cpp:
1746         (WebCore::ScrollView::setDelegatesScrolling):
1747         * platform/ScrollView.h:
1748         (WebCore::ScrollView::delegatesScrollingDidChange):
1749         * rendering/RenderLayerCompositor.cpp:
1750         (WebCore::RenderLayerCompositor::requiresScrollLayer):
1751
1752 2012-01-27  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
1753
1754         Removed unused method from CSSStyleSelector
1755         https://bugs.webkit.org/show_bug.cgi?id=77190
1756
1757         Reviewed by Andreas Kling.
1758
1759         * css/CSSStyleSelector.h:
1760         (CSSStyleSelector):
1761
1762 2012-01-27  Zeno Albisser  <zeno@webkit.org>
1763
1764         [Qt][Mac] Build fails after adding ICU support (r105997).
1765         https://bugs.webkit.org/show_bug.cgi?id=77118
1766
1767         Use SmareReplaceCF.cpp code path if platform Mac.
1768
1769         Reviewed by Tor Arne Vestbø.
1770
1771         * Target.pri:
1772
1773 2012-01-27  Ilya Tikhonovsky  <loislo@chromium.org>
1774
1775         Web Inspector: detailed heap snapshot: Replace (Native objects) root element
1776         with '(Detached DOM trees)' and '(Document DOM trees)'
1777         https://bugs.webkit.org/show_bug.cgi?id=77201
1778
1779         I think it'd be nice to replace one group containing all native objects with
1780         separate groups for different types of native objects.
1781
1782         Reviewed by Yury Semikhatsky.
1783
1784         * bindings/v8/RetainedDOMInfo.cpp:
1785         (WebCore::RetainedDOMInfo::GetGroupLabel):
1786         (WebCore):
1787         * bindings/v8/RetainedDOMInfo.h:
1788         (RetainedDOMInfo):
1789
1790 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1791
1792         <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
1793         https://bugs.webkit.org/show_bug.cgi?id=77205
1794
1795         Reviewed by Antti Koivisto.
1796
1797         Consider following testcase:
1798         <svg width="1000" height="500">
1799         <defs>
1800             <circle id="c" cx="50%" cy="50%" r="10%"/>
1801             <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
1802                 <feImage xlink:href="#c"/>
1803             </filter>
1804         </defs>
1805         <rect width="100" height="100" filter="url(#f)"/>
1806         </svg>
1807
1808         The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
1809         as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
1810         in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
1811
1812         That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
1813         the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
1814         middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
1815         the 100x100 sized image buffer.
1816
1817         So how to resolve this?
1818         The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
1819         resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
1820         to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
1821         SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
1822         This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
1823         subtree to an image buffer.
1824
1825         The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
1826         center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
1827         subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
1828         <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
1829         resolve only cx against the new viewport, and not cy.
1830
1831         Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
1832         that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
1833         back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
1834         using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
1835
1836         Adding lots of new testcases, trying all the different feImage modes.
1837
1838         Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
1839                svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
1840                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
1841                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
1842                svg/filters/feImage-position.svg
1843                svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
1844                svg/filters/feImage-subregions-preseveAspectRatio-none.svg
1845                svg/filters/feImage-subregions.svg
1846
1847         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1848         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
1849         * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
1850         * svg/graphics/filters/SVGFEImage.cpp:
1851         (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
1852         (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
1853                                                    Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
1854         * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.
1855
1856 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
1857
1858         Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
1859         https://bugs.webkit.org/show_bug.cgi?id=77126
1860
1861         Reviewed by Pavel Feldman.
1862
1863         * inspector/front-end/ScriptsPanel.js:
1864         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
1865         (WebInspector.ScriptsPanel.prototype._reset):
1866         (WebInspector.ScriptsPanel.prototype._showSourceLine):
1867         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
1868         (WebInspector.ScriptsPanel.prototype._editorClosed):
1869         (WebInspector.ScriptsPanel.prototype._editorSelected):
1870         (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
1871         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
1872         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
1873         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
1874         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
1875         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
1876         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
1877         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
1878         * inspector/front-end/TabbedEditorContainer.js:
1879         (WebInspector.TabbedEditorContainer):
1880         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1881         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
1882         (WebInspector.TabbedEditorContainer.prototype.reset):
1883
1884 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1885
1886         <feImage> DOM mutation problems
1887         https://bugs.webkit.org/show_bug.cgi?id=77198
1888
1889         Reviewed by Antti Koivisto.
1890
1891         Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
1892         Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
1893
1894         Integrate <feImage> properly within the pending resources concept, fixing the bug.
1895
1896         Tests: svg/filters/feImage-target-add-to-document.svg
1897                svg/filters/feImage-target-changes-id.svg
1898                svg/filters/feImage-target-id-change.svg
1899                svg/filters/feImage-target-reappend-to-document.svg
1900                svg/filters/feImage-target-remove-from-document.svg
1901
1902         * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
1903         (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
1904         (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
1905         (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
1906         (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
1907         (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
1908         (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
1909         (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
1910         (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
1911         (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
1912         * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.
1913
1914 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1915
1916         [Qt] WKTR: Use a software rendering pipiline when running tests.
1917         https://bugs.webkit.org/show_bug.cgi?id=76708
1918
1919         Reviewed by Kenneth Rohde Christiansen.
1920
1921         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
1922         (WebCore::TextureMapperQt::setGraphicsContext):
1923         * platform/graphics/qt/TextureMapperQt.h:
1924         (WebCore::TextureMapperQt::initialize):
1925
1926 2012-01-27  Branimir Lambov  <blambov@google.com>
1927
1928         SVG filters incorrectly move elements
1929         https://bugs.webkit.org/show_bug.cgi?id=73643
1930
1931         Reviewed by Nikolas Zimmermann.
1932
1933         Fixes SVG image buffer creation to use the enclosing integer rect
1934         instead of unstable rounded coordinates with scaling which was causing
1935         animated images to jump around under filters. The image buffer was not 
1936         aligned on a pixel boundary, and thus the positions and sizes of anything
1937         drawn under that filter changed by 1-2 pixels compared to the same
1938         elements drawn without an intermediate buffer, or drawn with a buffer
1939         with a different target rectangle. 
1940         
1941         The change improves the positioning of clip paths, masks and filters.
1942
1943         Tests: svg/clip-path/clip-in-clip.svg
1944                svg/clip-path/clipper-placement-issue.svg
1945                svg/filters/filter-placement-issue.svg
1946
1947         * platform/graphics/filters/FETile.cpp:
1948         (WebCore::FETile::platformApplySoftware):
1949         * rendering/svg/RenderSVGResourceClipper.cpp:
1950         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1951         * rendering/svg/RenderSVGResourceFilter.cpp:
1952         (WebCore::RenderSVGResourceFilter::applyResource):
1953         * rendering/svg/RenderSVGResourceGradient.cpp:
1954         (WebCore::createMaskAndSwapContextForTextGradient):
1955         (WebCore::clipToTextMask):
1956         * rendering/svg/RenderSVGResourceMasker.cpp:
1957         (WebCore::RenderSVGResourceMasker::applyResource):
1958         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1959         * rendering/svg/RenderSVGResourcePattern.cpp:
1960         (WebCore::RenderSVGResourcePattern::createTileImage):
1961         * rendering/svg/SVGImageBufferTools.cpp:
1962         (WebCore::SVGImageBufferTools::createImageBuffer):
1963         (WebCore::SVGImageBufferTools::createImageBufferForPattern):
1964         (WebCore::SVGImageBufferTools::clipToImageBuffer):
1965         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
1966         (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
1967         * rendering/svg/SVGImageBufferTools.h:
1968         (WebCore::SVGImageBufferTools::calcImageBufferRect):
1969
1970 2012-01-25  Yury Semikhatsky  <yurys@chromium.org>
1971
1972         Web Inspector: should be possible to open function declaration from script popover
1973         https://bugs.webkit.org/show_bug.cgi?id=76913
1974
1975         Added inferred/display function name and source location to the popover in scripts panel.
1976         Now when a function is hovered user can navigate to its definition.
1977
1978         Reviewed by Pavel Feldman.
1979
1980         Test: inspector/debugger/function-details.html
1981
1982         * bindings/js/JSInjectedScriptHostCustom.cpp:
1983         (WebCore::JSInjectedScriptHost::functionDetails):
1984         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1985         (WebCore::V8InjectedScriptHost::functionDetailsCallback):
1986         * inspector/InjectedScript.cpp:
1987         (WebCore::InjectedScript::getFunctionDetails):
1988         * inspector/InjectedScript.h:
1989         (InjectedScript):
1990         * inspector/InjectedScriptHost.idl:
1991         * inspector/InjectedScriptSource.js:
1992         (.):
1993         * inspector/Inspector.json:
1994         * inspector/InspectorDebuggerAgent.cpp:
1995         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1996         * inspector/InspectorDebuggerAgent.h:
1997         (InspectorDebuggerAgent):
1998         * inspector/front-end/DebuggerPresentationModel.js:
1999         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
2000         * inspector/front-end/ObjectPopoverHelper.js:
2001         (WebInspector.ObjectPopoverHelper):
2002         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2003         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2004         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
2005         * inspector/front-end/ObjectPropertiesSection.js:
2006         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
2007         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
2008         * inspector/front-end/RemoteObject.js:
2009         (WebInspector.RemoteObject):
2010         (WebInspector.RemoteObject.fromPayload):
2011         (WebInspector.RemoteObject.prototype.get functionName):
2012         * inspector/front-end/scriptsPanel.css:
2013         (.function-location-link):
2014         (.function-popover-title):
2015         (.function-popover-title .function-name):
2016
2017 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
2018
2019         Remove FIXME: ColorProfile encapsulation as a Vector<char> works well 
2020         https://bugs.webkit.org/show_bug.cgi?id=77176
2021
2022         Reviewed by Adam Barth.
2023
2024         No new tests. No change in behavior.
2025
2026         * platform/image-decoders/ImageDecoder.h:
2027
2028 2012-01-26  Matthew Delaney  <mdelaney@apple.com>
2029
2030         ImageBuffer::draw should deep copy if drawing to an accelerated context
2031         https://bugs.webkit.org/show_bug.cgi?id=77185
2032
2033         Reviewed by Simon Fraser.
2034
2035         No new tests since any test for this issue would be flaky at best.
2036
2037         * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
2038             an accelerated context for both draw and drawPattern.
2039         (WebCore::ImageBuffer::draw):
2040         (WebCore::ImageBuffer::drawPattern):
2041
2042 2012-01-26  Kevin Ollivier  <kevino@theolliviers.com>
2043
2044         [wx] Unreviewed. Build fixes.
2045         - Remove some constructors not generated by CPP bindings
2046           from being added to CPP binding headers
2047         - Keyboard event fixes after modifier changes
2048         - Add stubs for Language and RunLoop platform methods
2049
2050         * bindings/scripts/CodeGeneratorCPP.pm:
2051         (GetNamespaceForClass):
2052         (GenerateImplementation):
2053         * platform/mac/WebCoreSystemInterface.h:
2054         * platform/wx/KeyboardEventWx.cpp:
2055         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2056         * platform/wx/LanguageWx.cpp: Added.
2057         (WebCore):
2058         (WebCore::platformLanguage):
2059         (WebCore::platformUserPreferredLanguages):
2060         * platform/wx/RunLoopWx.cpp: Added.
2061         (WebCore):
2062         (WebCore::RunLoop::run):
2063         (WebCore::RunLoop::stop):
2064         (WebCore::RunLoop::RunLoop):
2065         (WebCore::RunLoop::~RunLoop):
2066         (WebCore::RunLoop::wakeUp):
2067         * storage/DOMWindowSQLDatabase.idl:
2068         * webaudio/DOMWindowWebAudio.idl:
2069         * websockets/DOMWindowWebSocket.idl:
2070
2071 2012-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2072
2073         Unreviewed, rolling out r105486.
2074         http://trac.webkit.org/changeset/105486
2075         https://bugs.webkit.org/show_bug.cgi?id=77182
2076
2077         This patch doesn't take web workers into account. (Requested
2078         by dave_levin on #webkit).
2079
2080         * html/DOMURL.cpp:
2081         (WebCore::DOMURL::DOMURL):
2082         (WebCore::DOMURL::~DOMURL):
2083         (WebCore::DOMURL::contextDestroyed):
2084         (WebCore):
2085         (WebCore::DOMURL::createObjectURL):
2086         (WebCore::DOMURL::revokeObjectURL):
2087         * html/DOMURL.h:
2088         (WebCore::DOMURL::create):
2089         (DOMURL):
2090         * html/DOMURL.idl:
2091         * page/DOMWindow.cpp:
2092         (WebCore):
2093         (WebCore::DOMWindow::webkitURL):
2094         * page/DOMWindow.h:
2095         (DOMWindow):
2096         ():
2097         * page/DOMWindow.idl:
2098         * workers/WorkerContext.cpp:
2099         (WebCore):
2100         (WebCore::WorkerContext::webkitURL):
2101         (WebCore::WorkerContext::webkitRequestFileSystem):
2102         * workers/WorkerContext.h:
2103         (WorkerContext):
2104         ():
2105         * workers/WorkerContext.idl:
2106
2107 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
2108
2109         Cleanup JPEGImageDecoder includes
2110         https://bugs.webkit.org/show_bug.cgi?id=77171
2111
2112         Reviewed by Adam Barth.
2113
2114         No new tests. Refactoring cleanup only.
2115
2116         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2117
2118 2012-01-26  Tim Horton  <hortont424@gmail.com>
2119
2120         3D transformed elements hide when showing the print dialog
2121         https://bugs.webkit.org/show_bug.cgi?id=45894
2122         <rdar://problem/7441593>
2123
2124         Reviewed by Andy Estes.
2125
2126         Suspend updates of the compositing layer tree while printing is taking place,
2127         preventing on-screen layers from moving to their print-mode positions.
2128
2129         No new tests, as WebKitTestRunner doesn't support putting the document
2130         into printing mode.
2131
2132         * page/FrameView.cpp:
2133         (WebCore::FrameView::syncCompositingStateForThisFrame):
2134         (WebCore::FrameView::paintContents):
2135         * platform/graphics/ca/LayerFlushScheduler.h:
2136         (WebCore::LayerFlushScheduler::isSuspended): Added.
2137
2138 2012-01-26  Pablo Flouret  <pablof@motorola.com>
2139
2140         Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
2141         https://bugs.webkit.org/show_bug.cgi?id=77165
2142
2143         Reviewed by Oliver Hunt.
2144
2145         Missing parameter in a call to deserialize() and using 'this' in the
2146         attribute accessor functions (which are static).
2147
2148         * bindings/scripts/CodeGeneratorJS.pm:
2149         (GenerateImplementation):
2150         (NativeToJSValue):
2151         * bindings/scripts/test/JS/JSTestObj.cpp:
2152         (WebCore::jsTestObjCachedAttribute1):
2153         (WebCore::jsTestObjCachedAttribute2):
2154         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2155         (WebCore::jsTestSerializedScriptValueInterfaceValue):
2156
2157 2012-01-26  W. James MacLean  <wjmaclean@chromium.org>
2158
2159         [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
2160         https://bugs.webkit.org/show_bug.cgi?id=76349
2161
2162         Reviewed by James Robinson.
2163
2164         Prior to this patch, draw culling either rejects a DrawQuad because it is completely
2165         occluded, or draws the entire quad (even if it is largely occluded). This patch
2166         attempts to reduce the number of pixels drawn by determining if a partially
2167         occluded DrawQuad can be resized to a smaller quad, based on what portion of the
2168         DrawQuad is actually visible, and performing that resizing where possible.
2169
2170         Added cases to existing unit tests.
2171
2172         * platform/graphics/chromium/LayerRendererChromium.cpp:
2173         (WebCore::LayerRendererChromium::drawTileQuad):
2174         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
2175         (WebCore::CCDrawQuad::CCDrawQuad):
2176         * platform/graphics/chromium/cc/CCDrawQuad.h:
2177         (WebCore::CCDrawQuad::setQuadVisibleRect):
2178         (WebCore::CCDrawQuad::quadVisibleRect):
2179         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2180         (WebCore::rectSubtractRegion):
2181         (WebCore::CCQuadCuller::cullOccludedQuads):
2182
2183 2012-01-26  Anders Carlsson  <andersca@apple.com>
2184
2185         Scrollbars disappear when switching from legacy to overlay scrollbars
2186         https://bugs.webkit.org/show_bug.cgi?id=77166
2187
2188         Reviewed by Dan Bernstein.
2189
2190         * platform/ScrollView.cpp:
2191         (WebCore::ScrollView::scrollbarStyleChanged):
2192         Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.
2193
2194         * platform/mac/ScrollAnimatorMac.mm:
2195         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2196         Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
2197         to set the horizontal or vertical imp, since setting the imp will reset the knob style.
2198
2199 2012-01-26  Adam Barth  <abarth@webkit.org>
2200
2201         NULL ptr in WebCore::ContainerNode::parserAddChild
2202         https://bugs.webkit.org/show_bug.cgi?id=76258
2203
2204         Reviewed by Eric Seidel.
2205
2206         Test: fast/parser/nested-fragment-parser-crash.html
2207
2208         We always need a parent element to attach to.  In crazy cases, we can
2209         have elements in the stack of open elements that are already detached
2210         from the DOM.  In those cases, they don't have a parent, so we aren't
2211         able to enforce the maximum DOM depth.  (Fortunately, they're not
2212         attached to the DOM anymore so we don't need to enforce the maximum DOM
2213         depth!)
2214
2215         * html/parser/HTMLConstructionSite.cpp:
2216         (WebCore::HTMLConstructionSite::attachLater):
2217         (WebCore::HTMLConstructionSite::fosterParent):
2218
2219 2012-01-26  Cris Neckar  <cdn@chromium.org>
2220
2221         The registration of schemes is currently racey as they are not registered from the main thread. 
2222         Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.
2223
2224         Thank you ap@webkit for helping us identify this.
2225
2226         https://bugs.webkit.org/show_bug.cgi?id=77160
2227
2228         Reviewed by Adam Barth.
2229
2230         * platform/SchemeRegistry.cpp:
2231         (WebCore::CORSEnabledSchemes):
2232
2233 2012-01-26  Anders Carlsson  <andersca@apple.com>
2234
2235         We don't need to always repaint overlay scrollbars if they're in layers
2236         https://bugs.webkit.org/show_bug.cgi?id=77159
2237
2238         Reviewed by Beth Dakin.
2239
2240         If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
2241         whether both scroll offsets actually change since they're translucent and we want to draw the new page
2242         contents underneath.
2243         
2244         However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
2245         need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).
2246
2247         * platform/ScrollableArea.cpp:
2248         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2249
2250 2012-01-26  Joshua Bell  <jsbell@chromium.org>
2251
2252         IndexedDB: WebCore::IDBKey objects are leaked
2253         https://bugs.webkit.org/show_bug.cgi?id=77114
2254
2255         Reviewed by Tony Chang.
2256
2257         Fixing memory leaks, no new tests.
2258
2259         * storage/IDBKey.h:
2260         (WebCore::IDBKey::createInvalid):
2261         (WebCore::IDBKey::createNumber):
2262         (WebCore::IDBKey::createString):
2263         (WebCore::IDBKey::createDate):
2264         (WebCore::IDBKey::createArray):
2265
2266 2012-01-25  Cris Neckar  <cdn@chromium.org>
2267
2268         Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
2269         https://bugs.webkit.org/show_bug.cgi?id=77041
2270
2271         Reviewed by Alexey Proskuryakov.
2272
2273         * loader/DocumentThreadableLoader.cpp:
2274         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2275         * platform/SchemeRegistry.cpp:
2276         (WebCore::CORSEnabledSchemes):
2277         (WebCore):
2278         (WebCore::SchemeRegistry::registerCORSEnabledScheme):
2279         (WebCore::SchemeRegistry::isCORSEnabledScheme):
2280         * platform/SchemeRegistry.h:
2281         (SchemeRegistry):
2282
2283 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
2284
2285         File extension for webp files is .webp
2286         https://bugs.webkit.org/show_bug.cgi?id=76982
2287
2288         Reviewed by Adam Barth.
2289
2290         No new tests. No change in behavior.
2291
2292         * platform/image-decoders/webp/WEBPImageDecoder.h:
2293         (WebCore::WEBPImageDecoder::filenameExtension):
2294
2295 2012-01-26  Alok Priyadarshi  <alokp@chromium.org>
2296
2297         [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
2298         https://bugs.webkit.org/show_bug.cgi?id=77137
2299
2300         Reviewed by James Robinson.
2301
2302         No new test needed. Only removing dead code.
2303
2304         * platform/graphics/chromium/LayerChromium.cpp:
2305         * platform/graphics/chromium/LayerChromium.h:
2306         (WebCore::LayerChromium::layerTreeHost):
2307         * platform/graphics/chromium/TiledLayerChromium.cpp:
2308         (WebCore::TiledLayerChromium::setLayerTreeHost):
2309
2310 2012-01-26  Anders Carlsson  <andersca@apple.com>
2311
2312         Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
2313         https://bugs.webkit.org/show_bug.cgi?id=77147
2314
2315         Reviewed by Adam Roben.
2316
2317         * platform/mac/ScrollAnimatorMac.h:
2318         (ScrollAnimatorMac):
2319         * platform/mac/ScrollAnimatorMac.mm:
2320         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2321         Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
2322         didEndScrollGesture if the event was actually handled.
2323
2324         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
2325         Implement this.
2326
2327         * platform/mac/ScrollElasticityController.h:
2328         * platform/mac/ScrollElasticityController.mm:
2329         (WebCore::ScrollElasticityController::handleWheelEvent):
2330         Check if we should rubber-band and return false if we shouldn't.
2331
2332         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
2333         Ask the client if we should rubber-band.
2334
2335 2012-01-19  James Robinson  <jamesr@chromium.org>
2336
2337         [chromium] Remove setLayerTreeHost nonsense on lost context
2338         https://bugs.webkit.org/show_bug.cgi?id=76675
2339
2340         Reviewed by Kenneth Russell.
2341
2342         This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
2343         the proxy and no layer types need special lost context handling.
2344
2345         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2346         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2347
2348 2012-01-26  Anders Carlsson  <andersca@apple.com>
2349
2350         Simplify checking of whether we should rubberband horizontally
2351         https://bugs.webkit.org/show_bug.cgi?id=77141
2352
2353         Reviewed by Adam Roben.
2354
2355         Have a single check for horizontal rubber-banding in both directions. This is in preparation
2356         for moving this code into ScrollElasticityController.
2357
2358         * platform/mac/ScrollAnimatorMac.mm:
2359         (WebCore::shouldRubberBandInHorizontalDirection):
2360         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2361
2362 2012-01-26  Scott Graham  <scottmg@chomium.org>
2363
2364         Fix include path in gyp file for V8InternalSettings.h
2365         https://bugs.webkit.org/show_bug.cgi?id=77128
2366
2367         Reviewed by Kent Tamura.
2368
2369         * WebCore.gyp/WebCore.gyp:
2370
2371 2012-01-26  James Robinson  <jamesr@chromium.org>
2372
2373         We shouldn't synchronously update styles on all documents after running script
2374         https://bugs.webkit.org/show_bug.cgi?id=46761
2375
2376         Reviewed by Simon Fraser.
2377
2378         Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
2379         slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
2380         unnecessary as any code that depends on styles or the render tree being up to date must call
2381         updateStyleIfNeeded() on the document it is accessing.
2382
2383         The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
2384         cargo culted forward ever since.
2385
2386         * bindings/ScriptControllerBase.cpp:
2387         (WebCore::ScriptController::executeScript):
2388         * bindings/js/ScheduledAction.cpp:
2389         (WebCore::ScheduledAction::execute):
2390         * bindings/js/ScriptController.cpp:
2391         (WebCore::ScriptController::ScriptController):
2392         (WebCore::ScriptController::executeScriptInWorld):
2393         * bindings/js/ScriptController.h:
2394         * bindings/v8/ScheduledAction.cpp:
2395         (WebCore::ScheduledAction::execute):
2396         * bindings/v8/ScriptController.cpp:
2397         (WebCore::ScriptController::ScriptController):
2398         * bindings/v8/ScriptController.h:
2399         * dom/ScriptElement.cpp:
2400         (WebCore::ScriptElement::executeScript):
2401         * inspector/InspectorClient.cpp:
2402         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
2403
2404 2012-01-26  Anders Carlsson  <andersca@apple.com>
2405
2406         Get rid of ScrollElasticityController::beginScrollGesture()
2407         https://bugs.webkit.org/show_bug.cgi?id=77138
2408
2409         Reviewed by Adam Roben.
2410
2411         ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
2412         PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
2413
2414         * platform/mac/ScrollAnimatorMac.mm:
2415         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2416         * platform/mac/ScrollElasticityController.h:
2417         (ScrollElasticityController):
2418         * platform/mac/ScrollElasticityController.mm:
2419         (WebCore::ScrollElasticityController::handleWheelEvent):
2420
2421 2012-01-26  Anders Carlsson  <andersca@apple.com>
2422
2423         Get rid of ScrollElasticityController::endScrollGesture()
2424         https://bugs.webkit.org/show_bug.cgi?id=77134
2425
2426         Reviewed by Adam Roben.
2427
2428         Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
2429         event phase is PlatformWheelEventPhaseEnded.
2430
2431         * platform/mac/ScrollAnimatorMac.mm:
2432         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2433         * platform/mac/ScrollElasticityController.h:
2434         (ScrollElasticityController):
2435         * platform/mac/ScrollElasticityController.mm:
2436         (WebCore::ScrollElasticityController::handleWheelEvent):
2437
2438 2012-01-26  Abhishek Arya  <inferno@chromium.org>
2439
2440         Crash in SVGSVGElement::currentViewBoxRect.
2441         https://bugs.webkit.org/show_bug.cgi?id=77121
2442
2443         Reviewed by Nikolas Zimmermann.
2444
2445         Symbols shouldn't be rendered. Revert the ASSERT
2446         from r105513 into a hard check.
2447
2448         Test: svg/custom/symbol-viewport-element-crash.svg
2449
2450         * svg/SVGLengthContext.cpp:
2451         (WebCore::SVGLengthContext::determineViewport):
2452
2453 2012-01-26  Anders Carlsson  <andersca@apple.com>
2454
2455         Inline beginScrollGesture/endScrollGesture in handleWheelEvent
2456         https://bugs.webkit.org/show_bug.cgi?id=77133
2457
2458         Reviewed by Andreas Kling.
2459
2460         * platform/mac/ScrollAnimatorMac.h:
2461         (ScrollAnimatorMac):
2462         * platform/mac/ScrollAnimatorMac.mm:
2463         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2464
2465 2012-01-26  Anders Carlsson  <andersca@apple.com>
2466
2467         No need to set m_haveScrolledSincePageLoad in beginScrollGesture
2468         https://bugs.webkit.org/show_bug.cgi?id=77132
2469
2470         Reviewed by Andreas Kling.
2471
2472         m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
2473         to set it to true again.
2474
2475         * platform/mac/ScrollAnimatorMac.mm:
2476         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2477
2478 2012-01-26  Anders Carlsson  <andersca@apple.com>
2479
2480         Simplify checking for whether we should rubberband or not when at the edge
2481         https://bugs.webkit.org/show_bug.cgi?id=77131
2482
2483         Reviewed by Beth Dakin.
2484
2485         We only need to check once if we're pinned at either edge whether we should rubber-band
2486         or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
2487         remove a bunch of code that would keep track of the current horizontal scroll direction.
2488
2489         * platform/mac/ScrollAnimatorMac.h:
2490         (ScrollAnimatorMac):
2491         * platform/mac/ScrollAnimatorMac.mm:
2492         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2493         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2494         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2495
2496 2012-01-26  Eli Fidler  <efidler@rim.com>
2497
2498         [JSC] Inspector instrumentation for JavaScript calls.
2499         https://bugs.webkit.org/show_bug.cgi?id=40119
2500
2501         Reviewed by Geoffrey Garen.
2502
2503         Covered by existing Chromium inspector tests
2504
2505         * bindings/js/JSCallbackData.cpp:
2506         (WebCore::JSCallbackData::invokeCallback):
2507         * bindings/js/JSEventListener.cpp:
2508         (WebCore::JSEventListener::handleEvent):
2509         * bindings/js/JSMainThreadExecState.h:
2510         (WebCore::JSMainThreadExecState::instrumentedCall):
2511         * inspector/InspectorInstrumentation.cpp:
2512         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2513
2514 2012-01-26  Mike Reed  <reed@google.com>
2515
2516         Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
2517         https://bugs.webkit.org/show_bug.cgi?id=76547
2518
2519         Reviewed by Stephen White.
2520
2521         Existing tests should confirm nothing is broken. Antialiased text
2522         is disabled in layouttests, so they should be unaffected by the
2523         difference in antialiasing quality.
2524
2525         * platform/graphics/skia/SkiaFontWin.cpp:
2526         (WebCore::setupPaintForFont):
2527
2528
2529 2012-01-26  Anders Carlsson  <andersca@apple.com>
2530
2531         Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
2532         https://bugs.webkit.org/show_bug.cgi?id=77127
2533
2534         Reviewed by Beth Dakin.
2535
2536         * platform/mac/ScrollAnimatorMac.h:
2537         (ScrollAnimatorMac):
2538         Remove handleGestureEvent.
2539
2540         * platform/mac/ScrollAnimatorMac.mm:
2541         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2542         Look at the event phase to determine when to call didBeginGesture and didEndGesture.
2543
2544 2012-01-26  Benjamin Poulain  <benjamin@webkit.org>
2545
2546         Using strncmp() for comparing scheme and port numbers is inefficient
2547         https://bugs.webkit.org/show_bug.cgi?id=75821
2548
2549         Reviewed by Darin Adler.
2550
2551         Replace the equal() function comparing 2 arbitrary strings by a template
2552         comparing the string to an array, character by character.
2553
2554         This is only used for small strings: the schemes and the ports.
2555
2556         * platform/KURL.cpp:
2557         (WebCore::equal):
2558         (WebCore::isDefaultPortForScheme):
2559         (WebCore::isNonFileHierarchicalScheme):
2560         (WebCore::isCanonicalHostnameLowercaseForScheme):
2561
2562 2012-01-26  Anders Carlsson  <andersca@apple.com>
2563
2564         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
2565         https://bugs.webkit.org/show_bug.cgi?id=77123
2566
2567         Reviewed by Beth Dakin.
2568
2569         * platform/PlatformWheelEvent.h:
2570         ():
2571         * platform/mac/PlatformEventFactoryMac.mm:
2572         (WebCore::phaseForEvent):
2573
2574 2012-01-26  Daniel Cheng  <dcheng@chromium.org>
2575
2576         Revert code changes from r105800
2577         https://bugs.webkit.org/show_bug.cgi?id=77071
2578
2579         The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
2580         no need to call lower() again.
2581
2582         Reviewed by Tony Chang.
2583
2584         Covered by existing tests.
2585
2586         * dom/Clipboard.cpp:
2587         (WebCore::Clipboard::hasDropZoneType):
2588
2589 2012-01-26  Stephen Chenney  <schenney@chromium.org>
2590
2591         REGRESSION (r91125): Polyline tool in google docs is broken
2592         https://bugs.webkit.org/show_bug.cgi?id=65796
2593
2594         Reviewed by Nikolas Zimmermann.
2595
2596         It turns out that the CG problem is a design decision. The bounding code
2597         returns CGRectNull for cases where a bound is ill-defined, rather than the
2598         empty bound as expected.
2599
2600         I'm also removing the workaround for isEmpty to get correct zero length paths.
2601         It is no longer necessary.
2602
2603         Tested by existing layout tests.
2604
2605         * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
2606         (WebCore::Path::boundingRect): Added check for CGRectNull
2607         (WebCore::Path::fastBoundingRect): Added check for CGRectNull
2608         (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
2609         (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
2610         (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
2611         (WebCore::Path::transform): Reverted to former behavior, using isEmpty.
2612
2613 2012-01-26  Andreas Kling  <awesomekling@apple.com>
2614
2615         Refactor application of additional style attributes for table elements.
2616         <http://webkit.org/b/77095>
2617
2618         Reviewed by Darin Adler.
2619
2620         The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
2621         Instead of using the mapped attribute decl table for additional table style, just use
2622         regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
2623         that's shared between a table's cells. That one is cached per-table since it depends
2624         on the table's border and padding.
2625
2626         * dom/CSSMappedAttributeDeclaration.cpp:
2627         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
2628         * dom/MappedAttributeEntry.h:
2629
2630             Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
2631             ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
2632             in the decl table, but unreachable since we always leaked one ref to those decls.
2633
2634         * dom/StyledElement.h:
2635         (WebCore::StyledElement::additionalAttributeStyle):
2636         * html/HTMLTableCellElement.cpp:
2637         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
2638         * html/HTMLTableCellElement.h:
2639         (HTMLTableCellElement):
2640         * html/HTMLTableColElement.cpp:
2641         (WebCore::HTMLTableColElement::additionalAttributeStyle):
2642         * html/HTMLTableColElement.h:
2643         (HTMLTableColElement):
2644         * html/HTMLTableElement.cpp:
2645         (WebCore::HTMLTableElement::parseMappedAttribute):
2646         (WebCore::leakBorderStyle):
2647         (WebCore::HTMLTableElement::additionalAttributeStyle):
2648         (WebCore::HTMLTableElement::createSharedCellStyle):
2649         (WebCore::HTMLTableElement::additionalCellStyle):
2650         (WebCore::leakGroupBorderStyle):
2651         (WebCore::HTMLTableElement::additionalGroupStyle):
2652         * html/HTMLTableElement.h:
2653         (HTMLTableElement):
2654         * html/HTMLTableSectionElement.cpp:
2655         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
2656         * html/HTMLTableSectionElement.h:
2657         (HTMLTableSectionElement):
2658
2659             Instead of collecting additional style decls into a vector, switch over to a
2660             "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
2661             All style declarations that can be reused for all elements are cached at the return
2662             sites, leaving only the shared table cell style which we cache on HTMLTableElement.
2663             Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
2664             additionalAttributeStyle() will just return 0.
2665
2666         * css/CSSStyleSelector.cpp:
2667         (WebCore::CSSStyleSelector::matchAllRules):
2668
2669             Updated for the new additional style conventions.
2670
2671 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
2672
2673         Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
2674         https://bugs.webkit.org/show_bug.cgi?id=77098
2675
2676         Reviewed by Pavel Feldman.
2677
2678         * inspector/front-end/ScriptsNavigator.js:
2679         * inspector/front-end/ScriptsPanel.js:
2680         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2681         (WebInspector.ScriptsPanel.prototype.get visibleView):
2682         (WebInspector.ScriptsPanel.prototype.viewForFile):
2683         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2684         (WebInspector.EditorContainer):
2685         (WebInspector.EditorContainer.prototype.get visibleView):
2686         (WebInspector.EditorContainer.prototype.showFile):
2687         (WebInspector.EditorContainer.prototype.setFileIsDirty):
2688         (WebInspector.EditorContainer.prototype.replaceFiles):
2689         (WebInspector.EditorContainer.prototype.reset):
2690         (WebInspector.EditorContainerDelegate):
2691         (WebInspector.EditorContainerDelegate.prototype.viewForFile):
2692         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
2693         (WebInspector.ScriptsPanel.SingleFileEditorContainer):
2694         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
2695         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
2696         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
2697         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
2698         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
2699         * inspector/front-end/TabbedEditorContainer.js:
2700         (WebInspector.TabbedEditorContainer):
2701         (WebInspector.TabbedEditorContainer.prototype.get visibleView):
2702         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
2703         (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
2704         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
2705         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
2706         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
2707         (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
2708         (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
2709         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
2710         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
2711         (WebInspector.TabbedEditorContainer.prototype.reset):
2712
2713 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2714
2715         SVG + <object> tests are flakey
2716         https://bugs.webkit.org/show_bug.cgi?id=77099
2717
2718         Reviewed by Andreas Kling.
2719
2720         Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
2721         ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
2722         which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
2723         which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.
2724
2725         This is the source of current flakiness bugs.
2726
2727         In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
2728         finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
2729         on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
2730         RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.
2731
2732         This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
2733         without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).
2734
2735         Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)
2736
2737         * page/FrameView.cpp: Remove m_inLayoutParentView.
2738         (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
2739         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
2740         (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
2741         * page/FrameView.h:
2742         (FrameView): Remove m_inLayoutParentView.
2743         * rendering/svg/RenderSVGRoot.cpp:
2744         (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
2745         (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
2746         (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
2747         * rendering/svg/RenderSVGRoot.h:
2748         (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.
2749
2750 2012-01-23  Andreas Kling  <awesomekling@apple.com>
2751
2752         Make elements that don't have attributes smaller.
2753         <http://webkit.org/b/76876>
2754
2755         Reviewed by Antti Koivisto.
2756
2757         Move the inline style declaration from StyledElement to NamedNodeMap, since having
2758         an inline style declaration also implies having a style attribute on the element.
2759         This saves one CPU word per element that has no attributes.
2760
2761         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
2762         HTML5 spec at <http://whatwg.org/c>.
2763
2764         * dom/NamedNodeMap.cpp:
2765         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
2766         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
2767         (WebCore::NamedNodeMap::createInlineStyleDecl):
2768         * dom/NamedNodeMap.h:
2769         (WebCore::NamedNodeMap::inlineStyleDecl):
2770         * dom/StyledElement.cpp:
2771         (WebCore::StyledElement::updateStyleAttribute):
2772         (WebCore::StyledElement::addSubresourceAttributeURLs):
2773         * dom/StyledElement.h:
2774         (WebCore::StyledElement::inlineStyleDecl):
2775         (WebCore::StyledElement::ensureInlineStyleDecl):
2776         (WebCore::StyledElement::destroyInlineStyleDecl):
2777
2778 2012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2779
2780         [Qt] Use ICU if available
2781         https://bugs.webkit.org/show_bug.cgi?id=76821
2782
2783         Reviewed by Simon Hausmann.
2784
2785         Adding correct sources to a Qt 5 based build.
2786
2787         No new tests, it's just a build dependency change.
2788
2789         * Target.pri:
2790
2791 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2792
2793         Not reviewed. Fix mac build after r105988.
2794
2795         * WebCore.exp.in:
2796
2797 2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
2798
2799         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
2800         https://bugs.webkit.org/show_bug.cgi?id=42545
2801
2802         Reviewed by Zoltan Herczeg.
2803
2804         No need for new tests, there is no behavior change.
2805
2806         Added a line to file which copies the forwarding headers.
2807
2808         * WebCore.vcproj/copyForwardingHeaders.cmd:
2809
2810 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2811
2812         Not reviewed. Fix Qt build after r105978.
2813
2814         * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
2815         * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
2816         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
2817         * rendering/svg/SVGRenderSupport.cpp: Ditto.
2818
2819 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2820
2821         Not reviewed. Fix non-AllInOne builds after r105978.
2822
2823         * rendering/svg/RenderSVGResource.cpp:
2824
2825 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
2826
2827         Unreviewed inspector closure compilation fix.
2828
2829         * inspector/front-end/externs.js:
2830         (WebInspector.closeDrawerView):
2831
2832 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2833
2834         Not reviewed. Fix release builds after r105978.
2835
2836         * rendering/svg/SVGInlineTextBox.cpp:
2837         (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.
2838
2839 2012-01-26  Kent Tamura  <tkent@chromium.org>
2840
2841         Unreviewed, rolling out r105968.
2842         http://trac.webkit.org/changeset/105968
2843         https://bugs.webkit.org/show_bug.cgi?id=76995
2844
2845         Incorrect behavior change
2846
2847         * html/HTMLInputElement.cpp:
2848         (WebCore::HTMLInputElement::setIndeterminate):
2849
2850 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2851
2852         crash in WebCore::RenderSVGContainer::paint
2853         https://bugs.webkit.org/show_bug.cgi?id=69714
2854
2855         Reviewed by Dirk Schulze.
2856
2857         When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
2858         - fill-opacity/stroke-opacity/opacity forced to 1
2859         - masker/filter resources shouldn't be applied to the children
2860         - fill must be set to the initial fill paint server for all children (solid black)
2861         - stroke must be set to the initial stroke paint server for all children (none)
2862
2863         This was achieved before by mutating the style of the children, which made them need a relayout.
2864         SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.
2865
2866         This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
2867         Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
2868         state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
2869         having to mutate the style of the children and without having to relayout.
2870
2871         We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.
2872
2873         Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
2874                svg/custom/layout-loop.svg
2875
2876         * rendering/PaintPhase.h:
2877         * rendering/svg/RenderSVGResource.cpp:
2878         (WebCore::requestPaintingResource):
2879         * rendering/svg/RenderSVGResourceClipper.cpp:
2880         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
2881         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
2882         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
2883         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2884         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2885         * rendering/svg/RenderSVGResourceClipper.h:
2886         * rendering/svg/RenderSVGResourceMasker.cpp:
2887         (WebCore::RenderSVGResourceMasker::applyResource):
2888         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2889         * rendering/svg/RenderSVGResourceMasker.h:
2890         * rendering/svg/RenderSVGResourcePattern.cpp:
2891         (WebCore::RenderSVGResourcePattern::createTileImage):
2892         * rendering/svg/RenderSVGResourceSolidColor.cpp:
2893         (WebCore::RenderSVGResourceSolidColor::applyResource):
2894         * rendering/svg/SVGImageBufferTools.cpp:
2895         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2896         * rendering/svg/SVGInlineTextBox.cpp:
2897         (WebCore::SVGInlineTextBox::paintSelectionBackground):
2898         (WebCore::SVGInlineTextBox::paint):
2899         * rendering/svg/SVGRenderSupport.cpp:
2900         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2901
2902 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2903
2904         Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.
2905
2906         * GNUmakefile.list.am:
2907
2908 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
2909
2910         Web Inspector: Improve user experience of advanced search panel closing.
2911         https://bugs.webkit.org/show_bug.cgi?id=76983
2912
2913         Reviewed by Pavel Feldman.
2914
2915         Added close button to search panel.
2916         Esc now closes the panel even when search filed has focus.
2917
2918         * English.lproj/localizedStrings.js:
2919         * inspector/front-end/AdvancedSearchController.js:
2920         (WebInspector.AdvancedSearchController.prototype.close):
2921         (WebInspector.SearchView):
2922         (WebInspector.SearchView.prototype._onKeyDown):
2923         (WebInspector.SearchView.prototype._closeButtonPressed):
2924         * inspector/front-end/inspector.css:
2925         (.search-view .search-panel):
2926         (.search-view .search-panel button.search-close-button):
2927         * inspector/front-end/inspector.js:
2928         (WebInspector._escPressed):
2929         (WebInspector.closeDrawerView):
2930
2931 2012-01-26  Joe Thomas  <joethomas@motorola.com>
2932
2933         https://bugs.webkit.org/show_bug.cgi?id=76995.
2934         WebKit fails IETC :indeterminate and input type=radio test.
2935
2936         As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
2937         only checkbox input type should respect the indeterminate state.
2938         Removed the support for indeterminate state for radio input types.
2939
2940         Reviewed by Eric Seidel.
2941
2942         Modified the existing test cases.
2943
2944         * html/HTMLInputElement.cpp:
2945         (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.
2946
2947 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
2948
2949         [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
2950         https://bugs.webkit.org/show_bug.cgi?id=76996
2951
2952         As it turns out, we were always calling validateFilename on a data object with an empty
2953         extension. Now we call it on an actual extension so that it's sanitized.
2954
2955         Reviewed by Tony Chang.
2956
2957         Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*
2958
2959         * WebCore.gypi:
2960         * platform/chromium/ClipboardChromium.cpp:
2961         (WebCore::writeImageToDataObject):
2962         * platform/chromium/ClipboardChromium.h:
2963         (ClipboardChromium):
2964         * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
2965         * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
2966         (WebCore):
2967         (WebCore::isInvalidFileCharacter):
2968         (WebCore::ClipboardChromium::validateFilename):
2969         * platform/chromium/ClipboardChromiumWin.cpp:
2970         (WebCore):
2971         (WebCore::ClipboardChromium::validateFilename):
2972
2973 2012-01-25  James Robinson  <jamesr@chromium.org>
2974
2975         [chromium] Rollout r100751, this mechanism does not work and is very slow
2976         https://bugs.webkit.org/show_bug.cgi?id=77055
2977
2978         Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
2979         but it still triggers a very slow codepath and triggers races on some platforms.
2980
2981         * platform/PlatformScreen.h:
2982         (WebCore):
2983         * platform/chromium/PlatformScreenChromium.cpp:
2984         * platform/chromium/PlatformSupport.h:
2985         (PlatformSupport):
2986         ():
2987         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2988         (WebCore::CCSettings::CCSettings):
2989         (CCSettings):
2990         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2991         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2992
2993 2012-01-25  Mark Rowe  <mrowe@apple.com>
2994
2995         Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
2996         
2997         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
2998         (https://bugs.webkit.org/show_bug.cgi?id=75049)
2999
3000         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
3001         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
3002         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
3003
3004         * platform/KURL.h:
3005         (WebCore::KURL::innerURL):
3006
3007 2012-01-25  Eric Seidel  <eric@webkit.org>
3008
3009         Unreviewed, rolling out r105940.
3010         http://trac.webkit.org/changeset/105940
3011         https://bugs.webkit.org/show_bug.cgi?id=76095
3012
3013         Only half this change landed
3014
3015         * DerivedSources.cpp:
3016         * DerivedSources.make:
3017         * DerivedSources.pri:
3018
3019 2012-01-25  Mark Rowe  <mrowe@apple.com>
3020
3021         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
3022
3023         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
3024
3025         Reviewed by David Kilzer.
3026
3027         * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
3028         the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
3029         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
3030         NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
3031         are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
3032         directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
3033         based on the normal framework location. This prevents an incorrect install name from being
3034         used when installing in to the staged frameworks directory. Look for our other frameworks
3035         in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.
3036
3037 2012-01-25  Eric Seidel  <eric@webkit.org>
3038
3039         "text" and "URL" legacy clipboard types should not be case sensitive
3040         https://bugs.webkit.org/show_bug.cgi?id=76947
3041
3042         Reviewed by Adam Barth.
3043
3044         This matches the HTML5 spec which says the first thing to do is to lowercase
3045         the type before comparing.
3046         I also removed the stripping of whitespace since that is not part of the modern spec (and no tests failed as a result of removal).
3047         Turns out we already had a test for case sensitivity, but it was disabled on Mac
3048         so I just re-enabled it and have added failing expectations for the parts
3049         of the test we still fail.
3050
3051         * platform/mac/ClipboardMac.mm:
3052         (WebCore::cocoaTypeFromHTMLClipboardType):
3053         (WebCore::ClipboardMac::getData):
3054
3055 2012-01-25  Eric Seidel  <eric@webkit.org>
3056
3057         HTMLIsIndexElement should not expose HTMLInputElement properties
3058         https://bugs.webkit.org/show_bug.cgi?id=76095
3059
3060         Reviewed by Adam Barth.
3061
3062         document.createElement("isindex") should produce an HTMLUnknownElement
3063         per the HTML5 spec.  The parser automagically translates <isindex> into
3064         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
3065
3066         This patch just removes our support for HTMLIsIndexElement.  The parser
3067         support was already in.  Having support for HTMLIsIndexElement was causing
3068         one of the IE TestCenter tests to fail.
3069
3070         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
3071
3072         * DerivedSources.cpp:
3073         * DerivedSources.make:
3074         * DerivedSources.pri:
3075         * GNUmakefile.list.am:
3076         * Target.pri:
3077         * WebCore.exp.in:
3078         * WebCore.gypi:
3079         * WebCore.order:
3080         * WebCore.vcproj/WebCore.vcproj:
3081         * WebCore.xcodeproj/project.pbxproj:
3082         * bindings/gobject/GNUmakefile.am:
3083         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3084         (WebKit::createHTMLElementWrapper):
3085         * bindings/objc/DOM.mm:
3086         (WebCore::createElementClassMap):
3087         * bindings/objc/DOMHTML.h:
3088         * bindings/objc/PublicDOMInterfaces.h:
3089         * html/HTMLElementsAllInOne.cpp:
3090         * html/HTMLIsIndexElement.cpp: Removed.
3091         * html/HTMLIsIndexElement.h: Removed.
3092         * html/HTMLIsIndexElement.idl: Removed.
3093         * html/HTMLTagNames.in:
3094         * page/DOMWindow.idl:
3095
3096 2012-01-25  Eric Seidel  <eric@webkit.org>
3097
3098         HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
3099         https://bugs.webkit.org/show_bug.cgi?id=74360
3100
3101         Reviewed by Adam Barth.
3102
3103         Neither of these !renderer() checks is strictly necessary since requestObject()
3104         makes the same check.  However requestObject() asserts before it makes that
3105         check, so it makes sense to add the check to HTMLEmebedObject instead of
3106         removing the check from HTMLObjectElement.
3107         I also moved the protect RefPtr to before the beforeload dispatch since
3108         beforeload can remove the whole DOM element (as this test does) and
3109         thus I beleive the renderer() check could be checking free'd memory.
3110
3111         Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
3112         <embed> as well as <object>.
3113
3114         * html/HTMLEmbedElement.cpp:
3115         (WebCore::HTMLEmbedElement::updateWidget):
3116         * html/HTMLObjectElement.cpp:
3117         (WebCore::HTMLObjectElement::updateWidget):
3118
3119 2012-01-25  Kent Tamura  <tkent@chromium.org>
3120
3121         Move focus/blur handling code of HTMLInputElement to InputType
3122         https://bugs.webkit.org/show_bug.cgi?id=76984
3123
3124         Reviewed by Dimitri Glazkov.
3125
3126         No new tests. Just a refactoring.
3127
3128         * html/HTMLInputElement.cpp:
3129         (WebCore::HTMLInputElement::handleFocusEvent):
3130         Move the code to PasswordInputType::handleFocusEvent().
3131         (WebCore::HTMLInputElement::handleBlurEvent):
3132         Move the code to TextFieldInputType::handleBlurEvent() and
3133         PasswordInputType::handleBlurEvent().
3134         * html/InputType.cpp:
3135         (WebCore::InputType::handleFocusEvent):
3136         * html/InputType.h:
3137         (InputType): Add handleFocusEvent().
3138         * html/PasswordInputType.cpp:
3139         (WebCore::PasswordInputType::handleFocusEvent):
3140         Move the code for type=password from HTMLInputElement::handleFocusEvent().
3141         (WebCore::PasswordInputType::handleBlurEvent):
3142         Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
3143         * html/PasswordInputType.h:
3144         (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
3145         * html/TextFieldInputType.cpp:
3146         (WebCore::TextFieldInputType::handleBlurEvent):
3147         Move the code for text field types from HTMLInputElement::handleBlurEvent().
3148         * html/TextFieldInputType.h:
3149         (TextFieldInputType): Add handleBlurEvent().
3150
3151 2012-01-25  Adam Barth  <abarth@webkit.org>
3152
3153         Node.cpp shouldn't duplicate QualifiedName parsing logic
3154         https://bugs.webkit.org/show_bug.cgi?id=76672
3155
3156         Reviewed by Eric Seidel.
3157
3158         I added this code out of ignorance that this logic already existed in
3159         Document.cpp.  In a future patch, we should consider moving it to
3160         QualifiedName.cpp.
3161
3162         * dom/Node.cpp:
3163         (WebCore):
3164         (WebCore::Node::checkSetPrefix):
3165
3166 2012-01-25  Eric Seidel  <eric@webkit.org>
3167
3168         Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
3169         https://bugs.webkit.org/show_bug.cgi?id=74340
3170
3171         Reviewed by Adam Barth.
3172
3173         I'm preparing to unify these two methods, and starting by sharing more code between them.
3174
3175         * html/HTMLEmbedElement.cpp:
3176         (WebCore::HTMLEmbedElement::updateWidget):
3177         * html/HTMLObjectElement.cpp:
3178         (WebCore::HTMLObjectElement::updateWidget):
3179         * html/HTMLPlugInElement.cpp:
3180         (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
3181         * html/HTMLPlugInElement.h:
3182
3183 2012-01-25  Eric Uhrhane  <ericu@chromium.org>
3184
3185         Add full support for filesystem URLs.
3186         https://bugs.webkit.org/show_bug.cgi?id=75049
3187
3188         Reviewed by Adam Barth.
3189
3190         No new tests; existing layout tests cover the basic functionality, and
3191         the new functionality won't be there until Chromium adds it.  This patch
3192         merely enables that, without changing behavior.
3193
3194         * fileapi/EntryBase.cpp:
3195         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
3196
3197         * page/SecurityOrigin.cpp:
3198         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
3199
3200         * platform/KURL.h:
3201         (WebCore::KURL::innerURL): Add innerURL member.
3202
3203         * platform/KURLGoogle.cpp:
3204         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
3205         (WebCore::KURLGooglePrivate::operator=):
3206         Add copy constructor and operator=, which are now needed since
3207         m_innerURL needs special handling.
3208         (WebCore::KURLGooglePrivate::setUtf8):
3209         (WebCore::KURLGooglePrivate::setAscii):
3210         Add calls to initInnerURL.
3211         (WebCore::KURLGooglePrivate::initInnerURL):
3212         Add method to init/copy m_innerURL.
3213         (WebCore::KURLGooglePrivate::copyTo):
3214         Handle m_innerURL during copies.
3215         (WebCore::encodeWithURLEscapeSequences):
3216         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
3217
3218         * platform/KURLGooglePrivate.h:
3219         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
3220
3221 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
3222
3223         [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
3224         https://bugs.webkit.org/show_bug.cgi?id=76993
3225
3226         We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
3227         that, we want use a similar representation to DataTransferItem list inside
3228         ChromiumDataObject.  However, since ChromiumDataObject should be valid in scopes where
3229         Clipboard is not (e.g. default drag processing), we need to separate the clipboard
3230         invalidation logic into a wrapper class.
3231
3232         Reviewed by Tony Chang.
3233
3234         Covered by existing tests.
3235
3236         * platform/chromium/ClipboardChromium.cpp:
3237         ():
3238         (WebCore::ClipboardChromium::items):
3239         * platform/chromium/DataTransferItemChromium.cpp:
3240         (WebCore::DataTransferItemChromium::getAsString):
3241         * platform/chromium/DataTransferItemListChromium.cpp:
3242         (WebCore::DataTransferItemListChromium::length):
3243         (WebCore::DataTransferItemListChromium::item):
3244         (WebCore::DataTransferItemListChromium::deleteItem):
3245         (WebCore::DataTransferItemListChromium::clear):
3246         (WebCore::DataTransferItemListChromium::add):
3247
3248 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
3249
3250         [Texmap] Divide TextureMapperNode.cpp to 3 files.
3251         https://bugs.webkit.org/show_bug.cgi?id=76660
3252
3253          Reviewed by Kenneth Rohde Christiansen.
3254
3255          Split the animation part of TextureMapperNode out to a separate file, called
3256          TextureMapperAnimation.
3257          Provide a clean interface for that class, that allows separating the internals of the scene
3258          painting from the internals of the animation interpolation.
3259
3260          No new tests. Existing animation tests cover this.
3261
3262          * GNUmakefile.list.am:
3263         * Target.pri:
3264         * WebCore.gypi:
3265         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3266         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3267         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
3268         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
3269         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3270         (GraphicsLayerTextureMapper):
3271         * platform/graphics/texmap/TextureMapperNode.cpp:
3272         (WebCore::TextureMapperNode::syncCompositingStateSelf):
3273         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
3274         (WebCore::TextureMapperNode::syncAnimations):
3275         (WebCore::TextureMapperNode::syncAnimationsRecursively):
3276         (WebCore::TextureMapperNode::syncCompositingState):
3277         * platform/graphics/texmap/TextureMapperNode.h:
3278         (TextureMapperNode):
3279
3280 2012-01-25  Hajime Morita  <morrita@google.com>
3281
3282         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
3283         https://bugs.webkit.org/show_bug.cgi?id=76863
3284
3285         Reviewed by Dimitri Glazkov.
3286
3287         Added a feature flag.
3288
3289         No tests, it's a behid flag configuration change.
3290
3291         * CMakeLists.txt:
3292         * Configurations/FeatureDefines.xcconfig:
3293         * DerivedSources.cpp:
3294         * DerivedSources.make:
3295         * DerivedSources.pri:
3296         * GNUmakefile.am:
3297         * GNUmakefile.list.am:
3298         * WebCore.vcproj/WebCore.vcproj:
3299         * WebCore.xcodeproj/project.pbxproj:
3300
3301 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3302
3303         Unreviewed, rolling out r105906.
3304         http://trac.webkit.org/changeset/105906
3305         https://bugs.webkit.org/show_bug.cgi?id=77038
3306
3307         Breaks compositing/visibility/layer-visible-content.html and
3308         compositing/visibility/visibility-image-layers-dynamic.html
3309         (Requested by leviw|gardening on #webkit).
3310
3311         * rendering/RenderLayerBacking.cpp:
3312         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3313
3314 2012-01-25  Mike Fenton  <mifenton@rim.com>
3315
3316         Page Up and Page Down mappings are backwards on BlackBerry port.
3317         https://bugs.webkit.org/show_bug.cgi?id=77021
3318
3319         Fix Page Up and Page Down mappings as they are reversed.
3320
3321         Reviewed by Antonio Gomes.
3322
3323         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
3324         (WebCore::keyIdentifierForBlackBerryCharacter):
3325         (WebCore::windowsKeyCodeForBlackBerryCharacter):
3326
3327 2012-01-25  Hajime Morita  <morrita@google.com>
3328
3329         <content> should create HTMLContentElement object
3330         https://bugs.webkit.org/show_bug.cgi?id=76439
3331
3332         Reviewed by Dimitri Glazkov.
3333
3334         - Added HTMLContentElement.idl which has @select attribute.
3335         - Added "content" element.
3336
3337         Both are behind ENABLE_SHADOW_DOM.
3338
3339         Tests: fast/dom/shadow/content-element-api.html
3340                fast/dom/shadow/content-element-outside-shadow.html
3341
3342         * CMakeLists.txt:
3343         * DerivedSources.cpp:
3344         * DerivedSources.make:
3345         * DerivedSources.pri:
3346         * GNUmakefile.list.am:
3347         * WebCore.gypi:
3348         * WebCore.vcproj/WebCore.vcproj:
3349         * WebCore.xcodeproj/project.pbxproj:
3350         * html/HTMLTagNames.in:
3351         * html/shadow/HTMLContentElement.cpp:
3352         (WebCore::contentTagName):
3353         (WebCore):
3354         (WebCore::HTMLContentElement::create):
3355         * html/shadow/HTMLContentElement.h:
3356         (HTMLContentElement):
3357         * html/shadow/HTMLContentElement.idl: Added.
3358
3359 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3360
3361         Unreviewed, rolling out r105828.
3362         http://trac.webkit.org/changeset/105828
3363         https://bugs.webkit.org/show_bug.cgi?id=77036
3364
3365         Caused many crashes in ClusterFuzz and PerformanceTests
3366         (Requested by inferno-sec on #webkit).
3367
3368         * rendering/RenderBlock.cpp:
3369         (WebCore::RenderBlock::removeChild):
3370         * rendering/RenderBlock.h:
3371         (RenderBlock):
3372
3373 2012-01-25  Shawn Singh  <shawnsingh@chromium.org>
3374
3375         Fix the semantics of passing contentsVisible flag to GraphicsLayers
3376         https://bugs.webkit.org/show_bug.cgi?id=76975
3377
3378         Reviewed by Simon Fraser.
3379
3380         This patch is covered by existing tests, in particular
3381         compositing/visibility/layer-visible-content.html; its
3382         expectations are rebaselined.
3383
3384         * rendering/RenderLayerBacking.cpp:
3385         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3386
3387 2012-01-25  Tony Chang  <tony@chromium.org>
3388
3389         support overflow:auto and overflow:scroll in new flexbox
3390         https://bugs.webkit.org/show_bug.cgi?id=76953
3391
3392         Reviewed by David Hyatt.
3393
3394         Tests: css3/flexbox/flexbox-overflow-auto-expected.html
3395                css3/flexbox/flexbox-overflow-auto.html
3396
3397         * rendering/RenderBox.cpp:
3398         (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
3399         * rendering/RenderFlexibleBox.cpp:
3400         (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
3401         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
3402         (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
3403         * rendering/RenderFlexibleBox.h:
3404         (RenderFlexibleBox): Make isHorizontalFlow public.
3405         * rendering/style/RenderStyle.h:
3406         (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
3407
3408 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3409
3410         Unreviewed, rolling out r105885.
3411         http://trac.webkit.org/changeset/105885
3412         https://bugs.webkit.org/show_bug.cgi?id=77027
3413
3414         Causes assertions in Position. (Requested by leviw|gardening
3415         on #webkit).
3416
3417         * dom/Position.cpp:
3418         (WebCore::Position::upstream):
3419         (WebCore::Position::downstream):
3420         * dom/PositionIterator.cpp:
3421         * dom/PositionIterator.h:
3422         (PositionIterator):
3423         * editing/htmlediting.cpp:
3424         (WebCore::nextCandidate):
3425         (WebCore::nextVisuallyDistinctCandidate):
3426         (WebCore::previousCandidate):
3427         (WebCore::previousVisuallyDistinctCandidate):
3428
3429 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
3430
3431         border-image should be implemented like a shorthand.
3432         https://bugs.webkit.org/show_bug.cgi?id=76697
3433
3434         Reviewed by Tony Chang.
3435
3436         Make sure that border-image is implemented like a shorthand : when we parse
3437         it we set the correct value to its longhands. The code was not doing it
3438         previously as we inherited the old implementation of -webkit-border-image which
3439         is not a shorthand but a regular property. It will then increase
3440         style.length for a given element as we now expand the longhands.
3441         The behavior stays the same for -webkit-border-image.
3442
3443         Test: fast/css/border-image-style-length.html
3444
3445         * css/CSSParser.cpp:
3446         (WebCore::CSSParser::parseValue):
3447         (WebCore::BorderImageParseContext::BorderImageParseContext):
3448         (WebCore::BorderImageParseContext::commitWebKitBorderImage):
3449         (WebCore::BorderImageParseContext::commitBorderImage):
3450         (BorderImageParseContext):
3451         (WebCore::BorderImageParseContext::commitBorderImageProperty):
3452         (WebCore::CSSParser::parseBorderImage):
3453         * css/CSSParser.h:
3454         ():
3455         * css/CSSPropertyLonghand.cpp:
3456         (WebCore::initShorthandMap):
3457         * css/CSSStyleApplyProperty.cpp:
3458         ():
3459         (WebCore::ApplyPropertyExpanding::applyInheritValue):
3460         (WebCore::ApplyPropertyExpanding::applyInitialValue):
3461         (WebCore::ApplyPropertyExpanding::applyValue):
3462         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
3463         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3464         * css/CSSStyleSelector.cpp:
3465         (WebCore::CSSStyleSelector::mapNinePieceImage):
3466         * page/animation/AnimationBase.cpp:
3467         (WebCore::AnimationBase::ensurePropertyMap):
3468         (WebCore::addShorthandProperties):
3469         * rendering/style/RenderStyle.h:
3470         (WebCore::RenderStyleBitfields::borderImageSlices):
3471         (WebCore::RenderStyleBitfields::borderImageWidth):
3472         (WebCore::RenderStyleBitfields::borderImageOutset):
3473         (RenderStyleBitfields):
3474         (WebCore::RenderStyleBitfields::setBorderImageSlices):
3475         (WebCore::RenderStyleBitfields::setBorderImageWidth):
3476         (WebCore::RenderStyleBitfields::setBorderImageOutset):
3477
3478 2012-01-23  MORITA Hajime  <morrita@google.com>
3479
3480         [Refactoring][Internals] Should have InternalSettings
3481         https://bugs.webkit.org/show_bug.cgi?id=76424
3482
3483         Reviewed by Kent Tamura.
3484
3485         This change extracted setting related method from window.internals
3486         to window.internals.settings object.
3487         - Invoked Internals::reset() in the constructor to employ Document object.
3488         - Moved setting and configuration related Internals methods to
3489           newly introduced InternalSettings object.
3490
3491         No new tests, covered by existing tests.
3492
3493         * DerivedSources.make:
3494         * DerivedSources.pri:
3495         * GNUmakefile.am:
3496         * GNUmakefile.list.am:
3497         * Target.pri:
3498         * WebCore.gyp/WebCore.gyp:
3499         * WebCore.gypi:
3500         * WebCore.vcproj/WebCoreTestSupport.vcproj:
3501         * WebCore.xcodeproj/project.pbxproj:
3502         * testing/InternalSettings.cpp: Added.
3503         (WebCore::InternalSettings::create):
3504         (WebCore::InternalSettings::~InternalSettings):
3505         (WebCore::InternalSettings::InternalSettings):
3506         (WebCore::InternalSettings::settings):
3507         (WebCore::InternalSettings::document):
3508         (WebCore::InternalSettings::page):
3509         (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
3510         (WebCore::InternalSettings::setForceCompositingMode):
3511         (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
3512         (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
3513         (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
3514         (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
3515         (WebCore::InternalSettings::setEnableScrollAnimator):
3516         (WebCore::InternalSettings::setZoomAnimatorTransform):
3517         (WebCore::InternalSettings::setZoomParameters):
3518         (WebCore::InternalSettings::setMockScrollbarsEnabled):
3519         (WebCore::InternalSettings::setPasswordEchoEnabled):
3520         (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
3521         (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
3522         (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
3523         (WebCore::InternalSettings::unifiedTextCheckingEnabled):
3524         (WebCore::InternalSettings::pageScaleFactor):
3525         (WebCore::InternalSettings::setPageScaleFactor):
3526         (WebCore::InternalSettings::setPerTileDrawingEnabled):
3527         * testing/InternalSettings.h: Added.
3528         * testing/InternalSettings.idl: Added.
3529         * testing/Internals.cpp:
3530         (WebCore::Internals::create):
3531         (WebCore::Internals::Internals):
3532         (WebCore::Internals::reset):
3533         * testing/Internals.h:
3534         (WebCore::Internals::settings):
3535         * testing/Internals.idl:
3536         * testing/js/WebCoreTestSupport.cpp:
3537         (WebCoreTestSupport::injectInternalsObject):
3538         * testing/v8/WebCoreTestSupport.cpp:
3539         (WebCoreTestSupport::injectInternalsObject):
3540
3541 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
3542
3543         border-image should not crash when the source is not specified.
3544         https://bugs.webkit.org/show_bug.cgi?id=77001
3545
3546         Reviewed by Andreas Kling.
3547
3548         This bug was introduced by r105502 but was exposed by r105738.
3549         The image-source of a border-image is not mandatory therefore it
3550         may happen that you have no value set for it. WebCore::createBorderImageValue
3551         was wrongly assuming that the image is always set. This problem also required a bit
3552         of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
3553         the image could be optional (just like other properties).
3554
3555         Test: fast/css/border-image-null-image-crash.html
3556
3557         * css/CSSBorderImage.cpp:
3558         (WebCore::createBorderImageValue):
3559         * css/CSSStyleSelector.cpp:
3560         (WebCore::CSSStyleSelector::mapNinePieceImage):
3561
3562 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3563
3564         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
3565         https://bugs.webkit.org/show_bug.cgi?id=76914
3566
3567         Reviewed by Simon Hausmann.
3568
3569         Implement highlighting of dom nodes with a rounded rect, respecting
3570         the color of -webkit-tap-highlight-color and any transform applied
3571         to the element.
3572
3573         Tested with manual test.
3574
3575         * Target.pri:
3576         * page/GestureTapHighlighter.cpp: Added.
3577         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
3578         * page/GestureTapHighlighter.h: Added.
3579
3580 2012-01-25  Joshua Bell  <jsbell@chromium.org>
3581
3582         IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
3583         https://bugs.webkit.org/show_bug.cgi?id=76487
3584
3585         Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
3586         if there is a key generator (autoIncrement) and the path yields a value and the value
3587         is not a valid key; raise an error if any of the index key paths yield a value which
3588         is not a valid key.
3589
3590         Reviewed by Tony Chang.
3591
3592         Tests: storage/indexeddb/keypath-edges.html
3593                storage/indexeddb/objectstore-basics.html
3594
3595         * storage/IDBObjectStoreBackendImpl.cpp:
3596         (WebCore::IDBObjectStoreBackendImpl::put):
3597
3598 2012-01-25  Yong Li  <yoli@rim.com>
3599
3600         https://bugs.webkit.org/show_bug.cgi?id=65377
3601         Skip the entire node when it is right to do so, instead of stepping
3602         through every character, so we save CPU time on checking every position
3603         unnecessarily.
3604
3605         Reviewed by Darin Adler.
3606
3607         Test: perf/selection-skip-hidden-node.html
3608
3609         * dom/Position.cpp:
3610         (WebCore::Position::upstream):
3611         (WebCore::Position::downstream):
3612         * dom/PositionIterator.cpp:
3613         (WebCore::PositionIterator::moveToLeafNodeStart):
3614         (WebCore::PositionIterator::moveToLeafNodeEnd):
3615         * dom/PositionIterator.h:
3616         * editing/htmlediting.cpp:
3617         (WebCore::nextCandidate):
3618         (WebCore::nextVisuallyDistinctCandidate):
3619         (WebCore::previousCandidate):
3620         (WebCore::previousVisuallyDistinctCandidate):
3621
3622 2012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3623
3624         Remove unnecessary member variable from PluginView.
3625         https://bugs.webkit.org/show_bug.cgi?id=76909
3626
3627         Reviewed by Adam Roben.
3628
3629         No new tests needed.
3630
3631         * plugins/PluginView.cpp:
3632         (WebCore::PluginView::getURLNotify):
3633         (WebCore::PluginView::getURL):
3634         (WebCore::PluginView::PluginView):
3635         (WebCore::PluginView::handlePost):
3636         (WebCore::PluginView::getValueForURL):
3637         (WebCore::PluginView::setValueForURL):
3638         * plugins/PluginView.h:
3639
3640 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
3641
3642         [Qt] Build fix when using force_static_libs_as_shared
3643         https://bugs.webkit.org/show_bug.cgi?id=76832
3644
3645         Reviewed by Simon Hausmann.
3646
3647         Add a dependency on QtWidgets, when compiling against Qt5.
3648
3649         No new tests. This is a build fix.
3650
3651         * Target.pri:
3652
3653 2012-01-25  Sami Kyostila  <skyostil@chromium.org>
3654
3655         Clipping of render layer boundaries does not take page scale into account
3656         https://bugs.webkit.org/show_bug.cgi?id=76850
3657
3658         Reviewed by Simon Fraser.
3659
3660         When inserting render layers into the compositor's overlap map, the
3661         layer boundaries are clipped against any potential parent clip rects.
3662         The clip rects are given in CSS coordinates, while the render layer
3663         boundaries are in scaled CSS coordinates, so the result is incorrect.
3664         This patch scales the clip rects before calculating the intersection.
3665
3666         Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
3667
3668         * rendering/RenderLayerCompositor.cpp:
3669         (WebCore::RenderLayerCompositor::addToOverlapMap):
3670
3671 2012-01-25  Stephen Chenney  <schenney@chromium.org>
3672
3673         Linecaps wrong for zero length lines
3674         https://bugs.webkit.org/show_bug.cgi?id=71820
3675
3676         Reviewed by Nikolas Zimmermann.
3677
3678         Total reworking of the method used to draw zero-length linecaps for
3679         SVG. This patch works for all zero length sub-paths.
3680
3681         Tests: svg/stroke/zero-length-path-linecap-rendering.svg
3682                svg/stroke/zero-length-subpaths-linecap-rendering.svg
3683
3684         * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
3685           new implementation and clarify code.
3686         (WebCore::RenderSVGShape::createShape):
3687         (WebCore::RenderSVGShape::strokeContains):
3688         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
3689         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
3690         (WebCore::RenderSVGShape::zeroLengthLinecapPath):
3691         (WebCore::RenderSVGShape::nonScalingStrokePath):
3692         (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
3693         (WebCore::RenderSVGShape::fillShape):
3694         (WebCore::RenderSVGShape::strokePath):
3695         (WebCore::RenderSVGShape::fillAndStrokePath):
3696         (WebCore::RenderSVGShape::updateCachedBoundaries):
3697         (WebCore::RenderSVGShape::processZeroLengthSubpaths):
3698         * rendering/svg/RenderSVGShape.h: Declarations for new methods.
3699         * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
3700         * svg/SVGPathBuilder.h: Fix typos
3701         * svg/SVGPathConsumer.h: Fix typos
3702         * svg/SVGPathSegListBuilder.h: Fix typos
3703         * svg/SVGPathTraversalStateBuilder.h: Fix typos
3704
3705 2012-01-23  Yury Semikhatsky  <yurys@chromium.org>
3706
3707         Web Inspector: show memory counter graphs in timeline panel
3708         https://bugs.webkit.org/show_bug.cgi?id=76843
3709
3710         Timeline panel is extended with several graphs depicting total node count,
3711         number of DOM groups and event listeners. This feature is hidden behind
3712         experimental setting.
3713
3714         Reviewed by Pavel Feldman.
3715
3716         * English.lproj/localizedStrings.js:
3717         * inspector/Inspector.json:
3718         * inspector/InspectorController.cpp:
3719         (WebCore::InspectorController::InspectorController):
3720         * inspector/InspectorTimelineAgent.cpp:
3721         (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
3722         (WebCore::InspectorTimelineAgent::didCallFunction):
3723         (WebCore::InspectorTimelineAgent::didDispatchEvent):
3724         (WebCore::InspectorTimelineAgent::didWriteHTML):
3725         (WebCore::InspectorTimelineAgent::didFireTimer):
3726         (WebCore::InspectorTimelineAgent::didEvaluateScript):
3727         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3728         (WebCore::InspectorTimelineAgent::collectDomCounters):
3729         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3730         * inspector/InspectorTimelineAgent.h:
3731         (WebCore::InspectorTimelineAgent::create):
3732         * inspector/TimelineRecordFactory.cpp:
3733         * inspector/front-end/Settings.js:
3734         (WebInspector.ExperimentsSettings):
3735         * inspector/front-end/TimelinePanel.js:
3736         (WebInspector.TimelinePanel):
3737         (WebInspector.MemoryStatistics):
3738         (WebInspector.MemoryStatistics.prototype.setTopPosition):
3739         (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
3740         (WebInspector.MemoryStatistics.prototype._sidebarResized):
3741         (WebInspector.MemoryStatistics.prototype._updateSize):
3742         (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
3743         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
3744         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
3745         (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
3746         (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
3747         (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
3748         (WebInspector.MemoryStatistics.prototype._draw):
3749         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
3750         (WebInspector.MemoryStatistics.prototype._onMouseOver):
3751         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
3752         (WebInspector.MemoryStatistics.prototype.visible):
3753         (WebInspector.MemoryStatistics.prototype.show):
3754         (WebInspector.MemoryStatistics.prototype.refresh):
3755         (WebInspector.MemoryStatistics.prototype.hide):
3756         (WebInspector.MemoryStatistics.prototype._setVerticalClip):
3757         (WebInspector.MemoryStatistics.prototype._calculateXValues):
3758         (WebInspector.MemoryStatistics.prototype._drawPolyline):
3759         (WebInspector.MemoryStatistics.prototype._drawBottomBound):
3760         (WebInspector.MemoryStatistics.prototype._clear):
3761         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
3762         (WebInspector.TimelinePanel.prototype._splitterDragging):
3763         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
3764         (WebInspector.TimelinePanel.prototype._setSplitterPosition):
3765         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3766         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3767         (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
3768         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
3769         (WebInspector.TimelinePanel.prototype.sidebarResized):
3770         (WebInspector.TimelinePanel.prototype._refresh):
3771         * inspector/front-end/timelinePanel.css:
3772         (#timeline-memory-splitter):
3773         (#memory-counters-graph):
3774         (#memory-graphs-container):
3775         (#memory-graphs-container .split-view-contents):
3776         (.timeline-marker):
3777         (.memory-counter-sidebar-info):
3778         (.memory-counter-sidebar-info.bottom-border-visible):
3779
3780 2012-01-25  Joseph Pecoraro  <pecoraro@apple.com>
3781
3782         <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
3783
3784         Reviewed by Pavel Feldman.
3785
3786         * inspector/front-end/InspectorFrontendHostStub.js:
3787
3788 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
3789
3790         Unreviewed inspector style fix.
3791
3792         * inspector/front-end/tabbedPane.css:
3793         (.tabbed-pane-header-tab-close-button):
3794         (select.tabbed-pane-header-tabs-drop-down-select):
3795
3796 2012-01-25  Pablo Flouret  <pablof@motorola.com>
3797
3798         Fix incorrect behavior in HTMLCollection.prototype.item().
3799         https://bugs.webkit.org/show_bug.cgi?id=74468
3800
3801         Reviewed by Adam Barth.
3802
3803         HTMLCollection.prototype.item("someString") was falling back to
3804         .namedItem("someString"), which is wrong per spec. Also align the
3805         handling of various other types of objects passed as the argument with
3806         the spec and the rest of the browsers.
3807
3808         Test: fast/dom/collection-item.html
3809
3810         * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
3811         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
3812         * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
3813
3814 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3815
3816         Unreviewed, rolling out r105858.
3817         http://trac.webkit.org/changeset/105858
3818         https://bugs.webkit.org/show_bug.cgi?id=77004
3819
3820         It made many tests crash on Qt (Requested by Ossy on #webkit).
3821
3822         * GNUmakefile.list.am:
3823         * Target.pri:
3824         * WebCore.gypi:
3825         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3826         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3827         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
3828         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
3829         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3830         (GraphicsLayerTextureMapper):
3831         * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
3832         * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
3833         * platform/graphics/texmap/TextureMapperNode.cpp:
3834         (WebCore::TextureMapperNode::syncCompositingStateSelf):
3835         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
3836         (WebCore::normalizedAnimationValue):
3837         (WebCore):
3838         (WebCore::TextureMapperNode::applyOpacityAnimation):
3839         (WebCore::solveEpsilon):
3840         (WebCore::solveCubicBezierFunction):
3841         (WebCore::solveStepsFunction):
3842         (WebCore::applyTimingFunction):
3843         (WebCore::TextureMapperNode::applyTransformAnimation):
3844         (WebCore::TextureMapperNode::applyAnimationFrame):
3845         (WebCore::TextureMapperNode::applyAnimation):
3846         (WebCore::TextureMapperNode::hasOpacityAnimation):
3847         (WebCore::TextureMapperNode::hasTransformAnimation):
3848         (WebCore::TextureMapperNode::syncAnimations):
3849         (WebCore::TextureMapperNode::syncAnimationsRecursively):
3850         (WebCore::TextureMapperNode::syncCompositingState):
3851         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
3852         * platform/graphics/texmap/TextureMapperNode.h:
3853         (TextureMapperAnimation):
3854         (WebCore::TextureMapperAnimation::create):
3855         (WebCore):
3856         (TextureMapperNode):
3857
3858 2012-01-25  Kenichi Ishibashi  <bashi@chromium.org>
3859
3860         fast/text/unicode-variation-selector.html doesn't pass on Lion
3861         https://bugs.webkit.org/show_bug.cgi?id=76041
3862
3863         Reviewed by Dan Bernstein.
3864
3865         Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
3866         account Ideographic variation selectors (these are non-BMP marks).
3867
3868         No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
3869
3870         * platform/graphics/mac/ComplexTextController.cpp:
3871         (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
3872         to iterate the loop which consumes marks.
3873
3874 2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
3875
3876         Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
3877         https://bugs.webkit.org/show_bug.cgi?id=76989
3878
3879         Reviewed by Pavel Feldman.
3880
3881         * English.lproj/localizedStrings.js:
3882         * inspector/front-end/DetailedHeapshotGridNodes.js:
3883         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
3884         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3885         (WebInspector.HeapSnapshotObjectNode):
3886         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3887         (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
3888         * inspector/front-end/HeapSnapshot.js:
3889         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
3890
3891 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
3892
3893         Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
3894         https://bugs.webkit.org/show_bug.cgi?id=76711
3895
3896         Reviewed by Yury Semikhatsky.
3897
3898         * inspector/Inspector.json:
3899         * inspector/InspectorIndexedDBAgent.cpp:
3900         (WebCore):
3901         (WebCore::assertDocument):
3902         (WebCore::assertIDBFactory):
3903         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
3904         (WebCore::InspectorIndexedDBAgent::requestDatabase):
3905         * inspector/InspectorIndexedDBAgent.h:
3906         (InspectorIndexedDBAgent):
3907         * inspector/front-end/IndexedDBModel.js:
3908         (WebInspector.IndexedDBModel):
3909         (WebInspector.IndexedDBModel.prototype._frameDetached):
3910         (WebInspector.IndexedDBModel.prototype._reset):
3911         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
3912         (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
3913         (WebInspector.IndexedDBModel.prototype._originRemoved):
3914         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
3915         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
3916         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
3917         (WebInspector.IndexedDBModel.prototype._loadDatabase):
3918         (WebInspector.IndexedDBModel.Frame):
3919         (WebInspector.IndexedDBModel.Database):
3920         (WebInspector.IndexedDBModel.ObjectStore):
3921         (WebInspector.IndexedDBModel.ObjectStoreIndex):
3922         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
3923         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
3924         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
3925         (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
3926         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
3927         (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
3928         (WebInspector.IndexedDBRequestManager.prototype._reset):
3929         (WebInspector.IndexedDBRequestManager.DatabaseRequest):
3930         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
3931         (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
3932
3933 2012-01-25  Peter Rybin  <peter.rybin@gmail.com>
3934
3935         Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
3936         https://bugs.webkit.org/show_bug.cgi?id=76676
3937
3938         Reviewed by Yury Semikhatsky.
3939
3940         Generator algorithm is redone significantly.
3941
3942         * inspector/CodeGeneratorInspector.py:
3943         (RawTypes.BaseType):
3944         (RawTypes.BaseType.request_raw_internal_runtime_cast):
3945         (RawTypes.BaseType.generate_validate_method_impl):
3946         (RawTypes):
3947         (RawTypes.generate_validate_methods):
3948         (RawTypes.String):
3949         (RawTypes.String.generate_validate_method):
3950         (RawTypes.String.get_raw_validator_call_text):
3951         (RawTypes.Int):
3952         (RawTypes.Int.generate_validate_method):
3953         (RawTypes.Int.get_raw_validator_call_text):
3954         (RawTypes.Number):
3955         (RawTypes.Number.generate_validate_method):
3956         (RawTypes.Number.get_raw_validator_call_text):
3957         (RawTypes.Bool):
3958         (RawTypes.Bool.generate_validate_method):
3959         (RawTypes.Bool.get_raw_validator_call_text):
3960         (RawTypes.Object):
3961         (RawTypes.Object.generate_validate_method):
3962         (RawTypes.Object.get_raw_validator_call_text):
3963         (RawTypes.Any):
3964         (RawTypes.Any.generate_validate_method):
3965         (RawTypes.Any.get_raw_validator_call_text):
3966         (RawTypes.Array):
3967         (RawTypes.Array.generate_validate_method):
3968         (RawTypes.Array.get_raw_validator_call_text):
3969         (TypeBindings.create_named_type_declaration.Helper):
3970         (TypeBindings.create_ad_hoc_type_declaration.Helper):
3971         (TypeBindings.create_type_declaration_.EnumBinding):
3972         (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
3973         (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
3974         (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
3975         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
3976         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
3977         (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
3978         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
3979         (TypeBindings.create_type_declaration_.PlainString):
3980         (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
3981         (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
3982         (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
3983         (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
3984         (TypeBindings.create_type_declaration_.TypedefString):
3985         (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
3986         (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
3987         (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
3988         (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
3989         (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
3990         (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
3991         (TypeBindings.create_type_declaration_.ClassBinding):
3992         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
3993         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
3994         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
3995         (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
3996         (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
3997         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
3998         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
3999         (get_validator_call_text):
4000         (get_in_c_type_text):
4001         (AdHocTypeContextImpl):
4002         (AdHocTypeContextImpl.__init__):
4003         (AdHocTypeContextImpl.get_type_name_fix):
4004         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
4005         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
4006         (AdHocTypeContextImpl.add_type):
4007         (PlainObjectBinding):
4008         (PlainObjectBinding.resolve_inner):
4009         (PlainObjectBinding.request_user_runtime_cast):
4010         (PlainObjectBinding.request_internal_runtime_cast):
4011         (PlainObjectBinding.get_validator_call_text):
4012         (ArrayBinding):
4013         (ArrayBinding.resolve_inner):
4014         (ArrayBinding.resolve_inner.AdHocTypeContext):
4015         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
4016         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
4017         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
4018         (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
4019         (ArrayBinding.resolve_inner.ResolveData):
4020         (ArrayBinding.request_user_runtime_cast):
4021         (ArrayBinding.request_internal_runtime_cast):
4022         (ArrayBinding.get_code_generator):
4023         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
4024         (ArrayBinding.get_validator_call_text):
4025         (ArrayBinding.get_in_c_type_text):
4026         (RawTypeBinding.resolve_inner):
4027         (RawTypeBinding):
4028         (RawTypeBinding.request_user_runtime_cast):
4029         (RawTypeBinding.request_internal_runtime_cast):
4030         (RawTypeBinding.get_validator_call_text):
4031         (TypeData.get_name):
4032         (TypeData):
4033         (TypeData.get_domain_name):
4034         (resolve_param_type):
4035         (NeedRuntimeCastRequest):
4036         (NeedRuntimeCastRequest.__init__):
4037         (NeedRuntimeCastRequest.acknowledge):
4038         (NeedRuntimeCastRequest.is_acknowledged):
4039         (resolve_all_types):
4040         (resolve_all_types.ForwardListener):
4041         (resolve_all_types.ForwardListener.add_type_data):
4042         (resolve_all_types.ResolveContext):
4043         (Generator):
4044         (Generator.go):
4045         (Generator.process_event):
4046         (Generator.process_event.AdHocTypeContext):
4047         (Generator.process_event.AdHocTypeContext.add_type):
4048         (Generator.process_event.EventForwardListener):
4049         (Generator.process_event.EventForwardListener.add_type_data):
4050         (Generator.process_event.EventResolveContext):
4051         (Generator.process_event.EventGenerateContext):
4052         (Generator.process_types.GenerateContext):
4053         (Generator.process_types.create_type_builder_caller.call_type_builder):
4054         (Generator.process_types.generate_forward_callback):
4055         * inspector/InspectorValues.h:
4056         (WebCore::InspectorObject::size):
4057
4058 2012-01-25  Anton Muhin  <antonm@chromium.org>
4059
4060         Unreview manual revert of r105843.
4061
4062         * fileapi/EntryBase.cpp:
4063         (WebCore::EntryBase::toURL):
4064         * page/SecurityOrigin.cpp:
4065         (WebCore::extractInnerURL):
4066         * platform/KURL.h:
4067         (KURL):
4068         * platform/KURLGoogle.cpp:
4069         (WebCore):
4070         (WebCore::KURLGooglePrivate::setUtf8):
4071         (WebCore::KURLGooglePrivate::setAscii):
4072         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
4073         (WebCore::KURLGooglePrivate::copyTo):
4074         (WebCore::encodeWithURLEscapeSequences):
4075         * platform/KURLGooglePrivate.h:
4076         (KURLGooglePrivate):
4077
4078 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
4079
4080         Use maximum image dimension definition from libwebp
4081         https://bugs.webkit.org/show_bug.cgi?id=76980
4082
4083         Reviewed by Kent Tamura.
4084
4085         No new tests, no change in behavior.
4086
4087         * platform/image-encoders/skia/WEBPImageEncoder.cpp: