96223ef743422bb09e67d6cc0c8082997a629616
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
2
3         File extension for webp files is .webp
4         https://bugs.webkit.org/show_bug.cgi?id=76982
5
6         Reviewed by Adam Barth.
7
8         No new tests. No change in behavior.
9
10         * platform/image-decoders/webp/WEBPImageDecoder.h:
11         (WebCore::WEBPImageDecoder::filenameExtension):
12
13 2012-01-26  Alok Priyadarshi  <alokp@chromium.org>
14
15         [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
16         https://bugs.webkit.org/show_bug.cgi?id=77137
17
18         Reviewed by James Robinson.
19
20         No new test needed. Only removing dead code.
21
22         * platform/graphics/chromium/LayerChromium.cpp:
23         * platform/graphics/chromium/LayerChromium.h:
24         (WebCore::LayerChromium::layerTreeHost):
25         * platform/graphics/chromium/TiledLayerChromium.cpp:
26         (WebCore::TiledLayerChromium::setLayerTreeHost):
27
28 2012-01-26  Anders Carlsson  <andersca@apple.com>
29
30         Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
31         https://bugs.webkit.org/show_bug.cgi?id=77147
32
33         Reviewed by Adam Roben.
34
35         * platform/mac/ScrollAnimatorMac.h:
36         (ScrollAnimatorMac):
37         * platform/mac/ScrollAnimatorMac.mm:
38         (WebCore::ScrollAnimatorMac::handleWheelEvent):
39         Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
40         didEndScrollGesture if the event was actually handled.
41
42         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
43         Implement this.
44
45         * platform/mac/ScrollElasticityController.h:
46         * platform/mac/ScrollElasticityController.mm:
47         (WebCore::ScrollElasticityController::handleWheelEvent):
48         Check if we should rubber-band and return false if we shouldn't.
49
50         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
51         Ask the client if we should rubber-band.
52
53 2012-01-19  James Robinson  <jamesr@chromium.org>
54
55         [chromium] Remove setLayerTreeHost nonsense on lost context
56         https://bugs.webkit.org/show_bug.cgi?id=76675
57
58         Reviewed by Kenneth Russell.
59
60         This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
61         the proxy and no layer types need special lost context handling.
62
63         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
64         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
65
66 2012-01-26  Anders Carlsson  <andersca@apple.com>
67
68         Simplify checking of whether we should rubberband horizontally
69         https://bugs.webkit.org/show_bug.cgi?id=77141
70
71         Reviewed by Adam Roben.
72
73         Have a single check for horizontal rubber-banding in both directions. This is in preparation
74         for moving this code into ScrollElasticityController.
75
76         * platform/mac/ScrollAnimatorMac.mm:
77         (WebCore::shouldRubberBandInHorizontalDirection):
78         (WebCore::ScrollAnimatorMac::handleWheelEvent):
79
80 2012-01-26  Scott Graham  <scottmg@chomium.org>
81
82         Fix include path in gyp file for V8InternalSettings.h
83         https://bugs.webkit.org/show_bug.cgi?id=77128
84
85         Reviewed by Kent Tamura.
86
87         * WebCore.gyp/WebCore.gyp:
88
89 2012-01-26  James Robinson  <jamesr@chromium.org>
90
91         We shouldn't synchronously update styles on all documents after running script
92         https://bugs.webkit.org/show_bug.cgi?id=46761
93
94         Reviewed by Simon Fraser.
95
96         Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
97         slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
98         unnecessary as any code that depends on styles or the render tree being up to date must call
99         updateStyleIfNeeded() on the document it is accessing.
100
101         The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
102         cargo culted forward ever since.
103
104         * bindings/ScriptControllerBase.cpp:
105         (WebCore::ScriptController::executeScript):
106         * bindings/js/ScheduledAction.cpp:
107         (WebCore::ScheduledAction::execute):
108         * bindings/js/ScriptController.cpp:
109         (WebCore::ScriptController::ScriptController):
110         (WebCore::ScriptController::executeScriptInWorld):
111         * bindings/js/ScriptController.h:
112         * bindings/v8/ScheduledAction.cpp:
113         (WebCore::ScheduledAction::execute):
114         * bindings/v8/ScriptController.cpp:
115         (WebCore::ScriptController::ScriptController):
116         * bindings/v8/ScriptController.h:
117         * dom/ScriptElement.cpp:
118         (WebCore::ScriptElement::executeScript):
119         * inspector/InspectorClient.cpp:
120         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
121
122 2012-01-26  Anders Carlsson  <andersca@apple.com>
123
124         Get rid of ScrollElasticityController::beginScrollGesture()
125         https://bugs.webkit.org/show_bug.cgi?id=77138
126
127         Reviewed by Adam Roben.
128
129         ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
130         PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
131
132         * platform/mac/ScrollAnimatorMac.mm:
133         (WebCore::ScrollAnimatorMac::handleWheelEvent):
134         * platform/mac/ScrollElasticityController.h:
135         (ScrollElasticityController):
136         * platform/mac/ScrollElasticityController.mm:
137         (WebCore::ScrollElasticityController::handleWheelEvent):
138
139 2012-01-26  Anders Carlsson  <andersca@apple.com>
140
141         Get rid of ScrollElasticityController::endScrollGesture()
142         https://bugs.webkit.org/show_bug.cgi?id=77134
143
144         Reviewed by Adam Roben.
145
146         Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
147         event phase is PlatformWheelEventPhaseEnded.
148
149         * platform/mac/ScrollAnimatorMac.mm:
150         (WebCore::ScrollAnimatorMac::handleWheelEvent):
151         * platform/mac/ScrollElasticityController.h:
152         (ScrollElasticityController):
153         * platform/mac/ScrollElasticityController.mm:
154         (WebCore::ScrollElasticityController::handleWheelEvent):
155
156 2012-01-26  Abhishek Arya  <inferno@chromium.org>
157
158         Crash in SVGSVGElement::currentViewBoxRect.
159         https://bugs.webkit.org/show_bug.cgi?id=77121
160
161         Reviewed by Nikolas Zimmermann.
162
163         Symbols shouldn't be rendered. Revert the ASSERT
164         from r105513 into a hard check.
165
166         Test: svg/custom/symbol-viewport-element-crash.svg
167
168         * svg/SVGLengthContext.cpp:
169         (WebCore::SVGLengthContext::determineViewport):
170
171 2012-01-26  Anders Carlsson  <andersca@apple.com>
172
173         Inline beginScrollGesture/endScrollGesture in handleWheelEvent
174         https://bugs.webkit.org/show_bug.cgi?id=77133
175
176         Reviewed by Andreas Kling.
177
178         * platform/mac/ScrollAnimatorMac.h:
179         (ScrollAnimatorMac):
180         * platform/mac/ScrollAnimatorMac.mm:
181         (WebCore::ScrollAnimatorMac::handleWheelEvent):
182
183 2012-01-26  Anders Carlsson  <andersca@apple.com>
184
185         No need to set m_haveScrolledSincePageLoad in beginScrollGesture
186         https://bugs.webkit.org/show_bug.cgi?id=77132
187
188         Reviewed by Andreas Kling.
189
190         m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
191         to set it to true again.
192
193         * platform/mac/ScrollAnimatorMac.mm:
194         (WebCore::ScrollAnimatorMac::beginScrollGesture):
195
196 2012-01-26  Anders Carlsson  <andersca@apple.com>
197
198         Simplify checking for whether we should rubberband or not when at the edge
199         https://bugs.webkit.org/show_bug.cgi?id=77131
200
201         Reviewed by Beth Dakin.
202
203         We only need to check once if we're pinned at either edge whether we should rubber-band
204         or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
205         remove a bunch of code that would keep track of the current horizontal scroll direction.
206
207         * platform/mac/ScrollAnimatorMac.h:
208         (ScrollAnimatorMac):
209         * platform/mac/ScrollAnimatorMac.mm:
210         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
211         (WebCore::ScrollAnimatorMac::handleWheelEvent):
212         (WebCore::ScrollAnimatorMac::beginScrollGesture):
213
214 2012-01-26  Eli Fidler  <efidler@rim.com>
215
216         [JSC] Inspector instrumentation for JavaScript calls.
217         https://bugs.webkit.org/show_bug.cgi?id=40119
218
219         Reviewed by Geoffrey Garen.
220
221         Covered by existing Chromium inspector tests
222
223         * bindings/js/JSCallbackData.cpp:
224         (WebCore::JSCallbackData::invokeCallback):
225         * bindings/js/JSEventListener.cpp:
226         (WebCore::JSEventListener::handleEvent):
227         * bindings/js/JSMainThreadExecState.h:
228         (WebCore::JSMainThreadExecState::instrumentedCall):
229         * inspector/InspectorInstrumentation.cpp:
230         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
231
232 2012-01-26  Mike Reed  <reed@google.com>
233
234         Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
235         https://bugs.webkit.org/show_bug.cgi?id=76547
236
237         Reviewed by Stephen White.
238
239         Existing tests should confirm nothing is broken. Antialiased text
240         is disabled in layouttests, so they should be unaffected by the
241         difference in antialiasing quality.
242
243         * platform/graphics/skia/SkiaFontWin.cpp:
244         (WebCore::setupPaintForFont):
245
246
247 2012-01-26  Anders Carlsson  <andersca@apple.com>
248
249         Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
250         https://bugs.webkit.org/show_bug.cgi?id=77127
251
252         Reviewed by Beth Dakin.
253
254         * platform/mac/ScrollAnimatorMac.h:
255         (ScrollAnimatorMac):
256         Remove handleGestureEvent.
257
258         * platform/mac/ScrollAnimatorMac.mm:
259         (WebCore::ScrollAnimatorMac::handleWheelEvent):
260         Look at the event phase to determine when to call didBeginGesture and didEndGesture.
261
262 2012-01-26  Benjamin Poulain  <benjamin@webkit.org>
263
264         Using strncmp() for comparing scheme and port numbers is inefficient
265         https://bugs.webkit.org/show_bug.cgi?id=75821
266
267         Reviewed by Darin Adler.
268
269         Replace the equal() function comparing 2 arbitrary strings by a template
270         comparing the string to an array, character by character.
271
272         This is only used for small strings: the schemes and the ports.
273
274         * platform/KURL.cpp:
275         (WebCore::equal):
276         (WebCore::isDefaultPortForScheme):
277         (WebCore::isNonFileHierarchicalScheme):
278         (WebCore::isCanonicalHostnameLowercaseForScheme):
279
280 2012-01-26  Anders Carlsson  <andersca@apple.com>
281
282         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
283         https://bugs.webkit.org/show_bug.cgi?id=77123
284
285         Reviewed by Beth Dakin.
286
287         * platform/PlatformWheelEvent.h:
288         ():
289         * platform/mac/PlatformEventFactoryMac.mm:
290         (WebCore::phaseForEvent):
291
292 2012-01-26  Daniel Cheng  <dcheng@chromium.org>
293
294         Revert code changes from r105800
295         https://bugs.webkit.org/show_bug.cgi?id=77071
296
297         The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
298         no need to call lower() again.
299
300         Reviewed by Tony Chang.
301
302         Covered by existing tests.
303
304         * dom/Clipboard.cpp:
305         (WebCore::Clipboard::hasDropZoneType):
306
307 2012-01-26  Stephen Chenney  <schenney@chromium.org>
308
309         REGRESSION (r91125): Polyline tool in google docs is broken
310         https://bugs.webkit.org/show_bug.cgi?id=65796
311
312         Reviewed by Nikolas Zimmermann.
313
314         It turns out that the CG problem is a design decision. The bounding code
315         returns CGRectNull for cases where a bound is ill-defined, rather than the
316         empty bound as expected.
317
318         I'm also removing the workaround for isEmpty to get correct zero length paths.
319         It is no longer necessary.
320
321         Tested by existing layout tests.
322
323         * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
324         (WebCore::Path::boundingRect): Added check for CGRectNull
325         (WebCore::Path::fastBoundingRect): Added check for CGRectNull
326         (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
327         (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
328         (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
329         (WebCore::Path::transform): Reverted to former behavior, using isEmpty.
330
331 2012-01-26  Andreas Kling  <awesomekling@apple.com>
332
333         Refactor application of additional style attributes for table elements.
334         <http://webkit.org/b/77095>
335
336         Reviewed by Darin Adler.
337
338         The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
339         Instead of using the mapped attribute decl table for additional table style, just use
340         regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
341         that's shared between a table's cells. That one is cached per-table since it depends
342         on the table's border and padding.
343
344         * dom/CSSMappedAttributeDeclaration.cpp:
345         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
346         * dom/MappedAttributeEntry.h:
347
348             Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
349             ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
350             in the decl table, but unreachable since we always leaked one ref to those decls.
351
352         * dom/StyledElement.h:
353         (WebCore::StyledElement::additionalAttributeStyle):
354         * html/HTMLTableCellElement.cpp:
355         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
356         * html/HTMLTableCellElement.h:
357         (HTMLTableCellElement):
358         * html/HTMLTableColElement.cpp:
359         (WebCore::HTMLTableColElement::additionalAttributeStyle):
360         * html/HTMLTableColElement.h:
361         (HTMLTableColElement):
362         * html/HTMLTableElement.cpp:
363         (WebCore::HTMLTableElement::parseMappedAttribute):
364         (WebCore::leakBorderStyle):
365         (WebCore::HTMLTableElement::additionalAttributeStyle):
366         (WebCore::HTMLTableElement::createSharedCellStyle):
367         (WebCore::HTMLTableElement::additionalCellStyle):
368         (WebCore::leakGroupBorderStyle):
369         (WebCore::HTMLTableElement::additionalGroupStyle):
370         * html/HTMLTableElement.h:
371         (HTMLTableElement):
372         * html/HTMLTableSectionElement.cpp:
373         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
374         * html/HTMLTableSectionElement.h:
375         (HTMLTableSectionElement):
376
377             Instead of collecting additional style decls into a vector, switch over to a
378             "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
379             All style declarations that can be reused for all elements are cached at the return
380             sites, leaving only the shared table cell style which we cache on HTMLTableElement.
381             Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
382             additionalAttributeStyle() will just return 0.
383
384         * css/CSSStyleSelector.cpp:
385         (WebCore::CSSStyleSelector::matchAllRules):
386
387             Updated for the new additional style conventions.
388
389 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
390
391         Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
392         https://bugs.webkit.org/show_bug.cgi?id=77098
393
394         Reviewed by Pavel Feldman.
395
396         * inspector/front-end/ScriptsNavigator.js:
397         * inspector/front-end/ScriptsPanel.js:
398         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
399         (WebInspector.ScriptsPanel.prototype.get visibleView):
400         (WebInspector.ScriptsPanel.prototype.viewForFile):
401         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
402         (WebInspector.EditorContainer):
403         (WebInspector.EditorContainer.prototype.get visibleView):
404         (WebInspector.EditorContainer.prototype.showFile):
405         (WebInspector.EditorContainer.prototype.setFileIsDirty):
406         (WebInspector.EditorContainer.prototype.replaceFiles):
407         (WebInspector.EditorContainer.prototype.reset):
408         (WebInspector.EditorContainerDelegate):
409         (WebInspector.EditorContainerDelegate.prototype.viewForFile):
410         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
411         (WebInspector.ScriptsPanel.SingleFileEditorContainer):
412         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
413         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
414         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
415         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
416         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
417         * inspector/front-end/TabbedEditorContainer.js:
418         (WebInspector.TabbedEditorContainer):
419         (WebInspector.TabbedEditorContainer.prototype.get visibleView):
420         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
421         (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
422         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
423         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
424         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
425         (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
426         (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
427         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
428         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
429         (WebInspector.TabbedEditorContainer.prototype.reset):
430
431 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
432
433         SVG + <object> tests are flakey
434         https://bugs.webkit.org/show_bug.cgi?id=77099
435
436         Reviewed by Andreas Kling.
437
438         Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
439         ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
440         which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
441         which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.
442
443         This is the source of current flakiness bugs.
444
445         In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
446         finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
447         on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
448         RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.
449
450         This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
451         without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).
452
453         Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)
454
455         * page/FrameView.cpp: Remove m_inLayoutParentView.
456         (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
457         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
458         (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
459         * page/FrameView.h:
460         (FrameView): Remove m_inLayoutParentView.
461         * rendering/svg/RenderSVGRoot.cpp:
462         (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
463         (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
464         (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
465         * rendering/svg/RenderSVGRoot.h:
466         (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.
467
468 2012-01-23  Andreas Kling  <awesomekling@apple.com>
469
470         Make elements that don't have attributes smaller.
471         <http://webkit.org/b/76876>
472
473         Reviewed by Antti Koivisto.
474
475         Move the inline style declaration from StyledElement to NamedNodeMap, since having
476         an inline style declaration also implies having a style attribute on the element.
477         This saves one CPU word per element that has no attributes.
478
479         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
480         HTML5 spec at <http://whatwg.org/c>.
481
482         * dom/NamedNodeMap.cpp:
483         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
484         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
485         (WebCore::NamedNodeMap::createInlineStyleDecl):
486         * dom/NamedNodeMap.h:
487         (WebCore::NamedNodeMap::inlineStyleDecl):
488         * dom/StyledElement.cpp:
489         (WebCore::StyledElement::updateStyleAttribute):
490         (WebCore::StyledElement::addSubresourceAttributeURLs):
491         * dom/StyledElement.h:
492         (WebCore::StyledElement::inlineStyleDecl):
493         (WebCore::StyledElement::ensureInlineStyleDecl):
494         (WebCore::StyledElement::destroyInlineStyleDecl):
495
496 2012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
497
498         [Qt] Use ICU if available
499         https://bugs.webkit.org/show_bug.cgi?id=76821
500
501         Reviewed by Simon Hausmann.
502
503         Adding correct sources to a Qt 5 based build.
504
505         No new tests, it's just a build dependency change.
506
507         * Target.pri:
508
509 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
510
511         Not reviewed. Fix mac build after r105988.
512
513         * WebCore.exp.in:
514
515 2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
516
517         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
518         https://bugs.webkit.org/show_bug.cgi?id=42545
519
520         Reviewed by Zoltan Herczeg.
521
522         No need for new tests, there is no behavior change.
523
524         Added a line to file which copies the forwarding headers.
525
526         * WebCore.vcproj/copyForwardingHeaders.cmd:
527
528 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
529
530         Not reviewed. Fix Qt build after r105978.
531
532         * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
533         * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
534         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
535         * rendering/svg/SVGRenderSupport.cpp: Ditto.
536
537 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
538
539         Not reviewed. Fix non-AllInOne builds after r105978.
540
541         * rendering/svg/RenderSVGResource.cpp:
542
543 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
544
545         Unreviewed inspector closure compilation fix.
546
547         * inspector/front-end/externs.js:
548         (WebInspector.closeDrawerView):
549
550 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
551
552         Not reviewed. Fix release builds after r105978.
553
554         * rendering/svg/SVGInlineTextBox.cpp:
555         (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.
556
557 2012-01-26  Kent Tamura  <tkent@chromium.org>
558
559         Unreviewed, rolling out r105968.
560         http://trac.webkit.org/changeset/105968
561         https://bugs.webkit.org/show_bug.cgi?id=76995
562
563         Incorrect behavior change
564
565         * html/HTMLInputElement.cpp:
566         (WebCore::HTMLInputElement::setIndeterminate):
567
568 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
569
570         crash in WebCore::RenderSVGContainer::paint
571         https://bugs.webkit.org/show_bug.cgi?id=69714
572
573         Reviewed by Dirk Schulze.
574
575         When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
576         - fill-opacity/stroke-opacity/opacity forced to 1
577         - masker/filter resources shouldn't be applied to the children
578         - fill must be set to the initial fill paint server for all children (solid black)
579         - stroke must be set to the initial stroke paint server for all children (none)
580
581         This was achieved before by mutating the style of the children, which made them need a relayout.
582         SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.
583
584         This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
585         Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
586         state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
587         having to mutate the style of the children and without having to relayout.
588
589         We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.
590
591         Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
592                svg/custom/layout-loop.svg
593
594         * rendering/PaintPhase.h:
595         * rendering/svg/RenderSVGResource.cpp:
596         (WebCore::requestPaintingResource):
597         * rendering/svg/RenderSVGResourceClipper.cpp:
598         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
599         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
600         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
601         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
602         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
603         * rendering/svg/RenderSVGResourceClipper.h:
604         * rendering/svg/RenderSVGResourceMasker.cpp:
605         (WebCore::RenderSVGResourceMasker::applyResource):
606         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
607         * rendering/svg/RenderSVGResourceMasker.h:
608         * rendering/svg/RenderSVGResourcePattern.cpp:
609         (WebCore::RenderSVGResourcePattern::createTileImage):
610         * rendering/svg/RenderSVGResourceSolidColor.cpp:
611         (WebCore::RenderSVGResourceSolidColor::applyResource):
612         * rendering/svg/SVGImageBufferTools.cpp:
613         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
614         * rendering/svg/SVGInlineTextBox.cpp:
615         (WebCore::SVGInlineTextBox::paintSelectionBackground):
616         (WebCore::SVGInlineTextBox::paint):
617         * rendering/svg/SVGRenderSupport.cpp:
618         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
619
620 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
621
622         Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.
623
624         * GNUmakefile.list.am:
625
626 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
627
628         Web Inspector: Improve user experience of advanced search panel closing.
629         https://bugs.webkit.org/show_bug.cgi?id=76983
630
631         Reviewed by Pavel Feldman.
632
633         Added close button to search panel.
634         Esc now closes the panel even when search filed has focus.
635
636         * English.lproj/localizedStrings.js:
637         * inspector/front-end/AdvancedSearchController.js:
638         (WebInspector.AdvancedSearchController.prototype.close):
639         (WebInspector.SearchView):
640         (WebInspector.SearchView.prototype._onKeyDown):
641         (WebInspector.SearchView.prototype._closeButtonPressed):
642         * inspector/front-end/inspector.css:
643         (.search-view .search-panel):
644         (.search-view .search-panel button.search-close-button):
645         * inspector/front-end/inspector.js:
646         (WebInspector._escPressed):
647         (WebInspector.closeDrawerView):
648
649 2012-01-26  Joe Thomas  <joethomas@motorola.com>
650
651         https://bugs.webkit.org/show_bug.cgi?id=76995.
652         WebKit fails IETC :indeterminate and input type=radio test.
653
654         As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
655         only checkbox input type should respect the indeterminate state.
656         Removed the support for indeterminate state for radio input types.
657
658         Reviewed by Eric Seidel.
659
660         Modified the existing test cases.
661
662         * html/HTMLInputElement.cpp:
663         (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.
664
665 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
666
667         [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
668         https://bugs.webkit.org/show_bug.cgi?id=76996
669
670         As it turns out, we were always calling validateFilename on a data object with an empty
671         extension. Now we call it on an actual extension so that it's sanitized.
672
673         Reviewed by Tony Chang.
674
675         Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*
676
677         * WebCore.gypi:
678         * platform/chromium/ClipboardChromium.cpp:
679         (WebCore::writeImageToDataObject):
680         * platform/chromium/ClipboardChromium.h:
681         (ClipboardChromium):
682         * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
683         * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
684         (WebCore):
685         (WebCore::isInvalidFileCharacter):
686         (WebCore::ClipboardChromium::validateFilename):
687         * platform/chromium/ClipboardChromiumWin.cpp:
688         (WebCore):
689         (WebCore::ClipboardChromium::validateFilename):
690
691 2012-01-25  James Robinson  <jamesr@chromium.org>
692
693         [chromium] Rollout r100751, this mechanism does not work and is very slow
694         https://bugs.webkit.org/show_bug.cgi?id=77055
695
696         Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
697         but it still triggers a very slow codepath and triggers races on some platforms.
698
699         * platform/PlatformScreen.h:
700         (WebCore):
701         * platform/chromium/PlatformScreenChromium.cpp:
702         * platform/chromium/PlatformSupport.h:
703         (PlatformSupport):
704         ():
705         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
706         (WebCore::CCSettings::CCSettings):
707         (CCSettings):
708         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
709         (WebCore::CCThreadProxy::initializeImplOnImplThread):
710
711 2012-01-25  Mark Rowe  <mrowe@apple.com>
712
713         Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
714         
715         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
716         (https://bugs.webkit.org/show_bug.cgi?id=75049)
717
718         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
719         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
720         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
721
722         * platform/KURL.h:
723         (WebCore::KURL::innerURL):
724
725 2012-01-25  Eric Seidel  <eric@webkit.org>
726
727         Unreviewed, rolling out r105940.
728         http://trac.webkit.org/changeset/105940
729         https://bugs.webkit.org/show_bug.cgi?id=76095
730
731         Only half this change landed
732
733         * DerivedSources.cpp:
734         * DerivedSources.make:
735         * DerivedSources.pri:
736
737 2012-01-25  Mark Rowe  <mrowe@apple.com>
738
739         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
740
741         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
742
743         Reviewed by David Kilzer.
744
745         * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
746         the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
747         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
748         NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
749         are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
750         directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
751         based on the normal framework location. This prevents an incorrect install name from being
752         used when installing in to the staged frameworks directory. Look for our other frameworks
753         in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.
754
755 2012-01-25  Eric Seidel  <eric@webkit.org>
756
757         "text" and "URL" legacy clipboard types should not be case sensitive
758         https://bugs.webkit.org/show_bug.cgi?id=76947
759
760         Reviewed by Adam Barth.
761
762         This matches the HTML5 spec which says the first thing to do is to lowercase
763         the type before comparing.
764         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).
765         Turns out we already had a test for case sensitivity, but it was disabled on Mac
766         so I just re-enabled it and have added failing expectations for the parts
767         of the test we still fail.
768
769         * platform/mac/ClipboardMac.mm:
770         (WebCore::cocoaTypeFromHTMLClipboardType):
771         (WebCore::ClipboardMac::getData):
772
773 2012-01-25  Eric Seidel  <eric@webkit.org>
774
775         HTMLIsIndexElement should not expose HTMLInputElement properties
776         https://bugs.webkit.org/show_bug.cgi?id=76095
777
778         Reviewed by Adam Barth.
779
780         document.createElement("isindex") should produce an HTMLUnknownElement
781         per the HTML5 spec.  The parser automagically translates <isindex> into
782         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
783
784         This patch just removes our support for HTMLIsIndexElement.  The parser
785         support was already in.  Having support for HTMLIsIndexElement was causing
786         one of the IE TestCenter tests to fail.
787
788         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
789
790         * DerivedSources.cpp:
791         * DerivedSources.make:
792         * DerivedSources.pri:
793         * GNUmakefile.list.am:
794         * Target.pri:
795         * WebCore.exp.in:
796         * WebCore.gypi:
797         * WebCore.order:
798         * WebCore.vcproj/WebCore.vcproj:
799         * WebCore.xcodeproj/project.pbxproj:
800         * bindings/gobject/GNUmakefile.am:
801         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
802         (WebKit::createHTMLElementWrapper):
803         * bindings/objc/DOM.mm:
804         (WebCore::createElementClassMap):
805         * bindings/objc/DOMHTML.h:
806         * bindings/objc/PublicDOMInterfaces.h:
807         * html/HTMLElementsAllInOne.cpp:
808         * html/HTMLIsIndexElement.cpp: Removed.
809         * html/HTMLIsIndexElement.h: Removed.
810         * html/HTMLIsIndexElement.idl: Removed.
811         * html/HTMLTagNames.in:
812         * page/DOMWindow.idl:
813
814 2012-01-25  Eric Seidel  <eric@webkit.org>
815
816         HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
817         https://bugs.webkit.org/show_bug.cgi?id=74360
818
819         Reviewed by Adam Barth.
820
821         Neither of these !renderer() checks is strictly necessary since requestObject()
822         makes the same check.  However requestObject() asserts before it makes that
823         check, so it makes sense to add the check to HTMLEmebedObject instead of
824         removing the check from HTMLObjectElement.
825         I also moved the protect RefPtr to before the beforeload dispatch since
826         beforeload can remove the whole DOM element (as this test does) and
827         thus I beleive the renderer() check could be checking free'd memory.
828
829         Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
830         <embed> as well as <object>.
831
832         * html/HTMLEmbedElement.cpp:
833         (WebCore::HTMLEmbedElement::updateWidget):
834         * html/HTMLObjectElement.cpp:
835         (WebCore::HTMLObjectElement::updateWidget):
836
837 2012-01-25  Kent Tamura  <tkent@chromium.org>
838
839         Move focus/blur handling code of HTMLInputElement to InputType
840         https://bugs.webkit.org/show_bug.cgi?id=76984
841
842         Reviewed by Dimitri Glazkov.
843
844         No new tests. Just a refactoring.
845
846         * html/HTMLInputElement.cpp:
847         (WebCore::HTMLInputElement::handleFocusEvent):
848         Move the code to PasswordInputType::handleFocusEvent().
849         (WebCore::HTMLInputElement::handleBlurEvent):
850         Move the code to TextFieldInputType::handleBlurEvent() and
851         PasswordInputType::handleBlurEvent().
852         * html/InputType.cpp:
853         (WebCore::InputType::handleFocusEvent):
854         * html/InputType.h:
855         (InputType): Add handleFocusEvent().
856         * html/PasswordInputType.cpp:
857         (WebCore::PasswordInputType::handleFocusEvent):
858         Move the code for type=password from HTMLInputElement::handleFocusEvent().
859         (WebCore::PasswordInputType::handleBlurEvent):
860         Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
861         * html/PasswordInputType.h:
862         (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
863         * html/TextFieldInputType.cpp:
864         (WebCore::TextFieldInputType::handleBlurEvent):
865         Move the code for text field types from HTMLInputElement::handleBlurEvent().
866         * html/TextFieldInputType.h:
867         (TextFieldInputType): Add handleBlurEvent().
868
869 2012-01-25  Adam Barth  <abarth@webkit.org>
870
871         Node.cpp shouldn't duplicate QualifiedName parsing logic
872         https://bugs.webkit.org/show_bug.cgi?id=76672
873
874         Reviewed by Eric Seidel.
875
876         I added this code out of ignorance that this logic already existed in
877         Document.cpp.  In a future patch, we should consider moving it to
878         QualifiedName.cpp.
879
880         * dom/Node.cpp:
881         (WebCore):
882         (WebCore::Node::checkSetPrefix):
883
884 2012-01-25  Eric Seidel  <eric@webkit.org>
885
886         Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
887         https://bugs.webkit.org/show_bug.cgi?id=74340
888
889         Reviewed by Adam Barth.
890
891         I'm preparing to unify these two methods, and starting by sharing more code between them.
892
893         * html/HTMLEmbedElement.cpp:
894         (WebCore::HTMLEmbedElement::updateWidget):
895         * html/HTMLObjectElement.cpp:
896         (WebCore::HTMLObjectElement::updateWidget):
897         * html/HTMLPlugInElement.cpp:
898         (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
899         * html/HTMLPlugInElement.h:
900
901 2012-01-25  Eric Uhrhane  <ericu@chromium.org>
902
903         Add full support for filesystem URLs.
904         https://bugs.webkit.org/show_bug.cgi?id=75049
905
906         Reviewed by Adam Barth.
907
908         No new tests; existing layout tests cover the basic functionality, and
909         the new functionality won't be there until Chromium adds it.  This patch
910         merely enables that, without changing behavior.
911
912         * fileapi/EntryBase.cpp:
913         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
914
915         * page/SecurityOrigin.cpp:
916         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
917
918         * platform/KURL.h:
919         (WebCore::KURL::innerURL): Add innerURL member.
920
921         * platform/KURLGoogle.cpp:
922         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
923         (WebCore::KURLGooglePrivate::operator=):
924         Add copy constructor and operator=, which are now needed since
925         m_innerURL needs special handling.
926         (WebCore::KURLGooglePrivate::setUtf8):
927         (WebCore::KURLGooglePrivate::setAscii):
928         Add calls to initInnerURL.
929         (WebCore::KURLGooglePrivate::initInnerURL):
930         Add method to init/copy m_innerURL.
931         (WebCore::KURLGooglePrivate::copyTo):
932         Handle m_innerURL during copies.
933         (WebCore::encodeWithURLEscapeSequences):
934         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
935
936         * platform/KURLGooglePrivate.h:
937         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
938
939 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
940
941         [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
942         https://bugs.webkit.org/show_bug.cgi?id=76993
943
944         We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
945         that, we want use a similar representation to DataTransferItem list inside
946         ChromiumDataObject.  However, since ChromiumDataObject should be valid in scopes where
947         Clipboard is not (e.g. default drag processing), we need to separate the clipboard
948         invalidation logic into a wrapper class.
949
950         Reviewed by Tony Chang.
951
952         Covered by existing tests.
953
954         * platform/chromium/ClipboardChromium.cpp:
955         ():
956         (WebCore::ClipboardChromium::items):
957         * platform/chromium/DataTransferItemChromium.cpp:
958         (WebCore::DataTransferItemChromium::getAsString):
959         * platform/chromium/DataTransferItemListChromium.cpp:
960         (WebCore::DataTransferItemListChromium::length):
961         (WebCore::DataTransferItemListChromium::item):
962         (WebCore::DataTransferItemListChromium::deleteItem):
963         (WebCore::DataTransferItemListChromium::clear):
964         (WebCore::DataTransferItemListChromium::add):
965
966 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
967
968         [Texmap] Divide TextureMapperNode.cpp to 3 files.
969         https://bugs.webkit.org/show_bug.cgi?id=76660
970
971          Reviewed by Kenneth Rohde Christiansen.
972
973          Split the animation part of TextureMapperNode out to a separate file, called
974          TextureMapperAnimation.
975          Provide a clean interface for that class, that allows separating the internals of the scene
976          painting from the internals of the animation interpolation.
977
978          No new tests. Existing animation tests cover this.
979
980          * GNUmakefile.list.am:
981         * Target.pri:
982         * WebCore.gypi:
983         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
984         (WebCore::GraphicsLayerTextureMapper::addAnimation):
985         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
986         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
987         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
988         (GraphicsLayerTextureMapper):
989         * platform/graphics/texmap/TextureMapperNode.cpp:
990         (WebCore::TextureMapperNode::syncCompositingStateSelf):
991         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
992         (WebCore::TextureMapperNode::syncAnimations):
993         (WebCore::TextureMapperNode::syncAnimationsRecursively):
994         (WebCore::TextureMapperNode::syncCompositingState):
995         * platform/graphics/texmap/TextureMapperNode.h:
996         (TextureMapperNode):
997
998 2012-01-25  Hajime Morita  <morrita@google.com>
999
1000         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
1001         https://bugs.webkit.org/show_bug.cgi?id=76863
1002
1003         Reviewed by Dimitri Glazkov.
1004
1005         Added a feature flag.
1006
1007         No tests, it's a behid flag configuration change.
1008
1009         * CMakeLists.txt:
1010         * Configurations/FeatureDefines.xcconfig:
1011         * DerivedSources.cpp:
1012         * DerivedSources.make:
1013         * DerivedSources.pri:
1014         * GNUmakefile.am:
1015         * GNUmakefile.list.am:
1016         * WebCore.vcproj/WebCore.vcproj:
1017         * WebCore.xcodeproj/project.pbxproj:
1018
1019 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1020
1021         Unreviewed, rolling out r105906.
1022         http://trac.webkit.org/changeset/105906
1023         https://bugs.webkit.org/show_bug.cgi?id=77038
1024
1025         Breaks compositing/visibility/layer-visible-content.html and
1026         compositing/visibility/visibility-image-layers-dynamic.html
1027         (Requested by leviw|gardening on #webkit).
1028
1029         * rendering/RenderLayerBacking.cpp:
1030         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1031
1032 2012-01-25  Mike Fenton  <mifenton@rim.com>
1033
1034         Page Up and Page Down mappings are backwards on BlackBerry port.
1035         https://bugs.webkit.org/show_bug.cgi?id=77021
1036
1037         Fix Page Up and Page Down mappings as they are reversed.
1038
1039         Reviewed by Antonio Gomes.
1040
1041         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1042         (WebCore::keyIdentifierForBlackBerryCharacter):
1043         (WebCore::windowsKeyCodeForBlackBerryCharacter):
1044
1045 2012-01-25  Hajime Morita  <morrita@google.com>
1046
1047         <content> should create HTMLContentElement object
1048         https://bugs.webkit.org/show_bug.cgi?id=76439
1049
1050         Reviewed by Dimitri Glazkov.
1051
1052         - Added HTMLContentElement.idl which has @select attribute.
1053         - Added "content" element.
1054
1055         Both are behind ENABLE_SHADOW_DOM.
1056
1057         Tests: fast/dom/shadow/content-element-api.html
1058                fast/dom/shadow/content-element-outside-shadow.html
1059
1060         * CMakeLists.txt:
1061         * DerivedSources.cpp:
1062         * DerivedSources.make:
1063         * DerivedSources.pri:
1064         * GNUmakefile.list.am:
1065         * WebCore.gypi:
1066         * WebCore.vcproj/WebCore.vcproj:
1067         * WebCore.xcodeproj/project.pbxproj:
1068         * html/HTMLTagNames.in:
1069         * html/shadow/HTMLContentElement.cpp:
1070         (WebCore::contentTagName):
1071         (WebCore):
1072         (WebCore::HTMLContentElement::create):
1073         * html/shadow/HTMLContentElement.h:
1074         (HTMLContentElement):
1075         * html/shadow/HTMLContentElement.idl: Added.
1076
1077 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1078
1079         Unreviewed, rolling out r105828.
1080         http://trac.webkit.org/changeset/105828
1081         https://bugs.webkit.org/show_bug.cgi?id=77036
1082
1083         Caused many crashes in ClusterFuzz and PerformanceTests
1084         (Requested by inferno-sec on #webkit).
1085
1086         * rendering/RenderBlock.cpp:
1087         (WebCore::RenderBlock::removeChild):
1088         * rendering/RenderBlock.h:
1089         (RenderBlock):
1090
1091 2012-01-25  Shawn Singh  <shawnsingh@chromium.org>
1092
1093         Fix the semantics of passing contentsVisible flag to GraphicsLayers
1094         https://bugs.webkit.org/show_bug.cgi?id=76975
1095
1096         Reviewed by Simon Fraser.
1097
1098         This patch is covered by existing tests, in particular
1099         compositing/visibility/layer-visible-content.html; its
1100         expectations are rebaselined.
1101
1102         * rendering/RenderLayerBacking.cpp:
1103         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1104
1105 2012-01-25  Tony Chang  <tony@chromium.org>
1106
1107         support overflow:auto and overflow:scroll in new flexbox
1108         https://bugs.webkit.org/show_bug.cgi?id=76953
1109
1110         Reviewed by David Hyatt.
1111
1112         Tests: css3/flexbox/flexbox-overflow-auto-expected.html
1113                css3/flexbox/flexbox-overflow-auto.html
1114
1115         * rendering/RenderBox.cpp:
1116         (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
1117         * rendering/RenderFlexibleBox.cpp:
1118         (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
1119         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
1120         (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
1121         * rendering/RenderFlexibleBox.h:
1122         (RenderFlexibleBox): Make isHorizontalFlow public.
1123         * rendering/style/RenderStyle.h:
1124         (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
1125
1126 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1127
1128         Unreviewed, rolling out r105885.
1129         http://trac.webkit.org/changeset/105885
1130         https://bugs.webkit.org/show_bug.cgi?id=77027
1131
1132         Causes assertions in Position. (Requested by leviw|gardening
1133         on #webkit).
1134
1135         * dom/Position.cpp:
1136         (WebCore::Position::upstream):
1137         (WebCore::Position::downstream):
1138         * dom/PositionIterator.cpp:
1139         * dom/PositionIterator.h:
1140         (PositionIterator):
1141         * editing/htmlediting.cpp:
1142         (WebCore::nextCandidate):
1143         (WebCore::nextVisuallyDistinctCandidate):
1144         (WebCore::previousCandidate):
1145         (WebCore::previousVisuallyDistinctCandidate):
1146
1147 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
1148
1149         border-image should be implemented like a shorthand.
1150         https://bugs.webkit.org/show_bug.cgi?id=76697
1151
1152         Reviewed by Tony Chang.
1153
1154         Make sure that border-image is implemented like a shorthand : when we parse
1155         it we set the correct value to its longhands. The code was not doing it
1156         previously as we inherited the old implementation of -webkit-border-image which
1157         is not a shorthand but a regular property. It will then increase
1158         style.length for a given element as we now expand the longhands.
1159         The behavior stays the same for -webkit-border-image.
1160
1161         Test: fast/css/border-image-style-length.html
1162
1163         * css/CSSParser.cpp:
1164         (WebCore::CSSParser::parseValue):
1165         (WebCore::BorderImageParseContext::BorderImageParseContext):
1166         (WebCore::BorderImageParseContext::commitWebKitBorderImage):
1167         (WebCore::BorderImageParseContext::commitBorderImage):
1168         (BorderImageParseContext):
1169         (WebCore::BorderImageParseContext::commitBorderImageProperty):
1170         (WebCore::CSSParser::parseBorderImage):
1171         * css/CSSParser.h:
1172         ():
1173         * css/CSSPropertyLonghand.cpp:
1174         (WebCore::initShorthandMap):
1175         * css/CSSStyleApplyProperty.cpp:
1176         ():
1177         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1178         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1179         (WebCore::ApplyPropertyExpanding::applyValue):
1180         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1181         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1182         * css/CSSStyleSelector.cpp:
1183         (WebCore::CSSStyleSelector::mapNinePieceImage):
1184         * page/animation/AnimationBase.cpp:
1185         (WebCore::AnimationBase::ensurePropertyMap):
1186         (WebCore::addShorthandProperties):
1187         * rendering/style/RenderStyle.h:
1188         (WebCore::RenderStyleBitfields::borderImageSlices):
1189         (WebCore::RenderStyleBitfields::borderImageWidth):
1190         (WebCore::RenderStyleBitfields::borderImageOutset):
1191         (RenderStyleBitfields):
1192         (WebCore::RenderStyleBitfields::setBorderImageSlices):
1193         (WebCore::RenderStyleBitfields::setBorderImageWidth):
1194         (WebCore::RenderStyleBitfields::setBorderImageOutset):
1195
1196 2012-01-23  MORITA Hajime  <morrita@google.com>
1197
1198         [Refactoring][Internals] Should have InternalSettings
1199         https://bugs.webkit.org/show_bug.cgi?id=76424
1200
1201         Reviewed by Kent Tamura.
1202
1203         This change extracted setting related method from window.internals
1204         to window.internals.settings object.
1205         - Invoked Internals::reset() in the constructor to employ Document object.
1206         - Moved setting and configuration related Internals methods to
1207           newly introduced InternalSettings object.
1208
1209         No new tests, covered by existing tests.
1210
1211         * DerivedSources.make:
1212         * DerivedSources.pri:
1213         * GNUmakefile.am:
1214         * GNUmakefile.list.am:
1215         * Target.pri:
1216         * WebCore.gyp/WebCore.gyp:
1217         * WebCore.gypi:
1218         * WebCore.vcproj/WebCoreTestSupport.vcproj:
1219         * WebCore.xcodeproj/project.pbxproj:
1220         * testing/InternalSettings.cpp: Added.
1221         (WebCore::InternalSettings::create):
1222         (WebCore::InternalSettings::~InternalSettings):
1223         (WebCore::InternalSettings::InternalSettings):
1224         (WebCore::InternalSettings::settings):
1225         (WebCore::InternalSettings::document):
1226         (WebCore::InternalSettings::page):
1227         (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
1228         (WebCore::InternalSettings::setForceCompositingMode):
1229         (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
1230         (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
1231         (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
1232         (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
1233         (WebCore::InternalSettings::setEnableScrollAnimator):
1234         (WebCore::InternalSettings::setZoomAnimatorTransform):
1235         (WebCore::InternalSettings::setZoomParameters):
1236         (WebCore::InternalSettings::setMockScrollbarsEnabled):
1237         (WebCore::InternalSettings::setPasswordEchoEnabled):
1238         (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
1239         (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
1240         (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
1241         (WebCore::InternalSettings::unifiedTextCheckingEnabled):
1242         (WebCore::InternalSettings::pageScaleFactor):
1243         (WebCore::InternalSettings::setPageScaleFactor):
1244         (WebCore::InternalSettings::setPerTileDrawingEnabled):
1245         * testing/InternalSettings.h: Added.
1246         * testing/InternalSettings.idl: Added.
1247         * testing/Internals.cpp:
1248         (WebCore::Internals::create):
1249         (WebCore::Internals::Internals):
1250         (WebCore::Internals::reset):
1251         * testing/Internals.h:
1252         (WebCore::Internals::settings):
1253         * testing/Internals.idl:
1254         * testing/js/WebCoreTestSupport.cpp:
1255         (WebCoreTestSupport::injectInternalsObject):
1256         * testing/v8/WebCoreTestSupport.cpp:
1257         (WebCoreTestSupport::injectInternalsObject):
1258
1259 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
1260
1261         border-image should not crash when the source is not specified.
1262         https://bugs.webkit.org/show_bug.cgi?id=77001
1263
1264         Reviewed by Andreas Kling.
1265
1266         This bug was introduced by r105502 but was exposed by r105738.
1267         The image-source of a border-image is not mandatory therefore it
1268         may happen that you have no value set for it. WebCore::createBorderImageValue
1269         was wrongly assuming that the image is always set. This problem also required a bit
1270         of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
1271         the image could be optional (just like other properties).
1272
1273         Test: fast/css/border-image-null-image-crash.html
1274
1275         * css/CSSBorderImage.cpp:
1276         (WebCore::createBorderImageValue):
1277         * css/CSSStyleSelector.cpp:
1278         (WebCore::CSSStyleSelector::mapNinePieceImage):
1279
1280 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1281
1282         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
1283         https://bugs.webkit.org/show_bug.cgi?id=76914
1284
1285         Reviewed by Simon Hausmann.
1286
1287         Implement highlighting of dom nodes with a rounded rect, respecting
1288         the color of -webkit-tap-highlight-color and any transform applied
1289         to the element.
1290
1291         Tested with manual test.
1292
1293         * Target.pri:
1294         * page/GestureTapHighlighter.cpp: Added.
1295         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
1296         * page/GestureTapHighlighter.h: Added.
1297
1298 2012-01-25  Joshua Bell  <jsbell@chromium.org>
1299
1300         IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
1301         https://bugs.webkit.org/show_bug.cgi?id=76487
1302
1303         Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
1304         if there is a key generator (autoIncrement) and the path yields a value and the value
1305         is not a valid key; raise an error if any of the index key paths yield a value which
1306         is not a valid key.
1307
1308         Reviewed by Tony Chang.
1309
1310         Tests: storage/indexeddb/keypath-edges.html
1311                storage/indexeddb/objectstore-basics.html
1312
1313         * storage/IDBObjectStoreBackendImpl.cpp:
1314         (WebCore::IDBObjectStoreBackendImpl::put):
1315
1316 2012-01-25  Yong Li  <yoli@rim.com>
1317
1318         https://bugs.webkit.org/show_bug.cgi?id=65377
1319         Skip the entire node when it is right to do so, instead of stepping
1320         through every character, so we save CPU time on checking every position
1321         unnecessarily.
1322
1323         Reviewed by Darin Adler.
1324
1325         Test: perf/selection-skip-hidden-node.html
1326
1327         * dom/Position.cpp:
1328         (WebCore::Position::upstream):
1329         (WebCore::Position::downstream):
1330         * dom/PositionIterator.cpp:
1331         (WebCore::PositionIterator::moveToLeafNodeStart):
1332         (WebCore::PositionIterator::moveToLeafNodeEnd):
1333         * dom/PositionIterator.h:
1334         * editing/htmlediting.cpp:
1335         (WebCore::nextCandidate):
1336         (WebCore::nextVisuallyDistinctCandidate):
1337         (WebCore::previousCandidate):
1338         (WebCore::previousVisuallyDistinctCandidate):
1339
1340 2012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1341
1342         Remove unnecessary member variable from PluginView.
1343         https://bugs.webkit.org/show_bug.cgi?id=76909
1344
1345         Reviewed by Adam Roben.
1346
1347         No new tests needed.
1348
1349         * plugins/PluginView.cpp:
1350         (WebCore::PluginView::getURLNotify):
1351         (WebCore::PluginView::getURL):
1352         (WebCore::PluginView::PluginView):
1353         (WebCore::PluginView::handlePost):
1354         (WebCore::PluginView::getValueForURL):
1355         (WebCore::PluginView::setValueForURL):
1356         * plugins/PluginView.h:
1357
1358 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
1359
1360         [Qt] Build fix when using force_static_libs_as_shared
1361         https://bugs.webkit.org/show_bug.cgi?id=76832
1362
1363         Reviewed by Simon Hausmann.
1364
1365         Add a dependency on QtWidgets, when compiling against Qt5.
1366
1367         No new tests. This is a build fix.
1368
1369         * Target.pri:
1370
1371 2012-01-25  Sami Kyostila  <skyostil@chromium.org>
1372
1373         Clipping of render layer boundaries does not take page scale into account
1374         https://bugs.webkit.org/show_bug.cgi?id=76850
1375
1376         Reviewed by Simon Fraser.
1377
1378         When inserting render layers into the compositor's overlap map, the
1379         layer boundaries are clipped against any potential parent clip rects.
1380         The clip rects are given in CSS coordinates, while the render layer
1381         boundaries are in scaled CSS coordinates, so the result is incorrect.
1382         This patch scales the clip rects before calculating the intersection.
1383
1384         Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
1385
1386         * rendering/RenderLayerCompositor.cpp:
1387         (WebCore::RenderLayerCompositor::addToOverlapMap):
1388
1389 2012-01-25  Stephen Chenney  <schenney@chromium.org>
1390
1391         Linecaps wrong for zero length lines
1392         https://bugs.webkit.org/show_bug.cgi?id=71820
1393
1394         Reviewed by Nikolas Zimmermann.
1395
1396         Total reworking of the method used to draw zero-length linecaps for
1397         SVG. This patch works for all zero length sub-paths.
1398
1399         Tests: svg/stroke/zero-length-path-linecap-rendering.svg
1400                svg/stroke/zero-length-subpaths-linecap-rendering.svg
1401
1402         * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
1403           new implementation and clarify code.
1404         (WebCore::RenderSVGShape::createShape):
1405         (WebCore::RenderSVGShape::strokeContains):
1406         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
1407         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
1408         (WebCore::RenderSVGShape::zeroLengthLinecapPath):
1409         (WebCore::RenderSVGShape::nonScalingStrokePath):
1410         (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
1411         (WebCore::RenderSVGShape::fillShape):
1412         (WebCore::RenderSVGShape::strokePath):
1413         (WebCore::RenderSVGShape::fillAndStrokePath):
1414         (WebCore::RenderSVGShape::updateCachedBoundaries):
1415         (WebCore::RenderSVGShape::processZeroLengthSubpaths):
1416         * rendering/svg/RenderSVGShape.h: Declarations for new methods.
1417         * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
1418         * svg/SVGPathBuilder.h: Fix typos
1419         * svg/SVGPathConsumer.h: Fix typos
1420         * svg/SVGPathSegListBuilder.h: Fix typos
1421         * svg/SVGPathTraversalStateBuilder.h: Fix typos
1422
1423 2012-01-23  Yury Semikhatsky  <yurys@chromium.org>
1424
1425         Web Inspector: show memory counter graphs in timeline panel
1426         https://bugs.webkit.org/show_bug.cgi?id=76843
1427
1428         Timeline panel is extended with several graphs depicting total node count,
1429         number of DOM groups and event listeners. This feature is hidden behind
1430         experimental setting.
1431
1432         Reviewed by Pavel Feldman.
1433
1434         * English.lproj/localizedStrings.js:
1435         * inspector/Inspector.json:
1436         * inspector/InspectorController.cpp:
1437         (WebCore::InspectorController::InspectorController):
1438         * inspector/InspectorTimelineAgent.cpp:
1439         (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
1440         (WebCore::InspectorTimelineAgent::didCallFunction):
1441         (WebCore::InspectorTimelineAgent::didDispatchEvent):
1442         (WebCore::InspectorTimelineAgent::didWriteHTML):
1443         (WebCore::InspectorTimelineAgent::didFireTimer):
1444         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1445         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1446         (WebCore::InspectorTimelineAgent::collectDomCounters):
1447         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1448         * inspector/InspectorTimelineAgent.h:
1449         (WebCore::InspectorTimelineAgent::create):
1450         * inspector/TimelineRecordFactory.cpp:
1451         * inspector/front-end/Settings.js:
1452         (WebInspector.ExperimentsSettings):
1453         * inspector/front-end/TimelinePanel.js:
1454         (WebInspector.TimelinePanel):
1455         (WebInspector.MemoryStatistics):
1456         (WebInspector.MemoryStatistics.prototype.setTopPosition):
1457         (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
1458         (WebInspector.MemoryStatistics.prototype._sidebarResized):
1459         (WebInspector.MemoryStatistics.prototype._updateSize):
1460         (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
1461         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
1462         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1463         (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
1464         (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
1465         (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
1466         (WebInspector.MemoryStatistics.prototype._draw):
1467         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
1468         (WebInspector.MemoryStatistics.prototype._onMouseOver):
1469         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1470         (WebInspector.MemoryStatistics.prototype.visible):
1471         (WebInspector.MemoryStatistics.prototype.show):
1472         (WebInspector.MemoryStatistics.prototype.refresh):
1473         (WebInspector.MemoryStatistics.prototype.hide):
1474         (WebInspector.MemoryStatistics.prototype._setVerticalClip):
1475         (WebInspector.MemoryStatistics.prototype._calculateXValues):
1476         (WebInspector.MemoryStatistics.prototype._drawPolyline):
1477         (WebInspector.MemoryStatistics.prototype._drawBottomBound):
1478         (WebInspector.MemoryStatistics.prototype._clear):
1479         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
1480         (WebInspector.TimelinePanel.prototype._splitterDragging):
1481         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
1482         (WebInspector.TimelinePanel.prototype._setSplitterPosition):
1483         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1484         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1485         (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
1486         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
1487         (WebInspector.TimelinePanel.prototype.sidebarResized):
1488         (WebInspector.TimelinePanel.prototype._refresh):
1489         * inspector/front-end/timelinePanel.css:
1490         (#timeline-memory-splitter):
1491         (#memory-counters-graph):
1492         (#memory-graphs-container):
1493         (#memory-graphs-container .split-view-contents):
1494         (.timeline-marker):
1495         (.memory-counter-sidebar-info):
1496         (.memory-counter-sidebar-info.bottom-border-visible):
1497
1498 2012-01-25  Joseph Pecoraro  <pecoraro@apple.com>
1499
1500         <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
1501
1502         Reviewed by Pavel Feldman.
1503
1504         * inspector/front-end/InspectorFrontendHostStub.js:
1505
1506 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
1507
1508         Unreviewed inspector style fix.
1509
1510         * inspector/front-end/tabbedPane.css:
1511         (.tabbed-pane-header-tab-close-button):
1512         (select.tabbed-pane-header-tabs-drop-down-select):
1513
1514 2012-01-25  Pablo Flouret  <pablof@motorola.com>
1515
1516         Fix incorrect behavior in HTMLCollection.prototype.item().
1517         https://bugs.webkit.org/show_bug.cgi?id=74468
1518
1519         Reviewed by Adam Barth.
1520
1521         HTMLCollection.prototype.item("someString") was falling back to
1522         .namedItem("someString"), which is wrong per spec. Also align the
1523         handling of various other types of objects passed as the argument with
1524         the spec and the rest of the browsers.
1525
1526         Test: fast/dom/collection-item.html
1527
1528         * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
1529         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
1530         * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
1531
1532 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1533
1534         Unreviewed, rolling out r105858.
1535         http://trac.webkit.org/changeset/105858
1536         https://bugs.webkit.org/show_bug.cgi?id=77004
1537
1538         It made many tests crash on Qt (Requested by Ossy on #webkit).
1539
1540         * GNUmakefile.list.am:
1541         * Target.pri:
1542         * WebCore.gypi:
1543         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1544         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1545         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
1546         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
1547         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1548         (GraphicsLayerTextureMapper):
1549         * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
1550         * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
1551         * platform/graphics/texmap/TextureMapperNode.cpp:
1552         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1553         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
1554         (WebCore::normalizedAnimationValue):
1555         (WebCore):
1556         (WebCore::TextureMapperNode::applyOpacityAnimation):
1557         (WebCore::solveEpsilon):
1558         (WebCore::solveCubicBezierFunction):
1559         (WebCore::solveStepsFunction):
1560         (WebCore::applyTimingFunction):
1561         (WebCore::TextureMapperNode::applyTransformAnimation):
1562         (WebCore::TextureMapperNode::applyAnimationFrame):
1563         (WebCore::TextureMapperNode::applyAnimation):
1564         (WebCore::TextureMapperNode::hasOpacityAnimation):
1565         (WebCore::TextureMapperNode::hasTransformAnimation):
1566         (WebCore::TextureMapperNode::syncAnimations):
1567         (WebCore::TextureMapperNode::syncAnimationsRecursively):
1568         (WebCore::TextureMapperNode::syncCompositingState):
1569         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
1570         * platform/graphics/texmap/TextureMapperNode.h:
1571         (TextureMapperAnimation):
1572         (WebCore::TextureMapperAnimation::create):
1573         (WebCore):
1574         (TextureMapperNode):
1575
1576 2012-01-25  Kenichi Ishibashi  <bashi@chromium.org>
1577
1578         fast/text/unicode-variation-selector.html doesn't pass on Lion
1579         https://bugs.webkit.org/show_bug.cgi?id=76041
1580
1581         Reviewed by Dan Bernstein.
1582
1583         Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
1584         account Ideographic variation selectors (these are non-BMP marks).
1585
1586         No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
1587
1588         * platform/graphics/mac/ComplexTextController.cpp:
1589         (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
1590         to iterate the loop which consumes marks.
1591
1592 2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
1593
1594         Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
1595         https://bugs.webkit.org/show_bug.cgi?id=76989
1596
1597         Reviewed by Pavel Feldman.
1598
1599         * English.lproj/localizedStrings.js:
1600         * inspector/front-end/DetailedHeapshotGridNodes.js:
1601         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
1602         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1603         (WebInspector.HeapSnapshotObjectNode):
1604         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1605         (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
1606         * inspector/front-end/HeapSnapshot.js:
1607         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
1608
1609 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
1610
1611         Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
1612         https://bugs.webkit.org/show_bug.cgi?id=76711
1613
1614         Reviewed by Yury Semikhatsky.
1615
1616         * inspector/Inspector.json:
1617         * inspector/InspectorIndexedDBAgent.cpp:
1618         (WebCore):
1619         (WebCore::assertDocument):
1620         (WebCore::assertIDBFactory):
1621         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
1622         (WebCore::InspectorIndexedDBAgent::requestDatabase):
1623         * inspector/InspectorIndexedDBAgent.h:
1624         (InspectorIndexedDBAgent):
1625         * inspector/front-end/IndexedDBModel.js:
1626         (WebInspector.IndexedDBModel):
1627         (WebInspector.IndexedDBModel.prototype._frameDetached):
1628         (WebInspector.IndexedDBModel.prototype._reset):
1629         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
1630         (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
1631         (WebInspector.IndexedDBModel.prototype._originRemoved):
1632         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
1633         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
1634         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
1635         (WebInspector.IndexedDBModel.prototype._loadDatabase):
1636         (WebInspector.IndexedDBModel.Frame):
1637         (WebInspector.IndexedDBModel.Database):
1638         (WebInspector.IndexedDBModel.ObjectStore):
1639         (WebInspector.IndexedDBModel.ObjectStoreIndex):
1640         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
1641         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
1642         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
1643         (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
1644         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
1645         (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
1646         (WebInspector.IndexedDBRequestManager.prototype._reset):
1647         (WebInspector.IndexedDBRequestManager.DatabaseRequest):
1648         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
1649         (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
1650
1651 2012-01-25  Peter Rybin  <peter.rybin@gmail.com>
1652
1653         Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
1654         https://bugs.webkit.org/show_bug.cgi?id=76676
1655
1656         Reviewed by Yury Semikhatsky.
1657
1658         Generator algorithm is redone significantly.
1659
1660         * inspector/CodeGeneratorInspector.py:
1661         (RawTypes.BaseType):
1662         (RawTypes.BaseType.request_raw_internal_runtime_cast):
1663         (RawTypes.BaseType.generate_validate_method_impl):
1664         (RawTypes):
1665         (RawTypes.generate_validate_methods):
1666         (RawTypes.String):
1667         (RawTypes.String.generate_validate_method):
1668         (RawTypes.String.get_raw_validator_call_text):
1669         (RawTypes.Int):
1670         (RawTypes.Int.generate_validate_method):
1671         (RawTypes.Int.get_raw_validator_call_text):
1672         (RawTypes.Number):
1673         (RawTypes.Number.generate_validate_method):
1674         (RawTypes.Number.get_raw_validator_call_text):
1675         (RawTypes.Bool):
1676         (RawTypes.Bool.generate_validate_method):
1677         (RawTypes.Bool.get_raw_validator_call_text):
1678         (RawTypes.Object):
1679         (RawTypes.Object.generate_validate_method):
1680         (RawTypes.Object.get_raw_validator_call_text):
1681         (RawTypes.Any):
1682         (RawTypes.Any.generate_validate_method):
1683         (RawTypes.Any.get_raw_validator_call_text):
1684         (RawTypes.Array):
1685         (RawTypes.Array.generate_validate_method):
1686         (RawTypes.Array.get_raw_validator_call_text):
1687         (TypeBindings.create_named_type_declaration.Helper):
1688         (TypeBindings.create_ad_hoc_type_declaration.Helper):
1689         (TypeBindings.create_type_declaration_.EnumBinding):
1690         (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
1691         (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
1692         (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
1693         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
1694         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1695         (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
1696         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
1697         (TypeBindings.create_type_declaration_.PlainString):
1698         (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
1699         (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
1700         (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
1701         (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
1702         (TypeBindings.create_type_declaration_.TypedefString):
1703         (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
1704         (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
1705         (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
1706         (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
1707         (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
1708         (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
1709         (TypeBindings.create_type_declaration_.ClassBinding):
1710         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
1711         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
1712         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
1713         (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
1714         (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
1715         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
1716         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
1717         (get_validator_call_text):
1718         (get_in_c_type_text):
1719         (AdHocTypeContextImpl):
1720         (AdHocTypeContextImpl.__init__):
1721         (AdHocTypeContextImpl.get_type_name_fix):
1722         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
1723         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
1724         (AdHocTypeContextImpl.add_type):
1725         (PlainObjectBinding):
1726         (PlainObjectBinding.resolve_inner):
1727         (PlainObjectBinding.request_user_runtime_cast):
1728         (PlainObjectBinding.request_internal_runtime_cast):
1729         (PlainObjectBinding.get_validator_call_text):
1730         (ArrayBinding):
1731         (ArrayBinding.resolve_inner):
1732         (ArrayBinding.resolve_inner.AdHocTypeContext):
1733         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
1734         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
1735         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1736         (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
1737         (ArrayBinding.resolve_inner.ResolveData):
1738         (ArrayBinding.request_user_runtime_cast):
1739         (ArrayBinding.request_internal_runtime_cast):
1740         (ArrayBinding.get_code_generator):
1741         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
1742         (ArrayBinding.get_validator_call_text):
1743         (ArrayBinding.get_in_c_type_text):
1744         (RawTypeBinding.resolve_inner):
1745         (RawTypeBinding):
1746         (RawTypeBinding.request_user_runtime_cast):
1747         (RawTypeBinding.request_internal_runtime_cast):
1748         (RawTypeBinding.get_validator_call_text):
1749         (TypeData.get_name):
1750         (TypeData):
1751         (TypeData.get_domain_name):
1752         (resolve_param_type):
1753         (NeedRuntimeCastRequest):
1754         (NeedRuntimeCastRequest.__init__):
1755         (NeedRuntimeCastRequest.acknowledge):
1756         (NeedRuntimeCastRequest.is_acknowledged):
1757         (resolve_all_types):
1758         (resolve_all_types.ForwardListener):
1759         (resolve_all_types.ForwardListener.add_type_data):
1760         (resolve_all_types.ResolveContext):
1761         (Generator):
1762         (Generator.go):
1763         (Generator.process_event):
1764         (Generator.process_event.AdHocTypeContext):
1765         (Generator.process_event.AdHocTypeContext.add_type):
1766         (Generator.process_event.EventForwardListener):
1767         (Generator.process_event.EventForwardListener.add_type_data):
1768         (Generator.process_event.EventResolveContext):
1769         (Generator.process_event.EventGenerateContext):
1770         (Generator.process_types.GenerateContext):
1771         (Generator.process_types.create_type_builder_caller.call_type_builder):
1772         (Generator.process_types.generate_forward_callback):
1773         * inspector/InspectorValues.h:
1774         (WebCore::InspectorObject::size):
1775
1776 2012-01-25  Anton Muhin  <antonm@chromium.org>
1777
1778         Unreview manual revert of r105843.
1779
1780         * fileapi/EntryBase.cpp:
1781         (WebCore::EntryBase::toURL):
1782         * page/SecurityOrigin.cpp:
1783         (WebCore::extractInnerURL):
1784         * platform/KURL.h:
1785         (KURL):
1786         * platform/KURLGoogle.cpp:
1787         (WebCore):
1788         (WebCore::KURLGooglePrivate::setUtf8):
1789         (WebCore::KURLGooglePrivate::setAscii):
1790         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
1791         (WebCore::KURLGooglePrivate::copyTo):
1792         (WebCore::encodeWithURLEscapeSequences):
1793         * platform/KURLGooglePrivate.h:
1794         (KURLGooglePrivate):
1795
1796 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
1797
1798         Use maximum image dimension definition from libwebp
1799         https://bugs.webkit.org/show_bug.cgi?id=76980
1800
1801         Reviewed by Kent Tamura.
1802
1803         No new tests, no change in behavior.
1804
1805         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
1806         (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
1807         * platform/image-encoders/skia/WEBPImageEncoder.h:
1808         (): Remove local definition of the maximum webp image dimension
1809
1810 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
1811
1812         JPEGDecoder should use imageDecoder colorProfile helpers
1813         https://bugs.webkit.org/show_bug.cgi?id=76968
1814         
1815         Reviewed by Adam Barth.
1816
1817         No new tests. Cover by existing tests, in particular:
1818           fast/images/ycbcr-with-cmyk-color-profile.html
1819           fast/images/gray-scale-jpeg-with-color-profile.html
1820           fast/images/cmyk-jpeg-with-color-profile.html
1821           fast/images/color-jpeg-with-color-profile.html
1822
1823         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
1824         (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
1825         (WebCore::JPEGImageReader::JPEGImageReader):
1826         (WebCore::JPEGImageReader::decode):
1827
1828 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
1829
1830         [Texmap] Divide TextureMapperNode.cpp to 3 files.
1831         https://bugs.webkit.org/show_bug.cgi?id=76660
1832
1833         Reviewed by Kenneth Rohde Christiansen.
1834
1835         Split the animation part of TextureMapperNode out to a separate file, called
1836         TextureMapperAnimation.
1837         Provide a clean interface for that class, that allows separating the internals of the scene
1838         painting from the internals of the animation interpolation.
1839
1840         No new tests. Existing animation tests cover this.
1841
1842         * GNUmakefile.list.am: Added new TextureMapper-related files.
1843         * Target.pri: Added new TextureMapper-related files.
1844         * WebCore.gypi: Added new TextureMapper-related files.
1845         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1846         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1847         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
1848         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
1849         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1850         * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
1851         * platform/graphics/texmap/TextureMapperAnimation.h: Added.
1852         * platform/graphics/texmap/TextureMapperNode.cpp:
1853         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1854         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
1855         (WebCore::TextureMapperNode::syncAnimations):
1856         (WebCore::TextureMapperNode::syncAnimationsRecursively):
1857         (WebCore::TextureMapperNode::syncCompositingState):
1858         * platform/graphics/texmap/TextureMapperNode.h:
1859
1860 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
1861
1862         <style scoped>: Implement registering of <style scoped> with the scoping element
1863         https://bugs.webkit.org/show_bug.cgi?id=67790
1864
1865         Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
1866         Update the registration whenever the 'scoped' attribute is changed,
1867         or the <style> element eneters or leaves the tree.
1868
1869         Also, extend windows.internals to allow for testing of the registration ref-counting.
1870
1871         Reviewed by Dimitri Glazkov.
1872
1873         Test: fast/css/style-scoped/registering.html
1874
1875         * WebCore.exp.in:
1876         * dom/Element.cpp:
1877         (WebCore::Element::hasScopedHTMLStyleChild):
1878         (WebCore::Element::numberOfScopedHTMLStyleChildren):
1879         (WebCore::Element::registerScopedHTMLStyleChild):
1880         (WebCore::Element::unregisterScopedHTMLStyleChild):
1881         * dom/Element.h:
1882         * dom/ElementRareData.h:
1883         (WebCore::ElementRareData::ElementRareData):
1884         (WebCore::ElementRareData::registerScopedHTMLStyleChild):
1885         (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
1886         (WebCore::ElementRareData::hasScopedHTMLStyleChild):
1887         (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
1888         * html/HTMLStyleElement.cpp:
1889         (WebCore::HTMLStyleElement::HTMLStyleElement):
1890         (WebCore::HTMLStyleElement::~HTMLStyleElement):
1891         (WebCore::HTMLStyleElement::parseMappedAttribute):
1892         (WebCore::HTMLStyleElement::registerWithScopingNode):
1893         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
1894         (WebCore::HTMLStyleElement::insertedIntoDocument):
1895         (WebCore::HTMLStyleElement::removedFromDocument):
1896         (WebCore::HTMLStyleElement::willRemove):
1897         * html/HTMLStyleElement.h:
1898         * testing/Internals.cpp:
1899         (WebCore::Internals::numberOfScopedHTMLStyleChildren):
1900         * testing/Internals.h:
1901         * testing/Internals.idl:
1902
1903 2012-01-24  Daniel Bates  <dbates@webkit.org>
1904
1905         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
1906         (https://bugs.webkit.org/show_bug.cgi?id=75049)
1907
1908         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
1909         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
1910         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
1911
1912         * platform/KURL.h:
1913         (WebCore::KURL::innerURL):
1914
1915 2012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>
1916
1917         [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
1918         https://bugs.webkit.org/show_bug.cgi?id=76735
1919
1920         This is to add skipped layers to their RenderSurface's layer list so that they
1921         are considered in the next update. Without this change, m_skipsDraw = false sticks
1922         with the layer for the remainder of its lifetime.
1923
1924         Reviewed by James Robinson.
1925
1926         Tests: Unit test (TiledLayerChromiumTest.cpp)
1927
1928         * platform/graphics/chromium/TiledLayerChromium.cpp:
1929         (WebCore::TiledLayerChromium::drawsContent):
1930         * platform/graphics/chromium/TiledLayerChromium.h:
1931         (WebCore::TiledLayerChromium::skipsDraw):
1932
1933 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1934
1935         Invalidate r105697, r105766, r105809 and r105805
1936         https://bugs.webkit.org/show_bug.cgi?id=76970
1937
1938         Reviewed by Adam Barth.
1939
1940         I've been trying to stop rebuilding .h/.cpp files generated by
1941         unchanged IDLs (bug 76836), but the approach was wrong.
1942         This patch invalidates patches committed in r105697, r105766,
1943         r105809 and r105805.
1944
1945         In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
1946         so that they overwrite .h/.cpp files only when the bytes differ.
1947         By this fix, we were able to stop rebuilding .h/.cpp files that are not
1948         changed. However, the fix has made generate-bindings.pl run for almost
1949         all IDLs every time. The reason is as follows:
1950
1951         (0) Assume that there are A.idl, B.idl and C.idl.
1952
1953         (1) Modify A.idl.
1954         (2) First build.
1955         (3) supplemental_dependency.tmp is updated.
1956         (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
1957         (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
1958
1959         (6) Second build.
1960         (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
1961         (8) B.h, B.cpp, C.h and C.cpp are not updated.
1962
1963         (9) Third build.
1964         (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
1965         (11) B.h, B.cpp, C.h and C.cpp are not updated.
1966         ...
1967
1968         We should fix the bug somehow, but how to fix it is not obvious.
1969         For the time being, this patch invalidates r105697, r105766, r105809
1970         and r105805.
1971
1972         No tests. No change in behavior.
1973
1974         * bindings/scripts/CodeGenerator.pm:
1975         (UpdateFile):
1976         * bindings/scripts/CodeGeneratorCPP.pm:
1977         (WriteData):
1978         * bindings/scripts/CodeGeneratorJS.pm:
1979         (WriteData):
1980         * bindings/scripts/CodeGeneratorObjC.pm:
1981         (WriteData):
1982         * bindings/scripts/CodeGeneratorV8.pm:
1983         (WriteData):
1984
1985 2012-01-24  Eric Uhrhane  <ericu@chromium.org>
1986
1987         Add full support for filesystem URLs.
1988         https://bugs.webkit.org/show_bug.cgi?id=75049
1989
1990         Reviewed by Adam Barth.
1991
1992         No new tests; existing layout tests cover the basic functionality, and
1993         the new functionality won't be there until Chromium adds it.  This patch
1994         merely enables that, without changing behavior.
1995
1996         * fileapi/EntryBase.cpp:
1997         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
1998
1999         * page/SecurityOrigin.cpp:
2000         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
2001
2002         * platform/KURL.h:
2003         (WebCore::KURL::innerURL): Add innerURL member.
2004
2005         * platform/KURLGoogle.cpp:
2006         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
2007         (WebCore::KURLGooglePrivate::operator=):
2008         Add copy constructor and operator=, which are now needed since
2009         m_innerURL needs special handling.
2010         (WebCore::KURLGooglePrivate::setUtf8):
2011         (WebCore::KURLGooglePrivate::setAscii):
2012         Add calls to initInnerURL.
2013         (WebCore::KURLGooglePrivate::initInnerURL):
2014         Add method to init/copy m_innerURL.
2015         (WebCore::KURLGooglePrivate::copyTo):
2016         Handle m_innerURL during copies.
2017         (WebCore::encodeWithURLEscapeSequences):
2018         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
2019
2020         * platform/KURLGooglePrivate.h:
2021         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
2022
2023 2012-01-24  Ken Buchanan  <kenrb@chromium.org>
2024
2025         Crash in updateFirstLetter() from unnecessary anonymous block
2026         https://bugs.webkit.org/show_bug.cgi?id=72675
2027
2028         Reviewed by David Hyatt.
2029
2030         There was a problem with anonymous blocks not getting removed when
2031         their only block flow siblings are removed if they also have non-block
2032         flow first-letter siblings (i.e. floats). This patch modifies
2033         RenderBlock::removeChild() to look for this situation and strip out
2034         unnecessary anonymous container blocks if it occurs.
2035
2036         * rendering/RenderBlock.cpp:
2037         (WebCore::RenderBlock::removeChild):
2038         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2039         * rendering/RenderBlock.h:
2040         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2041
2042 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2043
2044         [chromium] event.dataTransfer.types should not return "Text" or "URL"
2045         https://bugs.webkit.org/show_bug.cgi?id=76218
2046
2047         Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
2048         dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
2049         elsewhere.
2050
2051         Reviewed by Tony Chang.
2052
2053         Test: fast/events/dropzone-005.html
2054
2055         * platform/chromium/ChromiumDataObject.cpp:
2056         (WebCore::ChromiumDataObject::types):
2057         (WebCore::ChromiumDataObject::getData):
2058         * platform/chromium/DragDataChromium.cpp:
2059         (WebCore::DragData::containsURL):
2060         (WebCore::DragData::asURL):
2061         (WebCore::DragData::canSmartReplace):
2062
2063 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2064
2065         Make DataTransferItemList::length() const.
2066         https://bugs.webkit.org/show_bug.cgi?id=76946
2067
2068         Just a const-correctness change.
2069
2070         Reviewed by Tony Chang.
2071
2072         No new tests since no functionality changed.
2073
2074         * dom/DataTransferItemList.h:
2075         (DataTransferItemList):
2076         * platform/chromium/DataTransferItemListChromium.cpp:
2077         (WebCore::DataTransferItemListChromium::length):
2078         * platform/chromium/DataTransferItemListChromium.h:
2079         (DataTransferItemListChromium):
2080         * platform/qt/DataTransferItemListQt.cpp:
2081         (WebCore::DataTransferItemListQt::length):
2082         * platform/qt/DataTransferItemListQt.h:
2083         (DataTransferItemListQt):
2084
2085 2012-01-24  Tony Chang  <tony@chromium.org>
2086
2087         REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
2088         https://bugs.webkit.org/show_bug.cgi?id=76317
2089
2090         Reviewed by Darin Adler.
2091
2092         Test: scrollbars/scroll-rtl-or-bt-layer.html
2093
2094         * rendering/RenderLayer.cpp:
2095         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
2096         scrolling to the just computed offset.
2097
2098 2012-01-24  Mark Rowe  <mrowe@apple.com>
2099
2100         Fix all of the builds after r105812.
2101
2102         * loader/EmptyClients.h: Move the #include in to the correct #if.
2103
2104 2012-01-24  Dmitry Lomov  <dslomov@google.com>
2105
2106         [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
2107         https://bugs.webkit.org/show_bug.cgi?id=76944.
2108
2109         Reviewed by David Levin.
2110
2111         * bindings/v8/V8Proxy.cpp:
2112         (WebCore::V8Proxy::retrieveWindowForCallingContext):
2113         * bindings/v8/V8Proxy.h:
2114         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2115         (WebCore::handlePostMessageCallback):
2116
2117 2012-01-24  Geoffrey Garen  <ggaren@apple.com>
2118
2119         Updated bindings test expectations after my last patch.
2120
2121         Not reviewed.
2122
2123         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2124         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2125         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2126         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
2127         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2128         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2129         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2130         * bindings/scripts/test/JS/JSTestInterface.cpp:
2131         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2132         (WebCore::setJSTestInterfaceSupplementalStr2):
2133         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2134         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2135         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2136         * bindings/scripts/test/JS/JSTestObj.cpp:
2137         (WebCore::setJSTestObjStringAttr):
2138         (WebCore::setJSTestObjStringAttrWithGetterException):
2139         (WebCore::setJSTestObjStringAttrWithSetterException):
2140         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2141         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2142         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2143         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2144         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2145         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2146         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2147         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2148         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
2149         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2150         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
2151         (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
2152         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2153         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2154
2155 2012-01-24  Greg Billock  <gbillock@google.com>
2156
2157         Change dispatchIntent API to pure virtual in FrameLoaderClient.
2158
2159         The Windows compiler needs this to deal with the forward declaration
2160         of WebCore::IntentRequest.
2161         https://bugs.webkit.org/show_bug.cgi?id=76940
2162
2163         Reviewed by Adam Barth.
2164
2165         * loader/EmptyClients.h:
2166         (WebCore::EmptyFrameLoaderClient::dispatchIntent):
2167         * loader/FrameLoaderClient.h:
2168
2169 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2170
2171         CodeGeneratorJS.pm should overwrite the output .h/.cpp
2172         only if the bytes differ
2173         https://bugs.webkit.org/show_bug.cgi?id=76922
2174
2175         Reviewed by Darin Adler.
2176
2177         This is one of steps to stop rebuilding .h/.cpp files
2178         generated by unchanged IDLs (bug 76836).
2179         This patch makes a change on CodeGeneratorJS.pm so that
2180         it overwrites the output .h/.cpp only if the bytes differ.
2181
2182         No tests. No change in behavior.
2183         I manually confirmed that when I add a new attribute to Element.idl,
2184         the time-stamps of unrelated JS*.h and JS*.cpp do not change.
2185
2186         * bindings/scripts/CodeGeneratorJS.pm:
2187         (WriteData): Used UpdateFileIfChanged().
2188
2189 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2190
2191         CodeGeneratorCPP.pm should overwrite the output .h/.cpp
2192         only if the bytes differ
2193         https://bugs.webkit.org/show_bug.cgi?id=76926
2194
2195         Reviewed by Adam Barth.
2196
2197         This is one of steps to stop rebuilding .h/.cpp files
2198         generated by unchanged IDLs (bug 76836).
2199         This patch makes a change on CodeGeneratorCPP.pm so that
2200         it overwrites the output .h/.cpp only if the bytes differ.
2201
2202         No tests. No change in behavior.
2203         Manually confirm that when you add a new attribute to Element.idl,
2204         the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
2205
2206         * bindings/scripts/CodeGeneratorCPP.pm:
2207         (WriteData): Used UpdateFileIfChanged().
2208
2209 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2210
2211         Unreviewed, rolling out r105238.
2212         http://trac.webkit.org/changeset/105238
2213         https://bugs.webkit.org/show_bug.cgi?id=76943
2214
2215         Remove the assert text hack as it served its purpose.
2216         (Requested by dave_levin on #webkit).
2217
2218         * dom/ActiveDOMObject.cpp:
2219         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
2220         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
2221         (WebCore::ActiveDOMObject::ActiveDOMObject):
2222         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2223         * storage/DatabaseSync.cpp:
2224         (WebCore::DatabaseSync::openDatabaseSync):
2225         (WebCore::DatabaseSync::~DatabaseSync):
2226         (WebCore::DatabaseSync::changeVersion):
2227         (WebCore::DatabaseSync::runTransaction):
2228
2229 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2230
2231         [Refactoring] In CodeGeneratorGObject.pm, merge
2232         GeneratePrivateHeader() into WriteData()
2233         https://bugs.webkit.org/show_bug.cgi?id=76923
2234
2235         Reviewed by Adam Barth.
2236
2237         This patch merges GeneratePrivateHeader() into WriteData(),
2238         so that all code to output .h/.cpp is managed by WriteData(),
2239         just like other CodeGenerator*.pm does.
2240
2241         No tests. No change in behavior.
2242         Confirm that GTK/GObject build passes.
2243
2244         * bindings/scripts/CodeGeneratorGObject.pm:
2245         (Generate):
2246         (WriteData): Copied GeneratePrivateHeader() to here.
2247         Removed $hasLegacyParen, $hasRealParent and $hasParent
2248         since they are not used.
2249         (GenerateInterface):
2250
2251 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2252
2253         dropzone does not normalize type strings
2254         https://bugs.webkit.org/show_bug.cgi?id=76925
2255
2256         Per the HTML spec, we are supposed to normalize types during dropzone processing by
2257         lowercasing them.
2258
2259         Reviewed by Tony Chang.
2260
2261         Tests: fast/events/dropzone-002.html
2262
2263         * dom/Clipboard.cpp:
2264         (WebCore::Clipboard::hasDropZoneType):
2265
2266 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2267
2268         [GTK] Refactor GTK's accessibilitity code to be more modular
2269         https://bugs.webkit.org/show_bug.cgi?id=76783
2270
2271         Reviewed by Martin Robinson.
2272
2273         Don't expose functions for the ATK interfaces in header files.
2274
2275         Expose only the initialization function for each interface, and
2276         use the generic functions from ATK interfaces where needed.
2277
2278         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
2279         (webkitAccessibleActionDoAction): Made this function static.
2280         (webkitAccessibleActionGetNActions): Ditto.
2281         (webkitAccessibleActionGetDescription): Ditto.
2282         (webkitAccessibleActionGetKeybinding): Ditto.
2283         (webkitAccessibleActionGetName): Ditto.
2284         (webkitAccessibleActionInterfaceInit): Moved to the bottom.
2285         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
2286         functions but the one for initializing the interface from here.
2287
2288         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
2289         (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
2290         (webkitAccessibleComponentGetExtents): Ditto.
2291         (webkitAccessibleComponentGrabFocus): Ditto.
2292         (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
2293         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
2294         functions but the one for initializing the interface from here.
2295
2296         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
2297         (webkitAccessibleDocumentGetAttributeValue): Made this function static.
2298         (webkitAccessibleDocumentGetAttributes): Ditto.
2299         (webkitAccessibleDocumentGetLocale): Ditto.
2300         (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
2301         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
2302         functions but the one for initializing the interface from here.
2303
2304         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
2305         (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
2306         (webkitAccessibleEditableTextSetTextContents): Ditto.
2307         (webkitAccessibleEditableTextInsertText): Ditto.
2308         (webkitAccessibleEditableTextCopyText): Ditto.
2309         (webkitAccessibleEditableTextCutText): Ditto.
2310         (webkitAccessibleEditableTextDeleteText): Ditto.
2311         (webkitAccessibleEditableTextPasteText): Ditto.
2312         (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
2313         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
2314         functions but the one for initializing the interface from here.
2315
2316         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
2317         (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
2318         (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
2319         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
2320         functions but the one for initializing the interface from here.
2321
2322         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
2323         (webkitAccessibleHypertextGetLink): Made this function static.
2324         (webkitAccessibleHypertextGetNLinks): Ditto.
2325         (webkitAccessibleHypertextGetLinkIndex): Ditto.
2326         (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
2327         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
2328         functions but the one for initializing the interface from here.
2329
2330         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
2331         (webkitAccessibleImageGetImagePosition): Made this function static.
2332         (webkitAccessibleImageGetImageDescription): Ditto.
2333         (webkitAccessibleImageGetImageSize): Ditto.
2334         (webkitAccessibleImageInterfaceInit): Moved to the bottom.
2335         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
2336         functions but the one for initializing the interface from here.
2337
2338         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
2339         (webkitAccessibleSelectionAddSelection): Made this function static.
2340         (webkitAccessibleSelectionClearSelection): Ditto.
2341         (webkitAccessibleSelectionRefSelection): Ditto.
2342         (webkitAccessibleSelectionGetSelectionCount): Ditto.
2343         (webkitAccessibleSelectionIsChildSelected): Ditto.
2344         (webkitAccessibleSelectionRemoveSelection): Ditto.
2345         (webkitAccessibleSelectionSelectAllSelection): Ditto.
2346         (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
2347         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
2348         functions but the one for initializing the interface from here.
2349
2350         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
2351         (webkitAccessibleTableRefAt): Made this function static.
2352         (webkitAccessibleTableGetIndexAt): Ditto.
2353         (webkitAccessibleTableGetColumnAtIndex): Ditto.
2354         (webkitAccessibleTableGetRowAtIndex): Ditto.
2355         (webkitAccessibleTableGetNColumns): Ditto.
2356         (webkitAccessibleTableGetNRows): Ditto.
2357         (webkitAccessibleTableGetColumnExtentAt): Ditto.
2358         (webkitAccessibleTableGetRowExtentAt): Ditto.
2359         (webkitAccessibleTableGetColumnHeader): Ditto.
2360         (webkitAccessibleTableGetRowHeader): Ditto.
2361         (webkitAccessibleTableGetCaption): Ditto.
2362         (webkitAccessibleTableGetColumnDescription): Ditto.
2363         (webkitAccessibleTableGetRowDescription): Ditto.
2364         (webkitAccessibleTableInterfaceInit): Moved to the bottom.
2365         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
2366         functions but the one for initializing the interface from here.
2367
2368         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2369         (textForRenderer): Made this function static.
2370         (textForObject): Ditto.
2371         (webkitAccessibleTextGetText): Ditto.
2372         (webkitAccessibleTextGetTextAfterOffset): Ditto.
2373         (webkitAccessibleTextGetTextAtOffset): Ditto.
2374         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
2375         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
2376         (webkitAccessibleTextGetCaretOffset): Ditto.
2377         (webkitAccessibleTextGetRunAttributes): Ditto.
2378         (webkitAccessibleTextGetDefaultAttributes): Ditto.
2379         (webkitAccessibleTextGetCharacterExtents): Ditto.
2380         (webkitAccessibleTextGetRangeExtents): Ditto.
2381         (webkitAccessibleTextGetCharacterCount): Ditto.
2382         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
2383         (webkitAccessibleTextGetNSelections): Ditto.
2384         (webkitAccessibleTextGetSelection): Ditto.
2385         (webkitAccessibleTextAddSelection): Ditto.
2386         (webkitAccessibleTextSetSelection): Ditto.
2387         (webkitAccessibleTextRemoveSelection): Ditto.
2388         (webkitAccessibleTextSetCaretOffset): Ditto.
2389         (webkitAccessibleTextInterfaceInit): Moved to the bottom.
2390         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
2391         functions but the one for initializing the interface from here.
2392
2393         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
2394         (webkitAccessibleValueGetCurrentValue): Made this function static.
2395         (webkitAccessibleValueGetMaximumValue): Ditto.
2396         (webkitAccessibleValueGetMinimumValue): Ditto.
2397         (webkitAccessibleValueSetCurrentValue): Ditto.
2398         (webkitAccessibleValueGetMinimumIncrement): Ditto.
2399         (webkitAccessibleValueInterfaceInit): Moved to the bottom.
2400         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
2401         functions but the one for initializing the interface from here.
2402
2403         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2404         (webkitAccessibleGetName): Replace call to
2405         webkitAccessibleTextGetText with atk_text_get_text.
2406
2407 2012-01-24  James Robinson  <jamesr@chromium.org>
2408
2409         [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
2410         https://bugs.webkit.org/show_bug.cgi?id=76887
2411
2412         Reviewed by Dimitri Glazkov.
2413
2414         A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
2415         It's possible in some circumstances for this to happen during painting. The null check for this pointer was
2416         erroneously removed from the base class TiledLayerChromium in r105460.
2417
2418         No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
2419         trying!). Fix based on crash reports from the field.
2420
2421         * platform/graphics/chromium/ContentLayerChromium.cpp:
2422         (WebCore::ContentLayerChromium::drawsContent):
2423         * platform/graphics/chromium/ContentLayerChromium.h:
2424
2425 2012-01-16  Robert Hogan  <robert@webkit.org>
2426
2427         REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
2428         https://bugs.webkit.org/show_bug.cgi?id=74874
2429
2430         Reviewed by Julien Chaffraix.
2431
2432         Tests: fast/css/min-width-with-spanned-cell-fixed.html
2433                fast/css/min-width-with-spanned-cell.html
2434
2435         A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
2436         columns are all percent and the width of the span cell is wider than the cells it spans in any other 
2437         row then it will squeeze those cells beyond the width required to display their contents.
2438
2439         To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
2440         their contents. The squeezing remains for fixed layout tables as per FF and Opera.
2441
2442         * rendering/AutoTableLayout.cpp:
2443         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2444
2445 2012-01-24  Tommy Widenflycht  <tommyw@google.com>
2446
2447         MediaStream API: Split the MediaStream track list into audio/video specific ones.
2448         https://bugs.webkit.org/show_bug.cgi?id=76614
2449
2450         The latest draft of the WebRTC standard have split the MediaStream combined track list
2451         into audio/video specific ones.
2452
2453         Reviewed by Darin Fisher.
2454
2455         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
2456
2457         * mediastream/LocalMediaStream.cpp:
2458         (WebCore::LocalMediaStream::create):
2459         (WebCore::LocalMediaStream::LocalMediaStream):
2460         * mediastream/LocalMediaStream.h:
2461         * mediastream/MediaStream.cpp:
2462         (WebCore::processTrackList):
2463         (WebCore::MediaStream::create):
2464         (WebCore::MediaStream::MediaStream):
2465         * mediastream/MediaStream.h:
2466         (WebCore::MediaStream::audioTracks):
2467         (WebCore::MediaStream::videoTracks):
2468         * mediastream/MediaStream.idl:
2469         * mediastream/MediaStreamTrack.cpp:
2470         (WebCore::MediaStreamTrack::create):
2471         (WebCore::MediaStreamTrack::MediaStreamTrack):
2472         (WebCore::MediaStreamTrack::kind):
2473         (WebCore::MediaStreamTrack::label):
2474         (WebCore::MediaStreamTrack::enabled):
2475         (WebCore::MediaStreamTrack::setEnabled):
2476         (WebCore::MediaStreamTrack::component):
2477         * mediastream/MediaStreamTrack.h:
2478         * mediastream/UserMediaClient.h:
2479         * mediastream/UserMediaRequest.cpp:
2480         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
2481         (WebCore::UserMediaRequest::succeed):
2482         * mediastream/UserMediaRequest.h:
2483         * platform/mediastream/MediaStreamCenter.cpp:
2484         (WebCore::MediaStreamCenter::queryMediaStreamSources):
2485         (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
2486         * platform/mediastream/MediaStreamCenter.h:
2487         * platform/mediastream/MediaStreamDescriptor.h:
2488         (WebCore::MediaStreamDescriptor::create):
2489         (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
2490         (WebCore::MediaStreamDescriptor::audioComponent):
2491         (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
2492         (WebCore::MediaStreamDescriptor::videoComponent):
2493         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
2494
2495 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2496
2497         Unreviewed, rolling out r105738.
2498         http://trac.webkit.org/changeset/105738
2499         https://bugs.webkit.org/show_bug.cgi?id=76930
2500
2501         caused fast/css/getComputedStyle/computed-style-border-
2502         image.html to crash (Requested by kling on #webkit).
2503
2504         * dom/NamedNodeMap.cpp:
2505         * dom/NamedNodeMap.h:
2506         * dom/StyledElement.cpp:
2507         (WebCore::StyledElement::updateStyleAttribute):
2508         (WebCore::StyledElement::createInlineStyleDecl):
2509         (WebCore::StyledElement::destroyInlineStyleDecl):
2510         (WebCore::StyledElement::ensureInlineStyleDecl):
2511         (WebCore::StyledElement::style):
2512         (WebCore::StyledElement::addSubresourceAttributeURLs):
2513         * dom/StyledElement.h:
2514         (WebCore::StyledElement::inlineStyleDecl):
2515
2516 2012-01-24  Parag Radke  <nrqv63@motorola.com>
2517
2518         REGRESSION (r73385): Marquee with behavior="alternate" is not working
2519         https://bugs.webkit.org/show_bug.cgi?id=64230
2520
2521         Reviewed by Simon Fraser.
2522
2523         This patch gives correct content width for marquee, which computes
2524         correct start position to scroll marquee.
2525
2526         Test: fast/html/marquee-alternate.html
2527
2528         * rendering/RenderBlock.cpp:
2529         (WebCore::RenderBlock::computePreferredLogicalWidths):
2530         We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
2531         actual content width to compute the initial/end position in case of 'MALTERNATE'.
2532         So we need to calculate the logical width in Alternate case even if fixed width is specified
2533         as content has to animate between renderBox().right().x() - contentWidth() and 
2534         renderBox().left().x() + contentWidth().
2535         
2536         * rendering/RenderMarquee.cpp:
2537         (WebCore::RenderMarquee::computePosition):
2538         Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
2539
2540 2012-01-24  Andreas Kling  <awesomekling@apple.com>
2541
2542         RenderInline: Skip caching the computed line height.
2543         <http://webkit.org/b/76929>
2544
2545         Reviewed by David Hyatt.
2546
2547         Stop caching the computed line height on RenderInline and make retrieving it from
2548         RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
2549         This appears to be mostly performance neutral, I don't get more than the occasional
2550         sample hit when instrumenting heavier web pages.
2551
2552         This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
2553         HTML5 spec at <http://whatwg.org/c>.
2554
2555         * rendering/RenderInline.cpp:
2556         (WebCore::RenderInline::RenderInline):
2557         (WebCore::RenderInline::styleDidChange):
2558         (WebCore::RenderInline::lineHeight):
2559         * rendering/RenderInline.h:
2560         * rendering/style/RenderStyle.h:
2561         (WebCore::RenderStyle::computedLineHeight):
2562
2563             Optimize computedLineHeight() to mitigate some of the damage of calling
2564             it more often.
2565
2566 2012-01-24  Abhishek Arya  <inferno@chromium.org>
2567
2568         Crash when rendering -webkit-column-span.
2569         https://bugs.webkit.org/show_bug.cgi?id=73265
2570
2571         Reviewed by David Hyatt.
2572
2573         This patch addresses 2 problems causing crashes in multi-column layout
2574         1. Trying to render -webkit-column-span for :before, :after caused
2575            re-entrancy in updateBeforeAfterContent while working on splitFlow.
2576         2. Cloning a block which has its :before, :after content not added yet,
2577            caused issues because cloneBlock will definitely have its :before,
2578            :after content created when setStyle() is called. So, we would
2579            overwrite cloneBlock with a wrong childrenInline value.
2580
2581         Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
2582                fast/multicol/span/generated-child-split-flow-crash.html
2583
2584         * rendering/RenderBlock.cpp:
2585         (WebCore::RenderBlock::clone):
2586         (WebCore::RenderBlock::columnsBlockForSpanningElement):
2587
2588 2012-01-22  Robert Hogan  <robert@webkit.org>
2589
2590         Incorrect positioning of floating pseudo-elements in table captions
2591         https://bugs.webkit.org/show_bug.cgi?id=76664
2592
2593         Reviewed by Julien Chaffraix.
2594
2595         Tests: fast/table/caption-encloses-overhanging-float-expected.html
2596                fast/table/caption-encloses-overhanging-float.html
2597
2598         Allow table captions to expand and enclose overhanging floats. When performing
2599         layout on a caption ensure that its logical top is set so that it does not mistakenly
2600         conclude that floats in a previous sibling are intruding into it when they're not.
2601
2602         Mostly diagnosed by Abhishek Arya.
2603
2604         * rendering/RenderBlock.cpp:
2605         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
2606          that can enclosed overhanging floats.
2607         * rendering/RenderTable.cpp:
2608         (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
2609          top offset before laying it out.
2610         (WebCore::RenderTable::layout):
2611         * rendering/RenderTable.h:
2612
2613 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2614
2615         In CodeGeneratorV8.pm, overwrite the output .h/.cpp
2616         only if the bytes differ
2617         https://bugs.webkit.org/show_bug.cgi?id=76920
2618
2619         Reviewed by Darin Adler.
2620
2621         This is one of steps to stop rebuilding .h/.cpp files
2622         generated by unchanged IDLs (bug 76836).
2623         This patch makes a change on CodeGeneratorV8.pm so that
2624         it overwrites the output .h/.cpp only if the bytes differ.
2625
2626         No tests. No change in behavior.
2627         I manually confirmed that when I add a new attribute to Element.idl,
2628         the time-stamps of unrelated V8*.h and V8*.cpp do not change.
2629
2630         * bindings/scripts/CodeGeneratorV8.pm:
2631         (WriteData): Used UpdateFileIfChanged().
2632
2633 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2634
2635         [Refactoring] Remove finish() from all CodeGenerator*.pm
2636         https://bugs.webkit.org/show_bug.cgi?id=76918
2637
2638         Reviewed by Darin Adler.
2639
2640         Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
2641
2642         No tests. No change in behavior.
2643
2644         * bindings/scripts/CodeGenerator.pm:
2645         (ProcessDocument):
2646         * bindings/scripts/CodeGeneratorCPP.pm:
2647         * bindings/scripts/CodeGeneratorGObject.pm:
2648         * bindings/scripts/CodeGeneratorJS.pm:
2649         * bindings/scripts/CodeGeneratorObjC.pm:
2650         * bindings/scripts/CodeGeneratorV8.pm:
2651
2652 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
2653
2654         Web Inspector: incorrect highlight position when searching in console
2655         https://bugs.webkit.org/show_bug.cgi?id=76837
2656
2657         Reviewed by Yury Semikhatsky.
2658
2659         * inspector/front-end/ConsoleMessage.js:
2660         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2661         (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
2662         (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
2663         (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
2664         (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
2665
2666 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
2667
2668         Show layer borders for scrollbar layers
2669         https://bugs.webkit.org/show_bug.cgi?id=76888
2670
2671         Reviewed by Beth Dakin.
2672         
2673         When compositing layer borders are showing, show the borders
2674         for scrollbars layers. This reduces confusion about whether scrollbars
2675         are rendering into their own layers.
2676         
2677         Requires a new parameter to two GraphicsLayerClient methods.
2678
2679         * platform/graphics/GraphicsLayer.h:
2680         (WebCore::GraphicsLayer::showDebugBorders):
2681         (WebCore::GraphicsLayer::showRepaintCounter):
2682         * platform/graphics/GraphicsLayerClient.h:
2683         * rendering/RenderLayerBacking.cpp:
2684         (WebCore::RenderLayerBacking::showDebugBorders):
2685         (WebCore::RenderLayerBacking::showRepaintCounter):
2686         * rendering/RenderLayerBacking.h:
2687         * rendering/RenderLayerCompositor.cpp:
2688         (WebCore::RenderLayerCompositor::showDebugBorders):
2689         (WebCore::RenderLayerCompositor::showRepaintCounter):
2690         * rendering/RenderLayerCompositor.h:
2691
2692 2012-01-24  David Levin  <levin@chromium.org>
2693
2694         [windows] Convert usage of GetDC to HWndDC Part 3.
2695         https://bugs.webkit.org/show_bug.cgi?id=76889
2696
2697         Reviewed by Adam Roben.
2698
2699         No new functionality so no new tests.
2700
2701         * platform/graphics/win/UniscribeController.cpp:
2702         (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
2703         (WebCore::UniscribeController::shape): Use the delayed allocation.
2704         * platform/win/PopupMenuWin.cpp:
2705         (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
2706
2707 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2708
2709         [GTK] Refactor GTK's accessibilitity code to be more modular
2710         https://bugs.webkit.org/show_bug.cgi?id=76783
2711
2712         Reviewed by Martin Robinson.
2713
2714         Fix coding style in the ATK AccessibilityObject wrapper.
2715
2716         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2717         (webkitAccessibleGetName):
2718         (webkitAccessibleGetDescription):
2719         (webkitAccessibleGetParent):
2720         (webkitAccessibleGetNChildren):
2721         (webkitAccessibleRefChild):
2722         (webkitAccessibleGetIndexInParent):
2723         (webkitAccessibleGetAttributes):
2724         (atkRole):
2725         (webkitAccessibleGetRole):
2726         (setAtkStateSetFromCoreObject):
2727         (webkitAccessibleRefStateSet):
2728         (webkitAccessibleRefRelationSet):
2729         (webkitAccessibleInit):
2730         (webkitAccessibleFinalize):
2731         (webkit_accessible_class_init):
2732
2733 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2734
2735         [GTK] Refactor GTK's accessibilitity code to be more modular
2736         https://bugs.webkit.org/show_bug.cgi?id=76783
2737
2738         Reviewed by Martin Robinson.
2739
2740         Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
2741
2742         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
2743         'include' lines that are no longer needed after the refactor.
2744
2745 2012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
2746
2747         [EFL] Remove CookieJarEfl.cpp
2748         https://bugs.webkit.org/show_bug.cgi?id=76916
2749
2750         Reviewed by Gustavo Noronha Silva.
2751
2752         CookieJarEfl.cpp has not been used for years -- we either need
2753         CookieJarCurl or CookieJarSoup depending on the chosen network
2754         backend.
2755
2756         No new tests, just an unused file being removed.
2757
2758         * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
2759         * platform/efl/CookieJarEfl.cpp: Removed.
2760
2761 2012-01-24  Abhishek Arya  <inferno@chromium.org>
2762
2763         Crash when accessing removed parent in InlineTextBox.
2764         https://bugs.webkit.org/show_bug.cgi?id=72982
2765
2766         Reviewed by James Robinson.
2767
2768         The crash happens because:
2769         1. We add heading element(h1) before the span element(span1),
2770            causing splitflow on the anonymous block containing BeforeText,
2771            span1(and SpanText) and AfterText.
2772         2. span1 moves to the cloneBlock (continuation).
2773         3. Our anonymous block and cloneBlock are both marked for layout,
2774            however we still have a copy of our lineboxes with its childs
2775            as the textboxes belonging to SpanText.
2776         4. Our anonymous block only child BeforeText is getting removed,
2777            so we dont have any children anymore and we delete our lineboxes,
2778            leaving behind the children textboxes belonging to SpanText.
2779         5. SpanText is getting destroyed, so it tries to inform removed
2780            parent lineboxes causing the crash.
2781
2782         Test: fast/block/block-remove-child-delete-line-box-crash.html
2783
2784         * rendering/RenderBlock.cpp:
2785         (WebCore::RenderBlock::removeChild):
2786
2787 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2788
2789         [GTK] Refactor GTK's accessibilitity code to be more modular
2790         https://bugs.webkit.org/show_bug.cgi?id=76783
2791
2792         Reviewed by Martin Robinson.
2793
2794         New files for the implementation of the AtkTable interface,
2795         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2796
2797         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
2798         (core):
2799         (cell):
2800         (cellIndex):
2801         (cellAtIndex):
2802         (webkitAccessibleTableInterfaceInit):
2803         (webkitAccessibleTableRefAt):
2804         (webkitAccessibleTableGetIndexAt):
2805         (webkitAccessibleTableGetColumnAtIndex):
2806         (webkitAccessibleTableGetRowAtIndex):
2807         (webkitAccessibleTableGetNColumns):
2808         (webkitAccessibleTableGetNRows):
2809         (webkitAccessibleTableGetColumnExtentAt):
2810         (webkitAccessibleTableGetRowExtentAt):
2811         (webkitAccessibleTableGetColumnHeader):
2812         (webkitAccessibleTableGetRowHeader):
2813         (webkitAccessibleTableGetCaption):
2814         (webkitAccessibleTableGetColumnDescription):
2815         (webkitAccessibleTableGetRowDescription):
2816         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
2817         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2818         related to the implementation of the AtkTable interface.
2819
2820         Add new files to build files.
2821
2822         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
2823         * WebCore.gypi: Ditto.
2824
2825 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
2826
2827         Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
2828         https://bugs.webkit.org/show_bug.cgi?id=76903
2829
2830         Reviewed by Yury Semikhatsky.
2831
2832         * inspector/front-end/TabbedPane.js:
2833         (WebInspector.TabbedPane.prototype._updateTabElements):
2834         * inspector/front-end/tabbedPane.css:
2835         (.tabbed-pane-content.has-no-tabs):
2836
2837 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
2838
2839         Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
2840         https://bugs.webkit.org/show_bug.cgi?id=76907
2841
2842         Reviewed by Yury Semikhatsky.
2843
2844         * inspector/front-end/FilteredItemSelectionDialog.js:
2845         (WebInspector.OpenResourceDialog.install):
2846         * inspector/front-end/ScriptsPanel.js:
2847
2848 2012-01-24  Peter Rybin  <peter.rybin@gmail.com>
2849
2850         Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
2851         https://bugs.webkit.org/show_bug.cgi?id=76868
2852
2853         Reviewed by Yury Semikhatsky.
2854
2855         Configurations of (hopefully) all build systems are fixed.
2856
2857         * CMakeLists.txt:
2858         * DerivedSources.make:
2859         * DerivedSources.pri:
2860         * GNUmakefile.am:
2861         * GNUmakefile.list.am:
2862         * WebCore.gyp/WebCore.gyp:
2863         * WebCore.gypi:
2864         * WebCore.vcproj/WebCore.vcproj:
2865         * WebCore.xcodeproj/project.pbxproj:
2866         * inspector/CodeGeneratorInspector.py:
2867         (dash_to_camelcase):
2868         (InspectorFrontend_h):
2869         (InspectorBackendDispatcher_h):
2870
2871 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2872
2873         [GTK] Refactor GTK's accessibilitity code to be more modular
2874         https://bugs.webkit.org/show_bug.cgi?id=76783
2875
2876         Reviewed by Martin Robinson.
2877
2878         New files for the implementation of the AtkText interface,
2879         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2880
2881         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
2882         (core):
2883         (textForRenderer):
2884         (textForObject):
2885         (getGailTextUtilForAtk):
2886         (getPangoLayoutForAtk):
2887         (baselinePositionForRenderObject):
2888         (getAttributeSetForAccessibilityObject):
2889         (compareAttribute):
2890         (attributeSetDifference):
2891         (accessibilityObjectLength):
2892         (getAccessibilityObjectForOffset):
2893         (getRunAttributesFromAccesibilityObject):
2894         (textExtents):
2895         (getSelectionOffsetsForObject):
2896         (webkitAccessibleTextInterfaceInit):
2897         (webkitAccessibleTextGetText):
2898         (webkitAccessibleTextGetTextAfterOffset):
2899         (webkitAccessibleTextGetTextAtOffset):
2900         (webkitAccessibleTextGetTextBeforeOffset):
2901         (webkitAccessibleTextGetCharacterAtOffset):
2902         (webkitAccessibleTextGetCaretOffset):
2903         (webkitAccessibleTextGetRunAttributes):
2904         (webkitAccessibleTextGetDefaultAttributes):
2905         (webkitAccessibleTextGetCharacterExtents):
2906         (webkitAccessibleTextGetRangeExtents):
2907         (webkitAccessibleTextGetCharacterCount):
2908         (webkitAccessibleTextGetOffsetAtPoint):
2909         (webkitAccessibleTextGetNSelections):
2910         (webkitAccessibleTextGetSelection):
2911         (webkitAccessibleTextAddSelection):
2912         (webkitAccessibleTextRemoveSelection):
2913         (webkitAccessibleTextSetSelection):
2914         (webkitAccessibleTextSetCaretOffset):
2915         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
2916
2917         Move common function selectionBelongsToObject out from the wrapper
2918         to the utility file, used from WebKitAccessibleInterfaceText.cpp.
2919
2920         * accessibility/gtk/WebKitAccessibleUtil.cpp:
2921         (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
2922         * accessibility/gtk/WebKitAccessibleUtil.h:
2923         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
2924         implementation of selectionBelongsToObject, and the code related
2925         to the implementation of the AtkText interface.
2926         (webkit_accessible_get_name): Update call to the former function
2927         webkit_accessible_text_get_text and use the new function name.
2928         (webkit_accessible_table_get_column_description): Ditto.
2929         (webkit_accessible_table_get_row_description): Ditto.
2930
2931         Add new files to build files.
2932
2933         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
2934         * WebCore.gypi: Ditto.
2935
2936 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2937
2938         [GTK] Refactor GTK's accessibilitity code to be more modular
2939         https://bugs.webkit.org/show_bug.cgi?id=76783
2940
2941         Reviewed by Martin Robinson.
2942
2943         New files for the implementation of the AtkValue interface,
2944         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2945
2946         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
2947         (core):
2948         (webkitAccessibleValueInterfaceInit):
2949         (webkitAccessibleValueGetCurrentValue):
2950         (webkitAccessibleValueGetMaximumValue):
2951         (webkitAccessibleValueGetMinimumValue):
2952         (webkitAccessibleValueSetCurrentValue):
2953         (webkitAccessibleValueGetMinimumIncrement):
2954         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
2955         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2956         related to the implementation of the AtkValue interface.
2957
2958         Add new files to build files.
2959
2960         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
2961         * WebCore.gypi: Ditto.
2962
2963 2012-01-24  Antti Koivisto  <antti@apple.com>
2964
2965         Reduce internal use of CSSStyleDeclaration base class
2966         https://bugs.webkit.org/show_bug.cgi?id=76904
2967
2968         Reviewed by Andreas Kling.
2969
2970         Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
2971         The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate 
2972         internal style sheet implementation from the DOM in the future.
2973         
2974         - Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
2975         - Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
2976         - Remove Attribute::style() which looks like a DOM API function but is not exposed.
2977
2978         * css/CSSMutableStyleDeclaration.h:
2979         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
2980         * dom/Attr.h:
2981         (WebCore::Attr::style):
2982         * dom/Attribute.h:
2983         * editing/EditingStyle.cpp:
2984         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
2985         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2986         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
2987         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
2988         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
2989         * editing/Editor.cpp:
2990         (WebCore::Editor::applyEditingStyleToElement):
2991         * editing/markup.cpp:
2992         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
2993         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
2994         (WebCore::propertyMissingOrEqualToNone):
2995         * inspector/InspectorCSSAgent.cpp:
2996         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
2997         * page/DragController.cpp:
2998         (WebCore::DragController::concludeEditDrag):
2999         * page/PageSerializer.cpp:
3000         (WebCore::PageSerializer::serializeFrame):
3001         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
3002         * page/PageSerializer.h:
3003         * rendering/RenderLayer.cpp:
3004         (WebCore::RenderLayer::resize):
3005         * svg/SVGStyledElement.cpp:
3006         (WebCore::SVGStyledElement::getPresentationAttribute):
3007
3008 2012-01-23  Andreas Kling  <awesomekling@apple.com>
3009
3010         Make elements that don't have attributes smaller.
3011         <http://webkit.org/b/76876>
3012
3013         Reviewed by Antti Koivisto.
3014
3015         Move the inline style declaration from StyledElement to NamedNodeMap, since having
3016         an inline style declaration also implies having a style attribute on the element.
3017         This saves one CPU word per element that has no attributes.
3018
3019         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
3020         HTML5 spec at <http://whatwg.org/c>.
3021
3022         * dom/NamedNodeMap.cpp:
3023         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
3024         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
3025         (WebCore::NamedNodeMap::createInlineStyleDecl):
3026         * dom/NamedNodeMap.h:
3027         (WebCore::NamedNodeMap::inlineStyleDecl):
3028         * dom/StyledElement.cpp:
3029         (WebCore::StyledElement::updateStyleAttribute):
3030         (WebCore::StyledElement::addSubresourceAttributeURLs):
3031         * dom/StyledElement.h:
3032         (WebCore::StyledElement::inlineStyleDecl):
3033         (WebCore::StyledElement::ensureInlineStyleDecl):
3034         (WebCore::StyledElement::destroyInlineStyleDecl):
3035
3036 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
3037
3038         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
3039         https://bugs.webkit.org/show_bug.cgi?id=76877
3040
3041         Reviewed by Kenneth Rohde Christiansen.
3042
3043         Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
3044         without changing its format or swizzling RGB. The data has to be in the texture's native
3045         format.
3046
3047         No new tests, this affects performance on all existing tests.
3048
3049         * platform/graphics/opengl/TextureMapperGL.cpp:
3050         (WebCore::BitmapTextureGL::updateRawContents):
3051         * platform/graphics/qt/TextureMapperQt.cpp:
3052         * platform/graphics/texmap/TextureMapper.h:
3053         (WebCore::BitmapTexture::updateRawContents):
3054         * platform/graphics/texmap/TextureMapperNode.cpp:
3055         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
3056         * platform/graphics/texmap/TextureMapperNode.h:
3057
3058 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
3059
3060         Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
3061         https://bugs.webkit.org/show_bug.cgi?id=76908
3062
3063         Reviewed by Yury Semikhatsky.
3064
3065         * css/CSSMutableStyleDeclaration.cpp:
3066
3067 2012-01-24  Csaba Osztrogonác  <ossy@webkit.org>
3068
3069         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
3070         https://bugs.webkit.org/show_bug.cgi?id=76846
3071
3072         Reviewed by Tor Arne Vestbø.
3073
3074         * bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
3075         (WriteData):
3076
3077 2012-01-24  Andras Becsi  <andras.becsi@nokia.com>
3078
3079         [Qt] Fix the build with the newes Qt5 hashes
3080         https://bugs.webkit.org/show_bug.cgi?id=76657
3081
3082         Reviewed by Simon Hausmann.
3083
3084         No new tests needed.
3085
3086         * platform/graphics/cairo/OpenGLShims.cpp:
3087         (WebCore::getProcAddress): Adopt API changes.
3088
3089 2012-01-24  Ádám Kallai  <Kallai.Adam@stud.u-szeged.hu>
3090
3091         [Qt] Incremental build problem.
3092         https://bugs.webkit.org/show_bug.cgi?id=74687
3093
3094         It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.
3095
3096         Reviewed by Csaba Osztrogonác.
3097
3098         * DerivedSources.pri:
3099         I added missing depend.
3100
3101 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3102
3103         [GTK] Refactor GTK's accessibilitity code to be more modular
3104         https://bugs.webkit.org/show_bug.cgi?id=76783
3105
3106         Reviewed by Martin Robinson.
3107
3108         New files for the implementation of the AtkSelection interface,
3109         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3110
3111         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
3112         (core):
3113         (listObjectForSelection):
3114         (optionFromList):
3115         (optionFromSelection):
3116         (webkitAccessibleSelectionInterfaceInit):
3117         (webkitAccessibleSelectionAddSelection):
3118         (webkitAccessibleSelectionClearSelection):
3119         (webkitAccessibleSelectionRefSelection):
3120         (webkitAccessibleSelectionGetSelectionCount):
3121         (webkitAccessibleSelectionIsChildSelected):
3122         (webkitAccessibleSelectionRemoveSelection):
3123         (webkitAccessibleSelectionSelectAllSelection):
3124         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
3125         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3126         related to the implementation of the AtkSelection interface.
3127
3128         Add new files to build files.
3129
3130         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
3131         * WebCore.gypi: Ditto.
3132
3133 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3134
3135         [GTK] Refactor GTK's accessibilitity code to be more modular
3136         https://bugs.webkit.org/show_bug.cgi?id=76783
3137
3138         Reviewed by Martin Robinson.
3139
3140         New files for the implementation of the AtkImage interface,
3141         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3142
3143         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
3144         (core):
3145         (webkitAccessibleImageInterfaceInit):
3146         (webkitAccessibleImageGetImagePosition):
3147         (webkitAccessibleImageGetImageDescription):
3148         (webkitAccessibleImageGetImageSize):
3149         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
3150         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3151         related to the implementation of the AtkImage interface.
3152
3153         Add new files to build files.
3154
3155         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
3156         * WebCore.gypi: Ditto.
3157
3158 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3159
3160         [GTK] Refactor GTK's accessibilitity code to be more modular
3161         https://bugs.webkit.org/show_bug.cgi?id=76783
3162
3163         Reviewed by Martin Robinson.
3164
3165         New files for the implementation of the AtkHypertext interface,
3166         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3167
3168         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
3169         (core):
3170         (webkitAccessibleHypertextInterfaceInit):
3171         (webkitAccessibleHypertextGetLink):
3172         (webkitAccessibleHypertextGetNLinks):
3173         (webkitAccessibleHypertextGetLinkIndex):
3174         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
3175         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3176         related to the implementation of the AtkHypertext interface.
3177
3178         Add new files to build files.
3179
3180         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
3181         * WebCore.gypi: Ditto.
3182
3183 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3184
3185         [GTK] Refactor GTK's accessibilitity code to be more modular
3186         https://bugs.webkit.org/show_bug.cgi?id=76783
3187
3188         Reviewed by Martin Robinson.
3189
3190         New files for the implementation of the AtkHyperlinkImpl interface,
3191         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3192
3193         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
3194         (webkitAccessibleHyperlinkImplInterfaceInit):
3195         (webkitAccessibleHyperlinkImplGetHyperlink):
3196         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
3197         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3198         related to the implementation of the AtkHyperlinkImpl interface.
3199         (webkit_accessible_class_init):
3200
3201         Add new files to build files.
3202
3203         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
3204         * WebCore.gypi: Ditto.
3205
3206 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3207
3208         [GTK] Refactor GTK's accessibilitity code to be more modular
3209         https://bugs.webkit.org/show_bug.cgi?id=76783
3210
3211         Reviewed by Martin Robinson.
3212
3213         New files for the implementation of the AtkEditableText interface,
3214         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3215
3216         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
3217         (core):
3218         (webkitAccessibleEditableTextInterfaceInit):
3219         (webkitAccessibleEditableTextSetRunAttributes):
3220         (webkitAccessibleEditableTextSetTextContents):
3221         (webkitAccessibleEditableTextInsertText):
3222         (webkitAccessibleEditableTextCopyText):
3223         (webkitAccessibleEditableTextCutText):
3224         (webkitAccessibleEditableTextDeleteText):
3225         (webkitAccessibleEditableTextPasteText):
3226         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
3227         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3228         related to the implementation of the AtkEditableText interface.
3229
3230         Add new files to build files.
3231
3232         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
3233         * WebCore.gypi: Ditto.
3234
3235 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3236
3237         [GTK] Refactor GTK's accessibilitity code to be more modular
3238         https://bugs.webkit.org/show_bug.cgi?id=76783
3239
3240         Reviewed by Martin Robinson.
3241
3242         New files for the implementation of the AtkDocument interface,
3243         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3244
3245         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
3246         (core):
3247         (documentAttributeValue):
3248         (webkitAccessibleDocumentInterfaceInit):
3249         (webkitAccessibleDocumentGetAttributeValue):
3250         (webkitAccessibleDocumentGetAttributes):
3251         (webkitAccessibleDocumentGetLocale):
3252         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.
3253
3254         Move common function addAttributeToSet() out from the wrapper to
3255         the utility file, used from WebKitAccessibleInterfaceDocument.cpp.
3256
3257         * accessibility/gtk/WebKitAccessibleUtil.cpp:
3258         (addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
3259         * accessibility/gtk/WebKitAccessibleUtil.h:
3260         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
3261         implementation of addAttributeToSet, as well as all the code related
3262         to the implementation of the AtkDocument interface.
3263
3264         Add new files to build files.
3265
3266         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
3267         * WebCore.gypi: Ditto.
3268
3269 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3270
3271         [GTK] Refactor GTK's accessibilitity code to be more modular
3272         https://bugs.webkit.org/show_bug.cgi?id=76783
3273
3274         Reviewed by Martin Robinson.
3275
3276         New files for the implementation of the AtkComponent interface,
3277         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3278
3279         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
3280         (core):
3281         (atkToContents):
3282         (webkitAccessibleComponentInterfaceInit):
3283         (webkitAccessibleComponentRefAccessibleAtPoint):
3284         (webkitAccessibleComponentGetExtents):
3285         (webkitAccessibleComponentGrabFocus):
3286         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.
3287
3288         Move common function contentsToAtk() out from the wrapper to the
3289         utility file, used from WebKitAccessibleInterfaceComponent.cpp.
3290
3291         * accessibility/gtk/WebKitAccessibleUtil.cpp:
3292         (contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
3293         * accessibility/gtk/WebKitAccessibleUtil.h:
3294         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
3295         implementation of contentsToAtk, as well as all the code related
3296         to the implementation of the AtkComponent interface.
3297
3298         Add new files to build files.
3299
3300         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
3301         * WebCore.gypi: Ditto.
3302
3303 2012-01-24  Kentaro Hara  <haraken@chromium.org>
3304
3305         [Refactoring] Makes finish() of CodeGeneratorV8.pm empty
3306         https://bugs.webkit.org/show_bug.cgi?id=76841
3307
3308         Reviewed by Adam Barth.
3309
3310         This is one of steps to stop rebuilding .h/.cpp files
3311         generated by unchanged IDLs (bug 76836).
3312
3313         As refactoring, we are planning to remove finish() from
3314         all CodeGenerators. This patch makes finish() of
3315         CodeGeneratorV8.pm empty.
3316
3317         No new tests. No change in behavior.
3318
3319         * bindings/scripts/CodeGeneratorV8.pm:
3320         (finish): Made it empty. We will remove finish() after
3321         making finish() of all CodeGenerators empty.
3322         (GenerateInterface): Modified to call WriteData().
3323         (WriteData): Simple code refactoring.
3324         Removed if(defined $IMPL).
3325         Removed if(defined $HEADER).
3326         $IMPL -> IMPL.
3327         $HEADER -> HEADER.
3328
3329 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3330
3331         Unreviewed build fix for GTK after r105698.
3332
3333         * bindings/js/JSPeerConnectionCustom.cpp:
3334         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
3335
3336 2012-01-24  Kent Tamura  <tkent@chromium.org>
3337
3338         Fix build erros on Mac by r105706.
3339         https://bugs.webkit.org/show_bug.cgi?id=76763
3340
3341         * html/canvas/WebGLRenderingContext.cpp:
3342         (WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
3343         (WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.
3344
3345 2012-01-23  Kent Tamura  <tkent@chromium.org>
3346
3347         Introduce RadioButtonGroup class to keep track of the group members and required state
3348         https://bugs.webkit.org/show_bug.cgi?id=74909
3349
3350         Reviewed by Darin Adler.
3351
3352         RadioButtonGroup contains a set of member radio buttons in the group,
3353         and "required" status of the group. This helps implementing correct
3354         radio button validity, and improving performance of updating validity
3355         status of radio buttons.
3356
3357         This change fixes the following bugs:
3358         - A radio button should be "required" if one of a member of the same
3359           group has the "required" attribute.
3360           https://bugs.webkit.org/show_bug.cgi?id=76365
3361         - :invalid style is not applied when a checked radio button is removed
3362           from its radio group
3363           https://bugs.webkit.org/show_bug.cgi?id=74914
3364         - Loading a page with N radio buttons in a group takes O(N^2) time.
3365
3366         Tests: fast/forms/radio/radio-live-validation-style.html
3367                perf/adding-radio-buttons.html
3368
3369         * dom/CheckedRadioButtons.cpp:
3370         (WebCore::RadioButtonGroup::isEmpty):
3371         (WebCore::RadioButtonGroup::isRequired):
3372         (WebCore::RadioButtonGroup::checkedButton):
3373         (WebCore::RadioButtonGroup::RadioButtonGroup):
3374         (WebCore::RadioButtonGroup::create):
3375         (WebCore::RadioButtonGroup::isValid):
3376         (WebCore::RadioButtonGroup::setCheckedButton):
3377         (WebCore::RadioButtonGroup::add):
3378         (WebCore::RadioButtonGroup::updateCheckedState):
3379         (WebCore::RadioButtonGroup::requiredAttributeChanged):
3380         (WebCore::RadioButtonGroup::remove):
3381         (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
3382         Add RadioButtonGroup class. It keeps track of pointers to member radio
3383         buttons and required status of the group in addition to the checked
3384         radio button pointer.
3385
3386         (WebCore::CheckedRadioButtons::CheckedRadioButtons):
3387         (WebCore::CheckedRadioButtons::~CheckedRadioButtons):
3388         Define empty constructor and destructor in order to avoid exposing
3389         RadioButtonGroup class.
3390
3391         (WebCore::CheckedRadioButtons::addButton):
3392         (WebCore::CheckedRadioButtons::updateCheckedState):
3393         (WebCore::CheckedRadioButtons::requiredAttributeChanged):
3394         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
3395         (WebCore::CheckedRadioButtons::isInRequiredGroup):
3396         (WebCore::CheckedRadioButtons::removeButton):
3397         Change the HashMap member of this class so that it maps a group name to
3398         a RadioButtonGroup object. These functions just get a RadioButtonGroup
3399         object and call a corresponding member function of RadioButtonGroup.
3400
3401         * dom/CheckedRadioButtons.h: Update declarations.
3402
3403         * html/HTMLFormControlElement.cpp:
3404         (WebCore::HTMLFormControlElement::parseMappedAttribute):
3405         (WebCore::HTMLFormControlElement::requiredAttributeChanged):
3406         Move a part of parseMappedAttribute() into requiredAttributeChanged().
3407         * html/HTMLFormControlElement.h: Add requiredAttributeChanged().
3408         * html/HTMLInputElement.cpp:
3409         (WebCore::HTMLInputElement::valueMissing):
3410         Move required check code to InputType::valueMissing implementations.
3411         RadioInputType needs special handling for checking required state.
3412         readOnly() and disabled() are unnecessary because willValidate() checks them.
3413         (WebCore::HTMLInputElement::setChecked):
3414         Call new function CheckedRadioButtons::updateCheckedState() instead of
3415         removeButton() and updateCheckedRadioButtons().
3416         (WebCore::HTMLInputElement::requiredAttributeChanged):
3417         Override this to call CheckedRadioButtons::requiredAttributeChanged().
3418         * html/HTMLInputElement.h: Add requiredAttributeChanged().
3419         * html/RadioInputType.cpp:
3420         (WebCore::RadioInputType::valueMissing):
3421         Check required state by CheckedRadioButtons::isInRequiredGroup().
3422         * html/RadioInputType.h: Remove attach().
3423
3424         * html/CheckboxInputType.cpp:
3425         (WebCore::CheckboxInputType::valueMissing):
3426           Move required check from HTMLInputElement::valueMissing().
3427         * html/FileInputType.cpp:
3428         (WebCore::FileInputType::valueMissing): ditto.
3429         * html/TextFieldInputType.cpp:
3430         (WebCore::TextFieldInputType::valueMissing): ditto.
3431
3432 2012-01-24  Noel Gordon  <noel.gordon@gmail.com>
3433
3434         [chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
3435         https://bugs.webkit.org/show_bug.cgi?id=76804
3436
3437         Reviewed by Adam Barth.
3438
3439         Use color profiles for PNG images only if their embedded color profile is from an RGB
3440         color space input device.
3441
3442         Test: fast/images/rgb-png-with-cmyk-color-profile.html
3443
3444         * platform/image-decoders/ImageDecoder.h:
3445         (WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
3446         (WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
3447         * platform/image-decoders/png/PNGImageDecoder.cpp:
3448         (WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
3449         comes from an RGB color space input device.
3450         (WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.
3451
3452 2012-01-23  Pavel Podivilov  <podivilov@chromium.org>
3453
3454         Web Inspector: fix sticky DOM breakpoints.
3455         https://bugs.webkit.org/show_bug.cgi?id=64437
3456
3457         Reviewed by Yury Semikhatsky.
3458
3459         * inspector/front-end/DOMBreakpointsSidebarPane.js:
3460         (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
3461
3462 2012-01-24  Gregg Tavares  <gman@google.com>
3463
3464         Expose WebGL texture compression methods on WebGLRenderingContext
3465         https://bugs.webkit.org/show_bug.cgi?id=76763
3466
3467         Reviewed by Kenneth Russell.
3468
3469         Test: fast/canvas/webgl/compressed-tex-image.html
3470
3471         * html/canvas/WebGLRenderingContext.cpp:
3472         (WebCore::WebGLRenderingContext::compressedTexImage2D):
3473         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
3474         * html/canvas/WebGLRenderingContext.h:
3475         * html/canvas/WebGLRenderingContext.idl:
3476
3477 2012-01-24  Kenichi Ishibashi  <bashi@chromium.org>
3478
3479         [V8] Add Uint8ClampedArray support
3480         https://bugs.webkit.org/show_bug.cgi?id=76803
3481
3482         Reviewed by Kenneth Russell.
3483
3484         No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.
3485
3486         * WebCore.gypi: Added required files.
3487         * bindings/scripts/CodeGeneratorV8.pm:
3488         (IsTypedArrayType): Added Uint8ClampedArray.
3489         * bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
3490         (WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
3491         (WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
3492         * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
3493         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
3494         (WebCore::V8Uint8ClampedArray::constructorCallback):
3495         (WebCore::V8Uint8ClampedArray::setCallback):
3496         (WebCore::toV8):
3497         * page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
3498         * page/DOMWindow.idl: Removed ifdefs.
3499         * workers/WorkerContext.idl: Added Uint8ArrayConstructor.
3500
3501 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
3502
3503         Unreviewed build fix for GTK Debug build after r105698.
3504
3505         * bindings/js/JSNavigatorCustom.cpp:
3506         (WebCore::JSNavigator::webkitGetUserMedia):
3507
3508 2012-01-23  Scott Graham  <scottmg@chromium.org>
3509
3510         Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
3511         https://bugs.webkit.org/show_bug.cgi?id=76873
3512
3513         Reviewed by Adam Barth.
3514
3515         * WebCore.gyp/WebCore.gyp:
3516
3517 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
3518
3519         JSValue::toString() should return a JSString* instead of a UString
3520         https://bugs.webkit.org/show_bug.cgi?id=76861
3521
3522         Reviewed by Gavin Barraclough.
3523
3524         Mechanical changes to call value() after calling toString(), to
3525         convert from "JS string" (JSString*) to "C++ string" (UString), since
3526         toString() no longer returns a "C++ string".
3527
3528         * bindings/js/IDBBindingUtilities.cpp:
3529         (WebCore::createIDBKeyFromValue):
3530         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3531         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
3532         * bindings/js/JSClipboardCustom.cpp:
3533         (WebCore::JSClipboard::clearData):
3534         (WebCore::JSClipboard::getData):
3535         * bindings/js/JSCustomXPathNSResolver.cpp:
3536         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3537         * bindings/js/JSDOMBinding.cpp:
3538         (WebCore::valueToStringWithNullCheck):
3539         (WebCore::valueToStringWithUndefinedOrNullCheck):
3540         (WebCore::reportException):
3541         * bindings/js/JSDOMFormDataCustom.cpp:
3542         (WebCore::JSDOMFormData::append):
3543         * bindings/js/JSDOMStringMapCustom.cpp:
3544         (WebCore::JSDOMStringMap::putDelegate):
3545         * bindings/js/JSDOMWindowCustom.cpp:
3546         (WebCore::JSDOMWindow::setLocation):
3547         (WebCore::JSDOMWindow::open):
3548         (WebCore::JSDOMWindow::addEventListener):
3549         (WebCore::JSDOMWindow::removeEventListener):
3550         * bindings/js/JSDeviceMotionEventCustom.cpp:
3551         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
3552         * bindings/js/JSDeviceOrientationEventCustom.cpp:
3553         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
3554         * bindings/js/JSDictionary.cpp:
3555         (WebCore::JSDictionary::convertValue):
3556         * bindings/js/JSDocumentCustom.cpp:
3557         (WebCore::JSDocument::setLocation):
3558         * bindings/js/JSEventListener.cpp:
3559         (WebCore::JSEventListener::handleEvent):
3560         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3561         (WebCore::callHTMLAllCollection):
3562         (WebCore::JSHTMLAllCollection::item):
3563         (WebCore::JSHTMLAllCollection::namedItem):
3564         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3565         (WebCore::JSHTMLCanvasElement::getContext):
3566         * bindings/js/JSHTMLCollectionCustom.cpp:
3567         (WebCore::JSHTMLCollection::item):
3568         (WebCore::JSHTMLCollection::namedItem):
3569         * bindings/js/JSHTMLDocumentCustom.cpp:
3570         (WebCore::documentWrite):
3571         * bindings/js/JSHTMLInputElementCustom.cpp:
3572         (WebCore::JSHTMLInputElement::setSelectionDirection):
3573         (WebCore::JSHTMLInputElement::setSelectionRange):
3574         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3575         (WebCore::JSInspectorFrontendHost::showContextMenu):
3576         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3577         (WebCore::JSJavaScriptCallFrame::evaluate):
3578         * bindings/js/JSLocationCustom.cpp:
3579         (WebCore::JSLocation::setHref):
3580         (WebCore::JSLocation::setProtocol):
3581         (WebCore::JSLocation::setHost):
3582         (WebCore::JSLocation::setHostname):
3583         (WebCore::JSLocation::setPort):
3584         (WebCore::JSLocation::setPathname):
3585         (WebCore::JSLocation::setSearch):
3586         (WebCore::JSLocation::setHash):
3587         (WebCore::JSLocation::replace):
3588         (WebCore::JSLocation::assign):
3589         * bindings/js/JSMessageEventCustom.cpp:
3590         (WebCore::handleInitMessageEvent):
3591         * bindings/js/JSSQLTransactionCustom.cpp:
3592         (WebCore::JSSQLTransaction::executeSql):
3593         * bindings/js/JSSQLTransactionSyncCustom.cpp:
3594         (WebCore::JSSQLTransactionSync::executeSql):
3595         * bindings/js/JSSharedWorkerCustom.cpp:
3596         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
3597         * bindings/js/JSStorageCustom.cpp:
3598         (WebCore::JSStorage::putDelegate):
3599         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3600         (WebCore::JSWebGLRenderingContext::getExtension):
3601         * bindings/js/JSWebSocketCustom.cpp:
3602         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
3603         (WebCore::JSWebSocket::send):
3604         (WebCore::JSWebSocket::close):
3605         * bindings/js/JSWorkerContextCustom.cpp:
3606         (WebCore::JSWorkerContext::importScripts):
3607         * bindings/js/JSWorkerCustom.cpp:
3608         (WebCore::JSWorkerConstructor::constructJSWorker):
3609         * bindings/js/JSXMLHttpRequestCustom.cpp:
3610         (WebCore::JSXMLHttpRequest::open):
3611         (WebCore::JSXMLHttpRequest::send):
3612         * bindings/js/JSXSLTProcessorCustom.cpp:
3613         (WebCore::JSXSLTProcessor::setParameter):
3614         (WebCore::JSXSLTProcessor::getParameter):
3615         (WebCore::JSXSLTProcessor::removeParameter):
3616         * bindings/js/ScheduledAction.cpp:
3617         (WebCore::ScheduledAction::create):
3618         * bindings/js/ScriptEventListener.cpp:
3619         (WebCore::eventListenerHandlerBody):
3620         * bindings/js/ScriptValue.cpp:
3621         (WebCore::ScriptValue::toString):
3622         * bindings/scripts/CodeGeneratorJS.pm:
3623         (GenerateEventListenerCall):
3624         (JSValueToNative):
3625         (GenerateConstructorDefinition):
3626         * bridge/c/c_utility.cpp:
3627         (JSC::Bindings::convertValueToNPVariant):
3628         * bridge/jni/jni_jsobject.mm:
3629         (JavaJSObject::convertValueToJObject):
3630         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
3631         (JSC::Bindings::convertArrayInstanceToJavaArray):
3632         (JSC::Bindings::convertValueToJValue):
3633         * bridge/jni/jsc/JavaFieldJSC.cpp:
3634         (JavaField::dispatchValueFromInstance):
3635         (JavaField::valueFromInstance):
3636         (JavaField::dispatchSetValueToInstance):
3637         (JavaField::setValueToInstance):
3638         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3639         (JavaInstance::invokeMethod):
3640         * testing/js/JSInternalsCustom.cpp:
3641         (WebCore::JSInternals::setUserPreferredLanguages):
3642
3643 2012-01-23  Kentaro Hara  <haraken@chromium.org>
3644
3645         In CodeGeneratorObjC.pm, overwrite the output .h/.mm
3646         only if the bytes differ
3647         https://bugs.webkit.org/show_bug.cgi?id=76874
3648
3649         Reviewed by Adam Barth.
3650
3651         This is one of steps to stop rebuilding .h/.cpp/.mm files
3652         generated by unchanged IDLs (bug 76836).
3653         This patch makes a change on CodeGeneratorObjC.pm so that
3654         it overwrites the output .h/.mm only if the bytes differ.
3655
3656         No tests. No change in behavior.
3657         I manually confirmed that when I add a new attribute to Element.idl,
3658         the time-stamps of unrelated DOM*.h and DOM*.mm do not change.
3659
3660         * bindings/scripts/CodeGenerator.pm:
3661         (UpdateFileIfChanged): Added. This method writes data to a file
3662         only if the data is different from the data in the current file.
3663         * bindings/scripts/CodeGeneratorObjC.pm:
3664         (WriteData): Used UpdateFileIfChanged().
3665
3666 2012-01-23  Alexey Proskuryakov  <ap@apple.com>
3667
3668         REGRESSION: Downloaded file name fallback encodings are not set correctly
3669         https://bugs.webkit.org/show_bug.cgi?id=76862
3670
3671         Reviewed by Adam Barth.
3672
3673         Tests: http/tests/download/default-encoding.html
3674                http/tests/download/form-submission-result.html
3675                http/tests/download/inherited-encoding.html
3676                http/tests/download/literal-utf-8.html
3677
3678         * loader/DocumentWriter.cpp:
3679         * loader/DocumentWriter.h:
3680         Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
3681         be used in its place.
3682
3683         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
3684         down a correct loader (and active one is not always correct any more), just use opening document's
3685         encoding.
3686
3687 2012-01-23  Ojan Vafai  <ojan@chromium.org>
3688
3689         Implement flex-pack:distribute
3690         https://bugs.webkit.org/show_bug.cgi?id=76864
3691
3692         Reviewed by Tony Chang.
3693
3694         See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.
3695
3696         * css/CSSParser.cpp:
3697         (WebCore::CSSParser::parseValue):
3698         * css/CSSPrimitiveValueMappings.h:
3699         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3700         (WebCore::CSSPrimitiveValue::operator EFlexPack):
3701         * css/CSSValueKeywords.in:
3702         * rendering/RenderFlexibleBox.cpp:
3703         (WebCore::initialPackingOffset):
3704         (WebCore::packingSpaceBetweenChildren):
3705         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3706         (WebCore::RenderFlexibleBox::layoutColumnReverse):
3707         * rendering/style/RenderStyleConstants.h:
3708         * rendering/style/StyleFlexibleBoxData.h:
3709
3710 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
3711
3712         Implement CSS clip property in CSSStyleApplyProperty.
3713         https://bugs.webkit.org/show_bug.cgi?id=74913
3714
3715         Reviewed by Andreas Kling.
3716
3717         No new tests / refactoring only.
3718
3719         * css/CSSPrimitiveValue.h:
3720         * css/CSSPrimitiveValueMappings.h:
3721         (WebCore::CSSPrimitiveValue::convertToLength):
3722         This new function aims to provide a single call for converting many CSSPrimitiveValue
3723         values to Lengths. It is templated to allow the caller to specify which conversions
3724         are appropriate depending on the context in which the value is used.
3725         * css/CSSStyleApplyProperty.cpp:
3726         (WebCore::ApplyPropertyClip::convertToLength):
3727         (WebCore::ApplyPropertyClip::applyInheritValue):
3728         (WebCore::ApplyPropertyClip::applyInitialValue):
3729         (WebCore::ApplyPropertyClip::applyValue):
3730         (WebCore::ApplyPropertyClip::createHandler):
3731         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3732         * css/CSSStyleSelector.cpp:
3733         (WebCore::CSSStyleSelector::applyProperty):
3734
3735 2012-01-23  Tom Sepez  <tsepez@chromium.org>
3736
3737         decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
3738         https://bugs.webkit.org/show_bug.cgi?id=71316
3739
3740         Reviewed by Daniel Bates.
3741
3742         Pass trailing unescaped bytes into the character set decoder to get correct
3743         results in the presence of encodings which re-use ASCII values in sequences.
3744         
3745         Tests: http/tests/navigation/anchor-frames-gbk.html
3746                http/tests/security/xssAuditor/iframe-onload-GBK-char.html
3747                http/tests/security/xssAuditor/img-onerror-GBK-char.html
3748                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
3749                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
3750                http/tests/security/xssAuditor/script-tag-Big5-char.html
3751                http/tests/security/xssAuditor/script-tag-Big5-char2.html
3752
3753         * platform/text/DecodeEscapeSequences.h:
3754         (WebCore::Unicode16BitEscapeSequence::findInString):
3755         (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
3756         (WebCore::Unicode16BitEscapeSequence::decodeRun):
3757         (WebCore::URLEscapeSequence::findInString):
3758         (WebCore::URLEscapeSequence::findEndOfRun):
3759         (WebCore::URLEscapeSequence::decodeRun):
3760         (WebCore::decodeEscapeSequences):
3761
3762 2012-01-23  Adam Barth  <abarth@webkit.org>
3763
3764         Fix a build break in a clean compile of the Chromium port (at least
3765         reported by tbreisacher).
3766
3767         * css/CSSStyleDeclaration.cpp:
3768
3769 2012-01-23  Zan Dobersek  <zandobersek@gmail.com>
3770
3771         [GTK] editing/deleting/5408255.html results are incorrect
3772         https://bugs.webkit.org/show_bug.cgi?id=53644
3773
3774         Reviewed by Martin Robinson.
3775
3776         When the WEBKIT_TOP_LEVEL environment variable is set, resources
3777         should be loaded from the source tree to which the variable is
3778         pointing. This approach is used when performing testing on the
3779         Gtk port.
3780
3781         No new tests, changes cause one test to pass.
3782
3783         * platform/graphics/gtk/ImageGtk.cpp:
3784         (getPathToImageResource): Also make changes to the resource path
3785         construction code on Windows.
3786         (WebCore::Image::loadPlatformResource):
3787
3788 2012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
3789
3790         Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
3791         https://webkit.org/b/76842
3792
3793         Reviewed by Darin Adler.
3794
3795         Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html
3796
3797         The issue was that we would access our section's structure when it was dirty.
3798
3799         * rendering/RenderTableSection.cpp:
3800         (WebCore::RenderTableSection::rowLogicalHeightChanged):
3801         Bail out if we need cells recalculation as our internal structure is not up-to-date
3802         and we will recompute all the rows' heights as part of the recomputation anyway.
3803
3804 2012-01-23  Kentaro Hara  <haraken@chromium.org>
3805
3806         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
3807         https://bugs.webkit.org/show_bug.cgi?id=76846
3808
3809         Reviewed by Adam Barth.
3810
3811         This is one of steps to stop rebuilding .h/.cpp files generated
3812         by unchanged IDLs (bug 76836).
3813
3814         As a refactoring, we are planning to remove finish() from all
3815         CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
3816         empty.
3817
3818         No new tests. No change in behavior.
3819
3820         * bindings/scripts/CodeGeneratorJS.pm:
3821         (finish): Made it empty. We will remove finish() after
3822         making finish() of all CodeGenerators empty.
3823         (GenerateInterface): Modified to call WriteData().
3824         (WriteData): Simple code refactoring.
3825         Removed if(defined $IMPL).
3826         Removed if(defined $HEADER).
3827         Removed if(defined $DEPS).
3828         $IMPL -> IMPL.
3829         $HEADER -> HEADER.
3830         $DEPS -> DEPS.
3831
3832 2012-01-23  Shawn Singh  <shawnsingh@chromium.org>
3833
3834         [chromium] updateRect is incorrect when contentBounds != bounds
3835         https://bugs.webkit.org/show_bug.cgi?id=72919
3836
3837         Reviewed by James Robinson.
3838
3839         Unit test added to TiledLayerChromiumTest.cpp
3840
3841         The m_updateRect member in LayerChromium types is used to track
3842         what was painted for that layer. For tiled layers (especially
3843         image layers), the updateRect was being given with respect to the
3844         size of the content, rather than the size of the layer. This patch
3845         adds a conversion so that updateRect is always with respect to the
3846         layer size, so that damage tracking will work correctly in those
3847         cases.
3848
3849         * platform/graphics/chromium/LayerChromium.h:
3850         * platform/graphics/chromium/TiledLayerChromium.cpp:
3851         (WebCore::TiledLayerChromium::updateCompositorResources):
3852
3853 2012-01-23  Konrad Piascik  <kpiascik@rim.com>
3854
3855         Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
3856         https://bugs.webkit.org/show_bug.cgi?id=76706
3857
3858         Reviewed by Pavel Feldman.
3859
3860         Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
3861         return the text to InspectorFrontendHost.copyText.  This will make all copy
3862         functions use the same code path.
3863
3864         Not testable.
3865
3866         * inspector/Inspector.json:
3867         * inspector/InspectorDOMAgent.cpp:
3868         * inspector/InspectorDOMAgent.h:
3869         * inspector/front-end/DOMAgent.js:
3870         (WebInspector.DOMNode.prototype.copyNode.copy):
3871         (WebInspector.DOMNode.prototype.copyNode):
3872
3873 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
3874
3875         Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
3876         https://bugs.webkit.org/show_bug.cgi?id=69490
3877
3878         Reviewed by Andreas Kling.
3879
3880         Covered by existing tests.
3881
3882         * css/CSSPrimitiveValue.cpp:
3883         (WebCore::CSSPrimitiveValue::computeLength):
3884         Use float multiplier instead of double.
3885         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3886         Use float multiplier instead of double.
3887         * css/CSSPrimitiveValue.h:
3888         Change type signatures of computeLength template prototype.
3889
3890 2012-01-23  Priit Laes  <plaes@plaes.org>
3891
3892         [GTK][PATCH] More build silencing with (AM_V_...)
3893         https://bugs.webkit.org/show_bug.cgi?id=76791
3894
3895         Reviewed by Gustavo Noronha Silva.
3896
3897         * GNUmakefile.am: Silence is golden...
3898
3899 2012-01-23  Arko Saha  <nghq36@motorola.com>
3900
3901         MicroData: Remove ExceptionCode& from setAttribute() call.
3902         https://bugs.webkit.org/show_bug.cgi?id=76695
3903
3904         Reviewed by Hajime Morita.
3905
3906         Changeset http://trac.webkit.org/changeset/103296 removed unused
3907         ExceptionCode& argument from Element::setAttribute(QualifiedName).
3908         Hence updating all calls to setAttribute() method in MicroData code.
3909
3910         * html/HTMLAnchorElement.cpp:
3911         (WebCore::HTMLAnchorElement::setItemValueText):
3912         * html/HTMLAreaElement.cpp:
3913         (WebCore::HTMLAreaElement::setItemValueText):
3914         * html/HTMLEmbedElement.cpp:
3915         (WebCore::HTMLEmbedElement::setItemValueText):
3916         * html/HTMLIFrameElement.cpp:
3917         (WebCore::HTMLIFrameElement::setItemValueText):
3918         * html/HTMLImageElement.cpp:
3919         (WebCore::HTMLImageElement::setItemValueText):
3920         * html/HTMLLinkElement.cpp:
3921         (WebCore::HTMLLinkElement::setItemValueText):
3922         * html/HTMLMediaElement.cpp:
3923         (WebCore::HTMLMediaElement::setItemValueText):
3924         * html/HTMLMetaElement.cpp:
3925         (WebCore::HTMLMetaElement::setItemValueText):
3926         * html/HTMLObjectElement.cpp:
3927         (WebCore::HTMLObjectElement::setItemValueText):
3928         * html/HTMLSourceElement.cpp:
3929         (WebCore::HTMLSourceElement::setItemValueText):
3930         * html/HTMLTrackElement.cpp:
3931         (WebCore::HTMLTrackElement::setItemValueText):
3932
3933 2012-01-23  Hayato Ito  <hayato@chromium.org>
3934
3935         Fix crash when a focused node is removed while in processing focusin event.
3936         https://bugs.webkit.org/show_bug.cgi?id=76656
3937
3938         Reviewed by Dimitri Glazkov.
3939
3940         Test: fast/events/focus-remove-focuesed-node.html
3941
3942         * dom/Document.cpp:
3943         (WebCore::Document::setFocusedNode):
3944
3945 2012-01-23  David Levin  <levin@chromium.org>
3946
3947         [windows] Convert usages of GetDC to HWndDC Part 1.
3948         https://bugs.webkit.org/show_bug.cgi?id=76744
3949
3950         Reviewed by Adam Roben.
3951
3952         No new functionality so no new tests.
3953
3954         * platform/graphics/win/FontCacheWin.cpp:
3955         (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
3956         and removed ReleaseDC.
3957         (WebCore::createGDIFont): Ditto.
3958         (WebCore::FontCache::getTraitsInFamily): Ditto.
3959         * platform/graphics/win/FontPlatformDataWin.cpp:
3960         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3961         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3962         (WebCore::SimpleFontData::platformInit): Ditto.
3963         * platform/graphics/win/SimpleFontDataWin.cpp:
3964         (WebCore::SimpleFontData::initGDIFont): Ditto.
3965         (WebCore::SimpleFontData::containsCharacters): Ditto.
3966         (WebCore::SimpleFontData::determinePitch): Ditto.
3967         (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
3968         (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
3969         (WebCore::SimpleFontData::scriptFontProperties): Ditto.
3970         * platform/win/CursorWin.cpp:
3971         (WebCore::createSharedCursor): Ditto.
3972         * platform/win/DragImageCGWin.cpp:
3973         (WebCore::scaleDragImage): Ditto.
3974         (WebCore::createDragImageFromImage): Ditto.
3975         * platform/win/DragImageWin.cpp:
3976         (WebCore::createDragImageForLink): Ditto.
3977         * platform/win/PasteboardWin.cpp:
3978         (WebCore::Pasteboard::writeImage): Ditto.
3979
3980 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
3981
3982         [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
3983         https://bugs.webkit.org/show_bug.cgi?id=76747
3984
3985         Reviewed by Gustavo Noronha Silva.
3986
3987         No new tests. Regressions are covered by existing tests, but testing
3988         different GTK+ theme configurations is not possible yet.
3989
3990         * platform/gtk/ScrollbarThemeGtk.cpp:
3991         (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
3992         (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
3993         (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
3994         no steppers.
3995         * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
3996         * platform/gtk/ScrollbarThemeGtk2.cpp:
3997         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
3998         are primary foward and back steppers.
3999         * platform/gtk/ScrollbarThemeGtk3.cpp:
4000         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
4001
4002 2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
4003
4004         REGRESSION(r105396): drag state is not cleared after each drag
4005         https://bugs.webkit.org/show_bug.cgi?id=76878
4006
4007         Reviewed by Alexey Proskuryakov.
4008
4009         Revert a part of r105396 that made performDragAndDrop not call clearDragState
4010         when the default action was not prevented since it caused a regression.
4011
4012         I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
4013         but I can't think of a test case where this becomes a problem at the moment.
4014         Since this area is not well tested, revert the change instead of making further
4015         changes to the code base.
4016
4017         Tests: fast/events/clear-drag-state.html
4018                fast/events/clear-edit-drag-state.html
4019
4020         * page/EventHandler.cpp:
4021         (WebCore::EventHandler::performDragAndDrop):
4022
4023 2012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
4024
4025         Fixed typo in exception messages
4026         https://bugs.webkit.org/show_bug.cgi?id=76710
4027
4028         Reviewed by Alexey Proskuryakov.
4029
4030         * dom/DOMCoreException.cpp:
4031         * fileapi/FileException.cpp:
4032         * storage/SQLTransaction.cpp:
4033         (WebCore::SQLTransaction::openTransactionAndPreflight):
4034         (WebCore::SQLTransaction::postflightAndCommit):
4035         * xml/XMLHttpRequestException.cpp:
4036
4037 2012-01-18  David Levin  <levin@chromium.org>
4038
4039         Allow delayed DC allocation in HWndDC.
4040         https://bugs.webkit.org/show_bug.cgi?id=76737
4041
4042         Reviewed by Adam Roben.
4043
4044         No new functionality exposed so no new tests.
4045
4046         * platform/win/HWndDC.h: Changed this slightly to allow
4047         for allocating a window DC after the initial creation since
4048         this pattern occurrs in several places so this makes it easy to
4049         replace them in an upcoming change.
4050         (WebCore::HWndDC::HWndDC):
4051         (WebCore::HWndDC::~HWndDC):
4052         (WebCore::HWndDC::setHWnd):
4053         (WebCore::HWndDC::clear):
4054
4055 2012-01-23  Arko Saha  <nghq36@motorola.com>
4056
4057         MicroData: Compilation error while building Webkit with --microdata.
4058         https://bugs.webkit.org/show_bug.cgi?id=76703
4059
4060         Reviewed by Hajime Morita.
4061
4062         * dom/MicroDataItemList.cpp:
4063         (WebCore::MicroDataItemList::MicroDataItemList):
4064         (WebCore::MicroDataItemList::~MicroDataItemList):
4065         * dom/MicroDataItemList.h:
4066         * dom/NodeRareData.h:
4067         (WebCore::NodeRareData::properties):
4068         * html/HTMLPropertiesCollection.cpp:
4069         (WebCore::HTMLPropertiesCollection::create):
4070         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
4071         * html/HTMLPropertiesCollection.h:
4072
4073 2012-01-13  David Levin  <levin@chromium.org>
4074
4075         [chromium] Convert uses of GetDC to HWndDC.
4076         https://bugs.webkit.org/show_bug.cgi?id=76290
4077
4078         Reviewed by Dmitry Titov.
4079
4080         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
4081         (WebCore::createFontIndirectAndGetWinName):
4082         (WebCore::fontContainsCharacter):
4083         (WebCore::FontCache::getLastResortFallbackFont):
4084         (WebCore::FontCache::getTraitsInFamily):
4085         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
4086         (WebCore::FontPlatformData::scriptFontProperties):
4087         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
4088         (WebCore::FontMap::getAscent):
4089         (WebCore::FontMap::getSpaceGlyph):
4090         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
4091         (WebCore::fillBMPGlyphs):