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