2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: Remove obsolete JS wrappers for did* methods.
6         https://bugs.webkit.org/show_bug.cgi?id=43738
7
8         * inspector/CodeGeneratorInspector.pm:
9         * inspector/Inspector.idl:
10         * inspector/front-end/BreakpointManager.js:
11         * inspector/front-end/Callback.js:
12         * inspector/front-end/ConsoleView.js:
13         * inspector/front-end/DOMAgent.js:
14         * inspector/front-end/DOMStorage.js:
15         * inspector/front-end/Database.js:
16         * inspector/front-end/InjectedScriptAccess.js:
17         * inspector/front-end/ProfilesPanel.js:
18         * inspector/front-end/ResourcesPanel.js:
19         * inspector/front-end/ScriptView.js:
20         * inspector/front-end/ScriptsPanel.js:
21         * inspector/front-end/inspector.js:
22         (WebInspector.reportProtocolError):
23
24 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
25
26         Qt build fix attempt VIII.
27
28         * dom/QualifiedName.cpp:
29         (WebCore::QualifiedName::toString):
30         * dom/XMLDocumentParserQt.cpp:
31         (WebCore::handleElementNamespaces):
32
33 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
34
35         Qt build fix attempt VII.
36
37         * dom/QualifiedName.cpp:
38         (WebCore::QualifiedName::toString):
39         * dom/XMLDocumentParserQt.cpp:
40         (WebCore::handleElementNamespaces):
41
42 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
43
44         Qt build fix attempt VI.
45
46         * dom/QualifiedName.cpp:
47         (WebCore::QualifiedName::toString):
48         * dom/XMLDocumentParserQt.cpp:
49         (WebCore::handleElementNamespaces):
50
51 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
52
53         Qt build fix attempt V.
54
55         * dom/QualifiedName.cpp:
56         (WebCore::QualifiedName::toString):
57         * dom/XMLDocumentParserQt.cpp:
58         (WebCore::handleElementNamespaces):
59
60 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
61
62         Qt build fix attempt IV.
63
64         * css/CSSSelector.cpp:
65         (WebCore::CSSSelector::selectorText):
66         * dom/QualifiedName.cpp:
67         (WebCore::QualifiedName::toString):
68         * dom/XMLDocumentParserQt.cpp:
69         (WebCore::handleElementNamespaces):
70
71 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
72
73         Speculative chromium build fix.
74
75         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
76         (WebCore::charactersAreAllASCII):
77
78 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
79
80         Qt build fix III.
81
82         * css/CSSSelector.cpp:
83
84 2010-08-09  Adam Barth  <abarth@webkit.org>
85
86         Reviewed by Eric Seidel.
87
88         Remove error-prone external SegementedSubstring contructor
89         https://bugs.webkit.org/show_bug.cgi?id=43752
90
91         There's a lot of code that assumes that SegmentedString takes ownership
92         of its substrings.  For example, when the HTML parser pauses and
93         resumes asynchronously, it could explode if SegmentedString didn't own
94         its substrings.
95
96         Prior to this patch, there was a constructor that let
97         SegmentedSubstring use an external string buffer.  It turns out it was
98         only used in a handful of places, but I'd rather pay the memcpy of
99         these small strings than risk having them used after free.
100
101         * bindings/js/JSHTMLDocumentCustom.cpp:
102         (WebCore::documentWrite):
103         * html/LegacyHTMLDocumentParser.cpp:
104         (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
105         (WebCore::LegacyHTMLDocumentParser::scriptHandler):
106         (WebCore::LegacyHTMLDocumentParser::parseComment):
107         * platform/text/SegmentedString.h:
108         (WebCore::SegmentedString::SegmentedString):
109
110 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
111
112         Speculative Qt build fix.
113
114         * css/CSSSelector.cpp:
115
116 2010-08-09  Gavin Barraclough  <barraclough@apple.com>
117
118         Speculative gtk build fix.
119
120         * plugins/gtk/PluginViewGtk.cpp:
121         (WebCore::PluginView::handlePostReadFile):
122
123 2010-08-06  Gavin Barraclough  <barraclough@apple.com>
124
125         Rubber stamped by Sam Weinig
126
127         Bug 43594 - Add string forwards to Forward.h
128         This allows us to remove forward declarations for these classes from
129         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
130
131         * WebCore.xcodeproj/project.pbxproj:
132         * accessibility/AXObjectCache.h:
133         * accessibility/AccessibilityARIAGrid.h:
134         * accessibility/AccessibilityListBoxOption.h:
135         * accessibility/AccessibilityObject.h:
136         * accessibility/AccessibilityRenderObject.h:
137         * accessibility/AccessibilityTable.h:
138         * bindings/cpp/WebDOMCString.h:
139         * bindings/cpp/WebDOMString.h:
140         * bindings/gobject/ConvertToUTF8String.h:
141         * bindings/js/DOMWrapperWorld.h:
142         * bindings/js/JSDOMBinding.h:
143         * bindings/js/JSDOMWindowBase.h:
144         * bindings/js/JSMessagePortCustom.h:
145         * bindings/js/JavaScriptCallFrame.h:
146         * bindings/js/ScriptController.h:
147         * bindings/js/ScriptProfile.h:
148         * bindings/js/ScriptSourceProvider.h:
149         * bindings/js/ScriptString.h:
150         * bindings/js/WorkerScriptController.h:
151         * bindings/objc/DOMImplementationFront.h:
152         * bindings/v8/ScheduledAction.h:
153         * bindings/v8/ScriptController.h:
154         * bindings/v8/V8DOMWindowShell.h:
155         * bindings/v8/V8Proxy.h:
156         * bindings/v8/V8Utilities.h:
157         * bindings/v8/custom/V8CustomXPathNSResolver.h:
158         * bridge/c/c_utility.h:
159         * css/CSSFontSelector.h:
160         * css/CSSHelper.h:
161         * css/CSSOMUtils.h:
162         * css/CSSPrimitiveValue.h:
163         * css/MediaList.h:
164         * css/StyleBase.h:
165         * css/StyleSheetList.h:
166         * css/WebKitCSSKeyframesRule.h:
167         * dom/CheckedRadioButtons.h:
168         * dom/DOMImplementation.h:
169         * dom/DocumentMarker.h:
170         * dom/DynamicNodeList.h:
171         * dom/EventTarget.h:
172         * dom/MessagePort.h:
173         * dom/MessagePortChannel.h:
174         * dom/NameNodeList.h:
175         * dom/Node.h:
176         * dom/NodeList.h:
177         * dom/OptionGroupElement.h:
178         * dom/ScriptExecutionContext.h:
179         * dom/SelectElement.h:
180         * dom/ViewportArguments.h:
181         * dom/make_names.pl:
182         * editing/HTMLInterchange.h:
183         * editing/htmlediting.h:
184         * editing/markup.h:
185         * html/CollectionCache.h:
186         * html/DOMFormData.h:
187         * html/DataGridColumnList.h:
188         * html/DateComponents.h:
189         * html/FileStream.h:
190         * html/FileStreamProxy.h:
191         * html/FormDataList.h:
192         (WebCore::FormDataList::appendData):
193         * html/HTMLCollection.h:
194         * html/HTMLElementStack.h:
195         * html/HTMLFormattingElementList.h:
196         * html/HTMLParserQuirks.h:
197         * html/HTMLQuoteElement.h:
198         * html/HTMLScriptRunnerHost.h:
199         * html/StepRange.h:
200         * html/canvas/CanvasGradient.h:
201         * html/canvas/CanvasNumberArray.h:
202         * html/canvas/CanvasPattern.h:
203         * inspector/InjectedScript.h:
204         * inspector/InspectorCSSStore.h:
205         * inspector/InspectorClient.h:
206         * inspector/InspectorFrontendClient.h:
207         * inspector/InspectorValues.h:
208         * inspector/ScriptDebugListener.h:
209         * loader/CachedResourceClient.h:
210         * loader/CrossOriginAccessControl.h:
211         * loader/DocumentThreadableLoader.h:
212         * loader/FrameLoaderClient.h:
213         * loader/RedirectScheduler.h:
214         * loader/SubframeLoader.h:
215         * loader/appcache/DOMApplicationCache.h:
216         * loader/archive/ArchiveFactory.h:
217         * loader/icon/IconDatabaseClient.h:
218         * notifications/NotificationPresenter.h:
219         * page/Chrome.h:
220         * page/ChromeClient.h:
221         * page/Console.h:
222         * page/ContextMenuClient.h:
223         * page/DOMSelection.h:
224         * page/EditorClient.h:
225         * page/EventHandler.h:
226         * page/FrameView.h:
227         * page/GeolocationPositionCache.h:
228         * page/History.h:
229         * page/Location.h:
230         * page/Navigator.h:
231         * page/NavigatorBase.h:
232         * page/PluginHalterClient.h:
233         * page/PrintContext.h:
234         * page/SpeechInput.h:
235         * page/SpeechInputListener.h:
236         * page/animation/AnimationController.h:
237         * platform/CookieJar.h:
238         * platform/CrossThreadCopier.h:
239         * platform/DragImage.h:
240         * platform/FileSystem.h:
241         * platform/Language.h:
242         * platform/Length.h:
243         * platform/LinkHash.h:
244         * platform/LocalizationStrategy.h:
245         * platform/LocalizedStrings.h:
246         * platform/Logging.h:
247         * platform/Pasteboard.h:
248         * platform/PopupMenuClient.h:
249         * platform/SearchPopupMenu.h:
250         * platform/Widget.h:
251         * platform/cf/BinaryPropertyList.h:
252         * platform/chromium/ChromiumBridge.h:
253         * platform/chromium/ClipboardUtilitiesChromium.h:
254         * platform/cocoa/KeyEventCocoa.h:
255         * platform/graphics/Color.h:
256         * platform/graphics/FontCache.h:
257         * platform/graphics/FontData.h:
258         * platform/graphics/FontSelector.h:
259         * platform/graphics/GraphicsTypes.h:
260         * platform/graphics/Icon.h:
261         * platform/graphics/ImageBuffer.h:
262         * platform/graphics/ImageSource.h:
263         * platform/graphics/MediaPlayer.h:
264         * platform/graphics/MediaPlayerPrivate.h:
265         * platform/graphics/Path.h:
266         * platform/graphics/StringTruncator.h:
267         * platform/graphics/cairo/FontCustomPlatformData.h:
268         * platform/graphics/cairo/FontPlatformData.h:
269         * platform/graphics/cg/FontPlatformData.h:
270         * platform/graphics/cg/ImageSourceCG.h:
271         * platform/graphics/chromium/FontCustomPlatformData.h:
272         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
273         * platform/graphics/chromium/FontPlatformDataLinux.h:
274         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
275         * platform/graphics/haiku/FontCustomPlatformData.h:
276         * platform/graphics/mac/FontCustomPlatformData.h:
277         * platform/graphics/mac/FontPlatformData.h:
278         * platform/graphics/qt/FontCustomPlatformData.h:
279         * platform/graphics/qt/FontPlatformData.h:
280         * platform/graphics/win/FontCustomPlatformData.h:
281         * platform/graphics/win/FontCustomPlatformDataCairo.h:
282         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
283         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
284         * platform/graphics/wince/FontPlatformData.h:
285         * platform/graphics/wince/MediaPlayerPrivateWince.h:
286         * platform/graphics/wince/MediaPlayerProxy.h:
287         * platform/graphics/wx/FontCustomPlatformData.h:
288         * platform/graphics/wx/FontPlatformData.h:
289         * platform/mac/PasteboardHelper.h:
290         * platform/network/DNS.h:
291         * platform/network/FormData.h:
292         * platform/network/FormDataBuilder.h:
293         * platform/network/HTTPParsers.h:
294         * platform/text/Hyphenation.h:
295         * platform/text/LineEnding.h:
296         * platform/text/TextCodec.h:
297         * platform/text/TextEncoding.h:
298         * platform/text/TextStream.h:
299         * platform/win/BString.h:
300         * platform/win/ClipboardUtilitiesWin.h:
301         * platform/win/WCDataObject.h:
302         * platform/win/WebCoreTextRenderer.h:
303         * plugins/DOMMimeType.h:
304         * plugins/DOMMimeTypeArray.h:
305         * plugins/DOMPlugin.h:
306         * plugins/DOMPluginArray.h:
307         * rendering/CounterNode.h:
308         * rendering/HitTestResult.h:
309         * rendering/RenderObjectChildList.h:
310         * rendering/RenderText.h:
311         * rendering/RenderTreeAsText.h:
312         * rendering/TextControlInnerElements.h:
313         * rendering/style/ContentData.h:
314         * rendering/style/RenderStyle.h:
315         * storage/DatabaseAuthorizer.h:
316         * storage/DatabaseTrackerClient.h:
317         * storage/SQLTransaction.h:
318         * storage/SQLTransactionSync.h:
319         * storage/Storage.h:
320         * storage/chromium/DatabaseObserver.h:
321         * svg/SVGAnimatedTemplate.h:
322         * svg/SVGDocumentExtensions.h:
323         * svg/SVGGlyphElement.h:
324         * svg/SVGHKernElement.h:
325         * svg/SVGNumberList.h:
326         * svg/SVGPointList.h:
327         * svg/SVGPreserveAspectRatio.h:
328         * svg/SVGStylable.h:
329         * svg/SVGTests.h:
330         * svg/SVGTransformList.h:
331         * svg/SVGTransformable.h:
332         * svg/SVGVKernElement.h:
333         * websockets/ThreadableWebSocketChannel.h:
334         * websockets/ThreadableWebSocketChannelClientWrapper.h:
335         * websockets/WebSocket.h:
336         * websockets/WebSocketChannel.h:
337         * websockets/WebSocketHandshakeResponse.h:
338         * wml/WMLErrorHandling.h:
339         * wml/WMLPageState.h:
340         * wml/WMLVariables.h:
341         * workers/DefaultSharedWorkerRepository.h:
342         * workers/SharedWorkerRepository.h:
343         * workers/Worker.h:
344         * workers/WorkerContextProxy.h:
345         * workers/WorkerLoaderProxy.h:
346         * workers/WorkerLocation.h:
347         * workers/WorkerMessagingProxy.h:
348         * workers/WorkerReportingProxy.h:
349         * workers/WorkerThread.h:
350         * xml/DOMParser.h:
351         * xml/XMLHttpRequestUpload.h:
352         * xml/XPathEvaluator.h:
353         * xml/XPathExpression.h:
354         * xml/XPathNSResolver.h:
355         * xml/XPathResult.h:
356         * xml/XPathUtil.h:
357
358 2010-08-09  Nat Duca  <nduca@chromium.org>
359
360         Reviewed by Dimitri Glazkov.
361
362         [chromium] Blue line visible at the right hand side of the window with accelerated compositor
363         https://bugs.webkit.org/show_bug.cgi?id=43748
364
365         Correct the ortho projection matrix for the root layer, which was
366         too large by 0.5px in both width and height. For even view sizes,
367         this would cause the viewport to appear 1 pixel too small.
368
369         Fixing this requires removal of several 0.5 correction factors
370         that were previously added to compensate for the too-large viewport.
371
372         Finally, compute the translation for the root layer quad using
373         floating point rather than integer arithmetic. This avoids us losing
374         a key half-pixel of translation when the width of the window is odd.
375
376         To test, size window to even/odd dimensions. No blue line should be visible.
377
378         * platform/graphics/chromium/LayerRendererChromium.cpp:
379         (WebCore::LayerRendererChromium::drawLayers):
380
381 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
382
383         Reviewed by Justin Garcia.
384
385         fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed
386         https://bugs.webkit.org/show_bug.cgi?id=43465
387
388         Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle
389         because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false
390         if there was no difference between the new font color, font size, font face and that of the computed style.
391
392         Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that
393         the above change will not add a redundant font or span element.
394
395         Test: editing/style/fore-color-by-name.html
396
397         * editing/ApplyStyleCommand.cpp:
398         (WebCore::getRGBAFontColor): Added.
399         (WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor.
400         (WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values.
401         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above.
402
403 2010-08-09  Kenneth Russell  <kbr@google.com>
404
405         Reviewed by David Levin.
406
407         Fix compilation of VideoLayerChromium on Mac OS X with compositor
408         https://bugs.webkit.org/show_bug.cgi?id=43757
409
410         No new tests; build fix only (associated functionality not implemented yet).
411
412         * platform/graphics/chromium/VideoLayerChromium.cpp:
413         (WebCore::VideoLayerChromium::VideoLayerChromium):
414         (WebCore::VideoLayerChromium::updateTextureContents):
415         (WebCore::VideoLayerChromium::createTextureRect):
416         (WebCore::VideoLayerChromium::updateTextureRect):
417         * platform/graphics/chromium/VideoLayerChromium.h:
418
419 2010-08-09  Ariya Hidayat  <ariya@sencha.com>
420
421         Reviewed by Kenneth Rohde Christiansen.
422
423         [Qt] Need to implement GraphicsContextQt::clipConvexPolygon()
424         https://bugs.webkit.org/show_bug.cgi?id=41310
425
426         Based on the prototype code by Simon Hausmann.
427
428         * platform/graphics/qt/GraphicsContextQt.cpp:
429         (WebCore::GraphicsContext::clipConvexPolygon):
430         * rendering/RenderObject.h:
431
432 2010-08-09  Chris Fleizach  <cfleizach@apple.com>
433
434         Reviewed by David Kilzer.
435
436         AX: Placeholder value for text fields not exposed like it should be
437         https://bugs.webkit.org/show_bug.cgi?id=43598
438
439         * accessibility/AccessibilityObject.cpp:
440         (WebCore::AccessibilityObject::placeholderValue):
441         * accessibility/AccessibilityObject.h:
442         * accessibility/AccessibilityRenderObject.cpp:
443         (WebCore::AccessibilityRenderObject::title):
444         * accessibility/mac/AccessibilityObjectWrapper.mm:
445         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
446         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
447
448 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
449
450         Reviewed by Justin Garcia.
451
452         Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed
453         https://bugs.webkit.org/show_bug.cgi?id=43639
454
455         The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element,
456         and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of
457         CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element.
458
459         Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration.
460
461         Test: editing/undo/remove-css-property-and-remove-style.html
462
463         * WebCore.order:
464         * editing/ApplyStyleCommand.cpp:
465         (WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty.
466         (WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty.
467         * editing/CompositeEditCommand.cpp:
468         (WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration.
469         * editing/CompositeEditCommand.h:
470         * editing/RemoveCSSPropertyCommand.cpp:
471         (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration.
472         (WebCore::RemoveCSSPropertyCommand::doApply): See above.
473         (WebCore::RemoveCSSPropertyCommand::doUnapply): See above.
474         * editing/RemoveCSSPropertyCommand.h:
475         (WebCore::RemoveCSSPropertyCommand::create): See above.
476
477 2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
478
479         Reviewed by Tony Chang.
480
481         Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand
482         https://bugs.webkit.org/show_bug.cgi?id=43699
483
484         Deployed getIdentifierValue in various parts of ApplyStyleCommand where
485         direction and unicode-bidi properties were obtained manually.
486
487         No new tests since this is a cleanup.
488
489         * editing/ApplyStyleCommand.cpp:
490         (WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration.
491         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue.
492         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue.
493         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue.
494         * editing/ApplyStyleCommand.h:
495
496 2010-08-09  Adam Barth  <abarth@webkit.org>
497
498         Reviewed by Eric Seidel.
499
500         Remove trailing whitespace in HTMLViewSourceDocument.cpp
501         https://bugs.webkit.org/show_bug.cgi?id=43741
502
503         No behavior change.  The whitespace was distracting me while porting
504         this class to the new parser.
505
506         * html/HTMLViewSourceDocument.cpp:
507         (WebCore::HTMLViewSourceDocument::createContainingTable):
508         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
509         (WebCore::HTMLViewSourceDocument::addLine):
510         (WebCore::HTMLViewSourceDocument::addText):
511         (WebCore::HTMLViewSourceDocument::addLink):
512
513 2010-08-09  Eric Seidel  <eric@webkit.org>
514
515         Reviewed by Adam Barth.
516
517         Use the HTML5 TreeBuilder for Fragment Parsing
518         https://bugs.webkit.org/show_bug.cgi?id=43586
519
520         The bulk of this change is just a transcription of the HTML5 spec:
521         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case
522
523         DocumentParser() now sets the right tokenizer state before handling
524         fragments.  Since default code path uses the HTML5 tokenizer with the
525         legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib.
526         This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too.
527
528         * dom/DocumentFragment.cpp:
529         (WebCore::DocumentFragment::parseHTML):
530          - HTML5 implementation of fragment parsing requires the context element (parent)
531            pointer.  The legacy implementation handles all parsing branches which require
532            the context element outside of the parser itself, which likely produces "wrong"
533            results.  We'll remove those branches when we turn on the HMTL5 fragment parser.
534         (WebCore::DocumentFragment::parseXML):
535          - Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec).
536         * dom/DocumentFragment.h:
537         * dom/Element.cpp:
538         (WebCore::Element::createContextualFragment):
539          - Pass the contextElement (this).
540         * html/HTMLConstructionSite.cpp:
541         (WebCore::HTMLConstructionSite::setForm):
542          - Needed by for the fragment case.
543         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
544          - I'm not sure this method should exist, it only has one caller.
545            but for now, I've moved the fragment case FIXME out to the
546            one caller and implemented it.
547         * html/HTMLConstructionSite.h:
548         * html/HTMLDocumentParser.cpp:
549         (WebCore::HTMLNames::tokenizerStateForContextElement):
550          - Part of the fragment case handling for the HTML5 parser.
551         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
552          - Set the Tokenizer state based on the contextElement.
553         (WebCore::HTMLDocumentParser::parseDocumentFragment):
554          - Take a contextElement argument.
555         * html/HTMLDocumentParser.h:
556         * html/HTMLElement.cpp:
557         (WebCore::HTMLElement::setInnerHTML):
558          - Added a FIXME before the branches the old parser used to avoid ever needing
559            to pass a context element when parsing HTML fragments.
560         (WebCore::HTMLElement::insertAdjacentHTML):
561          - Pass the context element.
562         * html/HTMLTokenizer.h:
563         * html/HTMLTreeBuilder.cpp:
564          - I added a new helper class FragmentParsingContext to simplify the two
565            HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse.
566          - I also removed m_isParsingFragment and replaced it with an isParsingFragment() function.
567         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
568         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
569         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
570         (WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext):
571         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
572         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
573          - I had to implement two notImplemented() states in order to get most of the
574            layout tests to pass when using the HTML5 parser fragment case.
575         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
576         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
577         (WebCore::HTMLTreeBuilder::processStartTag):
578         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
579         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
580         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
581         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
582         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
583         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
584         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
585         (WebCore::HTMLTreeBuilder::processEndTag):
586         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
587         (WebCore::HTMLTreeBuilder::processEndOfFile):
588         (WebCore::HTMLTreeBuilder::finished):
589          - The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing
590            and then moves all the children from the dummy document over into a DocumentFragment
591            when the parse is done.  We could avoid this adopt step by making the TreeBuilder a bit
592            more complicated, but I'm not sure that's necessary (yet).
593         * html/HTMLTreeBuilder.h:
594         (WebCore::HTMLTreeBuilder::isParsingFragment):
595         (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment):
596         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
597         (WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission):
598         * xml/XSLTProcessor.cpp:
599         (WebCore::createFragmentFromSource):
600
601 2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
602
603         Reviewed by Adam Barth.
604
605         Auto-generate most HTML5 DB bindings.
606         https://bugs.webkit.org/show_bug.cgi?id=43382
607
608         * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
609         and the custom implementations of openDatabase{Sync}().
610         * Android.v8bindings.mk:
611         * CMakeLists.txt:
612         * GNUmakefile.am:
613         * WebCore.gypi:
614         * WebCore.pro:
615         * WebCore.vcproj/WebCore.vcproj:
616         * WebCore.xcodeproj/project.pbxproj:
617         * bindings/js/JSBindingsAllInOne.cpp:
618         * bindings/js/JSDOMWindowCustom.cpp:
619         * bindings/js/JSDatabaseCustom.cpp: Removed.
620         * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
621         * bindings/js/JSWorkerContextCustom.cpp:
622         * bindings/v8/custom/V8DOMWindowCustom.cpp:
623         * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
624         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
625         * bindings/v8/custom/V8WorkerContextCustom.cpp:
626
627         * bindings/scripts/CodeGeneratorGObject.pm: Change the code generators
628         to check that each value can be converted to the respective
629         argument type.
630         * bindings/scripts/CodeGeneratorJS.pm:
631         * bindings/scripts/CodeGeneratorV8.pm:
632         * bindings/scripts/test/JS/JSTestCallback.cpp:
633         (WebCore::JSTestCallback::~JSTestCallback):
634         * bindings/scripts/test/JS/JSTestObj.cpp:
635         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
636         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
637         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
638         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
639         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
640         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
641         (WebCore::jsTestObjPrototypeFunctionIdbKey):
642         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
643         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
644         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
645         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
646         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
647         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
648         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
649         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
650         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
651         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
652         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
653         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
654         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
655         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
656         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
657         * bindings/scripts/test/V8/V8TestObj.cpp:
658         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
659         (WebCore::TestObjInternal::intMethodWithArgsCallback):
660         (WebCore::TestObjInternal::objMethodWithArgsCallback):
661         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
662         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
663         (WebCore::TestObjInternal::idbKeyCallback):
664         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
665         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
666         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
667         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
668         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
669         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
670         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
671         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
672         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
673         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
674         (WebCore::TestObjInternal::overloadedMethod1Callback):
675         (WebCore::TestObjInternal::overloadedMethod2Callback):
676         (WebCore::TestObjInternal::overloadedMethod3Callback):
677         (WebCore::TestObjInternal::overloadedMethod4Callback):
678         (WebCore::):
679         (WebCore::ConfigureV8TestObjTemplate):
680         * bindings/v8/custom/V8BindingMacros.h:
681
682         * bindings/v8/V8Binding.h: Minor changes required to support the
683         auto-generated bindings.
684         (WebCore::V8Parameter::V8Parameter):
685         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
686         (WebCore::V8SQLTransaction::executeSqlCallback):
687         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
688         (WebCore::V8SQLTransactionSync::executeSqlCallback):
689         * page/DOMWindow.idl:
690         * storage/Database.cpp:
691         (WebCore::Database::transaction):
692         (WebCore::Database::readTransaction):
693         (WebCore::Database::runTransaction):
694         * storage/Database.h:
695         * storage/Database.idl:
696         * storage/DatabaseSync.cpp:
697         (WebCore::DatabaseSync::transaction):
698         (WebCore::DatabaseSync::readTransaction):
699         (WebCore::DatabaseSync::runTransaction):
700         * storage/DatabaseSync.h:
701         * storage/DatabaseSync.idl:
702         * workers/WorkerContext.idl:
703
704 2010-08-09  Adam Barth  <abarth@webkit.org>
705
706         Reviewed by Eric Seidel.
707
708         Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild
709         https://bugs.webkit.org/show_bug.cgi?id=43740
710
711         This removes the DTD checks, which aren't needed for view source
712         documents.
713
714         * html/HTMLViewSourceDocument.cpp:
715         (WebCore::HTMLViewSourceDocument::createContainingTable):
716         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
717         (WebCore::HTMLViewSourceDocument::addLine):
718         (WebCore::HTMLViewSourceDocument::addText):
719         (WebCore::HTMLViewSourceDocument::addLink):
720
721 2010-08-09  Dan Bernstein  <mitz@apple.com>
722
723         Reviewed by Simon Fraser.
724
725         Fixed an uninitialized member variable in the Color(CGColorRef) constructor.
726
727         * platform/graphics/cg/ColorCG.cpp:
728         (WebCore::Color::Color): Initialize m_valid to true if the color is not 0.
729
730 2010-08-09  James Robinson  <jamesr@chromium.org>
731
732         Chromium compile fix, unreviewed.
733
734         * platform/graphics/skia/PlatformContextSkia.cpp:
735         (WebCore::PlatformContextSkia::~PlatformContextSkia):
736         (WebCore::PlatformContextSkia::setGraphicsContext3D):
737
738 2010-08-09  James Robinson  <jamesr@chromium.org>
739
740         Reviewed by Dimitri Glazkov.
741
742         [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
743         https://bugs.webkit.org/show_bug.cgi?id=43656
744
745         When compositing an accelerated canvas that is using both hardware and software drawing,
746         we need a callback before compositing the layer to make sure that we upload any software
747         drawn results to the texture.  This will go away as soon as implement all draw calls
748         in hardware.
749
750         To test, run any canvas demo that runs in mixed mode and verifies that the software results
751         always show up.
752
753         * platform/graphics/chromium/CanvasLayerChromium.cpp:
754         (WebCore::CanvasLayerChromium::updateTextureContents):
755         * platform/graphics/chromium/CanvasLayerChromium.h:
756         (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
757         * platform/graphics/skia/PlatformContextSkia.cpp:
758         (WebCore::PrepareTextureCallbackImpl::create):
759         (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
760         (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
761         (WebCore::PlatformContextSkia::setGraphicsContext3D):
762
763 2010-08-09  Zhenyao Mo  <zmo@google.com>
764
765         Reviewed by David Levin.
766
767         sizeInBytes should be removed
768         https://bugs.webkit.org/show_bug.cgi?id=43693
769
770         * html/canvas/WebGLRenderingContext.cpp:
771         (WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors.  Generate them in the callers instead.
772         (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails.
773         * html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper.
774         * html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes.
775
776 2010-08-09  Eric Carlson  <eric.carlson@apple.com>
777
778         Reviewed by Darin Adler.
779
780         https://bugs.webkit.org/show_bug.cgi?id=43702
781         <video> element does not resize correctly
782
783         * html/HTMLMediaElement.cpp:
784         (WebCore::HTMLMediaElement::setReadyState): RenderVideo::videoSizeChanged is gone, just use
785         updateFromElement instead.
786         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Ditto.
787         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
788
789         * html/HTMLVideoElement.cpp:
790         (WebCore::HTMLVideoElement::parseMappedAttribute): Clear the image loader and cached image when 
791         the 'poster' attribute is changed and we aren't displaying a poster.
792
793         * rendering/RenderVideo.cpp:
794         (WebCore::RenderVideo::RenderVideo):
795         (WebCore::RenderVideo::intrinsicSizeChanged): videoSizeChanged -> updateIntrinsicSize.
796         (WebCore::RenderVideo::updateIntrinsicSize): Renamed from videoSizeChanged, calculate initial 
797         intrinsic size with calculateIntrinsicSize
798         (WebCore::RenderVideo::calculateIntrinsicSize): New, calculate size according to current spec.
799         (WebCore::RenderVideo::imageChanged): Reset intrinsic size to default when poster fails to load.
800         (WebCore::RenderVideo::updatePlayer): Call updateIntrinsicSize.
801         * rendering/RenderVideo.h: Renamed videoSizeChanged to updateIntrinsicSize and make private.
802
803 2010-08-09  Marcus Bulach  <bulach@chromium.org>
804
805         Reviewed by Jeremy Orlow.
806
807         Fixes custom JS bindings for IDBCursor after r64828.
808         https://bugs.webkit.org/show_bug.cgi?id=43729
809
810         Build fix, no tests.
811
812         * WebCore.xcodeproj/project.pbxproj:
813         * bindings/js/JSIDBAnyCustom.cpp:
814         (WebCore::toJS):
815         * storage/IDBObjectStore.h:
816
817 2010-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
818
819         Unreviewed, rolling out r64993.
820         http://trac.webkit.org/changeset/64993
821         https://bugs.webkit.org/show_bug.cgi?id=43734
822
823         broke chromium compile (Requested by jamesr on #webkit).
824
825         * platform/graphics/chromium/CanvasLayerChromium.cpp:
826         (WebCore::CanvasLayerChromium::updateTextureContents):
827         * platform/graphics/chromium/CanvasLayerChromium.h:
828         * platform/graphics/skia/PlatformContextSkia.cpp:
829         (WebCore::PlatformContextSkia::~PlatformContextSkia):
830         (WebCore::PlatformContextSkia::setGraphicsContext3D):
831
832 2010-08-09  James Robinson  <jamesr@chromium.org>
833
834         Reviewed by Dimitri Glazkov.
835
836         [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
837         https://bugs.webkit.org/show_bug.cgi?id=43656
838
839         When compositing an accelerated canvas that is using both hardware and software drawing,
840         we need a callback before compositing the layer to make sure that we upload any software
841         drawn results to the texture.  This will go away as soon as implement all draw calls
842         in hardware.
843
844         To test, run any canvas demo that runs in mixed mode and verifies that the software results
845         always show up.
846
847         * platform/graphics/chromium/CanvasLayerChromium.cpp:
848         (WebCore::CanvasLayerChromium::updateTextureContents):
849         * platform/graphics/chromium/CanvasLayerChromium.h:
850         (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
851         * platform/graphics/skia/PlatformContextSkia.cpp:
852         (WebCore::PrepareTextureCallbackImpl::create):
853         (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
854         (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
855         (WebCore::PlatformContextSkia::setGraphicsContext3D):
856
857 2010-08-09  Dominic Cooney  <dominicc@google.com>
858
859         Reviewed by Adam Barth.
860
861         Moves window.open logic into the generic bindings.
862
863         This patch moves window.open logic from V8 into the generic
864         bindings so it could be shared with JSC. JSC sharing is not in
865         this patch. This patch is of the same flavor/intent as 33201.
866
867         https://bugs.webkit.org/show_bug.cgi?id=41392
868
869         * bindings/generic/BindingDOMWindow.h:
870         (WebCore::::createWindow):
871         (WebCore::::open):
872         (WebCore::::completeURL):
873         * bindings/generic/BindingSecurity.h:
874         (WebCore::::allowPopUp):
875         (WebCore::::shouldAllowNavigation):
876         * bindings/v8/V8Binding.h:
877         (WebCore::V8Binding::emptyScriptValue):
878         * bindings/v8/V8Utilities.cpp:
879         (WebCore::transferHiddenDependency):
880         (WebCore::processingUserGesture):
881         (WebCore::shouldAllowNavigation):
882         (WebCore::completeURL):
883         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
884         * bindings/v8/custom/V8DOMWindowCustom.cpp:
885         (WebCore::V8DOMWindow::showModalDialogCallback):
886         (WebCore::V8DOMWindow::openCallback):
887         * bindings/v8/specialization/V8BindingState.cpp:
888         (WebCore::::getActiveFrame):
889         (WebCore::::getFirstFrame):
890         (WebCore::::processingUserGesture):
891         * bindings/v8/specialization/V8BindingState.h:
892         (WebCore::):
893
894 2010-08-09  Marcus Bulach  <bulach@chromium.org>
895
896         Reviewed by Darin Adler.
897
898         Fixes xcode project issues after r64828:
899         https://bugs.webkit.org/show_bug.cgi?id=43638
900
901         Build fix, no tests (sort-Xcode-project-file should not throw any warnings).
902
903         * WebCore.xcodeproj/project.pbxproj: fixed IDBCursor and related IndexedDB files, and re-ran sort-Xcode-project-file.
904
905 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
906
907         Reviewed by Pavel Feldman.
908
909         Web Inspector: Remove callId argument from all backend agents' methods.
910         https://bugs.webkit.org/show_bug.cgi?id=43723
911
912         * inspector/CodeGeneratorInspector.pm:
913         * inspector/InspectorApplicationCacheAgent.cpp:
914         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
915         * inspector/InspectorApplicationCacheAgent.h:
916         * inspector/InspectorBackend.cpp:
917         (WebCore::InspectorBackend::getProfilerLogLines):
918         (WebCore::InspectorBackend::clearConsoleMessages):
919         (WebCore::InspectorBackend::getDatabaseTableNames):
920         * inspector/InspectorBackend.h:
921         * inspector/InspectorController.cpp:
922         (WebCore::InspectorController::getCookies):
923         (WebCore::InspectorController::getDOMStorageEntries):
924         (WebCore::InspectorController::setDOMStorageItem):
925         (WebCore::InspectorController::removeDOMStorageItem):
926         (WebCore::InspectorController::getProfileHeaders):
927         (WebCore::InspectorController::getProfile):
928         (WebCore::InspectorController::getResourceContent):
929         * inspector/InspectorController.h:
930         * inspector/InspectorDOMAgent.cpp:
931         (WebCore::InspectorDOMAgent::getChildNodes):
932         (WebCore::InspectorDOMAgent::setAttribute):
933         (WebCore::InspectorDOMAgent::removeAttribute):
934         (WebCore::InspectorDOMAgent::removeNode):
935         (WebCore::InspectorDOMAgent::changeTagName):
936         (WebCore::InspectorDOMAgent::getOuterHTML):
937         (WebCore::InspectorDOMAgent::setOuterHTML):
938         (WebCore::InspectorDOMAgent::setTextNodeValue):
939         (WebCore::InspectorDOMAgent::getEventListenersForNode):
940         (WebCore::InspectorDOMAgent::getStyles):
941         (WebCore::InspectorDOMAgent::getAllStyles):
942         (WebCore::InspectorDOMAgent::getStyleSheet):
943         (WebCore::InspectorDOMAgent::getRuleRanges):
944         (WebCore::InspectorDOMAgent::getInlineStyle):
945         (WebCore::InspectorDOMAgent::getComputedStyle):
946         (WebCore::InspectorDOMAgent::applyStyleText):
947         (WebCore::InspectorDOMAgent::setStyleText):
948         (WebCore::InspectorDOMAgent::setStyleProperty):
949         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
950         (WebCore::InspectorDOMAgent::setRuleSelector):
951         (WebCore::InspectorDOMAgent::addRule):
952         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
953         * inspector/InspectorDOMAgent.h:
954         * inspector/InspectorDebuggerAgent.cpp:
955         (WebCore::InspectorDebuggerAgent::setBreakpoint):
956         (WebCore::InspectorDebuggerAgent::editScriptSource):
957         (WebCore::InspectorDebuggerAgent::getScriptSource):
958         * inspector/InspectorDebuggerAgent.h:
959
960 2010-08-09  François Sausset  <sausset@gmail.com>
961
962         Reviewed by Kenneth Rohde Christiansen.
963
964         Take into account style color to draw MathML mroot radical.
965         https://bugs.webkit.org/show_bug.cgi?id=43628
966
967         Test: mathml/presentation/roots.xhtml
968
969         * mathml/RenderMathMLRoot.cpp:
970         (WebCore::RenderMathMLRoot::paint):
971
972 2010-08-09  François Sausset  <sausset@gmail.com>
973
974         Reviewed by Kenneth Rohde Christiansen.
975
976         Implement MathML deprecated style attributes
977         https://bugs.webkit.org/show_bug.cgi?id=43503
978
979         Test: mathml/presentation/attributes.xhtml
980
981         * mathml/MathMLElement.cpp:
982         (WebCore::MathMLElement::mapToEntry):
983         (WebCore::MathMLElement::parseMappedAttribute):
984         * mathml/mathattrs.in:
985
986 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
987
988         Reviewed by Yury Semikhatsky.
989
990         Web Inspector: remove unnecessary did* methods from RemoteInspectorFrontend.
991         https://bugs.webkit.org/show_bug.cgi?id=43721
992
993         * inspector/CodeGeneratorInspector.pm:
994
995 2010-08-09  Andreas Kling  <andreas.kling@nokia.com>
996
997         Reviewed by Antonio Gomes.
998
999         Canvas: Fast-path for setting the already set color with setStrokeColor() and setFillColor()
1000         https://bugs.webkit.org/show_bug.cgi?id=43718
1001
1002         Avoid creating CanvasStyle objects when setting the same fill or stroke color using
1003         the WebKit-specific setters of CanvasRenderingContext2D.
1004
1005         * html/canvas/CanvasRenderingContext2D.cpp:
1006         (WebCore::CanvasRenderingContext2D::setStrokeColor):
1007         (WebCore::CanvasRenderingContext2D::setFillColor):
1008         * html/canvas/CanvasStyle.cpp:
1009         (WebCore::CanvasStyle::isEquivalentColor):
1010         * html/canvas/CanvasStyle.h: Added CanvasStyle::isEquivalentColor() overloads
1011         for RGBA and CMYKA channel values.
1012
1013 2010-08-09  Pavel Feldman  <pfeldman@chromium.org>
1014
1015         Reviewed by Yury Semikhatsky.
1016
1017         Web Inspector: restore original last panel restore logic.
1018
1019         https://bugs.webkit.org/show_bug.cgi?id=43719
1020
1021         * inspector/front-end/inspector.js:
1022         (WebInspector.showPanel):
1023
1024 2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
1025
1026         Unreviewed, fixing the builds after r64967.
1027
1028         * CMakeLists.txt:
1029         * GNUmakefile.am:
1030         * WebCore.pro:
1031         * WebCore.vcproj/WebCore.vcproj:
1032
1033 2010-05-27  MORITA Hajime  <morrita@google.com>
1034
1035         Reviewed by Ojan Vafai.
1036
1037         <http://webkit.org/b/36359>
1038         Double clicking page's last editable inline element causes assertion failure.
1039         <http://webkit.org/b/36360>
1040         Double clicking page's first editable inline element cannot select a word. 
1041
1042         nextBoundary() and previousBoundary() assumed that editable
1043         boundaries are on block-level elements, But it can appear on
1044         inline-level elements. So we start boundary look-up from the given
1045         node, instead of the containingBlock of the given node.
1046         Also, added TextIteratorEndsAtEditingBoundary to
1047         BackwardsCharacterIterator, otherwise, the VisiblePosition
1048         returned by BackwardsCharacterIterator might cross an editing
1049         boundary.
1050
1051         Test: editing/selection/doubleclick-inline-first-last-contenteditable.html        
1052
1053         * dom/Position.cpp:
1054         (WebCore::Position::parentEditingBoundary): Added.
1055         * dom/Position.h:
1056         * editing/TextIterator.cpp:
1057         (WebCore::TextIterator::TextIterator):
1058         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
1059         (WebCore::SimplifiedBackwardsTextIterator::advance):
1060         (WebCore::SimplifiedBackwardsTextIterator::crossesEditingBoundary): Added.
1061         (WebCore::SimplifiedBackwardsTextIterator::setCurrentNode): Added.
1062         (WebCore::SimplifiedBackwardsTextIterator::clearCurrentNode): Added.
1063         (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
1064         * editing/TextIterator.h:
1065         (WebCore::):
1066         * editing/visible_units.cpp:
1067         (WebCore::previousBoundary):
1068         (WebCore::nextBoundary):
1069
1070 2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
1071
1072         Reviewed by Yury Semikhatsky.
1073
1074         WebInspector: Current implementation of showPanel is a bit complicated.
1075         It is using internal enum for all the panels and this is the problem because
1076         we should change a lot of code for a new panel.
1077         https://bugs.webkit.org/show_bug.cgi?id=43711
1078
1079         * WebCore.exp.in:
1080         * inspector/Inspector.idl:
1081         * inspector/InspectorController.cpp:
1082         (WebCore::InspectorController::InspectorController):
1083         (WebCore::InspectorController::storeLastActivePanel):
1084         (WebCore::InspectorController::connectFrontend):
1085         (WebCore::InspectorController::showPanel):
1086         (WebCore::InspectorController::disconnectFrontend):
1087         * inspector/InspectorController.h:
1088         * inspector/InspectorFrontend.cpp:
1089         * inspector/InspectorFrontend.h:
1090         * inspector/front-end/ElementsTreeOutline.js:
1091         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
1092         * inspector/front-end/ExtensionServer.js:
1093         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1094         * inspector/front-end/inspector.js:
1095         (WebInspector.documentClick.followLink):
1096         (WebInspector.documentClick):
1097         (WebInspector.toggleSearchingForNode):
1098         (WebInspector.showPanel):
1099         (WebInspector.selectDatabase):
1100         (WebInspector.selectDOMStorage):
1101         (WebInspector.showProfileForURL):
1102
1103 2010-08-09  Ariya Hidayat  <ariya@sencha.com>
1104
1105         Reviewed by Kenneth Rohde Christiansen.
1106
1107         [Qt] GraphicsContext::clipOut(IntRect) ignores the transformation matrix.
1108         https://bugs.webkit.org/show_bug.cgi?id=43705
1109
1110         Just like clipOut(Path), which is taken care in r60796 already,
1111         clipOut(IntRect) must transform the window bounding box properly.
1112
1113         * platform/graphics/qt/GraphicsContextQt.cpp:
1114         (WebCore::GraphicsContext::clipOut):
1115
1116 2010-08-09  François Sausset  <sausset@gmail.com>
1117
1118         Reviewed by Kenneth Rohde Christiansen.
1119
1120         Implement mfenced MathML element
1121         Update stretchy operator code to take into account new brackets and to tune layout parameters
1122         https://bugs.webkit.org/show_bug.cgi?id=42472
1123
1124         Test: mathml/presentation/fenced.xhtml
1125
1126         * WebCore.xcodeproj/project.pbxproj:
1127         * mathml/MathMLInlineContainerElement.cpp:
1128         (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
1129         (WebCore::MathMLInlineContainerElement::createRenderer):
1130         * mathml/RenderMathMLFenced.cpp: Added.
1131         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
1132         (WebCore::RenderMathMLFenced::updateFromElement):
1133         (WebCore::RenderMathMLFenced::makeOperatorStyle):
1134         (WebCore::RenderMathMLFenced::makeFences):
1135         (WebCore::RenderMathMLFenced::addChild):
1136         (WebCore::RenderMathMLFenced::layout):
1137         * mathml/RenderMathMLFenced.h: Added.
1138         * mathml/RenderMathMLOperator.cpp:
1139         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
1140         (WebCore::RenderMathMLOperator::stretchToHeight):
1141         (WebCore::):
1142         (WebCore::RenderMathMLOperator::updateFromElement):
1143         (WebCore::RenderMathMLOperator::createStackableStyle):
1144         (WebCore::RenderMathMLOperator::createGlyph):
1145
1146 2010-08-08  ryuan choi  <ryuan.choi@samsung.com>
1147
1148         Reviewed by Darin Adler.
1149
1150         REGRESSION(64898,64949) build break because of wrong filename
1151         https://bugs.webkit.org/show_bug.cgi?id=43701
1152
1153         add SVGPathStringSource.cpp and modify SVGPathSourceString.cpp to
1154         SVGPathStringSource.cpp
1155
1156         simple fixing build break, so No new tests.
1157
1158         * CMakeLists.txt:
1159
1160 2010-08-08  Ariya Hidayat  <ariya@sencha.com>
1161
1162         Reviewed by Antonio Gomes.
1163
1164         Inconsistent Qt version checks
1165         https://bugs.webkit.org/show_bug.cgi?id=43695
1166
1167         Use QT_VERSION_CHECK macro instead of encoded hex.
1168
1169         * platform/graphics/qt/ImageBufferQt.cpp:
1170         (WebCore::getImageData):
1171         * platform/network/qt/NetworkStateNotifierPrivate.h:
1172         * platform/network/qt/NetworkStateNotifierQt.cpp:
1173         * platform/network/qt/QNetworkReplyHandler.cpp:
1174         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1175         (WebCore::QNetworkReplyHandler::start):
1176         * platform/qt/RenderThemeQt.cpp:
1177         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1178
1179 2010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
1180
1181         Reviewed by Antonio Gomes.
1182
1183         Web Inspector: Fix warning in WebCore/inspector/InspectorDebuggerAgent.cpp
1184         https://bugs.webkit.org/show_bug.cgi?id=43698
1185
1186         * inspector/InspectorDebuggerAgent.cpp:
1187         (WebCore::InspectorDebuggerAgent::editScriptSource): Add suggested parentheses.
1188
1189 2010-08-05  MORITA Hajime  <morrita@google.com>
1190
1191         Reviewed by Tony Chang.
1192
1193         Pasting should fire textInput event.
1194         https://bugs.webkit.org/show_bug.cgi?id=42958
1195
1196         - Extended TextEvents to hold paste-specific parameters
1197         - Did fire TextEvents at where we originally did immediate pastes.
1198         - Factored out TextEvent handling from EventHandler::defaultTextInputEventHandler()
1199           to Editor::handleTextEvent() because it's solely done by the editor.
1200         - move actual pasting logic to Editor::handleTextEvent() 
1201
1202         Test: editing/pasteboard/paste-text-events.html
1203
1204         * WebCore.exp.in:
1205         * dom/TextEvent.cpp:
1206         (WebCore::TextEvent::create):
1207         (WebCore::TextEvent::createForPlainTextPaste):
1208         (WebCore::TextEvent::createForFragmentPaste):
1209         (WebCore::TextEvent::TextEvent):
1210         * dom/TextEvent.h:
1211         (WebCore::TextEvent::isPaste):
1212         (WebCore::TextEvent::shouldSmartReplace):
1213         (WebCore::TextEvent::shouldMatchStyle):
1214         (WebCore::TextEvent::pastingFragment):
1215         * editing/Editor.cpp:
1216         (WebCore::Editor::handleTextEvent):
1217         (WebCore::Editor::pasteAsPlainText):
1218         (WebCore::Editor::pasteAsFragment):
1219         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
1220         (WebCore::Editor::pasteWithPasteboard):
1221         (WebCore::Editor::dispatchCPPEvent):
1222         (WebCore::Editor::findEventTargetFromSelection):
1223         * editing/Editor.h:
1224         * page/EventHandler.cpp:
1225         (WebCore::EventHandler::defaultTextInputEventHandler):
1226
1227 2010-08-08  Kevin Ollivier  <kevino@theolliviers.com>
1228
1229         [wx] Build fix, add member needed to compile Mac-specific font code.
1230
1231         * platform/graphics/wx/FontPlatformData.h:
1232         (WebCore::FontPlatformData::ctFont):
1233
1234 2010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
1235
1236         Reviewed by Eric Seidel.
1237
1238         [Qt] Fix warnings in WebCore/platform/WindowsKeyboardCodes.h
1239         https://bugs.webkit.org/show_bug.cgi?id=43360
1240
1241         * platform/WindowsKeyboardCodes.h: Undef macros which are also defined in MinGW/include/winuser.h to aviod gcc redefinition warning
1242
1243 2010-08-08  James Robinson  <jamesr@chromium.org>
1244
1245         Reviewed by Adam Barth.
1246
1247         Set the shouldLazyAttach flag to true in the tree builder's adoption agency algorithm
1248         https://bugs.webkit.org/show_bug.cgi?id=43610
1249
1250         Sets the shouldLazyAttach flag to true for appendChild() calls inside the HTML tree
1251         builder's adoption agency flag.  This is a speedup assuming that nodes subjected
1252         to the adoption agency are likely to be frequently reparented, and thus it is better
1253         to delay creating the render tree until later (when hopefully the DOM is finalized).
1254
1255         On my mac pro this speeds up fast/parser/residual-style-hang.html by 2.6X.
1256
1257         * html/HTMLTreeBuilder.cpp:
1258         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1259
1260 2010-08-08  Nikita Vasilyev  <me@elv1s.ru>
1261
1262         Reviewed by Pavel Feldman.
1263
1264         Web Inspector: speed-up Element.prototype.removeChildren
1265         https://bugs.webkit.org/show_bug.cgi?id=43687
1266
1267         * inspector/front-end/utilities.js:
1268         (Element.prototype.removeChildren):
1269
1270 2010-08-08  Ilya Tikhonovsky  <loislo@chromium.org>
1271
1272         Reviewed by Pavel Feldman.
1273
1274         WebInspector: remove hand written InspectorFrontend from almost all places.
1275         https://bugs.webkit.org/show_bug.cgi?id=43630
1276
1277         * inspector/ConsoleMessage.cpp:
1278         * inspector/InjectedScriptHost.cpp:
1279         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
1280         * inspector/InjectedScriptHost.h:
1281         * inspector/Inspector.idl:
1282         * inspector/InspectorBackend.cpp:
1283         * inspector/InspectorController.cpp:
1284         (WebCore::InspectorController::inspectedPageDestroyed):
1285         (WebCore::InspectorController::inspect):
1286         (WebCore::InspectorController::focusNode):
1287         (WebCore::InspectorController::windowVisible):
1288         (WebCore::InspectorController::addConsoleMessage):
1289         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1290         (WebCore::InspectorController::setSearchingForNode):
1291         (WebCore::InspectorController::setMonitoringXHR):
1292         (WebCore::InspectorController::connectFrontend):
1293         (WebCore::InspectorController::show):
1294         (WebCore::InspectorController::showPanel):
1295         (WebCore::InspectorController::close):
1296         (WebCore::InspectorController::disconnectFrontend):
1297         (WebCore::InspectorController::populateScriptObjects):
1298         (WebCore::InspectorController::didCommitLoad):
1299         (WebCore::InspectorController::enableResourceTracking):
1300         (WebCore::InspectorController::disableResourceTracking):
1301         (WebCore::InspectorController::startTimelineProfiler):
1302         (WebCore::InspectorController::stopTimelineProfiler):
1303         (WebCore::InspectorController::postWorkerNotificationToFrontend):
1304         (WebCore::InspectorController::didCreateWorker):
1305         (WebCore::InspectorController::didDestroyWorker):
1306         (WebCore::InspectorController::toggleRecordButton):
1307         (WebCore::InspectorController::enableProfiler):
1308         (WebCore::InspectorController::disableProfiler):
1309         (WebCore::InspectorController::enableDebuggerFromFrontend):
1310         (WebCore::InspectorController::enableDebugger):
1311         (WebCore::InspectorController::disableDebugger):
1312         (WebCore::InspectorController::evaluateForTestInFrontend):
1313         * inspector/InspectorFrontend.cpp:
1314         * inspector/InspectorFrontend.h:
1315         * inspector/InspectorFrontendClientLocal.cpp:
1316         * inspector/TimelineRecordFactory.cpp:
1317
1318 2010-08-08  Dan Bernstein  <mitz@apple.com>
1319
1320         Try to fix the Chromium Mac build after r64915.
1321
1322         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
1323         (WebCore::FontPlatformData::ctFont): Copied from mac/FontPlatformDataMac.mm.
1324
1325 2010-08-08  Dirk Schulze  <krit@webkit.org>
1326
1327         Reviewed by Nikolas Zimmermann.
1328
1329         Add missing String builder for SVGPathParser
1330         https://bugs.webkit.org/show_bug.cgi?id=43682
1331
1332         Introduces SVGPathStringBuilder. SVGPathParser clients, like normalized and unaltered
1333         SVGPathSegLists or SVGPathByteStreams, can be parsed and transformed to a string.
1334         StringBuilder can create a string of individual strings, seperated by spaces now.
1335         Share more code in SVGPathParserFactory and use a common general concept to manage SVG path
1336         data parsing.
1337
1338         Doesn't affect any tests.
1339
1340         * Android.mk:
1341         * GNUmakefile.am:
1342         * WebCore.gypi:
1343         * WebCore.pro:
1344         * WebCore.vcproj/WebCore.vcproj:
1345         * WebCore.xcodeproj/project.pbxproj:
1346         * platform/text/StringBuilder.cpp:
1347         (WebCore::StringBuilder::toString): Added possibility to use a space between individual strings. 
1348         * platform/text/StringBuilder.h: Cleanup according to WebKit style.
1349         (WebCore::):
1350         (WebCore::StringBuilder::StringBuilder):
1351         (WebCore::StringBuilder::setNonNull):
1352         (WebCore::StringBuilder::isNull):
1353         * svg/SVGAllInOne.cpp:
1354         * svg/SVGPathBuilder.h:
1355         (WebCore::SVGPathBuilder::cleanup): Clear all references.
1356         * svg/SVGPathByteStreamBuilder.h:
1357         (WebCore::SVGPathByteStreamBuilder::cleanup): dito.
1358         * svg/SVGPathConsumer.h:
1359         * svg/SVGPathParser.cpp:
1360         (WebCore::SVGPathParser::cleanup): dito.
1361         * svg/SVGPathParser.h:
1362         * svg/SVGPathParserFactory.cpp: Cleanup of factory. More code get shared.
1363         (WebCore::globalSVGPathBuilder):
1364         (WebCore::globalSVGPathSegListBuilder):
1365         (WebCore::globalSVGPathByteStreamBuilder):
1366         (WebCore::globalSVGPathStringBuilder):
1367         (WebCore::globalSVGPathParser):
1368         (WebCore::SVGPathParserFactory::buildPathFromString):
1369         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
1370         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
1371         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
1372         (WebCore::SVGPathParserFactory::buildStringFromByteStream):
1373         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
1374         * svg/SVGPathParserFactory.h:
1375         * svg/SVGPathSegListBuilder.h:
1376         (WebCore::SVGPathSegListBuilder::cleanup):
1377         * svg/SVGPathStringBuilder.cpp: Added. Build string from parsed SVG data.
1378         (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
1379         (WebCore::SVGPathStringBuilder::moveTo):
1380         (WebCore::SVGPathStringBuilder::lineTo):
1381         (WebCore::SVGPathStringBuilder::lineToHorizontal):
1382         (WebCore::SVGPathStringBuilder::lineToVertical):
1383         (WebCore::SVGPathStringBuilder::curveToCubic):
1384         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
1385         (WebCore::SVGPathStringBuilder::curveToQuadratic):
1386         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
1387         (WebCore::SVGPathStringBuilder::arcTo):
1388         (WebCore::SVGPathStringBuilder::closePath):
1389         * svg/SVGPathStringBuilder.h: Added.
1390         (WebCore::SVGPathStringBuilder::cleanup):
1391         (WebCore::SVGPathStringBuilder::result):
1392
1393 2010-08-08  Adam Barth  <abarth@webkit.org>
1394
1395         Reviewed by Eric Seidel.
1396
1397         cross_fuzz WebCore::SelectionController::isFocusedAndActive ReadAV@NULL (9e865de49b1800ec790dcc35d8ebd069)
1398         https://bugs.webkit.org/show_bug.cgi?id=43040
1399
1400         The pointer from Document to Frame can be null.  See http://webkit.org/coding/major-objects.html.
1401
1402         * css/CSSStyleSelector.cpp:
1403         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1404
1405 2010-08-08  Adam Barth  <abarth@webkit.org>
1406
1407         Reviewed by Dimitri Glazkov.
1408
1409         frame()->selection() can't be null
1410         https://bugs.webkit.org/show_bug.cgi?id=43681
1411
1412         SelectionController is a component of Frame.  If frame is non-null, it
1413         can't possibly be null.
1414
1415         * html/HTMLAnchorElement.cpp:
1416         (WebCore::HTMLAnchorElement::setActive):
1417
1418 2010-08-08  Adam Barth  <abarth@webkit.org>
1419
1420         Reviewed by Dimitri Glazkov.
1421
1422         SVGLength uses ASSERTs to validate user input
1423         https://bugs.webkit.org/show_bug.cgi?id=43680
1424
1425         ASSERTs aren't in release builds, so we can't use them to validate user
1426         input!  We've seen a bunch of examples of this in SVG code.  It might
1427         be worth auditing all the code to remove this misguided pattern.
1428
1429         Test: svg/dom/svg-length-units.html
1430
1431         * svg/SVGLength.cpp:
1432         (WebCore::SVGLength::newValueSpecifiedUnits):
1433         (WebCore::SVGLength::convertToSpecifiedUnits):
1434
1435 2010-08-07  Adam Barth  <abarth@webkit.org>
1436
1437         Reviewed by Sam Weinig.
1438
1439         Empty strings can have more than one ref
1440         https://bugs.webkit.org/show_bug.cgi?id=43666
1441
1442         These asserts are trying to say that we have a thread-safe copy of the
1443         string, but they're not accurate for empty strings because we use a
1444         special static empty string that magically has infinite refs.
1445
1446         * storage/OriginUsageRecord.cpp:
1447         (WebCore::OriginUsageRecord::addDatabase):
1448         (WebCore::OriginUsageRecord::markDatabase):
1449
1450 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1451         Reviewed by Eric Seidel.
1452
1453         [WML] Add KURL parameter to WMLDocument::create() 
1454         https://bugs.webkit.org/show_bug.cgi?id=43173
1455
1456         To fix build break in WML, url parameter is added. Because, 
1457         Document class has url parameter.
1458
1459         * wml/WMLDocument.cpp:
1460         (WebCore::WMLDocument::WMLDocument):
1461         * wml/WMLDocument.h:
1462         (WebCore::WMLDocument::create): Add an url parameter to create() method
1463
1464 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1465
1466         Reviewed by Eric Seidel.
1467
1468         [WML] Change getIDAttribute() with getIdAttribute()
1469         https://bugs.webkit.org/show_bug.cgi?id=43175
1470
1471         Change getIDAttribute() with getIdAttribute() because function 
1472         name was changed.
1473
1474         * wml/WMLCardElement.cpp:
1475         (WebCore::WMLCardElement::findNamedCardInDocument): Change getIDAttribute() with getIdAttribute().
1476
1477 2010-08-07  Mihai Parparita  <mihaip@chromium.org>
1478
1479         Reviewed by Adam Barth.
1480
1481         WebTiming does not take page cache into account
1482         https://bugs.webkit.org/show_bug.cgi?id=42772
1483
1484         When restoring a page from the page cache, reset its DocumentLoadTiming
1485         struct and record navigationStart.
1486     
1487         Test: fast/events/onunload-back-to-page-cache.html
1488
1489         * loader/DocumentLoadTiming.h: removed Noncopyable, since it's just a simple struct.
1490         * loader/DocumentLoader.h:
1491         (WebCore::DocumentLoader::resetTiming): Added method.
1492         * loader/FrameLoader.cpp:
1493         (WebCore::FrameLoader::stopLoading): Uncommented assert.
1494         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): Added resetTiming() call.
1495
1496 2010-08-07  Zoltan Horvath  <zoltan@webkit.org>
1497
1498         Reviewed by Eric Seidel.
1499
1500         Allow custom memory allocation control for EventHandlingState struct
1501         https://bugs.webkit.org/show_bug.cgi?id=43548
1502
1503         Inherits the following class from FastAllocBase because it is
1504         instantiated by 'new':
1505
1506         struct name         - instantiated at: WebCore/
1507         EventHandlingState  - html/HTMLInputElement.cpp:2051
1508
1509         * html/HTMLInputElement.cpp:
1510
1511 2010-08-07  Jay Civelli  <jcivelli@chromium.org>
1512
1513         Reviewed by Eric Seidel.
1514
1515         [Chromium] Remove unecessary focus code.
1516         https://bugs.webkit.org/show_bug.cgi?id=43542
1517
1518         * platform/chromium/ChromiumBridge.h:
1519         * platform/chromium/WidgetChromium.cpp:
1520         (WebCore::Widget::setFocus):
1521
1522 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1523
1524         Reviewed by Eric Seidel.
1525
1526         [WML] Include FormDataBuilder.h in WMLGoElement.h
1527         https://bugs.webkit.org/show_bug.cgi?id=43177
1528
1529         To fix build breaks in WMLGoElement.cpp, FormDataBuilder.h needs to be included.
1530
1531         * wml/WMLGoElement.cpp: Include FormDataBuilder.h
1532
1533 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1534
1535         Reviewed by Eric Seidel.
1536
1537         [WML] Add dummy argument to SelectElement::defaultEventHandler() in WMLSelectElement
1538         https://bugs.webkit.org/show_bug.cgi?id=43176
1539
1540         * wml/WMLSelectElement.cpp:
1541         (WebCore::WMLSelectElement::defaultEventHandler): Sets NULL parameter to SelectElement::defaultEventHandler.
1542
1543 2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1544
1545         Reviewed by Eric Seidel.
1546
1547         [WML] Change DocumentParser with ScriptableDocumentParser in WMLDocument
1548         https://bugs.webkit.org/show_bug.cgi?id=43174
1549
1550         * wml/WMLDocument.cpp:
1551         (WebCore::WMLDocument::finishedParsing): Change DocumentParser with ScriptableDocumentParser.
1552
1553 2010-08-07  Dan Bernstein  <mitz@apple.com>
1554
1555         Reviewed by Sam Weinig.
1556
1557         Use ctFont() to get the CTFont.
1558
1559         * platform/graphics/mac/FontMac.mm:
1560         (WebCore::showGlyphsWithAdvances):
1561
1562 2010-08-07  Adam Barth  <abarth@webkit.org>
1563
1564         Reviewed by Sam Weinig.
1565
1566         document->documentElement can always be null
1567         https://bugs.webkit.org/show_bug.cgi?id=43677
1568
1569         This ASSERT is bogus.
1570
1571         * css/StyleMedia.cpp:
1572         (WebCore::StyleMedia::matchMedium):
1573
1574 2010-08-07  Dan Bernstein  <mitz@apple.com>
1575
1576         Reviewed by Anders Carlsson.
1577
1578         <rdar://problem/8285090> First word on a line doesn’t hyphenate properly
1579         https://bugs.webkit.org/show_bug.cgi?id=43679
1580
1581         Test: fast/text/hyphenate-first-word.html
1582
1583         * rendering/RenderBlockLineLayout.cpp:
1584         (WebCore::tryHyphenating): The character at lastSpace is not necessarily a whitespace character
1585         before the current word. It can also be part of the word, such as when the word is the first
1586         one on the line. Include the charcater at lastSpace in the string passed to lastHyphenLocation().
1587
1588 2010-08-07  Dan Bernstein  <mitz@apple.com>
1589
1590         Build fix
1591
1592         * platform/graphics/SimpleFontData.h:
1593
1594 2010-08-07  Dan Bernstein  <mitz@apple.com>
1595
1596         Reviewed by Anders Carlsson.
1597
1598         Created a separate SimpleFontData constructor exclusively for SVG fonts and moved the CTFontRef
1599         from SimpleFontData to FontPlatformData.
1600         https://bugs.webkit.org/show_bug.cgi?id=43674
1601
1602         * config.h: Moved definitions of WTF_USE_CORE_TEXT and WTF_USE_ATSUI from here to wtf/Platform.h.
1603         * css/CSSFontFaceSource.cpp:
1604         (WebCore::CSSFontFaceSource::getFontData): Use new SimpleFontData constructor for SVG fonts.
1605         * platform/graphics/SimpleFontData.cpp:
1606         (WebCore::SimpleFontData::SimpleFontData): Separated into two constructors, one for
1607         PlatformFontData-based fonts and one for SVG fonts.
1608         * platform/graphics/SimpleFontData.h: Moved the m_CTFont member variable and the getCTFont()
1609         accessor from here…
1610         * platform/graphics/mac/FontPlatformData.h: …to here, renaming the latter ctFont().
1611         * platform/graphics/mac/FontPlatformDataMac.mm:
1612         (WebCore::FontPlatformData::FontPlatformData): Copy m_CTFont.
1613         (WebCore::FontPlatformData::operator=): Copy m_CTFont.
1614         (WebCore::FontPlatformData::setFont): Clear m_CTFont.
1615         (WebCore::FontPlatformData::ctFont): Moved here from SimpleFontDataCoreText.cpp and renamed.
1616         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1617         (WebCore::SimpleFontData::getCFStringAttributes): Updated to use FontPlatformData::ctFont().
1618         * svg/SVGFontData.cpp:
1619         (WebCore::SVGFontData::SVGFontData): Added an assertion.
1620
1621 2010-08-07  Adam Barth  <abarth@webkit.org>
1622
1623         Reviewed by Dimitri Glazkov.
1624
1625         Regression: Memory corruption in tree builder
1626         https://bugs.webkit.org/show_bug.cgi?id=43672
1627
1628         Turns out this ASSERT was wrong and we need the branch.  Yay for
1629         test-driven development.
1630
1631         * html/HTMLTreeBuilder.cpp:
1632         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1633
1634 2010-08-07  Dirk Schulze  <krit@webkit.org>
1635
1636         Unreviewed build-fix.
1637
1638         Come up with a more efficient way to represent Path segments
1639         https://bugs.webkit.org/show_bug.cgi?id=41159
1640
1641         Landed wrong version of the patch.
1642
1643         * svg/SVGPathByteStreamSource.cpp:
1644         (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
1645         (WebCore::SVGPathByteStreamSource::hasMoreData):
1646         * svg/SVGPathByteStreamSource.h:
1647         (WebCore::SVGPathByteStreamSource::moveToNextToken):
1648         * svg/SVGPathParserFactory.cpp:
1649         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
1650         (WebCore::SVGPathParserFactory::createSVGPathByteStreamFromString):
1651         * svg/SVGPathParserFactory.h:
1652
1653 2010-08-07  Dirk Schulze  <krit@webkit.org>
1654
1655         Reviewed by Nikolas Zimmermann.
1656
1657         Come up with a more efficient way to represent Path segments
1658         https://bugs.webkit.org/show_bug.cgi?id=41159
1659
1660         Introduce SVGPathByteStream as a fast and efficient way to organize the synchronization
1661         of Path, SVG path data string and SVGPathSegList in normalized and unaltered modes.
1662         Extended SVGPathParserFactory to accept SVGPathByteStreams as input source and to create
1663         a SVGPathByteStream from a SVG path data string.
1664
1665         Doesn't affect any tests.
1666
1667         * Android.mk:
1668         * CMakeLists.txt:
1669         * GNUmakefile.am:
1670         * WebCore.gypi:
1671         * WebCore.pro:
1672         * WebCore.vcproj/WebCore.vcproj:
1673         * svg/SVGAllInOne.cpp:
1674         * svg/SVGPathByteStream.h: Added.
1675         (WebCore::):
1676         (WebCore::SVGPathByteStream::create):
1677         (WebCore::SVGPathByteStream::data):
1678         (WebCore::SVGPathByteStream::begin):
1679         (WebCore::SVGPathByteStream::end):
1680         (WebCore::SVGPathByteStream::append):
1681         (WebCore::SVGPathByteStream::clear):
1682         (WebCore::SVGPathByteStream::isEmpty):
1683         (WebCore::SVGPathByteStream::SVGPathByteStream):
1684         * svg/SVGPathByteStreamBuilder.cpp: Added.
1685         (WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
1686         (WebCore::SVGPathByteStreamBuilder::moveTo):
1687         (WebCore::SVGPathByteStreamBuilder::lineTo):
1688         (WebCore::SVGPathByteStreamBuilder::lineToHorizontal):
1689         (WebCore::SVGPathByteStreamBuilder::lineToVertical):
1690         (WebCore::SVGPathByteStreamBuilder::curveToCubic):
1691         (WebCore::SVGPathByteStreamBuilder::curveToCubicSmooth):
1692         (WebCore::SVGPathByteStreamBuilder::curveToQuadratic):
1693         (WebCore::SVGPathByteStreamBuilder::curveToQuadraticSmooth):
1694         (WebCore::SVGPathByteStreamBuilder::arcTo):
1695         (WebCore::SVGPathByteStreamBuilder::closePath):
1696         * svg/SVGPathByteStreamBuilder.h: Added.
1697         (WebCore::SVGPathByteStreamBuilder::setCurrentByteStream):
1698         (WebCore::SVGPathByteStreamBuilder::writeType):
1699         (WebCore::SVGPathByteStreamBuilder::writeFlag):
1700         (WebCore::SVGPathByteStreamBuilder::writeFloat):
1701         (WebCore::SVGPathByteStreamBuilder::writeFloatPoint):
1702         (WebCore::SVGPathByteStreamBuilder::writeSegmentType):
1703         * svg/SVGPathByteStreamSource.cpp: Added.
1704         (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
1705         (WebCore::SVGPathByteStreamSource::~SVGPathByteStreamSource):
1706         (WebCore::SVGPathByteStreamSource::hasMoreData):
1707         (WebCore::SVGPathByteStreamSource::parseFloat):
1708         (WebCore::SVGPathByteStreamSource::parseFlag):
1709         (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
1710         (WebCore::SVGPathByteStreamSource::nextCommand):
1711         * svg/SVGPathByteStreamSource.h: Added.
1712         (WebCore::SVGPathByteStreamSource::create):
1713         (WebCore::SVGPathByteStreamSource::readType):
1714         (WebCore::SVGPathByteStreamSource::readFlag):
1715         (WebCore::SVGPathByteStreamSource::readFloat):
1716         (WebCore::SVGPathByteStreamSource::readSVGSegmentType):
1717         (WebCore::SVGPathByteStreamSource::readFloatPoint):
1718         * svg/SVGPathParserFactory.cpp:
1719         (WebCore::globalSVGPathByteStreamBuilder):
1720         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
1721         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
1722         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
1723         * svg/SVGPathParserFactory.h:
1724
1725 2010-08-07  Dirk Schulze  <krit@webkit.org>
1726
1727         Not reviewed. Sort Xcode project file.
1728
1729         * WebCore.xcodeproj/project.pbxproj:
1730
1731 2010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1732
1733         Unreviewed, rolling out r64904.
1734         http://trac.webkit.org/changeset/64904
1735         https://bugs.webkit.org/show_bug.cgi?id=43671
1736
1737         Broke the Qt Windows builders. (Requested by bbandix on
1738         #webkit).
1739
1740         * WebCore.pri:
1741         * WebCore.pro:
1742         * features.pri: Removed.
1743
1744 2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>
1745
1746         Reviewed by Eric Seidel.
1747
1748         [Qt] Build WebKit2 into a static lib
1749
1750         https://bugs.webkit.org/show_bug.cgi?id=43621
1751
1752         Just build changes so no new tests.
1753
1754         * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
1755         * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
1756         * features.pri: Added.
1757
1758 2010-08-07  Nikolas Zimmermann  <nzimmermann@rim.com>
1759
1760         Reviewed by Daniel Bates.
1761
1762         Pattern fill with image not rendered after reload
1763         https://bugs.webkit.org/show_bug.cgi?id=41596
1764
1765         Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
1766         resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
1767
1768         Test: http/tests/misc/slow-loading-image-in-pattern.html
1769
1770         * rendering/RenderSVGImage.cpp:
1771         (WebCore::RenderSVGImage::imageChanged):
1772
1773 2010-08-06  Dirk Schulze  <krit@webkit.org>
1774
1775         Reviewed by Nikolas Zimmermann.
1776
1777         Generalize SVGPathParser to allow more than just strings as input source
1778         https://bugs.webkit.org/show_bug.cgi?id=43618
1779
1780         Generalize SVGPathParser, by allowing different parsing sources than just strings.
1781         For now only a SVGPathStringSource is available, parsing from bytestreams follows soon.
1782         Each client that wants to parse strings, like Path or SVGPathSegList objects, only
1783         needs to use the new central SVGPathParserFactory, which glues consumer and sources together.
1784         Moved the SVGPathSegType enum from SVGPathSeg class in WebCore namespace, for
1785         easier access throughout the SVG code.
1786
1787         Doesn't affect any tests.
1788
1789         * Android.mk:
1790         * CMakeLists.txt
1791         * GNUmakefile.am:
1792         * WebCore.gypi:
1793         * WebCore.pro:
1794         * WebCore.vcproj/WebCore.vcproj:
1795         * WebCore.xcodeproj/project.pbxproj
1796         * svg/SVGAllInOne.cpp:
1797         * svg/SVGAnimateElement.cpp:
1798         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1799         * svg/SVGAnimateMotionElement.cpp:
1800         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
1801         * svg/SVGGlyphElement.cpp:
1802         (WebCore::parsePathData):
1803         * svg/SVGPathBuilder.cpp:
1804         (WebCore::SVGPathBuilder::SVGPathBuilder):
1805         (WebCore::SVGPathBuilder::moveTo):
1806         (WebCore::SVGPathBuilder::lineTo):
1807         (WebCore::SVGPathBuilder::curveToCubic):
1808         (WebCore::SVGPathBuilder::closePath):
1809         * svg/SVGPathBuilder.h:
1810         (WebCore::SVGPathBuilder::setCurrentPath):
1811         (WebCore::SVGPathBuilder::arcTo):
1812         * svg/SVGPathConsumer.h:
1813         * svg/SVGPathElement.cpp:
1814         (WebCore::SVGPathElement::parseMappedAttribute):
1815         * svg/SVGPathParser.cpp:
1816         (WebCore::SVGPathParser::SVGPathParser):
1817         (WebCore::SVGPathParser::parseClosePathSegment):
1818         (WebCore::SVGPathParser::parseMoveToSegment):
1819         (WebCore::SVGPathParser::parseLineToSegment):
1820         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
1821         (WebCore::SVGPathParser::parseLineToVerticalSegment):
1822         (WebCore::SVGPathParser::parseCurveToCubicSegment):
1823         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
1824         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
1825         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
1826         (WebCore::SVGPathParser::parseArcToSegment):
1827         (WebCore::SVGPathParser::parsePathDataFromSource):
1828         (WebCore::SVGPathParser::decomposeArcToCubic):
1829         * svg/SVGPathParser.h:
1830         (WebCore::SVGPathParser::setCurrentConsumer):
1831         * svg/SVGPathParserFactory.cpp: Added.
1832         (WebCore::globalSVGPathBuilder):
1833         (WebCore::globalSVGPathSegListBuilder):
1834         (WebCore::globalSVGPathParser):
1835         (WebCore::SVGPathParserFactory::self):
1836         (WebCore::SVGPathParserFactory::SVGPathParserFactory):
1837         (WebCore::SVGPathParserFactory::~SVGPathParserFactory):
1838         (WebCore::SVGPathParserFactory::buildPathFromString):
1839         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
1840         * svg/SVGPathParserFactory.h: Added.
1841         * svg/SVGPathSeg.h:
1842         (WebCore::):
1843         (WebCore::SVGPathSeg::~SVGPathSeg):
1844         (WebCore::SVGPathSeg::):
1845         (WebCore::SVGPathSeg::pathSegType):
1846         (WebCore::SVGPathSeg::pathSegTypeAsLetter):
1847         (WebCore::SVGPathSeg::toString):
1848         (WebCore::SVGPathSeg::associatedAttributeName):
1849         (WebCore::SVGPathSeg::SVGPathSeg):
1850         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
1851         (WebCore::SVGPathSegSingleCoord::setX):
1852         (WebCore::SVGPathSegSingleCoord::x):
1853         (WebCore::SVGPathSegSingleCoord::setY):
1854         (WebCore::SVGPathSegSingleCoord::y):
1855         (WebCore::SVGPathSegSingleCoord::toString):
1856         * svg/SVGPathSegList.cpp:
1857         (WebCore::SVGPathSegList::getPathSegAtLength):
1858         (WebCore::SVGPathSegList::toPathData):
1859         (WebCore::SVGPathSegList::createAnimated):
1860         * svg/SVGPathSegListBuilder.cpp:
1861         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
1862         (WebCore::SVGPathSegListBuilder::moveTo):
1863         (WebCore::SVGPathSegListBuilder::lineTo):
1864         (WebCore::SVGPathSegListBuilder::curveToCubic):
1865         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
1866         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
1867         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
1868         (WebCore::SVGPathSegListBuilder::arcTo):
1869         * svg/SVGPathSegListBuilder.h:
1870         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
1871         * svg/SVGPathSource.h: Added.
1872         (WebCore::SVGPathSource::~SVGPathSource):
1873         (WebCore::SVGPathSource::SVGPathSource):
1874         * svg/SVGPathStringSource.cpp: Added.
1875         (WebCore::SVGPathStringSource::SVGPathStringSource):
1876         (WebCore::SVGPathStringSource::~SVGPathStringSource):
1877         (WebCore::SVGPathStringSource::endOfStream):
1878         (WebCore::SVGPathStringSource::parseFloat):
1879         (WebCore::SVGPathStringSource::parseFlag):
1880         (WebCore::SVGPathStringSource::skipSpaces):
1881         (WebCore::SVGPathStringSource::parseSVGSegmentType):
1882         (WebCore::SVGPathStringSource::hasRemainingCoordinatesInCurrentCommand):
1883         * svg/SVGPathStringSource.h: Added.
1884         (WebCore::SVGPathStringSource::create):
1885
1886 2010-08-06  Robert Hogan  <robert@webkit.org>
1887
1888         Reviewed by Adam Barth.
1889
1890         Define setPrivateBrowsingEnabled()
1891         https://bugs.webkit.org/show_bug.cgi?id=42283
1892
1893         Define the scope of 'private browsing' in WebKit
1894         See also https://bugs.webkit.org/show_bug.cgi?id=41801
1895
1896         * page/Settings.h:
1897
1898 2010-08-06  Adam Barth  <abarth@webkit.org>
1899
1900         Reviewed by Eric Seidel.
1901
1902         REGRESSION (r64712): YouTube video pages have contents of <noembed> elements overlapping the video description
1903         https://bugs.webkit.org/show_bug.cgi?id=43605
1904
1905         The old parser used to drop <noembed> on the floor.  We're supposed to
1906         add it to the DOM, but we don't want to create a renderer for it.
1907
1908         * html/HTMLElement.cpp:
1909         (WebCore::HTMLElement::rendererIsNeeded):
1910
1911 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
1912
1913         Reviewed by Adam Barth.
1914
1915         Fix style violations in Document
1916         https://bugs.webkit.org/show_bug.cgi?id=43657
1917
1918         No new tests because no new functionality.
1919
1920         * dom/Document.cpp:
1921         (WebCore::acceptsEditingFocus):
1922         (WebCore::Document::Document):
1923         (WebCore::Document::importNode):
1924         (WebCore::Document::adoptNode):
1925         (WebCore::Document::getElementById):
1926         (WebCore::Document::readyState):
1927         (WebCore::Document::createTreeWalker):
1928         (WebCore::Document::shouldScheduleLayout):
1929         (WebCore::Document::nextFocusableNode):
1930         (WebCore::Document::previousFocusableNode):
1931         (WebCore::Document::nodeAbsIndex):
1932         (WebCore::Document::nodeWithAbsIndex):
1933         (WebCore::Document::childTypeAllowed):
1934         (WebCore::Document::canReplaceChild):
1935         (WebCore::Document::recalcStyleSelector):
1936         (WebCore::Document::setFocusedNode):
1937         (WebCore::Document::attachNodeIterator):
1938         (WebCore::Document::detachNodeIterator):
1939         (WebCore::Document::parseQualifiedName):
1940         (WebCore::Document::getImageMap):
1941         (WebCore::Document::setInPageCache):
1942         (WebCore::Document::addMarker):
1943         (WebCore::Document::copyMarkers):
1944         (WebCore::Document::shiftMarkers):
1945         (WebCore::Document::setMarkersActive):
1946         (WebCore::Document::parentDocument):
1947         (WebCore::Document::topDocument):
1948         (WebCore::FormElementKeyHash::hash):
1949         (WebCore::Document::initSecurityContext):
1950         * dom/Document.h:
1951         (WebCore::Document::incDOMTreeVersion):
1952         (WebCore::Document::domTreeVersion):
1953
1954 2010-08-06  Eric Carlson  <eric.carlson@apple.com>
1955
1956         Unreviewed, release Qt build fix.
1957
1958         * rendering/RenderLayerBacking.cpp:
1959         (WebCore::RenderLayerBacking::containsPaintedContent): Guard call to toRenderVideo()
1960         with #if ENABLE(VIDEO).
1961
1962 2010-08-06  Eric Carlson  <eric.carlson@apple.com>
1963
1964         Reviewed by Simon Fraser.
1965
1966         HTML5 "video" tag with poster frame defined "flashes" right before movie displays
1967         https://bugs.webkit.org/show_bug.cgi?id=37591
1968         <rdar://problem/5650561>
1969
1970         If a video element has a poster frame, display it until the playback is requested or the movie's
1971         time is changed.
1972
1973         Test: compositing/video/video-poster.html
1974
1975         * html/HTMLMediaElement.cpp:
1976         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_displayMode.
1977         (WebCore::HTMLMediaElement::prepareForLoad): Set m_displayMode to Unknown.
1978         (WebCore::HTMLMediaElement::loadResource): Call updateDisplayState to let it set configure
1979         the poster, if necessary.
1980         (WebCore::HTMLMediaElement::noneSupported): updatePosterImage -> updateDisplayState.
1981         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
1982         (WebCore::HTMLMediaElement::setReadyState): Ditto.
1983         (WebCore::HTMLMediaElement::finishSeek): Set display mode to Video so a video frame will be
1984         displayed if a poster is currently visible.
1985         (WebCore::HTMLMediaElement::mediaPlayerRepaint): updatePosterImage -> updateDisplayState.
1986         (WebCore::HTMLMediaElement::updatePlayState): Set display mode to Video.
1987         * html/HTMLMediaElement.h:
1988         (WebCore::HTMLMediaElement::displayMode): New.
1989         (WebCore::HTMLMediaElement::setDisplayMode): Ditto.
1990         (WebCore::HTMLMediaElement::updateDisplayState): Ditto.
1991
1992         * html/HTMLVideoElement.cpp:
1993         (WebCore::HTMLVideoElement::HTMLVideoElement): Remove m_shouldDisplayPosterImage.
1994         (WebCore::HTMLVideoElement::attach): Call shouldDisplayPosterImage instead of checking
1995         m_shouldDisplayPosterImage directly.
1996         (WebCore::HTMLVideoElement::detach): Ditto.
1997         (WebCore::HTMLVideoElement::parseMappedAttribute): Set m_displayMode to Unknown before calling 
1998         updateDisplayState so shouldDisplayPosterImage() will return the correct result. Remove the
1999         PLUGIN_PROXY_FOR_VIDEO code, it is now in updateDisplayState.
2000         (WebCore::HTMLVideoElement::setDisplayMode): Renamed from updatePosterImage and rework logic
2001         so we tell the media engine it is OK to display video frames when there is no poster, or 
2002         once the media engine has something to display and the movie has started or seeked.
2003         (WebCore::HTMLVideoElement::updateDisplayState): New, manage display mode based on poster 
2004         attribute.
2005         * html/HTMLVideoElement.h:
2006         (WebCore::HTMLVideoElement::shouldDisplayPosterImage):
2007
2008         * platform/graphics/MediaPlayer.cpp:
2009         (WebCore::MediaPlayer::prepareForRendering): New, call media engine's prepareForRendering.
2010         * platform/graphics/MediaPlayer.h:
2011         * platform/graphics/MediaPlayerPrivate.h:
2012         (WebCore::MediaPlayerPrivateInterface::prepareForRendering):
2013
2014         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2015         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2016         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_isAllowedToRender.
2017         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
2018         (WebCore::MediaPlayerPrivate::isReadyForVideoSetup): Renamed from isReadyForRendering.
2019         (WebCore::MediaPlayerPrivate::prepareForRendering): New, set m_isAllowedToRender and
2020         inform the client that render tree should be updated so we correctly switch from showing
2021         the poster, which often doens't use a layer, to showing video frames, which do.
2022         (WebCore::MediaPlayerPrivate::updateStates): Don't call setUpVideoRendering until 
2023         isReadyForVideoSetup() returns true.
2024         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): isReadyForRendering -> isReadyForVideoSetup
2025
2026         * rendering/RenderLayerBacking.cpp:
2027         (WebCore::RenderLayerBacking::containsPaintedContent): Only consider video when displaying
2028         video frames so a poster won't force compositing mode.
2029
2030         * rendering/RenderLayerCompositor.cpp:
2031         (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
2032
2033         * rendering/RenderVideo.cpp:
2034         (WebCore::RenderVideo::shouldDisplayVideo): New, return true when not displaying a poster.
2035         * rendering/RenderVideo.h:
2036
2037 2010-08-06  James Robinson  <jamesr@chromium.org>
2038
2039         Reviewed by Simon Fraser.
2040
2041         Accelerated 2d canvases should get compositing layers
2042         https://bugs.webkit.org/show_bug.cgi?id=43362
2043
2044         Allows for 2d canvas rendering contexts to use a GraphicsContext3D for
2045         accelerated rendering.  The rendering context holds the GraphicsContext3D
2046         alive and exposes it to the compositor.  The 3d context itself is passed
2047         down through the GraphicsContext to use for actual rendering:
2048         https://bug-43362-attachments.webkit.org/attachment.cgi?id=63557
2049
2050         This approach will let us simultaneously prototype accelerated techniques
2051         for canvas 2d and revise the design of canvas elements without destabilizing
2052         all ports.
2053
2054         * html/HTMLCanvasElement.cpp:
2055         (WebCore::HTMLCanvasElement::getContext):
2056         (WebCore::HTMLCanvasElement::willDraw):
2057         (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable):
2058         * html/canvas/CanvasRenderingContext.h:
2059         (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
2060         * html/canvas/CanvasRenderingContext2D.cpp:
2061         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2062         (WebCore::CanvasRenderingContext2D::isAccelerated):
2063         (WebCore::CanvasRenderingContext2D::reset):
2064         (WebCore::CanvasRenderingContext2D::willDraw):
2065         (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
2066         * html/canvas/CanvasRenderingContext2D.h:
2067         (WebCore::CanvasRenderingContext2D::graphicsContext3D):
2068         * html/canvas/WebGLRenderingContext.cpp:
2069         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2070         * html/canvas/WebGLRenderingContext.h:
2071         * platform/graphics/GraphicsContext.h:
2072         * platform/graphics/skia/GraphicsContextSkia.cpp:
2073         (WebCore::GraphicsContext::syncSoftwareCanvas):
2074
2075 2010-08-06  Eric Seidel  <eric@webkit.org>
2076
2077         Reviewed by Chris Fleizach.
2078
2079         Make AX Code use more specific RenderObject subclass types
2080         https://bugs.webkit.org/show_bug.cgi?id=43632
2081
2082         No functional change, thus no tests.
2083
2084         * accessibility/AXObjectCache.cpp:
2085         (WebCore::nodeHasRole):
2086          - Make this take a String instead of AtomicString, to avoid
2087            thrashing the atomic string hash.
2088            It would be better to take a const char* here, except
2089            one caller passes nullAtom.
2090         (WebCore::createFromRenderer):
2091          - Split this out from getOrCreate to make it simpler.
2092          - No longer needs to deal with setting a "result"
2093            pointer and can instead just return.
2094          - I've also made this function use RenderBoxModelObject*
2095            where appropriate.
2096         (WebCore::AXObjectCache::getOrCreate):
2097         * accessibility/AXObjectCache.h:
2098         * accessibility/AccessibilityImageMapLink.cpp:
2099         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
2100          - Fix style.
2101         * accessibility/AccessibilityMenuList.cpp:
2102         (WebCore::AccessibilityMenuList::AccessibilityMenuList):
2103          - Use a more specific type.
2104         (WebCore::AccessibilityMenuList::renderer):
2105         * accessibility/AccessibilityMenuList.h:
2106         (WebCore::AccessibilityMenuList::create):
2107         * accessibility/AccessibilityMenuListPopup.cpp:
2108          - Need RenderMenuList.h since renderer() is a RenderMenuList*
2109         * accessibility/AccessibilityObject.cpp:
2110         (WebCore::renderListItemContainerForNode):
2111         * accessibility/AccessibilityRenderObject.cpp:
2112         (WebCore::AccessibilityRenderObject::renderBoxModelObject):
2113          - New helper function, similar to Node::renderBoxModelObject()
2114         (WebCore::isInlineWithContinuation):
2115         (WebCore::AccessibilityRenderObject::isNativeImage):
2116         (WebCore::AccessibilityRenderObject::isAttachment):
2117         (WebCore::AccessibilityRenderObject::isMultiSelectable):
2118         (WebCore::AccessibilityRenderObject::isReadOnly):
2119         (WebCore::AccessibilityRenderObject::isFieldset):
2120         (WebCore::AccessibilityRenderObject::actionElement):
2121         (WebCore::AccessibilityRenderObject::stringValue):
2122         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2123         (WebCore::AccessibilityRenderObject::setValue):
2124         (WebCore::AccessibilityRenderObject::widget):
2125         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2126         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2127         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
2128         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2129         (WebCore::AccessibilityRenderObject::addChildren):
2130         (WebCore::msaaRoleForRenderer):
2131         * accessibility/AccessibilityRenderObject.h:
2132         * accessibility/AccessibilityTable.cpp:
2133         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2134         * accessibility/AccessibilityTable.h:
2135          - Remove unneeded "using namespace std".
2136
2137 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
2138
2139         Reviewed by Eric Seidel.
2140
2141         Factor an AsyncScriptRunner out of Document
2142         https://bugs.webkit.org/show_bug.cgi?id=43633
2143
2144         This copies the existing implementation exactly. In the future
2145         this will use PendingScript which handles ref counting without
2146         the need for those manual ref()/deref()s. This is also currently
2147         a trivial class, but a little more logic will be added to it to
2148         support <script async>.
2149
2150         No new tests because no new functionality.
2151
2152         * Android.mk:
2153         * CMakeLists.txt:
2154         * GNUmakefile.am:
2155         * WebCore.gypi:
2156         * WebCore.pro:
2157         * WebCore.vcproj/WebCore.vcproj:
2158         * WebCore.xcodeproj/project.pbxproj:
2159         * dom/AsyncScriptRunner.cpp: Added.
2160         (WebCore::AsyncScriptRunner::AsyncScriptRunner):
2161         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
2162         (WebCore::AsyncScriptRunner::executeScriptSoon):
2163         (WebCore::AsyncScriptRunner::suspend):
2164         (WebCore::AsyncScriptRunner::resume):
2165         (WebCore::AsyncScriptRunner::timerFired):
2166         * dom/AsyncScriptRunner.h: Added.
2167         (WebCore::AsyncScriptRunner::create):
2168         (WebCore::AsyncScriptRunner::hasPendingScripts):
2169         * dom/Document.cpp:
2170         (WebCore::Document::Document):
2171         (WebCore::Document::~Document):
2172         * dom/Document.h:
2173         (WebCore::Document::asyncScriptRunner):
2174         * dom/ScriptElement.cpp:
2175         (WebCore::ScriptElementData::notifyFinished):
2176         * page/PageGroupLoadDeferrer.cpp:
2177         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2178         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2179
2180 2010-08-06  James Robinson  <jamesr@chromium.org>
2181
2182         Reviewed by Dimitri Glazkov.
2183
2184         [chromium] Implement GLES2Canvas/Texture in terms of GraphicsContext3D instead of direct OpenGL calls
2185         https://bugs.webkit.org/show_bug.cgi?id=43608
2186
2187         This converts all OpenGL calls in GLES2(Canvas|Texture) to calls on the corresponding GraphicsContext3D
2188         API, due to feedback on https://bugs.webkit.org/show_bug.cgi?id=43362.  Nearly all the changes are
2189         applying the regex s/gl([A-Z])/m_context->%1</ and removing unnecessary makeCurrent() calls.
2190         Other changes hilighted below.
2191
2192         * platform/graphics/chromium/GLES2Canvas.cpp:
2193         (WebCore::affineTo3x3):
2194         (WebCore::GLES2Canvas::GLES2Canvas):
2195         (WebCore::GLES2Canvas::~GLES2Canvas):
2196         (WebCore::GLES2Canvas::clearRect):
2197         (WebCore::GLES2Canvas::fillRect):
2198         (WebCore::GLES2Canvas::drawTexturedRect):
2199         (WebCore::GLES2Canvas::applyCompositeOperator):
2200         (WebCore::GLES2Canvas::getQuadVertices):
2201         (WebCore::GLES2Canvas::getQuadIndices):
2202             - use new typed XXArray classes for buffer uploads
2203         (WebCore::loadShader):
2204         (WebCore::GLES2Canvas::getSimpleProgram):
2205         (WebCore::GLES2Canvas::getTexProgram):
2206         (WebCore::GLES2Canvas::createTexture):
2207         (WebCore::GLES2Canvas::checkGLError):
2208         * platform/graphics/chromium/GLES2Canvas.h:
2209         (WebCore::GLES2Canvas::context):
2210         * platform/graphics/chromium/GLES2Texture.cpp:
2211         (WebCore::GLES2Texture::GLES2Texture):
2212         (WebCore::GLES2Texture::~GLES2Texture):
2213         (WebCore::GLES2Texture::create):
2214         (WebCore::convertFormat):
2215         (WebCore::GLES2Texture::load):
2216         (WebCore::GLES2Texture::bind):
2217         * platform/graphics/chromium/GLES2Texture.h:
2218         * platform/graphics/skia/GraphicsContextSkia.cpp:
2219         (WebCore::GraphicsContext::fillRect):
2220             - add a missing restore() call to the H/W path
2221         * platform/graphics/skia/ImageSkia.cpp:
2222         (WebCore::drawBitmapGLES2):
2223         * platform/graphics/skia/PlatformContextSkia.cpp:
2224         (WebCore::PlatformContextSkia::setGraphicsContext3D):
2225         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2226             - avoid applying CTM to uploads
2227         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2228         * platform/graphics/skia/PlatformContextSkia.h:
2229
2230 2010-08-06  James Robinson  <jamesr@chromium.org>
2231
2232         Reviewed by Simon Fraser.
2233
2234         Composited canvas should be treated the same by the compositor and not be WebGL specific
2235         https://bugs.webkit.org/show_bug.cgi?id=43589
2236
2237         This treats all GraphicsContext3D-backed layers the same instead of special casing WebGL.
2238         The cross-platform change is to rename GraphicsLayer::setContentsToWebGL() to
2239         GraphicsLayer::setContentsToCanvas() and to rename all implementations.
2240
2241         This patch also renames the chromium class used for accelerating these layers.
2242
2243         Cross platform changes:
2244         * WebCore.gypi:
2245         * platform/graphics/GraphicsLayer.h:
2246         (WebCore::GraphicsLayer::setContentsToCanvas):
2247             Rename the function on the base class. GraphicsLayerCA and GraphicsLayerChromium implement this.
2248         * rendering/RenderLayerBacking.cpp:
2249         (WebCore::isAcceleratedCanvas):
2250             Helper function to see if a renderer is associated with an accelerated compositing layer.
2251         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2252         (WebCore::RenderLayerBacking::containsPaintedContent):
2253         (WebCore::RenderLayerBacking::rendererContentChanged):
2254        Chromium specific changes:
2255         * platform/graphics/chromium/CanvasLayerChromium.cpp: Added.
2256         (WebCore::CanvasLayerChromium::create):
2257         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
2258         (WebCore::CanvasLayerChromium::textureId):
2259         (WebCore::CanvasLayerChromium::updateTextureContents):
2260         (WebCore::CanvasLayerChromium::setContext):
2261         * platform/graphics/chromium/CanvasLayerChromium.h: Added.
2262         (WebCore::CanvasLayerChromium::drawsContent):
2263         (WebCore::CanvasLayerChromium::ownsTexture):
2264         (WebCore::CanvasLayerChromium::shaderProgramId):
2265         (WebCore::CanvasLayerChromium::setShaderProgramId):
2266         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2267         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2268         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2269         * platform/graphics/chromium/GraphicsLayerChromium.h:
2270         (WebCore::GraphicsLayerChromium::):
2271         * platform/graphics/chromium/LayerRendererChromium.cpp:
2272         (WebCore::LayerRendererChromium::drawLayer):
2273         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
2274         * platform/graphics/chromium/LayerRendererChromium.h:
2275         (WebCore::LayerRendererChromium::):
2276         * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
2277         * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
2278         Mac specific changes:
2279         * platform/graphics/mac/GraphicsLayerCA.h:
2280         (WebCore::GraphicsLayerCA::):
2281         * platform/graphics/mac/GraphicsLayerCA.mm:
2282         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2283         (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
2284         (WebCore::GraphicsLayerCA::setContentsToCanvas):
2285
2286 2010-08-06  Patrick Gansterer  <paroga@paroga.com>
2287
2288         Reviewed by Eric Seidel.
2289
2290         Add PluginView::bindingInstance() to PluginViewNone
2291         https://bugs.webkit.org/show_bug.cgi?id=42936
2292
2293         * bindings/js/ScriptControllerEfl.cpp:
2294         (WebCore::ScriptController::createScriptInstanceForWidget): Removed workaround.
2295         * plugins/PluginViewNone.cpp: Added property svn:eol-style.
2296         (WebCore::PluginView::bindingInstance): Added missing method and use it on WinCE.
2297
2298 2010-08-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2299
2300         Reviewed by Xan Lopez.
2301
2302         Use new "package" name also for the directory where the inspector
2303         support files are installed.
2304
2305         * GNUmakefile.am:
2306
2307 2010-08-06  Jian Li  <jianli@chromium.org>
2308
2309         Fix chromium build break.
2310
2311         * inspector/InspectorDebuggerAgent.h:
2312
2313 2010-08-06  Dirk Schulze  <krit@webkit.org>
2314
2315         Not reviewed. Sort Xcode project file.
2316
2317         * WebCore.xcodeproj/project.pbxproj:
2318
2319 2010-08-06  Jessie Berlin  <jberlin@apple.com>
2320
2321         Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
2322         Unreviewed.
2323
2324         * accessibility/AXObjectCache.h:
2325         * accessibility/AccessibilityARIAGrid.h:
2326         * accessibility/AccessibilityListBoxOption.h:
2327         * accessibility/AccessibilityObject.h:
2328         * accessibility/AccessibilityRenderObject.h:
2329         * accessibility/AccessibilityTable.h:
2330         * bindings/cpp/WebDOMCString.h:
2331         * bindings/cpp/WebDOMString.h:
2332         * bindings/gobject/ConvertToUTF8String.h:
2333         * bindings/js/DOMWrapperWorld.h:
2334         * bindings/js/JSDOMBinding.h:
2335         * bindings/js/JSDOMWindowBase.h:
2336         * bindings/js/JSMessagePortCustom.h:
2337         * bindings/js/JavaScriptCallFrame.h:
2338         * bindings/js/ScriptController.h:
2339         * bindings/js/ScriptProfile.h:
2340         * bindings/js/ScriptSourceProvider.h:
2341         * bindings/js/ScriptString.h:
2342         * bindings/js/WorkerScriptController.h:
2343         * bindings/objc/DOMImplementationFront.h:
2344         * bindings/v8/ScheduledAction.h:
2345         * bindings/v8/ScriptController.h:
2346         * bindings/v8/V8DOMWindowShell.h:
2347         * bindings/v8/V8Proxy.h:
2348         * bindings/v8/V8Utilities.h:
2349         * bindings/v8/custom/V8CustomXPathNSResolver.h:
2350         * bridge/c/c_utility.h:
2351         * css/CSSFontSelector.h:
2352         * css/CSSHelper.h:
2353         * css/CSSOMUtils.h:
2354         * css/CSSPrimitiveValue.h:
2355         * css/MediaList.h:
2356         * css/StyleBase.h:
2357         * css/StyleSheetList.h:
2358         * css/WebKitCSSKeyframesRule.h:
2359         * dom/CheckedRadioButtons.h:
2360         * dom/DOMImplementation.h:
2361         * dom/DocumentMarker.h:
2362         * dom/DynamicNodeList.h:
2363         * dom/EventTarget.h:
2364         * dom/MessagePort.h:
2365         * dom/MessagePortChannel.h:
2366         * dom/NameNodeList.h:
2367         * dom/Node.h:
2368         * dom/NodeList.h:
2369         * dom/OptionGroupElement.h:
2370         * dom/ScriptExecutionContext.h:
2371         * dom/SelectElement.h:
2372         * dom/ViewportArguments.h:
2373         * dom/make_names.pl:
2374         * editing/HTMLInterchange.h:
2375         * editing/htmlediting.h:
2376         * editing/markup.h:
2377         * html/CollectionCache.h:
2378         * html/DOMFormData.h:
2379         * html/DataGridColumnList.h:
2380         * html/DateComponents.h:
2381         * html/FileStream.h:
2382         * html/FileStreamProxy.h:
2383         * html/FormDataList.h:
2384         (WebCore::FormDataList::appendData):
2385         * html/HTMLCollection.h:
2386         * html/HTMLElementStack.h:
2387         * html/HTMLFormattingElementList.h:
2388         * html/HTMLParserQuirks.h:
2389         * html/HTMLQuoteElement.h:
2390         * html/HTMLScriptRunnerHost.h:
2391         * html/StepRange.h:
2392         * html/canvas/CanvasGradient.h:
2393         * html/canvas/CanvasNumberArray.h:
2394         * html/canvas/CanvasPattern.h:
2395         * inspector/InjectedScript.h:
2396         * inspector/InspectorCSSStore.h:
2397         * inspector/InspectorClient.h:
2398         * inspector/InspectorFrontendClient.h:
2399         * inspector/InspectorValues.h:
2400         * inspector/ScriptDebugListener.h:
2401         * loader/CachedResourceClient.h:
2402         * loader/CrossOriginAccessControl.h:
2403         * loader/DocumentThreadableLoader.h:
2404         * loader/FrameLoaderClient.h:
2405         * loader/RedirectScheduler.h:
2406         * loader/SubframeLoader.h:
2407         * loader/appcache/DOMApplicationCache.h:
2408         * loader/archive/ArchiveFactory.h:
2409         * loader/icon/IconDatabaseClient.h:
2410         * notifications/NotificationPresenter.h:
2411         * page/Chrome.h:
2412         * page/ChromeClient.h:
2413         * page/Console.h:
2414         * page/ContextMenuClient.h:
2415         * page/DOMSelection.h:
2416         * page/EditorClient.h:
2417         * page/EventHandler.h:
2418         * page/FrameView.h:
2419         * page/GeolocationPositionCache.h:
2420         * page/History.h:
2421         * page/Location.h:
2422         * page/Navigator.h:
2423         * page/NavigatorBase.h:
2424         * page/PluginHalterClient.h:
2425         * page/PrintContext.h:
2426         * page/SpeechInput.h:
2427         * page/SpeechInputListener.h:
2428         * page/animation/AnimationController.h:
2429         * platform/CookieJar.h:
2430         * platform/CrossThreadCopier.h:
2431         * platform/DragImage.h:
2432         * platform/FileSystem.h:
2433         * platform/Language.h:
2434         * platform/Length.h:
2435         * platform/LinkHash.h:
2436         * platform/LocalizationStrategy.h:
2437         * platform/LocalizedStrings.h:
2438         * platform/Logging.h:
2439         * platform/Pasteboard.h:
2440         * platform/PopupMenuClient.h:
2441         * platform/SearchPopupMenu.h:
2442         * platform/Widget.h:
2443         * platform/cf/BinaryPropertyList.h:
2444         * platform/chromium/ChromiumBridge.h:
2445         * platform/chromium/ClipboardUtilitiesChromium.h:
2446         * platform/cocoa/KeyEventCocoa.h:
2447         * platform/graphics/Color.h:
2448         * platform/graphics/FontCache.h:
2449         * platform/graphics/FontData.h:
2450         * platform/graphics/FontSelector.h:
2451         * platform/graphics/GraphicsTypes.h:
2452         * platform/graphics/Icon.h:
2453         * platform/graphics/ImageBuffer.h:
2454         * platform/graphics/ImageSource.h:
2455         * platform/graphics/MediaPlayer.h:
2456         * platform/graphics/MediaPlayerPrivate.h:
2457         * platform/graphics/Path.h:
2458         * platform/graphics/StringTruncator.h:
2459         * platform/graphics/cairo/FontCustomPlatformData.h:
2460         * platform/graphics/cairo/FontPlatformData.h:
2461         * platform/graphics/cg/FontPlatformData.h:
2462         * platform/graphics/cg/ImageSourceCG.h:
2463         * platform/graphics/chromium/FontCustomPlatformData.h:
2464         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2465         * platform/graphics/chromium/FontPlatformDataLinux.h:
2466         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2467         * platform/graphics/haiku/FontCustomPlatformData.h:
2468         * platform/graphics/mac/FontCustomPlatformData.h:
2469         * platform/graphics/mac/FontPlatformData.h:
2470         * platform/graphics/qt/FontCustomPlatformData.h:
2471         * platform/graphics/qt/FontPlatformData.h:
2472         * platform/graphics/win/FontCustomPlatformData.h:
2473         * platform/graphics/win/FontCustomPlatformDataCairo.h:
2474         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2475         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2476         * platform/graphics/wince/FontPlatformData.h:
2477         * platform/graphics/wince/MediaPlayerPrivateWince.h:
2478         * platform/graphics/wince/MediaPlayerProxy.h:
2479         * platform/graphics/wx/FontCustomPlatformData.h:
2480         * platform/graphics/wx/FontPlatformData.h:
2481         * platform/mac/PasteboardHelper.h:
2482         * platform/network/DNS.h:
2483         * platform/network/FormData.h:
2484         * platform/network/FormDataBuilder.h:
2485         * platform/network/HTTPParsers.h:
2486         * platform/text/Hyphenation.h:
2487         * platform/text/LineEnding.h:
2488         * platform/text/TextCodec.h:
2489         * platform/text/TextEncoding.h:
2490         * platform/text/TextStream.h:
2491         * platform/win/BString.h:
2492         * platform/win/ClipboardUtilitiesWin.h:
2493         * platform/win/WCDataObject.h:
2494         * platform/win/WebCoreTextRenderer.h:
2495         * plugins/DOMMimeType.h:
2496         * plugins/DOMMimeTypeArray.h:
2497         * plugins/DOMPlugin.h:
2498         * plugins/DOMPluginArray.h:
2499         * rendering/CounterNode.h:
2500         * rendering/HitTestResult.h:
2501         * rendering/RenderObjectChildList.h:
2502         * rendering/RenderText.h:
2503         * rendering/RenderTreeAsText.h:
2504         * rendering/TextControlInnerElements.h:
2505         * rendering/style/ContentData.h:
2506         * rendering/style/RenderStyle.h:
2507         * storage/DatabaseAuthorizer.h:
2508         * storage/DatabaseTrackerClient.h:
2509         * storage/SQLTransaction.h:
2510         * storage/SQLTransactionSync.h:
2511         * storage/Storage.h:
2512         * storage/chromium/DatabaseObserver.h:
2513         * svg/SVGAnimatedTemplate.h:
2514         * svg/SVGDocumentExtensions.h:
2515         * svg/SVGGlyphElement.h:
2516         * svg/SVGHKernElement.h:
2517         * svg/SVGNumberList.h:
2518         * svg/SVGPointList.h:
2519         * svg/SVGPreserveAspectRatio.h:
2520         * svg/SVGStylable.h:
2521         * svg/SVGTests.h:
2522         * svg/SVGTransformList.h:
2523         * svg/SVGTransformable.h:
2524         * svg/SVGVKernElement.h:
2525         * websockets/ThreadableWebSocketChannel.h:
2526         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2527         * websockets/WebSocket.h:
2528         * websockets/WebSocketChannel.h:
2529         * websockets/WebSocketHandshakeResponse.h:
2530         * wml/WMLErrorHandling.h:
2531         * wml/WMLPageState.h:
2532         * wml/WMLVariables.h:
2533         * workers/DefaultSharedWorkerRepository.h:
2534         * workers/SharedWorkerRepository.h:
2535         * workers/Worker.h:
2536         * workers/WorkerContextProxy.h:
2537         * workers/WorkerLoaderProxy.h:
2538         * workers/WorkerLocation.h:
2539         * workers/WorkerMessagingProxy.h:
2540         * workers/WorkerReportingProxy.h:
2541         * workers/WorkerThread.h:
2542         * xml/DOMParser.h:
2543         * xml/XMLHttpRequestUpload.h:
2544         * xml/XPathEvaluator.h:
2545         * xml/XPathExpression.h:
2546         * xml/XPathNSResolver.h:
2547         * xml/XPathResult.h:
2548         * xml/XPathUtil.h:
2549
2550 2010-08-04  Zhenyao Mo  <zmo@google.com>
2551
2552         Reviewed by Dimitri Glazkov.
2553
2554         WebGLBuffer::associateBufferData(ArrayBufferView* array) copies incorrect data for sliced views
2555         https://bugs.webkit.org/show_bug.cgi?id=42124
2556
2557         * html/canvas/WebGLBuffer.cpp:
2558         (WebCore::WebGLBuffer::associateBufferDataImpl): Helper function that's called by all associateBufferData().
2559         (WebCore::WebGLBuffer::associateBufferData): Call associateBufferDataImpl().
2560         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Helper function that's called by all associateBufferSubData().
2561         (WebCore::WebGLBuffer::associateBufferSubData): Call associateBufferSubDataImpl().
2562         * html/canvas/WebGLBuffer.h: Declare helper functions.
2563
2564 2010-08-06  Adam Barth  <abarth@webkit.org>
2565
2566         Reviewed by Eric Seidel.
2567
2568         noembed should respect whether plugins are enabled
2569         https://bugs.webkit.org/show_bug.cgi?id=43611
2570
2571         This instruction isn't in the HTML5 spec, but it seems like the right
2572         thing to do.  I suspect this is because the spec doesn't understand
2573         that plugins can be disabled.
2574
2575         I'm not sure how we can test this in DumpRenderTree, but I'm open to
2576         suggestions.
2577
2578         * html/HTMLTreeBuilder.cpp:
2579         (WebCore::HTMLTreeBuilder::adjustedLexerState):
2580         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2581         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2582         (WebCore::HTMLTreeBuilder::scriptEnabled):
2583         (WebCore::HTMLTreeBuilder::pluginsEnabled):
2584         * html/HTMLTreeBuilder.h:
2585
2586 2010-08-06  Tony Gentilcore  <tonyg@chromium.org>
2587
2588         Reviewed by Adam Barth.
2589
2590         Factor out PendingScript and protect its members
2591         https://bugs.webkit.org/show_bug.cgi?id=43391
2592
2593         This will be shared by AsyncScriptRunner.
2594
2595         No new tests because no new functionality.
2596
2597         * Android.mk:
2598         * CMakeLists.txt:
2599         * GNUmakefile.am:
2600         * WebCore.gypi:
2601         * WebCore.pro:
2602         * WebCore.vcproj/WebCore.vcproj:
2603         * WebCore.xcodeproj/project.pbxproj:
2604         * dom/PendingScript.cpp: Added.
2605         (WebCore::PendingScript::~PendingScript):
2606         (WebCore::PendingScript::element):
2607         (WebCore::PendingScript::releaseElementAndClear):
2608         (WebCore::PendingScript::setCachedScript):
2609         (WebCore::PendingScript::cachedScript):
2610         * dom/PendingScript.h: Added.
2611         (WebCore::PendingScript::PendingScript):
2612         (WebCore::PendingScript::startingLineNumber):
2613         (WebCore::PendingScript::watchingForLoad):
2614         (WebCore::PendingScript::setWatchingForLoad):
2615         (WebCore::PendingScript::hasElement):
2616         (WebCore::PendingScript::adoptElement):
2617         (WebCore::PendingScript::notifyFinished):
2618         * html/HTMLScriptRunner.cpp:
2619         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
2620         (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
2621         (WebCore::HTMLScriptRunner::requestScript):
2622         * html/HTMLScriptRunner.h:
2623
2624 2010-08-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2625
2626         Reviewed by Darin Adler.
2627
2628         Change permission to access methods in XMLDocumentParser.h
2629         https://bugs.webkit.org/show_bug.cgi?id=43180
2630
2631         Change permission to access wellFormed(), lineNumber() and columnNumber()
2632         in XMLDocumentParser.h. Because, the methods are used by WML.
2633
2634         * dom/XMLDocumentParser.h:
2635         (WebCore::XMLDocumentParser::wellFormed): Change accebility permission. 
2636
2637 2010-08-06  Martin Robinson  <mrobinson@igalia.com>
2638
2639         Reviewed by Gustavo Noronha Silva.
2640
2641         [GTK] Support for image drags
2642         https://bugs.webkit.org/show_bug.cgi?id=40788
2643
2644         Add image drag-and-drop support for WebKit GTK+.
2645
2646         * platform/gtk/ClipboardGtk.cpp:
2647         (WebCore::ClipboardGtk::setDragImage): Filled this stub.
2648         (WebCore::ClipboardGtk::setDragImageElement): Filled this stub.
2649         (WebCore::ClipboardGtk::createDragImage): Filled this stub.
2650         (WebCore::ClipboardGtk::declareAndWriteDragImage): Write the image URL, markup, and image itself to the data object member.
2651         * platform/gtk/ClipboardGtk.h: Brought method declarations into line with the parent class.
2652
2653 2010-08-06  Yury Semikhatsky  <yurys@chromium.org>
2654
2655         Reviewed by Pavel Feldman.
2656
2657         Web Inspector: extract debugger implementation into InspectorDebuggerAgent
2658         https://bugs.webkit.org/show_bug.cgi?id=42340
2659
2660         * CMakeLists.txt:
2661         * GNUmakefile.am:
2662         * WebCore.gypi:
2663         * WebCore.pro:
2664         * WebCore.vcproj/WebCore.vcproj:
2665         * WebCore.xcodeproj/project.pbxproj:
2666         * inspector/CodeGeneratorInspector.pm:
2667         * inspector/Inspector.idl:
2668         * inspector/InspectorController.cpp:
2669         (WebCore::InspectorController::InspectorController):
2670         (WebCore::InspectorController::connectFrontend):
2671         (WebCore::InspectorController::didCommitLoad):
2672         (WebCore::InspectorController::enableDebuggerFromFrontend):
2673         (WebCore::InspectorController::disableDebugger):
2674         (WebCore::InspectorController::resume):
2675         (WebCore::InspectorController::loadBreakpoints):
2676         (WebCore::InspectorController::saveBreakpoints):
2677         * inspector/InspectorController.h:
2678         (WebCore::InspectorController::debuggerAgent):
2679         * inspector/InspectorDebuggerAgent.cpp: Added.
2680         (WebCore::md5Base16):
2681         (WebCore::formatBreakpointId):
2682         (WebCore::InspectorDebuggerAgent::create):
2683         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2684         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
2685         (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
2686         (WebCore::InspectorDebuggerAgent::activateBreakpoints):
2687         (WebCore::InspectorDebuggerAgent::deactivateBreakpoints):
2688         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2689         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2690         (WebCore::InspectorDebuggerAgent::editScriptSource):
2691         (WebCore::InspectorDebuggerAgent::getScriptSource):
2692         (WebCore::InspectorDebuggerAgent::pause):
2693         (WebCore::InspectorDebuggerAgent::resume):
2694         (WebCore::InspectorDebuggerAgent::stepOverStatement):
2695         (WebCore::InspectorDebuggerAgent::stepIntoStatement):
2696         (WebCore::InspectorDebuggerAgent::stepOutOfFunction):
2697         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
2698         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
2699         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2700         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
2701         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
2702         (WebCore::InspectorDebuggerAgent::didParseSource):
2703         (WebCore::InspectorDebuggerAgent::failedToParseSource):
2704         (WebCore::InspectorDebuggerAgent::didPause):
2705         (WebCore::InspectorDebuggerAgent::didContinue):
2706         (WebCore::InspectorDebuggerAgent::remoteFrontend):
2707         * inspector/InspectorDebuggerAgent.h: Added.
2708         * inspector/InspectorFrontend.cpp:
2709         * inspector/InspectorFrontend.h:
2710         * inspector/front-end/ScriptsPanel.js:
2711         (WebInspector.ScriptsPanel):
2712
2713 2010-08-06  Dean Jackson  <dino@apple.com>
2714
2715         Reviewed by Simon Fraser and Steve Block.
2716
2717         https://bugs.webkit.org/show_bug.cgi?id=42865
2718         Implement DeviceMotionEvent
2719
2720         Implement the DeviceMotionEvent interface as defined
2721         in http://dev.w3.org/geo/api/spec-source-orientation.html
2722         This is currently an empty implementation, in that there is
2723         no motion client connected - the platform implementations
2724         will need to do that.
2725
2726         Tests: fast/dom/DeviceMotion/create-event.html
2727                fast/dom/DeviceMotion/optional-event-properties.html
2728                fast/dom/DeviceMotion/window-property.html
2729
2730         * Android.derived.jscbindings.mk:
2731         * Android.derived.v8bindings.mk:
2732         * Android.jscbindings.mk:
2733         * Android.mk:
2734         * Android.v8bindings.mk:
2735         * CMakeLists.txt:
2736         * Configurations/FeatureDefines.xcconfig:
2737         * DerivedSources.make:
2738         * GNUmakefile.am:
2739         * WebCore.gypi:
2740         * WebCore.pro:
2741         * WebCore.vcproj/WebCore.vcproj:
2742         * WebCore.xcodeproj/project.pbxproj:
2743           - Add new files for DeviceMotionEvent build support
2744         * bindings/generic/RuntimeEnabledFeatures.cpp:
2745         * bindings/generic/RuntimeEnabledFeatures.h:
2746           - new runtime flags for device motion
2747         * bindings/js/JSDeviceMotionEventCustom.cpp: Added.
2748         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: Added.
2749           - Custom JS binding to translate property access through
2750             to the DeviceMotionData object that the Event holds
2751         * bindings/js/JSEventCustom.cpp:
2752           - Include the custom code for DeviceMotionEvent
2753         * dom/DeviceMotionClient.h: Added.
2754           - Pure virtual client for DeviceMotion access
2755         * dom/DeviceMotionController.cpp: Added.
2756         * dom/DeviceMotionController.h: Added.
2757           - Controller class that manages event dispatch
2758         * dom/DeviceMotionData.cpp: Added.
2759         * dom/DeviceMotionData.h: Added.
2760           - Representation of the data that comes from a device motion
2761             client that is then used within the event.
2762         * dom/DeviceMotionEvent.cpp: Added.
2763         * dom/DeviceMotionEvent.h: Added.
2764         * dom/DeviceMotionEvent.idl: Added.
2765           - The actual event implementation
2766         * dom/Document.cpp:
2767         (WebCore::Document::createEvent):
2768           - Update createEvent to allow "devicemotion" events
2769         * dom/Event.cpp:
2770         * dom/Event.h:
2771           - isDeviceMotionEvent virtual method
2772         * dom/EventNames.h:
2773           - new "devicemotion" event type
2774         * page/DOMWindow.cpp:
2775         (WebCore::DOMWindow::addEventListener):
2776         * page/DOMWindow.h:
2777         * page/DOMWindow.idl:
2778           - allow creation of "devicemotion" events and pass registration
2779             through to the Page's deviceMotionController object
2780         * page/Page.cpp:
2781         * page/Page.h:
2782           - new PageClient for deviceMotionController
2783
2784 2010-08-06  Kavita Kanetkar  <kkanetkar@chromium.org>
2785
2786         Reviewed by Joseph Pecoraro.
2787
2788         Web Inspector: Remove "Online/Offline" icon for Chrome's appcache devtools UI.
2789         https://bugs.webkit.org/show_bug.cgi?id=43450
2790
2791         * inspector/front-end/ApplicationCacheItemsView.js:
2792         (WebInspector.ApplicationCacheItemsView):
2793         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
2794         (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState):
2795         * inspector/front-end/Settings.js:
2796
2797 2010-08-06  Pavel Feldman  <pfeldman@chromium.org>
2798
2799         Not reviewed. Rolling out 64835, 64836 and 64839.
2800
2801         * Android.jscbindings.mk:
2802         * Android.v8bindings.mk:
2803         * CMakeLists.txt:
2804         * GNUmakefile.am:
2805         * WebCore.gypi:
2806         * WebCore.pro:
2807         * WebCore.vcproj/WebCore.vcproj:
2808         * WebCore.xcodeproj/project.pbxproj:
2809         * bindings/js/JSBindingsAllInOne.cpp:
2810         * bindings/js/JSDOMWindowCustom.cpp:
2811         (WebCore::JSDOMWindow::openDatabase):
2812         * bindings/js/JSDatabaseCustom.cpp: Added.
2813         (WebCore::JSDatabase::changeVersion):
2814         (WebCore::createTransaction):
2815         (WebCore::JSDatabase::transaction):
2816         (WebCore::JSDatabase::readTransaction):
2817         * bindings/js/JSDatabaseSyncCustom.cpp: Added.
2818         (WebCore::JSDatabaseSync::changeVersion):
2819         (WebCore::createTransaction):
2820         (WebCore::JSDatabaseSync::transaction):
2821         (WebCore::JSDatabaseSync::readTransaction):
2822         * bindings/js/JSWorkerContextCustom.cpp:
2823         (WebCore::JSWorkerContext::openDatabase):
2824         (WebCore::JSWorkerContext::openDatabaseSync):
2825         * bindings/scripts/CodeGeneratorGObject.pm:
2826         * bindings/scripts/CodeGeneratorJS.pm:
2827         * bindings/scripts/CodeGeneratorV8.pm:
2828         * bindings/scripts/test/JS/JSTestCallback.cpp:
2829         (WebCore::JSTestCallback::~JSTestCallback):
2830         * bindings/scripts/test/JS/JSTestObj.cpp:
2831         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2832         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2833         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2834         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
2835         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2836         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2837         (WebCore::jsTestObjPrototypeFunctionIdbKey):
2838         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2839         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2840         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2841         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2842         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2843         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2844         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2845         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2846         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2847         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2848         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2849         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2850         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2851         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2852         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2853         * bindings/scripts/test/TestObj.idl:
2854         * bindings/scripts/test/V8/V8TestObj.cpp:
2855         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
2856         (WebCore::TestObjInternal::intMethodWithArgsCallback):
2857         (WebCore::TestObjInternal::objMethodWithArgsCallback):
2858         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
2859         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
2860         (WebCore::TestObjInternal::serializedValueCallback):
2861         (WebCore::TestObjInternal::idbKeyCallback):
2862         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
2863         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
2864         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
2865         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
2866         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
2867         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
2868         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
2869         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
2870         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
2871         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
2872         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
2873         (WebCore::TestObjInternal::overloadedMethod1Callback):
2874         (WebCore::TestObjInternal::overloadedMethod2Callback):
2875         (WebCore::TestObjInternal::overloadedMethod3Callback):
2876         (WebCore::TestObjInternal::overloadedMethod4Callback):
2877         (WebCore::):
2878         (WebCore::ConfigureV8TestObjTemplate):
2879         * bindings/v8/V8Binding.h:
2880         (WebCore::String):
2881         (WebCore::AtomicString):
2882         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2883         (WebCore::V8DOMWindow::openDatabaseCallback):
2884         * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
2885         (WebCore::V8Database::changeVersionCallback):
2886         (WebCore::createTransaction):
2887         (WebCore::V8Database::transactionCallback):
2888         (WebCore::V8Database::readTransactionCallback):
2889         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
2890         (WebCore::V8DatabaseSync::changeVersionCallback):
2891         (WebCore::createTransaction):
2892         (WebCore::V8DatabaseSync::transactionCallback):
2893         (WebCore::V8DatabaseSync::readTransactionCallback):
2894         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2895         (WebCore::V8WorkerContext::openDatabaseCallback):
2896         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
2897         * page/DOMWindow.idl:
2898         * storage/Database.cpp:
2899         (WebCore::Database::transaction):
2900         * storage/Database.h:
2901         * storage/Database.idl:
2902         * storage/DatabaseSync.cpp:
2903         (WebCore::DatabaseSync::transaction):
2904         * storage/DatabaseSync.h:
2905         * storage/DatabaseSync.idl:
2906         * workers/WorkerContext.idl:
2907
2908 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
2909
2910         Unreviewed, fix the "GTK Linux 64-bit Debug" bot.
2911
2912         CodeGeneratorGObject.pm doesn't know yet how to auto-generate
2913         callbacks, so we should not auto-generate functions that take
2914         callbacks as parameters. This shouldn't break anything, because
2915         all these functions were marked as ["Custom"] until now, and this
2916         code generator skipped those functions anyway.
2917
2918         * bindings/scripts/CodeGeneratorGObject.pm:
2919
2920 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
2921
2922         Unreviewed, "Qt Linux Realese minimal" build fix.
2923
2924         * bindings/scripts/CodeGeneratorJS.pm:
2925
2926 2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
2927
2928         Reviewed by Adam Barth.
2929
2930         Auto-generate all HTML5 DB bindings.
2931         https://bugs.webkit.org/show_bug.cgi?id=43382
2932
2933         * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
2934         and the custom implementations of openDatabas{Sync}().
2935         * Android.v8bindings.mk:
2936         * CMakeLists.txt:
2937         * GNUmakefile.am:
2938         * WebCore.gypi:
2939         * WebCore.pro:
2940         * WebCore.vcproj/WebCore.vcproj:
2941         * WebCore.xcodeproj/project.pbxproj:
2942         * bindings/js/JSBindingsAllInOne.cpp:
2943         * bindings/js/JSDOMWindowCustom.cpp:
2944         * bindings/js/JSDatabaseCustom.cpp: Removed.
2945         * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
2946         * bindings/js/JSWorkerContextCustom.cpp:
2947         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2948         * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
2949         * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
2950         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2951
2952         * bindings/scripts/CodeGeneratorJS.pm: Change the code generators
2953         to check that a value was passed for each non-optional argument,
2954         and that the value can be converted to the argument type.
2955         * bindings/scripts/CodeGeneratorV8.pm:
2956         * bindings/scripts/test/JS/JSTestCallback.cpp:
2957         (WebCore::JSTestCallback::~JSTestCallback):
2958         * bindings/scripts/test/JS/JSTestObj.cpp:
2959         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2960         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2961         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2962         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
2963         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2964         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2965         (WebCore::jsTestObjPrototypeFunctionIdbKey):
2966         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2967         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2968         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2969         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2970         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2971         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2972         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2973         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2974         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2975         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2976         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2977         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2978         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2979         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2980         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2981         * bindings/scripts/test/TestObj.idl:
2982         * bindings/scripts/test/V8/V8TestObj.cpp:
2983         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
2984         (WebCore::TestObjInternal::intMethodWithArgsCallback):
2985         (WebCore::TestObjInternal::objMethodWithArgsCallback):
2986         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
2987         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
2988         (WebCore::TestObjInternal::serializedValueCallback):
2989         (WebCore::TestObjInternal::idbKeyCallback):
2990         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
2991         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
2992         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
2993         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
2994         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
2995         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
2996         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
2997         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
2998         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
2999         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
3000         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
3001         (WebCore::TestObjInternal::overloadedMethod1Callback):
3002         (WebCore::TestObjInternal::overloadedMethod2Callback):
3003         (WebCore::TestObjInternal::overloadedMethod3Callback):
3004         (WebCore::TestObjInternal::overloadedMethod4Callback):
3005         (WebCore::):
3006         (WebCore::ConfigureV8TestObjTemplate):
3007         * bindings/v8/V8Binding.h:
3008         (WebCore::String):
3009         (WebCore::AtomicString):
3010
3011         * page/DOMWindow.idl: Minor changes required by the auto-generated
3012         bindings.
3013         * storage/Database.cpp:
3014         (WebCore::Database::transaction):
3015         (WebCore::Database::readTransaction):
3016         (WebCore::Database::runTransaction):
3017         * storage/Database.h:
3018         * storage/Database.idl:
3019         * storage/DatabaseSync.cpp:
3020         (WebCore::DatabaseSync::transaction):
3021         (WebCore::DatabaseSync::readTransaction):
3022         (WebCore::DatabaseSync::runTransaction):
3023         * storage/DatabaseSync.h:
3024         * storage/DatabaseSync.idl:
3025         * workers/WorkerContext.idl:
3026
3027 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3028
3029         Not reviewed. Sort Xcode project file.
3030
3031         * WebCore.xcodeproj/project.pbxproj:
3032
3033 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3034
3035         Not reviewed. Fix warning, breaking win build.
3036
3037         * svg/SVGLength.cpp:
3038         (WebCore::SVGLength::toCSSPrimitiveValue):
3039
3040 2010-08-06  Alexey Proskuryakov  <ap@apple.com>
3041
3042         Fix crashing Leopard and Gtk bots.
3043
3044         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
3045         Don't register ISO8859-16, because older versions of ICU don't support ISO-8859-16, causing
3046         crashes when we try to register an alias. Also, we don't need it, because Firefox doesn't
3047         support this particular alias (it supports ISO8859-1 to ISO8859-15, but only supports the
3048         main name for ISO-8859-16).
3049
3050 2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3051
3052         Reviewed by Dirk Schulze.
3053
3054         SVG - stroke-width:0 bug with stroke other than "none"
3055         https://bugs.webkit.org/show_bug.cgi?id=42387
3056
3057         Stop storing refcounted CSSValue/CSSValueList objects in SVGRenderStyle, replacing them with SVGLength types.
3058         Allows us to directly specify default values for stroke-dashoffset/width in the SVGRenderStyle, fixing a problem
3059         with stroke-width animations when resetting to the original stored baseVal, exposed in svg/W3C-1.1/animate-elem-40-t.svg
3060         Originally discovered by Fady Samuel.
3061
3062         Test: svg/custom/path-zero-strokewidth.svg
3063
3064         * css/SVGCSSComputedStyleDeclaration.cpp:
3065         (WebCore::strokeDashArrayToCSSValueList): New helper function converting from Vector<SVGLength> to CSSValueList.
3066         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Convert SVGLength values to CSSPrimitiveValues.
3067         * css/SVGCSSStyleSelector.cpp:
3068         (WebCore::CSSStyleSelector::applySVGProperty): Convert CSSPrimitiveValues to SVGLength objects, for SVGRenderStyle storage.
3069         * rendering/RenderPath.cpp:
3070         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Just grab strokeWidth SVGLength value from SVGRenderSTyle, no need to call cssPrimitiveToLength anymore.
3071         * rendering/RenderSVGText.cpp:
3072         (WebCore::RenderSVGText::strokeBoundingBox): Ditto.
3073         * rendering/SVGCharacterLayoutInfo.cpp:
3074         (WebCore::calculateBaselineShift): Ditto (for baseline-shift).
3075         * rendering/SVGInlineTextBox.cpp:
3076         (WebCore::SVGInlineTextBox::buildLayoutInformation): Ditto (for kerning).
3077         * rendering/SVGRenderSupport.cpp:
3078         (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto (for stroke-width/stroke-dashoffset/stroke-dasharray).
3079         * rendering/SVGRenderSupport.h:
3080         * rendering/SVGRenderTreeAsText.cpp:
3081         (WebCore::writeStyle): Ditto.
3082         * rendering/SVGTextLayoutUtilities.cpp:
3083         (WebCore::calculateCSSKerning): Ditto.
3084         * rendering/SVGTextLayoutUtilities.h:
3085         * rendering/style/SVGRenderStyle.cpp: Remove no longer needed cssPrimitiveToLength function.
3086         * rendering/style/SVGRenderStyle.h: Stop storing RefPtr<CSSValue> / RefPtr<CSSValueList> but use SVGLength/Vector<SVGLength>.
3087         (WebCore::SVGRenderStyle::initialStrokeDashArray): Allows us to specify correct default values, instead of null pointers.
3088         (WebCore::SVGRenderStyle::initialBaselineShiftValue): Specify 0px default value.
3089         (WebCore::SVGRenderStyle::initialKerning): Ditto.
3090         (WebCore::SVGRenderStyle::initialStrokeDashOffset): Ditto.
3091         (WebCore::SVGRenderStyle::initialStrokeWidth): Specify 1px default value.
3092         (WebCore::SVGRenderStyle::setStrokeDashArray): Takes a Vector<SVGLength> now, not a PassRefPtr<CSSValueList>.
3093         (WebCore::SVGRenderStyle::setStrokeWidth): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
3094         (WebCore::SVGRenderStyle::setStrokeDashOffset): Ditto.
3095         (WebCore::SVGRenderStyle::setKerning): Ditto.
3096         (WebCore::SVGRenderStyle::setStopColor): Pass Color as const-reference.
3097         (WebCore::SVGRenderStyle::setFloodColor): Ditto.
3098         (WebCore::SVGRenderStyle::setLightingColor): Ditto.
3099         (WebCore::SVGRenderStyle::setBaselineShiftValue): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
3100         (WebCore::SVGRenderStyle::setShadow): Reformat, had wrong style.
3101         (WebCore::SVGRenderStyle::setClipperResource): Pass String as const-reference.
3102         (WebCore::SVGRenderStyle::setFilterResource): Ditto.
3103         (WebCore::SVGRenderStyle::setMaskerResource): Ditto.
3104         (WebCore::SVGRenderStyle::setMarkerStartResource): Ditto.
3105         (WebCore::SVGRenderStyle::setMarkerMidResource): Ditto.
3106         (WebCore::SVGRenderStyle::setMarkerEndResource): Ditto.
3107         (WebCore::SVGRenderStyle::strokeDashArray): Return Vector<SVGLength>.
3108         (WebCore::SVGRenderStyle::strokeWidth): Return SVGLength.
3109         (WebCore::SVGRenderStyle::strokeDashOffset): Ditto.
3110         (WebCore::SVGRenderStyle::kerning): Ditto.
3111         (WebCore::SVGRenderStyle::baselineShiftValue): Ditto.
3112         * rendering/style/SVGRenderStyleDefs.cpp:
3113         (WebCore::StyleStrokeData::StyleStrokeData): Changed initialization order, to group stroke properties.
3114         * rendering/style/SVGRenderStyleDefs.h: Store SVGLength values instead of reference counted CSS objects.
3115         * svg/SVGLength.cpp:
3116         (WebCore::SVGLength::SVGLength): Add copy constructor.
3117         (WebCore::SVGLength::operator==): Add comparision operator.
3118         (WebCore::SVGLength::operator!=): Ditto.
3119         (WebCore::SVGLength::fromCSSPrimitiveValue): New static helper function to convert from a CSSPrimitiveValue.
3120         (WebCore::SVGLength::toCSSPrimitiveValue): New static helper function to convert to a CSSPrimitiveValue.
3121         * svg/SVGLength.h: Reindent.
3122
3123 2010-08-06  Luiz Agostini  <luiz.agostini@openbossa.org>
3124
3125         Reviewed by Kenneth Rohde Christiansen.
3126
3127         [Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
3128         https://bugs.webkit.org/show_bug.cgi?id=43427
3129
3130         After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
3131         there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.
3132
3133         PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
3134         assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
3135         to WebKit/qt/WebCoreSupport as well.
3136
3137         All classes that previously inherited from QtAbstractWebPopup now inherit from 
3138         QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
3139         instance of class QWebSelectMethod instead of QtAbstractWebPopup.
3140
3141         * WebCore.pro:
3142         * platform/qt/PopupMenuQt.cpp: Removed.
3143         * platform/qt/PopupMenuQt.h: Removed.
3144         * platform/qt/QtAbstractWebPopup.cpp: Removed.
3145         * platform/qt/QtAbstractWebPopup.h: Removed.
3146         * platform/qt/SearchPopupMenuQt.cpp: Removed.
3147         * platform/qt/SearchPopupMenuQt.h: Removed.
3148
3149 2010-08-05  Marcus Bulach  <bulach@chromium.org>
3150
3151         Reviewed by Jeremy Orlow.
3152
3153         Initial bindings and plumbing for IDBCursor.
3154         https://bugs.webkit.org/show_bug.cgi?id=41888
3155
3156         Test: storage/indexeddb/idb-opencursor.html
3157
3158         * Android.derived.jscbindings.mk:
3159         * Android.derived.v8bindings.mk:
3160         * Android.mk:
3161         * CMakeLists.txt:
3162         * DerivedSources.cpp:
3163         * DerivedSources.make:
3164         * GNUmakefile.am:
3165         * WebCore.gypi:
3166         * WebCore.pri:
3167         * WebCore.pro:
3168         * WebCore.vcproj/WebCore.vcproj:
3169         * WebCore.xcodeproj/project.pbxproj:
3170         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3171         (WebCore::toV8):
3172         * storage/IDBAny.cpp:
3173         (WebCore::IDBAny::idbCursor):
3174         (WebCore::IDBAny::set):
3175         * storage/IDBAny.h:
3176         (WebCore::IDBAny::):
3177         * storage/IDBCallbacks.h:
3178         * storage/IDBCursor.cpp: Added.
3179         (WebCore::IDBCursor::IDBCursor):
3180         (WebCore::IDBCursor::~IDBCursor):
3181         (WebCore::IDBCursor::direction):
3182         (WebCore::IDBCursor::key):
3183         (WebCore::IDBCursor::value):
3184         (WebCore::IDBCursor::update):
3185         (WebCore::IDBCursor::continueFunction):
3186         (WebCore::IDBCursor::remove):
3187         * storage/IDBCursor.h: Added.
3188         (WebCore::IDBCursor::):
3189         (WebCore::IDBCursor::create):
3190         * storage/IDBCursor.idl: Added.
3191         * storage/IDBCursorBackendImpl.cpp: Added.
3192         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
3193         (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
3194         (WebCore::IDBCursorBackendImpl::direction):
3195         (WebCore::IDBCursorBackendImpl::key):
3196         (WebCore::IDBCursorBackendImpl::value):
3197         (WebCore::IDBCursorBackendImpl::update):
3198         (WebCore::IDBCursorBackendImpl::continueFunction):
3199         (WebCore::IDBCursorBackendImpl::remove):
3200         * storage/IDBCursorBackendImpl.h: Added.
3201         (WebCore::IDBCursorBackendImpl::create):
3202         * storage/IDBCursorBackendInterface.h: Added.
3203         (WebCore::IDBCursorBackendInterface::~IDBCursorBackendInterface):
3204         * storage/IDBObjectStore.cpp:
3205         (WebCore::IDBObjectStore::openCursor):
3206         * storage/IDBObjectStore.h:
3207         * storage/IDBObjectStore.idl:
3208         * storage/IDBObjectStoreBackendImpl.cpp:
3209         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3210         * storage/IDBObjectStoreBackendImpl.h:
3211         * storage/IDBObjectStoreBackendInterface.h:
3212         * storage/IDBRequest.cpp:
3213         (WebCore::IDBRequest::onSuccess):
3214         (WebCore::IDBRequest::timerFired):
3215         * storage/IDBRequest.h:
3216
3217 2010-08-06  Andrei Popescu  <andreip@google.com>
3218
3219         Unreviewed, release build fix.
3220
3221         Leopard relase build is broken due to absolute path to JSIDBTransaction.cpp file present in Xcode project file.
3222         https://bugs.webkit.org/show_bug.cgi?id=43616
3223
3224         * WebCore.xcodeproj/project.pbxproj:
3225
3226 2010-08-05  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
3227
3228         Reviewed by Jeremy Orlow.
3229
3230         [IndexedDB] IndexedDB is missing the Transaction interface.
3231         https://bugs.webkit.org/show_bug.cgi?id=42970
3232
3233         Add IDBTransaction boilerplate.
3234
3235         No new tests, not functional yet.
3236
3237         * Android.derived.jscbindings.mk:
3238         * Android.derived.v8bindings.mk:
3239         * Android.mk:
3240         * CMakeLists.txt:
3241         * DerivedSources.cpp:
3242         * DerivedSources.make:
3243         * GNUmakefile.am:
3244         * WebCore.gypi:
3245         * WebCore.pri:
3246         * WebCore.pro:
3247         * WebCore.vcproj/WebCore.vcproj:
3248         * WebCore.xcodeproj/project.pbxproj:
3249         * dom/EventNames.h:
3250         * storage/IDBDatabase.cpp:
3251         (WebCore::IDBDatabase::transaction):
3252         * storage/IDBDatabase.h:
3253         * storage/IDBDatabase.idl:
3254         * storage/IDBDatabaseBackendImpl.cpp:
3255         (WebCore::IDBDatabaseBackendImpl::transaction):
3256         * storage/IDBDatabaseBackendImpl.h:
3257         * storage/IDBDatabaseBackendInterface.h:
3258         * storage/IDBRequest.cpp:
3259         (WebCore::IDBRequest::IDBRequest):
3260         (WebCore::IDBRequest::canSuspend):
3261         (WebCore::IDBRequest::timerFired):
3262         (WebCore::IDBRequest::onEventCommon):
3263         * storage/IDBRequest.h:
3264         * storage/IDBTransaction.cpp: Added.
3265         (WebCore::IDBTransaction::IDBTransaction):
3266         (WebCore::IDBTransaction::~IDBTransaction):
3267         (WebCore::IDBTransaction::mode):
3268         (WebCore::IDBTransaction::db):
3269         (WebCore::IDBTransaction::objectStore):
3270         (WebCore::IDBTransaction::abort):
3271         (WebCore::IDBTransaction::scriptExecutionContext):
3272         (WebCore::IDBTransaction::canSuspend):
3273         (WebCore::IDBTransaction::eventTargetData):
3274         (WebCore::IDBTransaction::ensureEventTargetData):
3275         * storage/IDBTransaction.h: Added.
3276         (WebCore::IDBTransaction::create):
3277         (WebCore::IDBTransaction::):
3278         (WebCore::IDBTransaction::toIDBTransaction):
3279         (WebCore::IDBTransaction::refEventTarget):
3280         (WebCore::IDBTransaction::derefEventTarget):
3281         * storage/IDBTransaction.idl: Added.
3282         * storage/IDBTransactionBackendInterface.h: Added.
3283         (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
3284
3285 2010-08-06  Rafael Antognolli  <antognolli@profusion.mobi>
3286
3287         Unreviewed build fix.
3288
3289         [EFL] Regression (64735) build fix for efl.
3290         https://bugs.webkit.org/show_bug.cgi?id=43564
3291
3292         Removing bindings/js/ScriptArray.cpp from the WebCore_SOURCES.
3293         No new features, so no new tests.
3294
3295         * CMakeLists.txt:
3296
3297 2010-08-05  Alexey Proskuryakov  <ap@apple.com>
3298
3299         Fix http/tests/webarchive/test-css-url-encoding-shift-jis.html
3300
3301         For some reason, I didn't see the failure locally, but bots complain.
3302
3303         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
3304         Register "shift-jis" (with dash instead of underscore). At least Firefox supports it.
3305
3306 2010-08-05  Ben Murdoch  <benm@google.com>
3307
3308         Reviewed by Simon Fraser.
3309
3310         Form button input elements lacking text in some cases after switching from
3311         visibility:collapse to visibility:visible
3312         https://bugs.webkit.org/show_bug.cgi?id=38050
3313         
3314         A relayout is required after toggling visibility from collapse to another value.
3315
3316         Test: fast/css/visibility-collapse-form-buttons.html
3317
3318         * rendering/style/RenderStyle.cpp:
3319         (WebCore::RenderStyle::diff): If we're toggling from visibility:collapse to another
3320             visibility value (or vice versa) then we need to trigger a relayout.
3321
3322 2010-08-05  Alexey Proskuryakov  <ap@apple.com>
3323
3324         Reviewed by Darin Adler.
3325
3326         https://bugs.webkit.org/show_bug.cgi?id=43554
3327         Way too many encoding aliases are treated as valid
3328
3329         <rdar://problem/7863399> Garbage characters displayed in some yesky.com pages.
3330
3331         <rdar://problem/7859068> Garbage characters displayed for most text at ceping.zhaopin.com
3332
3333         Test: http/tests/misc/bad-charset-alias.html
3334
3335         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
3336         Fix encoding name length computation. Previously, a trailing quote was ignored by
3337         TextEncodingRegistry.
3338         
3339         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
3340         Added dashes to alias names that didn't have them. Added aliases prompted by regression tests.
3341
3342         * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::registerEncodingNames):
3343         Don't register 8859-1, other browsers do not support this encoding name.
3344
3345         * platform/text/TextEncoding.cpp: (WebCore::Latin1Encoding):
3346         "Latin-1" is not a real encoding name, it's not known to Firefox or IE.
3347
3348         * platform/text/TextEncodingRegistry.cpp:
3349         (WebCore::TextEncodingNameHash::equal): Changed to no longer ignore non-alphanumeric characters.
3350         There is a good chance that we'll be missing support for some necessary alias names, but other
3351         browsers don't ignore any characters when matching names.
3352         (WebCore::TextEncodingNameHash::hash): Ditto.
3353         (WebCore::checkExistingName): Re-formatted a line.
3354         (WebCore::isUndesiredAlias): Added a filter to reject "8859_1" and any names containing commas.
3355         (WebCore::addToTextEncodingNameMap): Used it.
3356         (WebCore::atomicCanonicalTextEncodingName): Changed to no longer ignore non-alphanumeric characters.
3357
3358 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
3359
3360         Reviewed by Laszlo Gombos.
3361
3362         [Qt] Temporary files should not be created in the current directory
3363         https://bugs.webkit.org/show_bug.cgi?id=43562
3364
3365         Don't create temporary files in the current directory, use QDir::tempPath()
3366         instead, as suggested by the QTemporaryFile documentation.
3367
3368         * platform/qt/FileSystemQt.cpp:
3369         (WebCore::openTemporaryFile):
3370
3371 2010-08-05  François Sausset  <sausset@gmail.com>
3372
3373         Reviewed by Kenneth Rohde Christiansen.
3374
3375         Make STIX font the default one to render MathML
3376         https://bugs.webkit.org/show_bug.cgi?id=41961
3377
3378         * css/mathml.css:
3379         (math):
3380
3381 2010-08-05  Cosmin Truta  <ctruta@chromium.org>
3382
3383         Reviewed by Eric Seidel.
3384
3385         Apply a stylistic fix to the patch 62640.
3386         https://bug-41175-attachments.webkit.org/attachment.cgi?id=62640
3387         https://bugs.webkit.org/show_bug.cgi?id=41175
3388
3389         * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
3390         (getImageData):
3391
3392 2010-08-05  Patrick Gansterer  <paroga@paroga.com>
3393
3394         Reviewed by Adam Roben.
3395
3396         Make SearchPopupMenuWin more portable
3397         https://bugs.webkit.org/show_bug.cgi?id=43527
3398
3399         Add #if PLATFORM(CF) around CoreFoundation code.
3400
3401         * platform/win/SearchPopupMenuWin.cpp:
3402         (WebCore::SearchPopupMenuWin::enabled):
3403         (WebCore::SearchPopupMenuWin::saveRecentSearches):
3404         (WebCore::SearchPopupMenuWin::loadRecentSearches):
3405
3406 2010-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3407
3408         Unreviewed, rolling out r63653.
3409         http://trac.webkit.org/changeset/63653
3410         https://bugs.webkit.org/show_bug.cgi?id=43592
3411
3412         regressed multiple background-images (Requested by smfr on
3413         #webkit).
3414
3415         * manual-tests/css3-background-layer-count.html: Removed.
3416         * rendering/style/FillLayer.cpp:
3417         (WebCore::FillLayer::fillUnsetProperties):
3418         (WebCore::FillLayer::cullEmptyLayers):
3419         * rendering/style/RenderStyle.h:
3420         (WebCore::InheritedFlags::adjustBackgroundLayers):
3421         (WebCore::InheritedFlags::adjustMaskLayers):
3422
3423 2010-08-05  Mark Rowe  <mrowe@apple.com>
3424
3425         Reviewed by Jon Honeycutt.
3426
3427         Fix some leaks seen on the buildbot.
3428
3429         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3430         (WebCore::GraphicsContext3D::paintToCanvas): Adopt the newly-created CoreGraphics objects rather than sharing ownership
3431         and over-incrementing their reference count. Also cleaned up the bizarre wrapping used for function arguments while I was
3432         touching this code.
3433
3434 2010-08-05  James Robinson  <jamesr@chromium.org>
3435
3436         Rubber stamped by Eric Seidel.
3437
3438         [SVG] SVGPathSeg.cpp needs an #if ENABLE(SVG) guard
3439         https://bugs.webkit.org/show_bug.cgi?id=43599
3440
3441         Matches the rest of the .cpp files in this directory.
3442
3443         * svg/SVGPathSeg.cpp:
3444
3445 2010-08-05  Erik Arvidsson  <arv@chromium.org>
3446
3447         Reviewed by Kent Tamura.
3448
3449         Calling setCustomValidity should trigger a layout
3450         https://bugs.webkit.org/show_bug.cgi?id=43582
3451
3452         Test: fast/forms/setCustomValidity.html
3453
3454         * html/ValidityState.cpp:
3455         (WebCore::ValidityState::setCustomErrorMessage): Call setNeedsValidityCheck to tell the system that the validity might have changed.
3456         * html/ValidityState.h:
3457
3458 2010-08-05  Sam Weinig  <sam@webkit.org>
3459
3460         Reviewed by Anders Carlsson.
3461
3462         Add ability to get a JSValueRef for a node handle and a world
3463         https://bugs.webkit.org/show_bug.cgi?id=43591
3464
3465         * WebCore.exp.in: Add exports.
3466
3467 2010-08-05  Gavin Barraclough  <barraclough@apple.com>
3468
3469         Rubber stamped by Sam Weinig
3470
3471         Bug 43594 - Add string forwards to Forward.h
3472         This allows us to remove forward declarations for these classes from
3473         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
3474
3475         * WebCore.xcodeproj/project.pbxproj:
3476         * accessibility/AXObjectCache.h:
3477         * accessibility/AccessibilityARIAGrid.h:
3478         * accessibility/AccessibilityListBoxOption.h:
3479         * accessibility/AccessibilityObject.h:
3480         * accessibility/AccessibilityRenderObject.h:
3481         * accessibility/AccessibilityTable.h:
3482         * bindings/cpp/WebDOMCString.h:
3483         * bindings/cpp/WebDOMString.h:
3484         * bindings/gobject/ConvertToUTF8String.h:
3485         * bindings/js/DOMWrapperWorld.h:
3486         * bindings/js/JSDOMBinding.h:
3487         * bindings/js/JSDOMWindowBase.h:
3488         * bindings/js/JSMessagePortCustom.h:
3489         * bindings/js/JavaScriptCallFrame.h:
3490         * bindings/js/ScriptController.h:
3491         * bindings/js/ScriptProfile.h:
3492         * bindings/js/ScriptSourceProvider.h:
3493         * bindings/js/ScriptString.h:
3494         * bindings/js/WorkerScriptController.h:
3495         * bindings/objc/DOMImplementationFront.h:
3496         * bindings/v8/ScheduledAction.h:
3497         * bindings/v8/ScriptController.h:
3498         * bindings/v8/V8DOMWindowShell.h:
3499         * bindings/v8/V8Proxy.h:
3500         * bindings/v8/V8Utilities.h:
3501         * bindings/v8/custom/V8CustomXPathNSResolver.h:
3502         * bridge/c/c_utility.h:
3503         * css/CSSFontSelector.h:
3504         * css/CSSHelper.h:
3505         * css/CSSOMUtils.h:
3506         * css/CSSPrimitiveValue.h:
3507         * css/MediaList.h:
3508         * css/StyleBase.h:
3509         * css/StyleSheetList.h:
3510         * css/WebKitCSSKeyframesRule.h:
3511         * dom/CheckedRadioButtons.h:
3512         * dom/DOMImplementation.h:
3513         * dom/DocumentMarker.h:
3514         * dom/DynamicNodeList.h:
3515         * dom/EventTarget.h:
3516         * dom/MessagePort.h:
3517         * dom/MessagePortChannel.h:
3518         * dom/NameNodeList.h:
3519         * dom/Node.h:
3520         * dom/NodeList.h:
3521         * dom/OptionGroupElement.h:
3522         * dom/ScriptExecutionContext.h:
3523         * dom/SelectElement.h:
3524         * dom/ViewportArguments.h:
3525         * dom/make_names.pl:
3526         * editing/HTMLInterchange.h:
3527         * editing/htmlediting.h:
3528         * editing/markup.h:
3529         * html/CollectionCache.h:
3530         * html/DOMFormData.h:
3531         * html/DataGridColumnList.h:
3532         * html/DateComponents.h:
3533         * html/FileStream.h:
3534         * html/FileStreamProxy.h:
3535         * html/FormDataList.h:
3536         (WebCore::FormDataList::appendData):
3537         * html/HTMLCollection.h:
3538         * html/HTMLElementStack.h:
3539         * html/HTMLFormattingElementList.h:
3540         * html/HTMLParserQuirks.h:
3541         * html/HTMLQuoteElement.h:
3542         * html/HTMLScriptRunnerHost.h:
3543         * html/StepRange.h:
3544         * html/canvas/CanvasGradient.h:
3545         * html/canvas/CanvasNumberArray.h:
3546         * html/canvas/CanvasPattern.h:
3547         * inspector/InjectedScript.h:
3548         * inspector/InspectorCSSStore.h:
3549         * inspector/InspectorClient.h:
3550         * inspector/InspectorFrontendClient.h:
3551         * inspector/InspectorValues.h:
3552         * inspector/ScriptDebugListener.h:
3553         * loader/CachedResourceClient.h:
3554         * loader/CrossOriginAccessControl.h:
3555         * loader/DocumentThreadableLoader.h:
3556         * loader/FrameLoaderClient.h:
3557         * loader/RedirectScheduler.h:
3558         * loader/SubframeLoader.h:
3559         * loader/appcache/DOMApplicationCache.h:
3560         * loader/archive/ArchiveFactory.h:
3561