2011-06-21 Kent Tamura <tkent@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-21  Kent Tamura  <tkent@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Avoid custom layout code of RenderTextControlSingleLine
6         https://bugs.webkit.org/show_bug.cgi?id=61415
7
8         If a text field has a search results button, a search cancel
9         button, a speech button, or a spin button, the editable inner text
10         element and they are wrapped by a flexible box container, and the
11         editable inner text element has flexibility.
12         As the result of applying the flexible box, we don't need any
13         horizontal layout code in RenderTextControlSingleLine except the
14         inner spin button.
15
16         Also, we remove custom hit-testing code in nodeAtPoint(). If a
17         user clicks on a position left of the inner editable text but not
18         on the search results button, the search results button doesn't
19         work though it worked.
20
21         * css/html.css:
22         (input::-webkit-textfield-decoration-container):
23           New style definition for the "container" element.
24         (input[type="search"]::-webkit-search-cancel-button):
25           It should be a block element because it's a child of the flexible box.
26           Also, this doesn't have flexibility.
27         (input[type="search"]::-webkit-search-decoration): ditto.
28         (input[type="search"]::-webkit-search-results-decoration): ditto.
29         (input[type="search"]::-webkit-search-results-button): ditto.
30         (input::-webkit-inner-spin-button): ditto.
31         (input::-webkit-input-speech-button): ditto.
32         * html/HTMLInputElement.cpp:
33         (WebCore::HTMLInputElement::containerElement):
34           Add an accessor of the flexible box container.
35           It just calls InputType::containerElement().
36         * html/HTMLInputElement.h: Declare it.
37         * html/InputType.h:
38         (WebCore::InputType::containerElement): New accessor for a shadow element.
39         * html/SearchInputType.cpp:
40         (WebCore::SearchInputType::SearchInputType):
41           m_innerBlock is moved to TextFieldInputType.
42         (WebCore::SearchInputType::needsContainer):
43           A search field always needs the flexible box container because
44           of the results button and the cancel button.
45         (WebCore::SearchInputType::createShadowSubtree):
46           Use TextFieldInputType::createShadowSubtree(), then modify the tree.
47         (WebCore::SearchInputType::destroyShadowSubtree):
48           m_innerBlock is moved to TextFieldInputType.
49         * html/SearchInputType.h:
50         * html/TextFieldInputType.cpp:
51         (WebCore::TextFieldInputType::TextFieldInputType):
52           Initialize the new members.
53         (WebCore::TextFieldInputType::needsContainer):
54           Returns true if x-webkit-speech. We check a spin button separately.
55         (WebCore::TextFieldInputType::createShadowSubtree):
56           Wrap everything with the flexible box container if needsContainer() or we need a spin button.
57         (WebCore::TextFieldInputType::containerElement): Added an accessor.
58         (WebCore::TextFieldInputType::innerBlockElement): ditto.
59         (WebCore::TextFieldInputType::innerTextElement): ditto.
60         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
61         (WebCore::TextFieldInputType::speechButtonElement): ditto.
62         (WebCore::TextFieldInputType::destroyShadowSubtree):
63           Clear references to new shadow nodes.
64         * html/TextFieldInputType.h:
65         * rendering/RenderTextControlSingleLine.cpp:
66         (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
67         (WebCore::RenderTextControlSingleLine::innerTextElement):
68         (WebCore::RenderTextControlSingleLine::layout):
69          - Correct heights check
70           Comparing with height(), not contentHeigth(), was incorrect.
71          - Adjust the container height like the editable inner text.
72          - Remove width adjustment
73          - Remove the speech button layout code
74           The flexible box layout is enough.
75         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
76           Remove custom code for results/cancel/speech buttons, and
77           Simplify comments.
78         (WebCore::RenderTextControlSingleLine::forwardEvent):
79           Remove custom forwarding code for results/cancel buttons.
80         (WebCore::RenderTextControlSingleLine::styleDidChange):
81           Clear the style of the container because we update it in layout().
82         (WebCore::RenderTextControlSingleLine::hasControlClip):
83           Decoration buttons should be clipped by the container.
84         (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
85         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
86           We don't need to use display:inline-block any more.
87         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
88           The text wrapper element should have flexibility.
89         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
90           Updated for the tree structure change.
91         * rendering/RenderTextControlSingleLine.h:
92
93 2011-06-21  MORITA Hajime  <morrita@google.com>
94
95         Unreviewed, rolling out r89401 and r89403.
96         http://trac.webkit.org/changeset/89401
97         http://trac.webkit.org/changeset/89403
98         https://bugs.webkit.org/show_bug.cgi?id=62970
99
100         Breaks mac build and mistakenly enables the spellcheck API
101
102         * CMakeLists.txt:
103         * Configurations/FeatureDefines.xcconfig:
104         * DerivedSources.make:
105         * GNUmakefile.am:
106         * GNUmakefile.list.am:
107         * WebCore.pro:
108         * WebCore.vcproj/WebCore.vcproj:
109         * WebCore.xcodeproj/project.pbxproj:
110         * features.pri:
111
112 2011-06-21  Kent Tamura  <tkent@chromium.org>
113
114         [Mac] Sort Xcode project files.
115
116         * WebCore.xcodeproj/project.pbxproj:
117
118 2011-06-21  Darin Adler  <darin@apple.com>
119
120         Reviewed by Ryosuke Niwa.
121
122         RefPtr misused as argument type in a few classes
123         https://bugs.webkit.org/show_bug.cgi?id=62955
124
125         * dom/DataTransferItem.cpp:
126         (WebCore::DataTransferItem::DataTransferItem):
127         * dom/DataTransferItem.h:
128         * dom/DataTransferItems.cpp:
129         (WebCore::DataTransferItems::DataTransferItems):
130         * dom/DataTransferItems.h:
131         * editing/CompositeEditCommand.cpp:
132         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
133         * editing/CompositeEditCommand.h:
134         * page/WebKitAnimationList.cpp:
135         (WebCore::WebKitAnimationList::append):
136         (WebCore::WebKitAnimationList::insertAnimation):
137         * page/WebKitAnimationList.h:
138         * svg/graphics/filters/SVGFEImage.cpp:
139         (WebCore::FEImage::FEImage):
140         (WebCore::FEImage::create):
141         * svg/graphics/filters/SVGFEImage.h:
142         * svg/graphics/filters/SVGFilterBuilder.cpp:
143         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
144         (WebCore::SVGFilterBuilder::add):
145         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
146         * svg/graphics/filters/SVGFilterBuilder.h:
147         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
148         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
149         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
150         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
151         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
152         * websockets/ThreadableWebSocketChannelClientWrapper.h:
153         * websockets/WorkerThreadableWebSocketChannel.cpp:
154         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
155         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
156         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
157         * websockets/WorkerThreadableWebSocketChannel.h:
158         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
159
160 2011-06-20  MORITA Hajime  <morrita@google.com>
161
162         Reviewed by Kent Tamura.
163
164         Spellcheck API should be build-able.
165         https://bugs.webkit.org/show_bug.cgi?id=62970
166
167         No new tests, changing only build related files
168
169         * CMakeLists.txt:
170         * Configurations/FeatureDefines.xcconfig:
171         * DerivedSources.make:
172         * GNUmakefile.am:
173         * GNUmakefile.list.am:
174         * WebCore.pro:
175         * WebCore.vcproj/WebCore.vcproj:
176         * WebCore.xcodeproj/project.pbxproj:
177         * features.pri:
178
179 2011-06-21  Matthew Delaney  <mdelaney@apple.com>
180
181         Reviewed by Simon Fraser.
182
183         beginTransparencyLayer leaves context color out of sync, bleeds color into text
184         https://bugs.webkit.org/show_bug.cgi?id=63093
185
186         Test: fast/css/color-leakage.html
187
188         * platform/graphics/cg/GraphicsContextCG.cpp: Swap out CGContextSave/Restore with
189         GraphicsContext::save/restore to keep the context in sync with its CG context
190         (WebCore::GraphicsContext::beginTransparencyLayer): Added save(), removed redundant calls.
191         (WebCore::GraphicsContext::endTransparencyLayer): Added restore(), removed redundant calls.
192
193 2011-06-21  Tony Chang  <tony@chromium.org>
194
195         Reviewed by Eric Seidel.
196
197         add css parsing of flex()
198         https://bugs.webkit.org/show_bug.cgi?id=62050
199
200         Test: css3/flexbox/flex-parsing.html
201
202         * CMakeLists.txt: Add CSSFlexValue.*
203         * GNUmakefile.list.am: Ditto.
204         * WebCore.gypi: Ditto.
205         * WebCore.pro: Ditto.
206         * WebCore.vcproj/WebCore.vcproj: Ditto.
207         * WebCore.xcodeproj/project.pbxproj: Ditto.
208         * css/CSSFlexValue.cpp: Added.
209         (WebCore::CSSFlexValue::~CSSFlexValue):
210         (WebCore::CSSFlexValue::cssText):
211         * css/CSSFlexValue.h: Added.
212         (WebCore::CSSFlexValue::create): Hold positive flex, negative flex and sizing.
213         (WebCore::CSSFlexValue::CSSFlexValue):
214         * css/CSSParser.cpp:
215         (WebCore::CSSParser::parseValidPrimitive): Pull out code from parseValue.
216         (WebCore::CSSParser::parseValue):
217         (WebCore::CSSParser::parseFlex): Parse the different version of flex().
218         * css/CSSParser.h:
219
220 2011-06-21  Adrienne Walker  <enne@google.com>
221
222         Reviewed by Simon Fraser.
223
224         Add child layers to the overlap map if their parent belatedly becomes composited
225         https://bugs.webkit.org/show_bug.cgi?id=62181
226
227         * rendering/RenderLayerCompositor.cpp:
228         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
229         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
230         * rendering/RenderLayerCompositor.h:
231
232 2011-06-21  Zhenyao Mo  <zmo@google.com>
233
234         Reviewed by Kenneth Russell.
235
236         Implement drawingBufferWidth/drawingBufferHeight in WebGL
237         https://bugs.webkit.org/show_bug.cgi?id=58497
238
239         * html/canvas/WebGLRenderingContext.cpp: Add drawingBufferWidth/Height method and call getInternalFramebufferSize().
240         (WebCore::WebGLRenderingContext::drawingBufferWidth):
241         (WebCore::WebGLRenderingContext::drawingBufferHeight):
242         * html/canvas/WebGLRenderingContext.h:
243         * html/canvas/WebGLRenderingContext.idl: Add readonly attributes drawingBufferWidth/Height.
244         * platform/graphics/GraphicsContext3D.h:
245         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Make getInternalFramebufferSize const.
246         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
247         * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
248         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
249
250 2011-06-21  Dmitry Lomov  <dslomov@google.com>
251
252         Reviewed by Adam Barth.
253
254         https://bugs.webkit.org/show_bug.cgi?id=62653
255         [V8][Chromium] Make StringCache in V8 bindings per-isolate
256         This moves StringCache into V8BindingPerIsolateData.
257
258         * bindings/v8/V8Binding.cpp:
259         (WebCore::cachedStringCallback):
260         (WebCore::StringCache::remove):
261         (WebCore::StringCache::v8ExternalStringSlow):
262         * bindings/v8/V8Binding.h:
263         (WebCore::StringCache::StringCache):
264         (WebCore::StringCache::v8ExternalString):
265         (WebCore::StringCache::clearOnGC):
266         (WebCore::V8BindingPerIsolateData::stringCache):
267         (WebCore::v8ExternalString):
268         * bindings/v8/V8GCController.cpp:
269         (WebCore::V8GCController::gcPrologue):
270         * bindings/v8/WorkerContextExecutionProxy.cpp:
271         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
272
273
274 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
275
276         Clang build fix.
277
278         * platform/mac/WebCoreSystemInterface.h: Give the enum a name.
279
280 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
281
282         Fix Mac build in some configurations.
283
284         * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
285         WKSI in WebCore.
286
287         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
288         It's not meant to be used from WebCore, and if included, a wrong copy may be used.
289         (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
290         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
291         WCSI style (lower level "wk").
292
293 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
294
295         Unreviewed, rolling out r89354.
296         http://trac.webkit.org/changeset/89354
297         https://bugs.webkit.org/show_bug.cgi?id=63099
298
299         Broke tests on Mac (Requested by rniwa on #webkit).
300
301         * WebCore.exp.in:
302         * WebCore.gypi:
303         * WebCore.vcproj/WebCore.vcproj:
304         * inspector/InspectorFrontendClientLocal.cpp:
305         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
306         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
307         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
308         * inspector/InspectorFrontendClientLocal.h:
309         * inspector/front-end/InspectorFrontendAPI.js: Removed.
310         * inspector/front-end/ProfileView.js:
311         (WebInspector.CPUProfileType):
312         * inspector/front-end/ProfilesPanel.js:
313         (WebInspector.ProfilesPanel.prototype._enableProfiling):
314         * inspector/front-end/ScriptsPanel.js:
315         (WebInspector.ScriptsPanel):
316         (WebInspector.ScriptsPanel.prototype._enableDebugging):
317         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
318         * inspector/front-end/TimelinePanel.js:
319         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
320         * inspector/front-end/WebKit.qrc:
321         * inspector/front-end/inspector.html:
322
323 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
324
325         Reviewed by Adam Barth.
326
327         IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
328         https://bugs.webkit.org/show_bug.cgi?id=63087
329
330         Test: storage/indexeddb/objectStore-required-arguments.html
331
332         * storage/IDBObjectStore.idl: Remove LegacyDefaultOptionalArguments flag
333         so missing required arguments will throw TypeError, as per WebIDL spec.
334
335 2011-06-21  Rob Buis  <rbuis@rim.com>
336
337         Reviewed by Dirk Schulze.
338
339         All pointer-events fail if text has visibility="hidden"
340         https://bugs.webkit.org/show_bug.cgi?id=62209
341
342         Use PointerEventsHitRules to make hit-testing for SVG text inline boxes work.
343
344         No new tests; covered by existing test pointer-events-text.svg.
345
346         * rendering/svg/SVGInlineTextBox.cpp:
347         (WebCore::SVGInlineTextBox::nodeAtPoint):
348         * rendering/svg/SVGInlineTextBox.h:
349
350 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
351
352         Reviewed by Adam Barth.
353
354         IndexedDB: keyrange methods should throw TypeError if required arguments are missing
355         https://bugs.webkit.org/show_bug.cgi?id=63085
356
357         Test: storage/indexeddb/keyrange-required-arguments.html
358
359         * storage/IDBKeyRange.idl: remove LegacyDefaultOptionalArguments flag
360         so missing required arguments throw TypeError, as per WebIDL spec.
361
362 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
363
364         Reviewed by Tony Chang.
365
366         IndexedDB: should throw TypeError when indexedDB.open() name argument is missing
367         https://bugs.webkit.org/show_bug.cgi?id=63065
368
369         * storage/IDBFactory.idl: remove LegacyDefaultOptionalArguments flag
370         and fix function argument flags
371
372 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
373
374         Reviewed by Tony Chang.
375
376         IndexedDB: should throw TypeError when index .get() key argument is missing
377         https://bugs.webkit.org/show_bug.cgi?id=63079
378
379         Test: storage/indexeddb/index-get-key-argument-required.html
380
381         * storage/IDBIndex.idl: remove LegacyDefaultOptionalArguments flag
382         so missing required arguments throw a TypeError as per WebIDL spec.
383
384 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
385
386         Reviewed by Tony Chang.
387
388         IndexedDB: cursor update() value argument is required
389         https://bugs.webkit.org/show_bug.cgi?id=63032
390
391         Test: storage/indexeddb/cursor-update-value-argument-required.html
392
393         * storage/IDBCursor.idl: remove LegacyDefaultOptionalArguments flag so
394           calling functions with missing required arguments will raise a TypeError
395
396 2011-06-21  Martin Robinson  <mrobinson@igalia.com>
397
398         Reviewed by Dirk Schulze.
399
400         [GTK] r89314 caused several shadow tests to start failing
401         https://bugs.webkit.org/show_bug.cgi?id=63045
402
403         Use prepareForFilling and prepareForStroking when rendering the shadowed
404         image of a path. This ensures that the shadowed image has the proper alpha.
405
406         * platform/graphics/cairo/GraphicsContextCairo.cpp:
407         (WebCore::drawPathShadow): Properly prepare the shadow image.
408
409 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
410
411         Reviewed by Pavel Feldman.
412
413         Web Inspector: [Chromium] Remove old (aggregating) heap profiler.
414         https://bugs.webkit.org/show_bug.cgi?id=63049
415
416         * WebCore.gypi:
417         * WebCore.vcproj/WebCore.vcproj:
418         * bindings/v8/ScriptProfiler.cpp:
419         (WebCore::ScriptProfiler::takeHeapSnapshot):
420         * inspector/Inspector.json:
421         * inspector/InspectorProfilerAgent.cpp:
422         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
423         * inspector/InspectorProfilerAgent.h:
424         * inspector/front-end/DetailedHeapshotView.js:
425         (WebInspector.DetailedHeapshotView.prototype.get profile):
426         (WebInspector.DetailedHeapshotView.prototype.get baseProfile):
427         (WebInspector.DetailedHeapshotView.prototype._profiles):
428         (WebInspector.DetailedHeapshotProfileType):
429         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
430         * inspector/front-end/HeapSnapshotView.js: Removed.
431         * inspector/front-end/ProfilesPanel.js:
432         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
433         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
434         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
435         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
436         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
437         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
438         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
439         * inspector/front-end/WebKit.qrc:
440         * inspector/front-end/heapProfiler.css:
441         * inspector/front-end/inspector.html:
442
443 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
444
445         Reviewed by Pavel Feldman.
446
447         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
448         https://bugs.webkit.org/show_bug.cgi?id=63069
449
450         * inspector/Inspector.json:
451         * inspector/InspectorPageAgent.cpp:
452         (WebCore::InspectorPageAgent::cachedResourceContent):
453         (WebCore::InspectorPageAgent::resourceContent):
454         (WebCore::InspectorPageAgent::getResourceContent):
455         (WebCore::InspectorPageAgent::searchInResources):
456         * inspector/InspectorPageAgent.h:
457         * inspector/InspectorResourceAgent.cpp:
458         (WebCore::InspectorResourceAgent::getResourceContent):
459         * inspector/InspectorResourceAgent.h:
460         * inspector/InspectorStyleSheet.cpp:
461         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
462         * inspector/front-end/NetworkManager.js:
463         (WebInspector.NetworkManager.prototype.requestContent):
464         * inspector/front-end/Resource.js:
465         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
466         (WebInspector.Resource.prototype._innerRequestContent):
467
468 2011-06-21  Dirk Schulze  <krit@webkit.org>
469
470         Reviewed by Rob Buis.
471
472         SVG no fallback to discrete animation on attribute 'values' for SVGString
473         https://bugs.webkit.org/show_bug.cgi?id=57085
474
475         Check for AnimatedString, AnimatedBoolean and AnimatedEnumeration on 'values' calculation.
476         If the property type matches one of the above values, fallback to discrete animation.
477
478         The patch also changes behavior for String animation. The animation code doesn't handle inheritance
479         for strings anymore. This is done by the CSS parser itself now, we just need to handle inheritance
480         on animations that interpolate between two values like for calcMode="linear".
481
482         Test: svg/animations/svgstring-animation-fallback-to-discrete.html
483
484         * svg/SVGAnimateElement.cpp:
485         (WebCore::SVGAnimateElement::calculateAnimatedValue):
486         * svg/SVGAnimateElement.h:
487         * svg/SVGAnimationElement.cpp:
488         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
489
490 2011-06-21  Cary Clark  <caryclark@google.com>
491
492         Reviewed by Eric Seidel.
493
494         Update GraphicsContextSkia when the Chromium platform is Mac
495         https://bugs.webkit.org/show_bug.cgi?id=62867
496
497         No new tests. This does not modify existing code;
498         there is no change in functionality.
499
500         * platform/graphics/skia/GraphicsContextSkia.cpp:
501         (WebCore::drawOuterPath):
502         (WebCore::drawInnerPath):
503         (WebCore::getFocusRingOutset):
504         (WebCore::GraphicsContext::drawFocusRing):
505         The OS X framework draws a fatter focus ring than the
506         Chromium port. Increase the diameter, and add an inner
507         stroke with more transparency, to match the look of
508         Chromium on Mac when Skia is the rendering engine.
509
510         (WebCore::deviceRGBColorSpaceRef):
511         Add deviceRGBColorSpaceRef, a static cache of
512         CGColorSpaceCreateDeviceRGB(). This is called by
513         the Mac-specific UI when Skia is the rendering engine.
514
515 2011-06-21  Tony Chang  <tony@chromium.org>
516
517         Try to fix WinCE build.  Replace cat with perl -ne "print".
518
519         * CMakeLists.txt:
520
521 2011-06-21  Alexandru Chiculita  <achicu@adobe.com>
522
523         Reviewed by Tony Chang.
524
525         "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account
526         https://bugs.webkit.org/show_bug.cgi?id=62114
527         
528         Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed.
529         That's needed because we now pre-process the files with the C++ pre-processor. Also, there's 
530         no need to manually strip the comments anymore.
531         
532         Moved the duplication checks from project files to makeprop.pl and makevalues.pl.
533         In addition makevalues.pl will also lower case the values.
534
535         This is a build script refactoring, so no tests are provided.
536
537         * CMakeLists.txt:
538         * CodeGenerators.pri:
539         * DerivedSources.make:
540         * GNUmakefile.am:
541         * WebCore.gyp/WebCore.gyp:
542         * WebCore.gyp/scripts/action_csspropertynames.py:
543         * WebCore.gyp/scripts/action_cssvaluekeywords.py:
544         * css/CSSPropertyNames.in: comment style only
545         * css/CSSValueKeywords.in: comment style only
546         * css/SVGCSSPropertyNames.in: comment style only
547         * css/SVGCSSValueKeywords.in: comment style only
548         * css/WCSSValueKeywords.in: comment style only
549         * css/makeprop.pl:
550         * css/makevalues.pl:
551
552 2011-06-21  Peter Varga  <pvarga@webkit.org>
553
554         Reviewed by Andreas Kling.
555
556         [Qt][V8] Enable ScriptController::disableEval functionality in QtWebkit-V8 build
557         https://bugs.webkit.org/show_bug.cgi?id=61187
558
559         No new tests needed.
560
561         * bindings/v8/ScriptController.cpp:
562         (WebCore::ScriptController::disableEval):
563
564 2011-06-21  Peter Varga  <pvarga@webkit.org>
565
566         Reviewed by Andreas Kling.
567
568         [Qt][V8] Enable marking objects with complex GC rules
569         https://bugs.webkit.org/show_bug.cgi?id=61291
570
571         No new tests needed.
572
573         * bindings/scripts/CodeGeneratorV8.pm:
574         * bindings/scripts/test/V8/V8TestInterface.cpp:
575         (WebCore::V8TestInterface::wrapSlow):
576         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
577         (WebCore::V8TestMediaQueryListListener::wrapSlow):
578         * bindings/scripts/test/V8/V8TestObj.cpp:
579         (WebCore::V8TestObj::wrapSlow):
580         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
581         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
582
583 2011-06-20  Pavel Feldman  <pfeldman@chromium.org>
584
585         Reviewed by Yury Semikhatsky.
586
587         Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
588         https://bugs.webkit.org/show_bug.cgi?id=62985
589
590         Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
591         methods for plumbing the menu action handlers through the WebKit and WebCore.
592         I intend to remove this menu support from the protocol and WebCore/InspectorController API.
593         I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
594         WebKit/win and WebKit2 to follow.
595
596         * WebCore.exp.in:
597         * WebCore.gypi:
598         * WebCore.vcproj/WebCore.vcproj:
599         * inspector/InspectorFrontendClientLocal.cpp:
600         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
601         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
602         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
603         (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
604         (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
605         (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
606         (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
607         (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
608         (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
609         (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
610         (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
611         (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
612         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
613         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
614         * inspector/InspectorFrontendClientLocal.h:
615         * inspector/front-end/InspectorFrontendAPI.js: Added.
616         (InspectorFrontendAPI.isDebuggingEnabled):
617         (InspectorFrontendAPI.setDebuggingEnabled):
618         (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
619         (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
620         (InspectorFrontendAPI.isTimelineProfilingEnabled):
621         (InspectorFrontendAPI.setTimelineProfilingEnabled):
622         (InspectorFrontendAPI.isProfilingJavaScript):
623         (InspectorFrontendAPI.startProfilingJavaScript):
624         (InspectorFrontendAPI.stopProfilingJavaScript):
625         (InspectorFrontendAPI.setAttachedWindow):
626         * inspector/front-end/ProfileView.js:
627         (WebInspector.CPUProfileType):
628         (WebInspector.CPUProfileType.prototype.isRecordingProfile):
629         (WebInspector.CPUProfileType.prototype.startRecordingProfile):
630         (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
631         * inspector/front-end/ProfilesPanel.js:
632         (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
633         (WebInspector.ProfilesPanel.prototype.enableProfiler):
634         (WebInspector.ProfilesPanel.prototype.disableProfiler):
635         * inspector/front-end/ScriptsPanel.js:
636         (WebInspector.ScriptsPanel):
637         (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
638         (WebInspector.ScriptsPanel.prototype.enableDebugging):
639         (WebInspector.ScriptsPanel.prototype.disableDebugging):
640         (WebInspector.ScriptsPanel.prototype.toggleDebugging):
641         * inspector/front-end/TimelinePanel.js:
642         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
643         (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
644         (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
645         * inspector/front-end/WebKit.qrc:
646         * inspector/front-end/inspector.html:
647         * inspector/front-end/inspector.js:
648
649 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
650
651         Unreviewed, rolling out r89185.
652         http://trac.webkit.org/changeset/89185
653         https://bugs.webkit.org/show_bug.cgi?id=63068
654
655         For breaking navigation with inspector opened. (Requested by
656         pfeldman on #webkit).
657
658         * bindings/v8/V8Binding.cpp:
659         (WebCore::enableStringImplCache):
660         (WebCore::getStringCache):
661         (WebCore::cachedStringCallback):
662         (WebCore::v8ExternalStringSlow):
663         * bindings/v8/V8Binding.h:
664         (WebCore::v8ExternalString):
665         * bindings/v8/V8GCController.cpp:
666         (WebCore::V8GCController::gcPrologue):
667
668 2011-06-21  Pavel Feldman  <pfeldman@google.com>
669
670         Reviewed by Yury Semikhatsky.
671
672         Web Inspector: rename editScriptSource to setScriptSource.
673         https://bugs.webkit.org/show_bug.cgi?id=63059
674
675         * bindings/js/ScriptDebugServer.cpp:
676         (WebCore::ScriptDebugServer::setScriptSource):
677         * bindings/js/ScriptDebugServer.h:
678         * bindings/v8/DebuggerScript.js:
679         ():
680         * bindings/v8/ScriptDebugServer.cpp:
681         (WebCore::ScriptDebugServer::setScriptSource):
682         * bindings/v8/ScriptDebugServer.h:
683         * inspector/Inspector.json:
684         * inspector/InspectorDebuggerAgent.cpp:
685         (WebCore::InspectorDebuggerAgent::setScriptSource):
686         * inspector/InspectorDebuggerAgent.h:
687         * inspector/front-end/DebuggerModel.js:
688         (WebInspector.DebuggerModel.prototype.setScriptSource):
689         * inspector/front-end/DebuggerPresentationModel.js:
690         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
691         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
692         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
693         * inspector/front-end/Script.js:
694         (WebInspector.Script.prototype.editSource):
695         * inspector/front-end/ScriptsPanel.js:
696         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
697         * inspector/front-end/SourceFrame.js:
698         (WebInspector.SourceFrame.prototype.editContent):
699         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
700
701 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
702
703         Reviewed by Pavel Feldman.
704
705         Web Inspector: Show content in network panel correctly when two resources were loaded from the same url with different content.
706         https://bugs.webkit.org/show_bug.cgi?id=62992
707
708         Test: http/tests/inspector/network/network-cachedresources-with-same-urls.html
709
710         * inspector/InspectorPageAgent.cpp:
711         (WebCore::InspectorPageAgent::cachedResourceContent):
712         * inspector/InspectorPageAgent.h:
713         * inspector/InspectorResourceAgent.cpp:
714         (WebCore::InspectorResourceAgent::didReceiveResponse):
715         (WebCore::InspectorResourceAgent::getResourceContent):
716         * inspector/NetworkResourcesData.cpp:
717         (WebCore::NetworkResourcesData::addCachedResource):
718         * inspector/NetworkResourcesData.h:
719         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
720         (WebCore::NetworkResourcesData::ResourceData::setCachedResource):
721
722 2011-06-21  Alexander Pavlov  <apavlov@chromium.org>
723
724         Reviewed by Pavel Feldman.
725
726         Web Inspector: Attached state changes do not affect the drawer height
727         https://bugs.webkit.org/show_bug.cgi?id=63061
728
729         * inspector/front-end/Drawer.js:
730         (WebInspector.Drawer.prototype.enterPanelMode):
731         (WebInspector.Drawer.prototype.exitPanelMode):
732         (WebInspector.Drawer.prototype.updateHeight):
733         * inspector/front-end/inspector.js:
734         (WebInspector.set attached):
735
736 2011-06-17  Pavel Podivilov  <podivilov@chromium.org>
737
738         Reviewed by Pavel Feldman.
739
740         Web Inspector: can't set breakpoint on the last script line.
741         https://bugs.webkit.org/show_bug.cgi?id=62861
742
743         * inspector/InspectorDebuggerAgent.cpp:
744         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
745
746 2011-06-20  Yury Semikhatsky  <yurys@chromium.org>
747
748         Reviewed by Pavel Feldman.
749
750         Web Inspector: console messages shouldn't prevent garbage collection of iframes
751         https://bugs.webkit.org/show_bug.cgi?id=62996
752
753         When DOMWindow is detached from its frame run through all console messages and clear
754         their arguments and ScriptState references. The message text in this case will be
755         the first argument serialized to string.
756
757         Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html
758
759         * bindings/js/ScriptState.cpp:
760         (WebCore::domWindowFromScriptState):
761         * bindings/js/ScriptState.h:
762         * bindings/v8/ScriptState.cpp:
763         (WebCore::ScriptState::domWindow):
764         (WebCore::domWindowFromScriptState):
765         * bindings/v8/ScriptState.h:
766         * inspector/ConsoleMessage.cpp:
767         (WebCore::ConsoleMessage::windowCleared):
768         * inspector/ConsoleMessage.h:
769         * inspector/InjectedScriptManager.cpp:
770         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
771         * inspector/InjectedScriptManager.h:
772         * inspector/InspectorConsoleAgent.cpp:
773         (WebCore::InspectorConsoleAgent::domWindowCleared):
774         * inspector/InspectorConsoleAgent.h:
775         * inspector/InspectorInstrumentation.cpp:
776         (WebCore::InspectorInstrumentation::pageDestroyedImpl):
777         * inspector/InspectorInstrumentation.h:
778         (WebCore::InspectorInstrumentation::pageDestroyed):
779         * page/DOMWindow.cpp:
780         (WebCore::DOMWindow::pageDestroyed):
781
782 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
783
784         Reviewed by Yury Semikhatsky.
785
786         Web Inspector: [Chromium] Fix path finding to window objects.
787         https://bugs.webkit.org/show_bug.cgi?id=63051
788
789         * inspector/front-end/DetailedHeapshotView.js:
790         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
791
792 2011-06-21  Pavel Feldman  <pfeldman@chromium.org>
793
794         Reviewed by Yury Semikhatsky.
795
796         Web Inspector: hovering over linkified nodes
797         in the UI does not highlight elements on the page.
798         https://bugs.webkit.org/show_bug.cgi?id=60630
799
800         * inspector/front-end/inspector.js:
801         (WebInspector.wireElementWithDOMNode):
802
803 2011-06-20  Yuzo Fujishima  <yuzo@google.com>
804
805         Reviewed by Kent Tamura.
806
807         Fix for Bug 62975 - Refactor local variable usage in CSSFontFaceSource::getFontData
808         https://bugs.webkit.org/show_bug.cgi?id=62975
809
810         No new tests because no behavioral changes.
811
812         * css/CSSFontFaceSource.cpp:
813         (WebCore::CSSFontFaceSource::getFontData): Remove one of fontData variable.
814
815 2011-06-20  Andy Estes  <aestes@apple.com>
816
817         Reviewed by Darin Adler.
818
819         KURL::protocolIs(const char* protocol) asserts in Debug builds with
820         valid protocols
821         https://bugs.webkit.org/show_bug.cgi?id=61572
822
823         No new tests. No code currently calls protocolIs() with a protocol that
824         contains a non-letter character.
825
826         * platform/KURL.cpp:
827         (WebCore::isSchemeCharacterMatchIgnoringCase): A helper function that
828         compares two characters ignoring case. It assumes (and asserts) that
829         both characters are valid scheme characters, and that if the second
830         argument is a letter that it is lowercase.
831         (WebCore::KURL::protocolIs): Call isSchemeCharacterMatchIgnoringCase()
832         instead of isLetterMatchIgnoringCase().
833
834 2011-06-20  Dai Mikurube  <dmikurube@chromium.org>
835
836         Reviewed by Kent Tamura.
837
838         Webkit allows disabled option as value of "required" select
839         https://bugs.webkit.org/show_bug.cgi?id=62668
840
841         * html/HTMLSelectElement.cpp: Removed "disabled" checking due to spec change.
842         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
843
844 2011-06-20  Zhenyao Mo  <zmo@google.com>
845
846         Reviewed by Kenneth Russell.
847
848         Update ANGLE to r696.
849         https://bugs.webkit.org/show_bug.cgi?id=56396
850
851         * platform/graphics/ANGLEWebKitBridge.cpp:
852         (WebCore::ANGLEWebKitBridge::validateShaderSource): Specify backend.
853
854 2011-06-20  Eric Seidel  <eric@webkit.org>
855
856         Reviewed by Adam Barth.
857
858         Group load-initiating and stopping functions in FrameLoader.h
859         https://bugs.webkit.org/show_bug.cgi?id=63030
860
861         No function change, thus no tests.
862
863         * loader/FrameLoader.h:
864
865 2011-06-20  Sailesh Agrawal  <sail@chromium.org>
866
867         Reviewed by Mihai Parparita.
868
869         [Chromium] Draw search tickmarks on overlay scrollbars
870         https://bugs.webkit.org/show_bug.cgi?id=62783
871
872         This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
873
874         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
875         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
876         (wkScrollbarPainterPaint):
877         (wkScrollbarPainterPaintTrack):
878         (wkScrollbarPainterPaintKnob):
879         * platform/chromium/ScrollbarThemeChromiumMac.h:
880         * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
881         (WebCore::ScrollbarThemeChromiumMac::paint):
882         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
883
884 2011-06-20  Adam Barth  <abarth@webkit.org>
885
886         Mac build fix.  In addition to adding the files to the project, we need
887         to add them to the WebCore target.
888
889         * WebCore.xcodeproj/project.pbxproj:
890
891 2011-06-20  Adam Barth  <abarth@webkit.org>
892
893         Reviewed by Darin Adler.
894
895         Remove numRequests
896         https://bugs.webkit.org/show_bug.cgi?id=63028
897
898         numRequests exists just to cargo-cult null-check m_frame->document(),
899         which is always non-null.
900
901         * loader/FrameLoader.cpp:
902         (WebCore::FrameLoader::checkCompleted):
903         (WebCore::FrameLoader::numPendingOrLoadingRequests):
904
905 2011-06-20  Alexey Proskuryakov  <ap@apple.com>
906
907         Reviewed by Darin Adler.
908
909         startWordBoundary() in visible_units.cpp assumes that all characters are 16 bit
910         https://bugs.webkit.org/show_bug.cgi?id=63027
911
912         No new tests, because I don't see this affect any webkit.org ports.
913
914         * editing/visible_units.cpp: (WebCore::startWordBoundary): Previous offset is not just minus
915         one - we need to use a proper macro to iterate.
916
917 2011-06-20  Jay Civelli  <jcivelli@chromium.org>
918
919         Reviewed by Adam Barth.
920
921         Making SharedBufferCRLFLineReader more generic, so it can be used to read MHTML
922         file with binary parts.
923         https://bugs.webkit.org/show_bug.cgi?id=62966
924
925         * CMakeLists.txt:
926         * GNUmakefile.list.am:
927         * WebCore.gypi:
928         * WebCore.pro:
929         * WebCore.vcproj/WebCore.vcproj:
930         * WebCore.xcodeproj/project.pbxproj:
931         * loader/archive/mhtml/MHTMLParser.cpp:
932         (WebCore::skipLinesUntilBoundaryFound):
933         (WebCore::MHTMLParser::MHTMLParser):
934         (WebCore::MHTMLParser::parseNextPart):
935         * loader/archive/mhtml/MHTMLParser.h:
936         * platform/SharedBufferChunkReader.cpp: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.cpp.
937         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
938         (WebCore::SharedBufferChunkReader::setSeparator):
939         (WebCore::SharedBufferChunkReader::nextChunk):
940         * platform/SharedBufferChunkReader.h: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.h.
941         * platform/network/MIMEHeader.cpp:
942         (WebCore::retrieveKeyValuePairs):
943         (WebCore::MIMEHeader::parseHeader):
944         * platform/network/MIMEHeader.h:
945
946 2011-06-20  Martin Robinson  <mrobinson@igalia.com>
947
948         Reviewed by Xan Lopez.
949
950         [GTK] Windowless plugins sometimes crash with a BadMatch error
951         https://bugs.webkit.org/show_bug.cgi?id=63020
952
953         Do not try to create an XPixmap with any of the dimensions as zero.
954
955         * plugins/gtk/PluginViewGtk.cpp:
956         (WebCore::PluginView::updatePluginWidget): Guard against and empty window rect
957         before trying to create a windowless plugin pixmap.
958
959 2011-06-20  Antonio Gomes  <agomes@rim.com>
960
961         Reviewed by Ryosuke Niwa.
962
963         Stop adding empty rects in FrameSelection::getClippedVisibleTextRectangles
964         https://bugs.webkit.org/show_bug.cgi?id=63018
965
966         No new tests needed, since it causes no behavioral change.
967
968         * editing/FrameSelection.cpp:
969         (WebCore::FrameSelection::getClippedVisibleTextRectangles):
970
971 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
972
973         Reviewed by Pavel Feldman.
974
975         Web Inspector: CRASH if Expanding Event Listener on document
976         https://bugs.webkit.org/show_bug.cgi?id=61834
977
978         Node::ownerDocument returns null for a document node. So, in
979         the case of a document node in resolveNode, use Node::document
980         which returns the node, as a document.
981
982         * inspector/InspectorDOMAgent.cpp:
983         (WebCore::InspectorDOMAgent::resolveNode):
984
985 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
986
987         Reviewed by Simon Fraser.
988
989         Minimize memory due to layer backing stores for pages in the Page Cache
990         https://bugs.webkit.org/show_bug.cgi?id=62675
991
992         When a page enters the page cache there is now an option on
993         the PageCache singleton to clear the backing stores and layers
994         of the cached page. This can be useful to minimize the amount
995         of memory the stored page consumes.
996
997         This only affects memory usage and is disabled by default, so no test.
998
999         * history/CachedFrame.h:
1000         * history/CachedFrame.cpp:
1001         (WebCore::CachedFrameBase::CachedFrameBase):
1002         Save whether or not the page had composited content or not
1003         in a new instance variable, m_isComposited.
1004
1005         (WebCore::CachedFrameBase::restore):
1006         When restoring, rebuild the compositing tree if it may have
1007         been destroyed.
1008
1009         (WebCore::CachedFrame::CachedFrame):
1010         When saving, clear the backing stores if the page is in
1011         compositing mode, and the PageCache setting is enabled.
1012         
1013         * history/PageCache.cpp:
1014         (WebCore::PageCache::PageCache):
1015         * history/PageCache.h:
1016         (WebCore::PageCache::shouldClearBackingStores):
1017         (WebCore::PageCache::setShouldClearBackingStores):
1018         A setting to opt-in to the new behavior of clearing
1019         the backing stores.
1020
1021         * page/FrameView.h:
1022         * page/FrameView.cpp:
1023         (WebCore::FrameView::clearBackingStores):
1024         (WebCore::FrameView::restoreBackingStores):
1025         To clear all backing stores we disable compositing
1026         for the frame, to detach the root platform layer,
1027         and recursively clear backing stores from the root
1028         layer of the FrameView.
1029
1030         * rendering/RenderLayer.h:
1031         * rendering/RenderLayer.cpp:
1032         (WebCore::RenderLayer::clearBackingIncludingDescendants):
1033         Recursively call clearBacking.
1034
1035 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
1036
1037         Reviewed by Adam Barth.
1038
1039         IDL generator should throw TypeError instead of SyntaxError on not enough arguments
1040         https://bugs.webkit.org/show_bug.cgi?id=63011
1041
1042         To align with WebIDL, we should throw TypeError whenever a function
1043         is called with missing required arguments.
1044
1045         * bindings/scripts/CodeGeneratorJS.pm:
1046         * bindings/scripts/CodeGeneratorV8.pm:
1047         * bindings/scripts/test/V8/V8TestObj.cpp:
1048         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
1049
1050 2011-05-03  Martin Robinson  <mrobinson@igalia.com>
1051
1052         Reviewed by Dirk Schulze.
1053
1054         REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
1055         https://bugs.webkit.org/show_bug.cgi?id=31507
1056
1057         When painting text, be sure to set the pattern fill or gradient before modifying the Cairo
1058         context CTM. This ensures that gradients and patterns are scaled and positioned properly in
1059         the coordinate system of the page. Abstract out the fill preparation to avoid repeating this
1060         logic and perform a bit of cleanup.
1061
1062         * platform/graphics/cairo/FontCairo.cpp:
1063         (WebCore::prepareContextForGlyphDrawing): Now set the x and y position of the text using the glyph
1064         offsets. This avoids having to set a transformation matrix when there is no synthetic oblique.
1065         (WebCore::drawGlyphsToContext): Add a newline as part of cleanup. Call prepareContextForGlyphDrawing from here
1066         and restor the original CTM when exiting.
1067         (WebCore::drawGlyphsShadow): Use drawGlyphsToContext here to ensure that all glyph drawing goes through
1068         the same path.
1069         (WebCore::Font::drawGlyphs): Fix a C-style cast and use the glyph offsets to position the glyphs instead
1070         of adjusting the transformation matrix. Use GC::prepareForFilling and GC::prepareForStroking instead of
1071         setting up the fill and stroke manually.
1072         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1073         (WebCore::fillRectWithColor): Renamed fillRectSourceOver to fillRectWithColor to make it clearer
1074         why this is different than the slower fill method. Moved the no transparency early return here.
1075         (WebCore::drawPathShadow): Instead of calling setPlatformFill, just perform a cheap fill and stroke
1076         with red color. Since the shadow is used as a mask, the actual fill shouldn't matter.
1077         (WebCore::reduceSourceByAlpha): Added this helper.
1078         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
1079         correctly handles the transformation matrix.
1080         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
1081         (WebCore::shadowAndFillCurrentCairoPath): Adapted from fillCurrentCairoPath, but renamed to clarify
1082         what it does and no uses prepareForFilling.
1083         (WebCore::shadowAndStrokeCurrentCairoPath): Ditto for stroking.
1084         (WebCore::GraphicsContext::drawRect): Update for new method names.
1085         (WebCore::GraphicsContext::drawLine): Ditto.
1086         (WebCore::GraphicsContext::fillPath): Ditto.
1087         (WebCore::GraphicsContext::strokePath): Ditto.
1088         (WebCore::GraphicsContext::fillRect): Ditto. Remove the unnecessary save/restore pair here.
1089         (WebCore::GraphicsContext::strokeRect): Update to reflect new method names.
1090         * platform/graphics/cairo/PlatformContextCairo.cpp:
1091         (WebCore::reduceSourceByAlpha): Added this helper.
1092         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
1093         correctly handles the transformation matrix.
1094         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
1095         (WebCore::reduceSourceByAlpha):
1096         * platform/graphics/cairo/PlatformContextCairo.h: Added new method declarations.
1097
1098 2011-06-20  Tim Horton  <timothy_horton@apple.com>
1099
1100         Reviewed by Darin Adler.
1101
1102         Incorrect clamping on SVG masks when root element is not located at (0,0)
1103         https://bugs.webkit.org/show_bug.cgi?id=63019
1104
1105         We should be using frameRect(), not contentBoxRect() for the rect to
1106         clamp to when creating an SVG mask image.
1107
1108         Test: svg/custom/absolute-root-position-masking.xhtml
1109
1110         * rendering/svg/SVGImageBufferTools.cpp:
1111         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer):
1112
1113 2011-06-20  Adam Barth  <abarth@webkit.org>
1114
1115         Reviewed by Eric Seidel.
1116
1117         Remove FrameLoader::m_workingURL
1118         https://bugs.webkit.org/show_bug.cgi?id=63021
1119
1120         FrameLoader shouldn't keep the working URL in separate state.  It's
1121         just a function of other state.  m_workingURL exists only to create
1122         bugs and confusion.
1123
1124         * loader/DocumentLoader.cpp:
1125         (WebCore::DocumentLoader::documentURL):
1126         * loader/DocumentLoader.h:
1127         * loader/FrameLoader.cpp:
1128         (WebCore::FrameLoader::stopLoading):
1129         (WebCore::FrameLoader::didOpenURL):
1130         (WebCore::FrameLoader::receivedFirstData):
1131         (WebCore::FrameLoader::willSetEncoding):
1132         (WebCore::FrameLoader::commitProvisionalLoad):
1133         (WebCore::FrameLoader::open):
1134         (WebCore::FrameLoader::finishedLoadingDocument):
1135         * loader/FrameLoader.h:
1136
1137 2011-06-20  Kenneth Russell  <kbr@google.com>
1138
1139         Unreviewed.
1140
1141         Rolled out r89233 and r89235 because of crashes in http/tests/misc/acid3.html on Snow Leopard and other platforms
1142         https://bugs.webkit.org/show_bug.cgi?id=63022
1143
1144         * features.pri:
1145         * page/DOMWindow.idl:
1146         * platform/graphics/Font.cpp:
1147         (WebCore::Font::drawText):
1148         (WebCore::Font::drawEmphasisMarks):
1149         (WebCore::Font::width):
1150         (WebCore::Font::selectionRectForText):
1151         (WebCore::Font::offsetForPosition):
1152         (WebCore::Font::codePath):
1153         * platform/graphics/Font.h:
1154         * platform/graphics/FontFallbackList.h:
1155         * platform/graphics/FontFastPath.cpp:
1156         (WebCore::Font::glyphDataForCharacter):
1157         (WebCore::Font::getEmphasisMarkGlyphData):
1158         (WebCore::Font::drawGlyphBuffer):
1159         * platform/graphics/FontMetrics.h:
1160         * platform/graphics/GlyphPageTreeNode.cpp:
1161         (WebCore::fill):
1162         * platform/graphics/SVGGlyph.h:
1163         (WebCore::SVGGlyph::SVGGlyph):
1164         (WebCore::SVGGlyph::operator==):
1165         * platform/graphics/SimpleFontData.cpp:
1166         (WebCore::SimpleFontData::SimpleFontData):
1167         * platform/graphics/SimpleFontData.h:
1168         (WebCore::SimpleFontData::widthForGlyph):
1169         * platform/graphics/TextRun.h:
1170         * platform/graphics/WidthIterator.cpp:
1171         (WebCore::WidthIterator::advance):
1172         * platform/graphics/WidthIterator.h:
1173         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1174         (WebCore::scaleEmToUnits):
1175         * platform/graphics/mac/SimpleFontDataMac.mm:
1176         (WebCore::scaleEmToUnits):
1177         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1178         (WebCore::scaleEmToUnits):
1179         * rendering/svg/SVGTextMetrics.cpp:
1180         (WebCore::SVGTextMetrics::SVGTextMetrics):
1181         (WebCore::constructTextRun):
1182         (WebCore::SVGTextMetrics::measureCharacterRange):
1183         * rendering/svg/SVGTextMetrics.h:
1184         * rendering/svg/SVGTextRunRenderingContext.cpp:
1185         (WebCore::convertEmUnitToPixel):
1186         (WebCore::isVerticalWritingMode):
1187         (WebCore::firstParentRendererForNonTextNode):
1188         (WebCore::referencingRenderObjectFromRun):
1189         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
1190         (WebCore::SVGTextRunWalker::walk):
1191         (WebCore::floatWidthUsingSVGFontCallback):
1192         (WebCore::floatWidthMissingGlyphCallback):
1193         (WebCore::floatWidthOfSubStringUsingSVGFont):
1194         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
1195         (WebCore::drawTextUsingSVGFontCallback):
1196         (WebCore::drawTextMissingGlyphCallback):
1197         (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
1198         (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
1199         (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
1200         * rendering/svg/SVGTextRunRenderingContext.h:
1201         * svg/SVGAltGlyphElement.cpp:
1202         (WebCore::SVGAltGlyphElement::glyphElement):
1203         * svg/SVGAltGlyphElement.h:
1204         * svg/SVGFontData.cpp:
1205         (WebCore::SVGFontData::initializeFontData):
1206         * svg/SVGFontData.h:
1207         * svg/SVGFontElement.cpp:
1208         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
1209         (WebCore::SVGFontElement::ensureGlyphCache):
1210         * svg/SVGGlyphMap.h:
1211         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
1212         * svg/svgtags.in:
1213
1214 2011-06-20  Scott Byer  <scottbyer@chromium.org>
1215
1216         Reviewed by Adam Barth.
1217
1218         Smooth scrolling for Chromium, initial patch.
1219         https://bugs.webkit.org/show_bug.cgi?id=61878
1220
1221         Add in a default scrolling animator in the platform directory, with a run time enable switch, to provide
1222         animated / smooth scrolling on platforms and for input devices where it's not provided by the platform, and to
1223         be easily configurable to what situatuations the animations are provided for. The smooth scrolling code is
1224         compiled out by default.
1225
1226         Unit tests in chromium/ScrollAnimatorNoneTest.cpp
1227
1228         * WebCore.gypi:
1229         * page/FrameView.cpp:
1230         (WebCore::FrameView::scrollAnimatorEnabled):
1231         * page/FrameView.h:
1232         * page/Settings.cpp:
1233         (WebCore::Settings::Settings):
1234         * page/Settings.h:
1235         (WebCore::Settings::setEnableScrollAnimator):
1236         (WebCore::Settings::scrollAnimatorEnabled):
1237         * platform/ScrollAnimatorNone.cpp: Added.
1238         (WebCore::ScrollAnimator::create):
1239         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
1240         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
1241         (WebCore::ScrollAnimatorNone::PerAxisData::attackCurve):
1242         (WebCore::ScrollAnimatorNone::PerAxisData::releaseCurve):
1243         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
1244         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
1245         (WebCore::ScrollAnimatorNone::PerAxisData::reset):
1246         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1247         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
1248         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
1249         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
1250         (WebCore::ScrollAnimatorNone::scroll):
1251         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
1252         (WebCore::ScrollAnimatorNone::animationTimerFired):
1253         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
1254         * platform/ScrollAnimatorNone.h: Added.
1255         * platform/ScrollableArea.h:
1256         (WebCore::ScrollableArea::scrollAnimatorEnabled):
1257
1258 2011-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
1259
1260         Reviewed by Darin Adler.
1261
1262         Remove some unsafe static_cast in rendering/
1263         https://bugs.webkit.org/show_bug.cgi?id=63014
1264
1265         Mechanical refactoring, no test needed.
1266
1267         * rendering/InlineFlowBox.cpp:
1268         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1269         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1270         * rendering/InlineTextBox.cpp:
1271         (WebCore::InlineTextBox::getEmphasisMarkPosition):
1272         * rendering/RenderBlockLineLayout.cpp:
1273         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1274         * rendering/RenderLayer.cpp:
1275         (WebCore::RenderLayer::destroyScrollbar):
1276         * rendering/RenderRuby.cpp:
1277         (WebCore::rubyBeforeBlock):
1278         (WebCore::rubyAfterBlock):
1279         (WebCore::lastRubyRun):
1280         (WebCore::findRubyRunParent):
1281         * rendering/RenderRubyBase.cpp:
1282         (WebCore::RenderRubyBase::rubyRun):
1283         * rendering/RenderRubyRun.cpp:
1284         (WebCore::RenderRubyRun::removeChild):
1285         Use the proper conversion methods at the previous call-sites.
1286
1287 2011-06-20  Anders Carlsson  <andersca@apple.com>
1288
1289         Reviewed by Sam Weinig.
1290
1291         Web archive resource loads are scheduled together with network loads
1292         https://bugs.webkit.org/show_bug.cgi?id=63024
1293         <rdar://problem/9508564>
1294
1295         If the resource being loaded is loaded from a web archive we don't need to schedule the load
1296         since it won't touch the network.
1297
1298         * loader/ResourceLoadScheduler.cpp:
1299         (WebCore::ResourceLoadScheduler::scheduleLoad):
1300
1301 2011-06-20  Pratik Solanki  <psolanki@apple.com>
1302
1303         Reviewed by David Kilzer.
1304
1305         HTTP pipelining functions on mac should match windows
1306         https://bugs.webkit.org/show_bug.cgi?id=63012
1307
1308         Use a CFURLRequestRef instead of NSURLRequest for the HTTP pipelining functions.
1309
1310         * platform/mac/WebCoreSystemInterface.h:
1311         * platform/mac/WebCoreSystemInterface.mm:
1312         * platform/network/mac/ResourceRequestMac.mm:
1313         (WebCore::ResourceRequest::doUpdateResourceRequest):
1314         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1315
1316 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
1317
1318         Fix bit flag collision.
1319
1320         * editing/FrameSelection.h:
1321
1322 2011-06-20  Jer Noble  <jer.noble@apple.com>
1323
1324         Unreviewed build fix; Fix Leopard WebCore build.
1325
1326         * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
1327             is a category, not a protocol.
1328
1329 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
1330
1331         Reviewed by Darin Adler.
1332
1333         Various editing functions take boolean userTriggered but should be replaced by an enum
1334         https://bugs.webkit.org/show_bug.cgi?id=62933
1335
1336         Replaced boolean userTriggered in many functions by new EUserTriggered enum.
1337
1338         * WebCore.exp.in: FrameSelection::modify's signature changed.
1339         * accessibility/AccessibilityRenderObject.cpp:
1340         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): Calls FrameSelection::moveTo.
1341         * editing/EditorCommand.cpp:
1342         (WebCore::executeMoveBackward): Calls FrameSelection::modify.
1343         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
1344         (WebCore::executeMoveDown): Ditto.
1345         (WebCore::executeMoveDownAndModifySelection): Ditto.
1346         (WebCore::executeMoveForward): Ditto.
1347         (WebCore::executeMoveForwardAndModifySelection): Ditto.
1348         (WebCore::executeMoveLeft): Ditto.
1349         (WebCore::executeMoveLeftAndModifySelection): Ditto.
1350         (WebCore::executeMovePageDown): Ditto.
1351         (WebCore::executeMovePageDownAndModifySelection): Ditto.
1352         (WebCore::executeMovePageUp): Ditto.
1353         (WebCore::executeMovePageUpAndModifySelection): Ditto.
1354         (WebCore::executeMoveRight): Ditto.
1355         (WebCore::executeMoveRightAndModifySelection): Ditto.
1356         (WebCore::executeMoveToBeginningOfDocument): Ditto.
1357         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
1358         (WebCore::executeMoveToBeginningOfLine): Ditto.
1359         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
1360         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
1361         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
1362         (WebCore::executeMoveToBeginningOfSentence): Ditto.
1363         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
1364         (WebCore::executeMoveToEndOfDocument): Ditto.
1365         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
1366         (WebCore::executeMoveToEndOfSentence): Ditto.
1367         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
1368         (WebCore::executeMoveToEndOfLine): Ditto.
1369         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
1370         (WebCore::executeMoveToEndOfParagraph): Ditto.
1371         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
1372         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
1373         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
1374         (WebCore::executeMoveUp): Ditto.
1375         (WebCore::executeMoveUpAndModifySelection): Ditto.
1376         (WebCore::executeMoveWordBackward): Ditto.
1377         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
1378         (WebCore::executeMoveWordForward): Ditto.
1379         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
1380         (WebCore::executeMoveWordLeft): Ditto.
1381         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
1382         (WebCore::executeMoveWordRight): Ditto.
1383         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
1384         (WebCore::executeMoveToLeftEndOfLine): Ditto.
1385         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
1386         (WebCore::executeMoveToRightEndOfLine): Ditto.
1387         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
1388         * editing/FrameSelection.cpp:
1389         (WebCore::FrameSelection::moveTo): Takes EUserTriggered instead of a boolean.
1390         (WebCore::FrameSelection::setSelection): Ditto.
1391         (WebCore::FrameSelection::modify): Ditto.
1392         (WebCore::FrameSelection::setStart): Ditto.
1393         (WebCore::FrameSelection::setEnd): Ditto.
1394         (WebCore::FrameSelection::setBase): Ditto.
1395         (WebCore::FrameSelection::setExtent): Ditto.
1396         (WebCore::FrameSelection::selectAll): Ditto.
1397         (WebCore::FrameSelection::notifyRendererOfSelectionChange): Ditto.
1398         * editing/FrameSelection.h: Extracted EUserTriggered out of SetSelectionOption; SetSelectionOptions
1399         now takes the union of values of SetSelectionOption and EUserTriggered.
1400         (WebCore::FrameSelection::selectionOptionsToUserTriggered): Converts SetSelectionOptions to
1401         EUserTriggered. 
1402         * page/DOMSelection.cpp:
1403         (WebCore::DOMSelection::modify): Calls FrameSelection::modify.
1404         * page/EventHandler.cpp:
1405         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
1406         (WebCore::handleKeyboardSelectionMovement): Ditto.
1407
1408 2011-06-20  Jer Noble  <jer.noble@apple.com>
1409
1410         Unreviewed build fix; Fix 32-bit build.
1411
1412         Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings.  Use 
1413         CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.
1414
1415         * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm 
1416         * platform/mac/WebVideoFullscreenController.mm:
1417         (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
1418         (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
1419         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1420         (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
1421         (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
1422         (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
1423         (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
1424         (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
1425         (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
1426         (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto. 
1427         (timeToString): Narrow precision to float when converting to seconds.
1428         * platform/mac/WebWindowAnimation.mm:
1429         (scaledRect): Use CGFloat.
1430         (-[WebWindowScaleAnimation init]): Use float constant.
1431         (-[WebWindowScaleAnimation currentValue]): Ditto.
1432         (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
1433         (-[WebWindowFadeAnimation currentAlpha]): Ditto.
1434
1435 2011-06-20  Anders Carlsson  <andersca@apple.com>
1436
1437         Reviewed by Darin Adler.
1438
1439         Disallow assigning into PassOwnArrayPtr, PassOwnPtr and PassRefPtr
1440         https://bugs.webkit.org/show_bug.cgi?id=62940
1441
1442         Make sure that we never assign into any already existing PassRefPtr.
1443
1444         * accessibility/AccessibilityMediaControls.cpp:
1445         (WebCore::AccessibilityMediaControl::create):
1446         Remove local PassRefPtr variable.
1447
1448         * dom/Document.cpp:
1449         (WebCore::Document::setBody):
1450         Rename the PassRefPtr parameter and create a RefPtr variable.
1451
1452         (WebCore::Document::setFocusedNode):
1453         Ditto.
1454
1455         * editing/ApplyStyleCommand.cpp:
1456         (WebCore::ApplyStyleCommand::removeInlineStyle):
1457         There's no reason to use a PassRefPtr here. Use a RefPtr, and don't initialize it since it's implicitly initialized.
1458
1459         * editing/CompositeEditCommand.cpp:
1460         (WebCore::CompositeEditCommand::prune):
1461         Rename the PassRefPtr parameter and create a RefPtr variable.
1462
1463         * editing/ReplaceSelectionCommand.cpp:
1464         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1465         Ditto.
1466
1467         * editing/htmlediting.cpp:
1468         (WebCore::createTabSpanElement):
1469         Ditto.
1470
1471         * html/canvas/CanvasRenderingContext2D.cpp:
1472         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1473         (WebCore::CanvasRenderingContext2D::setFillStyle):
1474         Ditto.
1475
1476         * platform/network/mac/FormDataStreamMac.mm:
1477         (WebCore::formFinalize):
1478         Ditto.
1479
1480         (WebCore::setHTTPBody):
1481         Use an OwnPtr instead of explicitly deleting the form variable.
1482
1483 2011-06-20  Alex Milowski  <alex@milowski.com>
1484
1485         Reviewed by Darin Adler.
1486
1487         This patch addresses handling wrapping of child properly to maintain the layout regardless of whether 
1488         this is the initial build of the render tree or the result of DOM manipulation.
1489         https://bugs.webkit.org/show_bug.cgi?id=62098
1490
1491         Tests: mathml/presentation/msub-base-changed.xhtml
1492                mathml/presentation/msub-sub-changed.xhtml
1493                mathml/presentation/msubsup-base-changed.xhtml
1494                mathml/presentation/msubsup-sub-changed.xhtml
1495                mathml/presentation/msubsup-sup-changed.xhtml
1496                mathml/presentation/msup-base-changed.xhtml
1497                mathml/presentation/msup-sup-changed.xhtml
1498
1499         * rendering/mathml/RenderMathMLSubSup.cpp:
1500         (WebCore::RenderMathMLSubSup::addChild):
1501         (WebCore::RenderMathMLSubSup::stretchToHeight):
1502         (WebCore::RenderMathMLSubSup::baselinePosition):
1503
1504 2011-06-01  Jer Noble  <jer.noble@apple.com>
1505
1506         Reviewed by Eric Carlson.
1507
1508         Move Full Screen Controllers into WebCore.
1509
1510         Remove dependency on QTKit from wekitExitFullscreen()
1511         https://bugs.webkit.org/show_bug.cgi?id=61843
1512
1513         No new tests; the existing media full screen tests are sufficient.
1514
1515         * WebCore.exp.in: Add new exports.
1516         * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
1517         * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
1518         * platform/mac/WebCoreSystemInterface.mm:
1519         * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
1520         * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
1521         
1522         The following functions have had UNUSED_PARAM added:
1523         (-[WebVideoFullscreenController applicationDidResignActive:]):
1524         (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
1525         (-[WebVideoFullscreenWindow mouseMoved:]):
1526
1527 Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
1528         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
1529         
1530         The following functions have had UNUSED_PARAM added:
1531         (-[WebVideoFullscreenHUDWindow cancelOperation:]):
1532         (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
1533         (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
1534         (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
1535         (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
1536         (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
1537         (-[WebVideoFullscreenHUDWindowController mouseExited:]):
1538         (-[WebVideoFullscreenHUDWindowController rewind:]):
1539         (-[WebVideoFullscreenHUDWindowController fastForward:]):
1540         (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
1541         (-[WebVideoFullscreenHUDWindowController windowDidClose:]):
1542
1543         The following functions have had WKSI calls converted to WCSI ones:
1544         (createControlWithMediaUIControlType):
1545         (createTimeTextField):
1546         
1547         * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
1548         * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
1549         (WebWindowAnimationDurationFromDuration):
1550
1551         The following functions have had WKSI calls converted to WCSI ones:
1552         (-[WebWindowScaleAnimation setCurrentProgress:]):
1553         (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
1554
1555 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
1556
1557         Reviewed by Adam Barth.
1558
1559         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
1560         https://bugs.webkit.org/show_bug.cgi?id=62904
1561
1562         After bug 62750, there are many IDL files that contain the new
1563         LegacyDefaultOptionalArguments flag that don't actually need it.
1564         Some examples:
1565
1566             - the IDL file contains no functions
1567             - the IDL file contains only functions with no arguments
1568             - the IDL file contains functions, *all* of which use the
1569               [RequiresAllArguments=raise] extended attribute
1570
1571         This patch simplifies such IDL files by removing the
1572         LegacyDefaultOptionalArguments flag and (if needed) removing the
1573         [RequiresAllArguments=raise] extended attribute from each function
1574         declaration. This patch does not make any required arguments optional
1575         or any optional arguments required. It changes no behavior at all.
1576
1577         No new tests needed, all existing tests pass.
1578
1579         * bindings/scripts/CodeGeneratorJS.pm:
1580         * bindings/scripts/test/TestInterface.idl:
1581         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1582         * css/CSSCharsetRule.idl:
1583         * css/CSSFontFaceRule.idl:
1584         * css/CSSImportRule.idl:
1585         * css/CSSPageRule.idl:
1586         * css/CSSRule.idl:
1587         * css/CSSStyleRule.idl:
1588         * css/CSSUnknownRule.idl:
1589         * css/CSSValue.idl:
1590         * css/Counter.idl:
1591         * css/RGBColor.idl:
1592         * css/Rect.idl:
1593         * css/StyleSheet.idl:
1594         * css/WebKitCSSKeyframeRule.idl:
1595         * css/WebKitCSSTransformValue.idl:
1596         * dom/Attr.idl:
1597         * dom/CDATASection.idl:
1598         * dom/ClientRect.idl:
1599         * dom/Comment.idl:
1600         * dom/DOMCoreException.idl:
1601         * dom/DOMStringMap.idl:
1602         * dom/DocumentType.idl:
1603         * dom/Entity.idl:
1604         * dom/EntityReference.idl:
1605         * dom/EventException.idl:
1606         * dom/GeneratedStream.idl:
1607         * dom/MessageChannel.idl:
1608         * dom/NodeIterator.idl:
1609         * dom/Notation.idl:
1610         * dom/ProcessingInstruction.idl:
1611         * dom/RangeException.idl:
1612         * dom/Touch.idl:
1613         * dom/TreeWalker.idl:
1614         * fileapi/DOMFileSystem.idl:
1615         * fileapi/DOMFileSystemSync.idl:
1616         * fileapi/DirectoryReaderSync.idl:
1617         * fileapi/File.idl:
1618         * fileapi/FileEntrySync.idl:
1619         * fileapi/FileError.idl:
1620         * fileapi/FileException.idl:
1621         * fileapi/Metadata.idl:
1622         * fileapi/OperationNotAllowedException.idl:
1623         * fileapi/WebKitFlags.idl:
1624         * html/DOMSettableTokenList.idl:
1625         * html/HTMLAppletElement.idl:
1626         * html/HTMLAreaElement.idl:
1627         * html/HTMLBRElement.idl:
1628         * html/HTMLBaseElement.idl:
1629         * html/HTMLBaseFontElement.idl:
1630         * html/HTMLBlockquoteElement.idl:
1631         * html/HTMLBodyElement.idl:
1632         * html/HTMLDListElement.idl:
1633         * html/HTMLDataListElement.idl:
1634         * html/HTMLDetailsElement.idl:
1635         * html/HTMLDirectoryElement.idl:
1636         * html/HTMLEmbedElement.idl:
1637         * html/HTMLFontElement.idl:
1638         * html/HTMLFormElement.idl:
1639         * html/HTMLFrameElement.idl:
1640         * html/HTMLFrameSetElement.idl:
1641         * html/HTMLHRElement.idl:
1642         * html/HTMLHeadElement.idl:
1643         * html/HTMLHeadingElement.idl:
1644         * html/HTMLHtmlElement.idl:
1645         * html/HTMLIFrameElement.idl:
1646         * html/HTMLImageElement.idl:
1647         * html/HTMLIsIndexElement.idl:
1648         * html/HTMLLIElement.idl:
1649         * html/HTMLLabelElement.idl:
1650         * html/HTMLLegendElement.idl:
1651         * html/HTMLLinkElement.idl:
1652         * html/HTMLMapElement.idl:
1653         * html/HTMLMarqueeElement.idl:
1654         * html/HTMLMenuElement.idl:
1655         * html/HTMLMetaElement.idl:
1656         * html/HTMLMeterElement.idl:
1657         * html/HTMLModElement.idl:
1658         * html/HTMLOListElement.idl:
1659         * html/HTMLOptGroupElement.idl:
1660         * html/HTMLOptionElement.idl:
1661         * html/HTMLParagraphElement.idl:
1662         * html/HTMLParamElement.idl:
1663         * html/HTMLPreElement.idl:
1664         * html/HTMLProgressElement.idl:
1665         * html/HTMLQuoteElement.idl:
1666         * html/HTMLScriptElement.idl:
1667         * html/HTMLSourceElement.idl:
1668         * html/HTMLStyleElement.idl:
1669         * html/HTMLTableCaptionElement.idl:
1670         * html/HTMLTableCellElement.idl:
1671         * html/HTMLTableColElement.idl:
1672         * html/HTMLTitleElement.idl:
1673         * html/HTMLTrackElement.idl:
1674         * html/HTMLUListElement.idl:
1675         * html/ImageData.idl:
1676         * html/MediaError.idl:
1677         * html/SpellcheckRange.idl:
1678         * html/TextMetrics.idl:
1679         * html/ValidityState.idl:
1680         * html/VoidCallback.idl:
1681         * html/canvas/ArrayBuffer.idl:
1682         * html/canvas/ArrayBufferView.idl:
1683         * html/canvas/CanvasPattern.idl:
1684         * html/canvas/CanvasPixelArray.idl:
1685         * html/canvas/CanvasRenderingContext.idl:
1686         * html/canvas/DataView.idl:
1687         * html/canvas/OESStandardDerivatives.idl:
1688         * html/canvas/OESTextureFloat.idl:
1689         * html/canvas/WebGLActiveInfo.idl:
1690         * html/canvas/WebGLBuffer.idl:
1691         * html/canvas/WebGLContextAttributes.idl:
1692         * html/canvas/WebGLFramebuffer.idl:
1693         * html/canvas/WebGLProgram.idl:
1694         * html/canvas/WebGLRenderbuffer.idl:
1695         * html/canvas/WebGLShader.idl:
1696         * html/canvas/WebGLTexture.idl:
1697         * html/canvas/WebGLUniformLocation.idl:
1698         * html/canvas/WebGLVertexArrayObjectOES.idl:
1699         * html/canvas/WebKitLoseContext.idl:
1700         * inspector/ScriptProfile.idl:
1701         * inspector/ScriptProfileNode.idl:
1702         * page/AbstractView.idl:
1703         * page/BarInfo.idl:
1704         * page/Coordinates.idl:
1705         * page/Geoposition.idl:
1706         * page/MemoryInfo.idl:
1707         * page/NavigatorUserMediaError.idl:
1708         * page/Performance.idl:
1709         * page/PerformanceNavigation.idl:
1710         * page/PerformanceTiming.idl:
1711         * page/PositionError.idl:
1712         * page/Screen.idl:
1713         * page/SpeechInputEvent.idl:
1714         * page/SpeechInputResult.idl:
1715         * page/WebKitAnimation.idl:
1716         * page/WebKitPoint.idl:
1717         * page/WorkerNavigator.idl:
1718         * plugins/DOMMimeType.idl:
1719         * storage/Database.idl:
1720         * storage/DatabaseSync.idl:
1721         * storage/IDBAny.idl:
1722         * storage/IDBCursorWithValue.idl:
1723         * storage/IDBDatabaseError.idl:
1724         * storage/IDBDatabaseException.idl:
1725         * storage/IDBKey.idl:
1726         * storage/IDBVersionChangeEvent.idl:
1727         * storage/IDBVersionChangeRequest.idl:
1728         * storage/SQLError.idl:
1729         * storage/SQLException.idl:
1730         * storage/SQLResultSet.idl:
1731         * svg/SVGAElement.idl:
1732         * svg/SVGAltGlyphElement.idl:
1733         * svg/SVGAngle.idl:
1734         * svg/SVGAnimateColorElement.idl:
1735         * svg/SVGAnimateElement.idl:
1736         * svg/SVGAnimateMotionElement.idl:
1737         * svg/SVGAnimateTransformElement.idl:
1738         * svg/SVGAnimatedAngle.idl:
1739         * svg/SVGAnimatedBoolean.idl:
1740         * svg/SVGAnimatedEnumeration.idl:
1741         * svg/SVGAnimatedInteger.idl:
1742         * svg/SVGAnimatedLength.idl:
1743         * svg/SVGAnimatedLengthList.idl:
1744         * svg/SVGAnimatedNumber.idl:
1745         * svg/SVGAnimatedNumberList.idl:
1746         * svg/SVGAnimatedPreserveAspectRatio.idl:
1747         * svg/SVGAnimatedRect.idl:
1748         * svg/SVGAnimatedString.idl:
1749         * svg/SVGAnimatedTransformList.idl:
1750         * svg/SVGCircleElement.idl:
1751         * svg/SVGClipPathElement.idl:
1752         * svg/SVGColor.idl:
1753         * svg/SVGComponentTransferFunctionElement.idl:
1754         * svg/SVGCursorElement.idl:
1755         * svg/SVGDefsElement.idl:
1756         * svg/SVGDescElement.idl:
1757         * svg/SVGElement.idl:
1758         * svg/SVGEllipseElement.idl:
1759         * svg/SVGExternalResourcesRequired.idl:
1760         * svg/SVGFEBlendElement.idl:
1761         * svg/SVGFEColorMatrixElement.idl:
1762         * svg/SVGFEComponentTransferElement.idl:
1763         * svg/SVGFECompositeElement.idl:
1764         * svg/SVGFEConvolveMatrixElement.idl:
1765         * svg/SVGFEDiffuseLightingElement.idl:
1766         * svg/SVGFEDisplacementMapElement.idl:
1767         * svg/SVGFEDistantLightElement.idl:
1768         * svg/SVGFEFloodElement.idl:
1769         * svg/SVGFEFuncAElement.idl:
1770         * svg/SVGFEFuncBElement.idl:
1771         * svg/SVGFEFuncGElement.idl:
1772         * svg/SVGFEFuncRElement.idl:
1773         * svg/SVGFEImageElement.idl:
1774         * svg/SVGFEMergeElement.idl:
1775         * svg/SVGFEMergeNodeElement.idl:
1776         * svg/SVGFEOffsetElement.idl:
1777         * svg/SVGFEPointLightElement.idl:
1778         * svg/SVGFESpecularLightingElement.idl:
1779         * svg/SVGFESpotLightElement.idl:
1780         * svg/SVGFETileElement.idl:
1781         * svg/SVGFETurbulenceElement.idl:
1782         * svg/SVGFilterPrimitiveStandardAttributes.idl:
1783         * svg/SVGFitToViewBox.idl:
1784         * svg/SVGFontElement.idl:
1785         * svg/SVGFontFaceElement.idl:
1786         * svg/SVGFontFaceFormatElement.idl:
1787         * svg/SVGFontFaceNameElement.idl:
1788         * svg/SVGFontFaceSrcElement.idl:
1789         * svg/SVGFontFaceUriElement.idl:
1790         * svg/SVGForeignObjectElement.idl:
1791         * svg/SVGGElement.idl:
1792         * svg/SVGGlyphElement.idl:
1793         * svg/SVGGradientElement.idl:
1794         * svg/SVGHKernElement.idl:
1795         * svg/SVGImageElement.idl:
1796         * svg/SVGLangSpace.idl:
1797         * svg/SVGLength.idl:
1798         * svg/SVGLengthList.idl:
1799         * svg/SVGLineElement.idl:
1800         * svg/SVGLinearGradientElement.idl:
1801         * svg/SVGMPathElement.idl:
1802         * svg/SVGMaskElement.idl:
1803         * svg/SVGMatrix.idl:
1804         * svg/SVGMetadataElement.idl:
1805         * svg/SVGMissingGlyphElement.idl:
1806         * svg/SVGNumber.idl:
1807         * svg/SVGNumberList.idl:
1808         * svg/SVGPaint.idl:
1809         * svg/SVGPathSeg.idl:
1810         * svg/SVGPathSegArcAbs.idl:
1811         * svg/SVGPathSegArcRel.idl:
1812         * svg/SVGPathSegClosePath.idl:
1813         * svg/SVGPathSegCurvetoCubicAbs.idl:
1814         * svg/SVGPathSegCurvetoCubicRel.idl:
1815         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
1816         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
1817         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
1818         * svg/SVGPathSegCurvetoQuadraticRel.idl:
1819         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
1820         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
1821         * svg/SVGPathSegLinetoAbs.idl:
1822         * svg/SVGPathSegLinetoHorizontalAbs.idl:
1823         * svg/SVGPathSegLinetoHorizontalRel.idl:
1824         * svg/SVGPathSegLinetoRel.idl:
1825         * svg/SVGPathSegLinetoVerticalAbs.idl:
1826         * svg/SVGPathSegLinetoVerticalRel.idl:
1827         * svg/SVGPathSegList.idl:
1828         * svg/SVGPathSegMovetoAbs.idl:
1829         * svg/SVGPathSegMovetoRel.idl:
1830         * svg/SVGPatternElement.idl:
1831         * svg/SVGPoint.idl:
1832         * svg/SVGPointList.idl:
1833         * svg/SVGPolygonElement.idl:
1834         * svg/SVGPolylineElement.idl:
1835         * svg/SVGPreserveAspectRatio.idl:
1836         * svg/SVGRadialGradientElement.idl:
1837         * svg/SVGRect.idl:
1838         * svg/SVGRectElement.idl:
1839         * svg/SVGRenderingIntent.idl:
1840         * svg/SVGScriptElement.idl:
1841         * svg/SVGSetElement.idl:
1842         * svg/SVGStopElement.idl:
1843         * svg/SVGStringList.idl:
1844         * svg/SVGSwitchElement.idl:
1845         * svg/SVGSymbolElement.idl:
1846         * svg/SVGTRefElement.idl:
1847         * svg/SVGTSpanElement.idl:
1848         * svg/SVGTextElement.idl:
1849         * svg/SVGTextPathElement.idl:
1850         * svg/SVGTextPositioningElement.idl:
1851         * svg/SVGTitleElement.idl:
1852         * svg/SVGTransform.idl:
1853         * svg/SVGTransformList.idl:
1854         * svg/SVGTransformable.idl:
1855         * svg/SVGURIReference.idl:
1856         * svg/SVGUnitTypes.idl:
1857         * svg/SVGUseElement.idl:
1858         * svg/SVGVKernElement.idl:
1859         * svg/SVGViewElement.idl:
1860         * svg/SVGViewSpec.idl:
1861         * svg/SVGZoomAndPan.idl:
1862         * svg/SVGZoomEvent.idl:
1863         * testing/Internals.idl:
1864         * webaudio/AudioChannelMerger.idl:
1865         * webaudio/AudioChannelSplitter.idl:
1866         * webaudio/AudioDestinationNode.idl:
1867         * webaudio/AudioGain.idl:
1868         * webaudio/AudioGainNode.idl:
1869         * webaudio/AudioProcessingEvent.idl:
1870         * webaudio/AudioSourceNode.idl:
1871         * webaudio/BiquadFilterNode.idl:
1872         * webaudio/ConvolverNode.idl:
1873         * webaudio/DelayNode.idl:
1874         * webaudio/DynamicsCompressorNode.idl:
1875         * webaudio/HighPass2FilterNode.idl:
1876         * webaudio/JavaScriptAudioNode.idl:
1877         * webaudio/LowPass2FilterNode.idl:
1878         * webaudio/OfflineAudioCompletionEvent.idl:
1879         * workers/SharedWorker.idl:
1880         * workers/SharedWorkerContext.idl:
1881         * workers/WorkerLocation.idl:
1882         * xml/XMLHttpRequestException.idl:
1883         * xml/XMLHttpRequestProgressEvent.idl:
1884         * xml/XPathException.idl:
1885
1886 2011-06-20  Alex Milowski  <alex@milowski.com>
1887
1888         Reviewed by Darin Adler.
1889
1890         A change to mark wrapping blocks created by the renderer as anonymous to fix the crash for:
1891         https://bugs.webkit.org/show_bug.cgi?id=57901
1892
1893         * rendering/mathml/RenderMathMLUnderOver.cpp:
1894         (WebCore::RenderMathMLUnderOver::addChild):
1895         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
1896
1897 2011-06-20  Eric Seidel  <eric@webkit.org>
1898
1899         Reviewed by Adam Barth.
1900
1901         buildbots should run run-bindings-tests
1902         https://bugs.webkit.org/show_bug.cgi?id=63001
1903
1904         The test results were out of date, so I'm updating them.
1905         (This is exactly the problem that making the buildbots run them will solve.)
1906
1907         * bindings/scripts/test/JS/JSTestObj.cpp:
1908         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
1909         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
1910         * bindings/scripts/test/V8/V8TestCallback.cpp:
1911         (WebCore::V8TestCallback::callbackWithStringList):
1912         * bindings/scripts/test/V8/V8TestCallback.h:
1913         * bindings/scripts/test/V8/V8TestInterface.cpp:
1914         (WebCore::V8TestInterface::GetRawTemplate):
1915         (WebCore::V8TestInterface::GetTemplate):
1916         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1917         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1918         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1919         * bindings/scripts/test/V8/V8TestObj.cpp:
1920         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
1921         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
1922         (WebCore::V8TestObj::GetRawTemplate):
1923         (WebCore::V8TestObj::GetTemplate):
1924         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1925         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
1926         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1927
1928 2011-06-20  Cary Clark  <caryclark@google.com>
1929
1930         Reviewed by Eric Seidel.
1931
1932         Add Font interface to support Skia on Mac Chrome port
1933         https://bugs.webkit.org/show_bug.cgi?id=62889
1934
1935         No new tests. This combination (using Skia as the
1936         WebCore renderer on Chrome for Mac) is not yet
1937         enabled, so adding this file has no functional
1938         change. The corresponding changes to the gyp files
1939         exclude FontSkia for all current builds.
1940
1941         * WebCore.gyp/WebCore.gyp:
1942         Exclude FontSkia for all non-mac builds. An existing
1943         rule excludes *Skia for mac builds.
1944
1945         * WebCore.gypi:
1946         Add FontSkia to the list of files.
1947
1948         * platform/graphics/skia/FontSkia.cpp: Added.
1949         (WebCore::Font::canReturnFallbackFontsForComplexText):
1950         (WebCore::Font::canExpandAroundIdeographsInComplexText):
1951         (WebCore::isCanvasMultiLayered):
1952         (WebCore::adjustTextRenderMode):
1953         (WebCore::setupPaint):
1954         (WebCore::Font::drawGlyphs):
1955         These functions are similar to their counterparts in
1956         platform/graphics/chromium/FontLinux.cpp.
1957         The differences are: 
1958         The setupPaint uses CTFont instead of FreeType.
1959         The width/height font metrics have different accessors.
1960         Harfbuzz is not needed in the Mac port. 
1961
1962 2011-06-20  Andras Becsi  <abecsi@webkit.org>
1963
1964         Reviewed by Csaba Osztrogon√°c.
1965
1966         make-hash-tools.pl: Perl 5.14 compatibility
1967         https://bugs.webkit.org/show_bug.cgi?id=61890
1968
1969         No new tests needed.
1970
1971         * make-hash-tools.pl: Use if/elsif instead of switch/case.
1972
1973 2011-06-20  Kevin Ollivier  <kevino@theolliviers.com>
1974
1975         [wx] Unreviewed build fix, fix the codepaths run under each CPU type.
1976
1977         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1978         (WebCore::ImageFrame::asNewNativeImage):
1979
1980 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
1981
1982         Reviewed by Ojan Vafai.
1983
1984         FrameSelection::modify should take verticalDisplacement instead of verticalDistance
1985         https://bugs.webkit.org/show_bug.cgi?id=62932
1986
1987         Added new VerticalDirection enum to the argument list of FrameSelection::modify that takes
1988         verticalDistance.  Also changed the type of verticalDistance from int to unsigned int
1989         to accidentally pass a negative distance in the future.
1990
1991         * editing/EditorCommand.cpp:
1992         (WebCore::verticalScrollDistance): Returns unsigned int instead of int.
1993         (WebCore::executeMovePageDown): Calls FrameSelection::modify.
1994         (WebCore::executeMovePageDownAndModifySelection): Ditto.
1995         (WebCore::executeMovePageUp): Ditto.
1996         (WebCore::executeMovePageUpAndModifySelection): Ditto.
1997         * editing/FrameSelection.cpp:
1998         (WebCore::FrameSelection::modify): Takes VerticalDirection as an argument.
1999         * editing/FrameSelection.h:
2000
2001 2011-06-20  Anders Carlsson  <andersca@apple.com>
2002
2003         Reviewed by Adam Barth.
2004
2005         Don't use PassRefPtr variables in the V8 bindings generator
2006         https://bugs.webkit.org/show_bug.cgi?id=62947
2007
2008         * bindings/scripts/CodeGeneratorV8.pm:
2009
2010 2011-06-20  Adam Barth  <abarth@webkit.org>
2011
2012         Reviewed by Alexey Proskuryakov.
2013
2014         ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
2015         https://bugs.webkit.org/show_bug.cgi?id=61774
2016
2017         This ASSERT triggers for the same underlying issue that causes
2018         Bug 62971: When we tokenize a </script> tag, we don't realize that
2019         we've already consumed the "</script>" from the input stream when we
2020         extracted the previous token.  That causes the source tracker to be
2021         out-of-sync, triggering the incorrect view-source highlighting and this
2022         ASSERT.
2023
2024         For now, let's just silence the assert while we work on Bug 62971.
2025
2026         Test: fast/parser/attributes-on-close-script.html
2027
2028         * html/parser/HTMLToken.h:
2029         (WebCore::HTMLToken::appendToAttributeName):
2030         (WebCore::AtomicHTMLToken::initializeAttributes):
2031
2032 2011-06-20  Andras Becsi  <abecsi@webkit.org>
2033
2034         Unreviewed build fix.
2035
2036         [Qt][V8] Include missing UnusedParam.h.
2037
2038         No new tests needed.
2039
2040         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
2041
2042 2011-06-20  Andras Becsi  <abecsi@webkit.org>
2043
2044         Rubber-stamped by Csaba Osztrogon√°c.
2045
2046         [Qt][V8] Remove non-existing headers from project file.
2047
2048         No new tests needed.
2049
2050         * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h,
2051         since they have been already removed earlier from tree.
2052
2053 2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2054
2055         Reviewed by Xan Lopez.
2056
2057         [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
2058         https://bugs.webkit.org/show_bug.cgi?id=60539
2059
2060         libWebCore contains all the webcore files except the ones actually
2061         using gtk while libWebCoreGtk contains only the files using
2062         gtk. It allows us to build a common WebCore lib and two different
2063         gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is
2064         not supported, but the plugin process needs to be built using gtk2
2065         because plugins like flash still use gtk2. For WebKit2, we build
2066         the common libWebCore and two libWebCoreGtk, one using gtk3 and
2067         the other one using gtk2.
2068
2069         * GNUmakefile.am:
2070         * GNUmakefile.list.am:
2071
2072 2011-06-20  Mike Reed  <reed@google.com>
2073
2074         Reviewed by Stephen White.
2075
2076         [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha)
2077         https://bugs.webkit.org/show_bug.cgi?id=62988
2078
2079         No new tests. removing redundant calls
2080
2081         * platform/graphics/chromium/FontLinux.cpp:
2082         (WebCore::Font::drawGlyphs):
2083
2084 2011-06-19  Martin Robinson  <mrobinson@igalia.com>
2085
2086         Reviewed by Xan Lopez.
2087
2088         [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
2089         https://bugs.webkit.org/show_bug.cgi?id=62942
2090
2091         Fix the == operator overload of the FreeType FontPlatformData to properly make the
2092         distinction between the hash table deleted value and the hash table empty value.
2093
2094         No new tests. This is covered by existing tests, which should no longer
2095         hit assertions.
2096
2097         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2098         (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
2099         FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
2100         instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
2101         they were created at different times and the overload should return false.
2102
2103 2011-06-20  Ilya Tikhonovsky  <loislo@chromium.org>
2104
2105         Reviewed by Yury Semikhatsky.
2106
2107         Web Inspector: It would be useful to be able to pause on element's style change.
2108         https://bugs.webkit.org/show_bug.cgi?id=62982
2109
2110         Current workaround is to use mutation events but it's awkward and doesn't
2111         compare _usability-wise_ to what could be implemented as native support in web inspector.
2112         In complex applications, being able to see which code causes element to change its style is indispensable.
2113
2114         * inspector/InspectorDOMDebuggerAgent.cpp:
2115         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
2116         * inspector/InspectorDOMDebuggerAgent.h:
2117         * inspector/InspectorInstrumentation.cpp:
2118         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
2119
2120 2011-06-19  Mads Ager  <ager@chromium.org>
2121
2122         Reviewed by Adam Barth.
2123
2124         [V8] Fix WebGL bindings for subarrays
2125         https://bugs.webkit.org/show_bug.cgi?id=62864
2126
2127         Mark WebGL subarrays as independent of other DOM objects in the
2128         V8 bindings. This allows us to clean them up independently which
2129         greatly improves performance.
2130
2131         * bindings/v8/V8Proxy.h:
2132         (WebCore::toV8Independent):
2133         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2134         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2135         (WebCore::constructWebGLArray):
2136
2137 2011-06-20  Yuta Kitamura  <yutak@chromium.org>
2138
2139         Unreviewed build fix for Chromium Clang builders.
2140
2141         * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct.
2142
2143 2011-06-20  MORITA Hajime <morrita@google.com>
2144
2145         Unreviewed GTK build fix.
2146         This change touched the file to make the build happen.
2147
2148         * dom/EventTarget.cpp:
2149
2150 2011-06-20  Nikolas Zimmermann  <nzimmermann@rim.com>
2151
2152         Reviewed by Rob Buis.
2153
2154         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
2155         https://bugs.webkit.org/show_bug.cgi?id=59085
2156
2157         font substitution doesn't work for HTML text using SVG fonts
2158         https://bugs.webkit.org/show_bug.cgi?id=17608
2159
2160         Selection rects are wrong for text with SVG fonts
2161         https://bugs.webkit.org/show_bug.cgi?id=25460
2162
2163         With @font-face, SVG fonts only work as primary, non-segmented
2164         https://bugs.webkit.org/show_bug.cgi?id=32227
2165
2166         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
2167         https://bugs.webkit.org/show_bug.cgi?id=34236
2168
2169         SVG @font-face breaks text-overflow: ellipsis
2170         https://bugs.webkit.org/show_bug.cgi?id=36840
2171
2172         REGRESSION: SVG Font selection problems
2173         https://bugs.webkit.org/show_bug.cgi?id=41934
2174
2175         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
2176                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
2177                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
2178                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
2179                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
2180
2181         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
2182         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
2183         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
2184
2185         This makes text selection using SVG Fonts possible again.
2186
2187         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
2188         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
2189         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
2190         (WebCore::Font::drawText):
2191         (WebCore::Font::drawEmphasisMarks):
2192         (WebCore::Font::width):
2193         (WebCore::Font::selectionRectForText):
2194         (WebCore::Font::offsetForPosition):
2195         (WebCore::Font::codePath):
2196         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
2197                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
2198                                     handle font fallback glyph matching for SVG Fonts..
2199         (WebCore::Font::fontList): Add FontFallbackList accessor.
2200         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
2201         (WebCore::FontFallbackList::glyphPageZero):
2202         (WebCore::FontFallbackList::glyphPages):
2203         (WebCore::FontFallbackList::setGlyphPageZero):
2204         (WebCore::FontFallbackList::setGlyphPages):
2205         * platform/graphics/FontFastPath.cpp:
2206         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
2207         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
2208         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
2209         (WebCore::Font::drawGlyphBuffer): Ditto.
2210         * platform/graphics/FontMetrics.h:
2211         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
2212         * platform/graphics/GlyphPageTreeNode.cpp:
2213         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
2214         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
2215         (WebCore::SVGGlyph::SVGGlyph):
2216         (WebCore::SVGGlyph::operator==):
2217         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
2218         (WebCore::SimpleFontData::SimpleFontData):
2219         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
2220         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
2221         * platform/graphics/TextRun.h: 
2222         * platform/graphics/WidthIterator.cpp:
2223         (WebCore::WidthIterator::glyphDataForCharacter):
2224         (WebCore::WidthIterator::advance):
2225         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
2226                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
2227         (WebCore::WidthIterator::run):
2228         (WebCore::WidthIterator::runWidthSoFar):
2229         (WebCore::WidthIterator::lastGlyphName):
2230         (WebCore::WidthIterator::setLastGlyphName):
2231         (WebCore::WidthIterator::arabicForms):
2232         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
2233         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
2234         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
2235         * rendering/svg/SVGTextMetrics.cpp:
2236         (WebCore::SVGTextMetrics::SVGTextMetrics):
2237         (WebCore::constructTextRun):
2238         (WebCore::SVGTextMetrics::measureCharacterRange):
2239         * rendering/svg/SVGTextMetrics.h:
2240         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
2241         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
2242         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
2243         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
2244         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
2245         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
2246         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
2247         * rendering/svg/SVGTextRunRenderingContext.h:
2248         * svg/SVGAltGlyphElement.cpp:
2249         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
2250         * svg/SVGAltGlyphElement.h:
2251         * svg/SVGFontData.cpp:
2252         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
2253         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
2254         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
2255         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
2256         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
2257         * svg/SVGFontData.h:
2258         * svg/SVGFontElement.cpp:
2259         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
2260         (WebCore::SVGFontElement::ensureGlyphCache):
2261         * svg/SVGGlyphMap.h:
2262         (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone.
2263         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
2264
2265 2011-06-19  MORITA Hajime  <morrita@google.com>
2266
2267         Reviewed by Dimitri Glazkov.
2268
2269         The internals object should have createShadowContentElement()
2270         https://bugs.webkit.org/show_bug.cgi?id=62432
2271
2272         This change:
2273         - added Internals::createShadowContentElement(), which creates,
2274           ShadowContentElement instance which includes all host children,
2275         - added Internals::elementRenderTreeAsText() to help content layout testing, and
2276         - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation.
2277         
2278         Test: fast/dom/shadow/create-content-element.html
2279
2280         * WebCore.exp.in:
2281         * dom/ShadowContentElement.cpp:
2282         (WebCore::ShadowContentElement::create): Added.
2283         (WebCore::ShadowContentElement::ShadowContentElement):
2284         (WebCore::ShadowContentElement::~ShadowContentElement):
2285         (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true.
2286         * dom/ShadowContentElement.h:
2287         * html/HTMLSummaryElement.cpp:
2288         (WebCore::SummaryContentElement::SummaryContentElement):
2289         * rendering/RenderTreeAsText.cpp:
2290         (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump.
2291         * rendering/RenderTreeAsText.h:
2292         * testing/Internals.cpp:
2293         (WebCore::Internals::createShadowContentElement): Added.
2294         (WebCore::Internals::elementRenderTreeAsText): dded.
2295         * testing/Internals.h:
2296         * testing/Internals.idl:
2297
2298 2011-06-19  Keishi Hattori  <keishi@webkit.org>
2299
2300         Reviewed by Kent Tamura.
2301
2302         Clicking indeterminate checkbox should flip checkedness state
2303         https://bugs.webkit.org/show_bug.cgi?id=62262
2304
2305         Test: fast/forms/checkbox-click-indeterminate.html
2306
2307         * html/CheckboxInputType.cpp:
2308         (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate.
2309
2310 2011-06-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2311
2312         Reviewed by Martin Robinson.
2313
2314         [GTK] Enable Media Stream feature and make it default on
2315         https://bugs.webkit.org/show_bug.cgi?id=60394
2316
2317         * GNUmakefile.am:
2318
2319 2011-06-19  Una Sabovic  <una.sabovic@palm.com>
2320
2321         Reviewed by Darin Adler.
2322
2323         Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended
2324         https://bugs.webkit.org/show_bug.cgi?id=62908
2325
2326         When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied.
2327         Instead of clearing the rect we apply CompositeCopy operation when painting the background color.
2328
2329         No new tests. This is an optimization, it doesn't change any existing functionality.
2330
2331         * platform/graphics/GraphicsContext.cpp:
2332         (WebCore::GraphicsContext::fillRect):
2333         * platform/graphics/GraphicsContext.h:
2334         * rendering/RenderBoxModelObject.cpp:
2335         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2336
2337 2011-06-19  Dirk Schulze  <krit@webkit.org>
2338
2339         Reviewed by Nikolas Zimmermann.
2340
2341         SVGAnimatorFactory does not support SVGNumber
2342         https://bugs.webkit.org/show_bug.cgi?id=62938
2343
2344         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
2345         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the
2346         With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by
2347         the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality.
2348
2349         Moving the content of SVGAnimatedType header into its own cpp.
2350         
2351         Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString()
2352         is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and
2353         returns true. I added a check if the current char pointer is at the last char of the String and return false if not.
2354
2355         Tests: svg/animations/svgnumber-animation-1.html
2356                svg/animations/svgnumber-animation-2.html
2357                svg/animations/svgnumber-animation-3.html
2358
2359         * CMakeLists.txt: Added new files to build system.
2360         * GNUmakefile.list.am: Ditto.
2361         * WebCore.gypi: Ditto.
2362         * WebCore.pro: Ditto.
2363         * WebCore.xcodeproj/project.pbxproj: Ditto.
2364         * svg/SVGAllInOne.cpp: Ditto.
2365         * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers.
2366         (WebCore::SVGAnimateElement::SVGAnimateElement):
2367         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2368         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2369         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2370         (WebCore::SVGAnimateElement::resetToBaseValue):
2371         (WebCore::SVGAnimateElement::applyResultsToTarget):
2372         (WebCore::SVGAnimateElement::calculateDistance):
2373         * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now.
2374         * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers.
2375         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator):
2376         (WebCore::SVGAnimatedNumberAnimator::constructFromString):
2377         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
2378         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
2379         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
2380         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
2381         * svg/SVGAnimatedNumber.h:
2382         (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator):
2383         * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp.
2384         (WebCore::SVGAnimatedType::SVGAnimatedType):
2385         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2386         (WebCore::SVGAnimatedType::createAngle):
2387         (WebCore::SVGAnimatedType::createLength):
2388         (WebCore::SVGAnimatedType::createNumber):
2389         (WebCore::SVGAnimatedType::angle):
2390         (WebCore::SVGAnimatedType::length):
2391         (WebCore::SVGAnimatedType::number):
2392         (WebCore::SVGAnimatedType::valueAsString):
2393         (WebCore::SVGAnimatedType::setValueAsString):
2394         * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions.
2395         * svg/SVGAnimatorFactory.h:
2396         (WebCore::SVGAnimatorFactory::create):
2397         * svg/SVGParserUtilities.cpp:
2398         (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise.
2399
2400 2011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
2401
2402         Reviewed by Darin Adler.
2403
2404         Separate concerns of loading file icons and choosing files.
2405         https://bugs.webkit.org/show_bug.cgi?id=62931
2406
2407         Loading an icon and choosing files have similar async nature, but completely different
2408         lifetimes: FileChooser should only exist when we are actually attempting to choose a file,
2409         not anytime we need to render an input with a proper icon.
2410
2411         This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes
2412         any notion of an icon from the FileChooser.
2413
2414         Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its
2415         purpose.
2416
2417         Refactoring, covered by existing tests.
2418
2419         * CMakeLists.txt: Added FileIconLoader to build system.
2420         * GNUmakefile.list.am: Ditto.
2421         * WebCore.exp.in: Updated.
2422         * WebCore.gypi: Added FileIconLoader to build system.
2423         * WebCore.pro: Ditto.
2424         * WebCore.vcproj/WebCore.vcproj: Ditto.
2425         * WebCore.xcodeproj/project.pbxproj: Ditto.
2426         * loader/EmptyClients.h: Updated.
2427         (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does.
2428         * page/Chrome.cpp:
2429         (WebCore::Chrome::loadIconForFiles): Ditto.
2430         * page/Chrome.h: Ditto.
2431         * page/ChromeClient.h: Ditto.
2432         * platform/FileChooser.cpp:
2433         (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool.
2434         (WebCore::FileChooser::create): Removed the tangled web.
2435         (WebCore::FileChooser::clear): Removed icon-related code.
2436         (WebCore::FileChooser::chooseFiles): Ditto.
2437         * platform/FileChooser.h:
2438         * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp.
2439         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added.
2440         (WebCore::FileIconLoader::create): Added.
2441         (WebCore::FileIconLoader::disconnectClient): Added.
2442         (WebCore::FileIconLoader::notifyFinished): Added.
2443         (WebCore::FileIconLoader::FileIconLoader): Added.
2444         * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp.
2445         * rendering/RenderFileUploadControl.cpp:
2446         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations.
2447         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s
2448         (WebCore::RenderFileUploadControl::requestIcon): Added a helper.
2449         (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load.
2450         (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func.
2451         (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon.
2452         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly.
2453         (WebCore::RenderFileUploadControl::paintObject): Ditto.
2454         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
2455         * rendering/RenderFileUploadControl.h: Updated decls.
2456
2457 2011-06-19  Michael Saboff  <msaboff@apple.com>
2458
2459         Reviewed by Darin Adler.
2460
2461         Add notify handler to trigger MemoryPressureHandler in all builds
2462         https://bugs.webkit.org/show_bug.cgi?id=62679
2463
2464         Removed SIGUSR2 trigger and added a notify trigger for the
2465         MemoryPressureHandler.  The notify trigger is enabled for all builds.
2466
2467         No test added as only added new memory pressure trigger.
2468
2469         * platform/mac/MemoryPressureHandlerMac.mm:
2470         (WebCore::MemoryPressureHandler::install):
2471
2472 2011-06-19  Robert Hogan  <robert@webkit.org>
2473
2474         Reviewed by Alexey Proskuryakov.
2475
2476         [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
2477         https://bugs.webkit.org/show_bug.cgi?id=62514
2478
2479         * platform/network/qt/ResourceHandleQt.cpp:
2480         (WebCore::WebCoreSynchronousLoader::willSendRequest):
2481
2482 2011-06-18  Yufeng Shen  <miletus@chromium.org>
2483
2484         Reviewed by Darin Fisher.
2485
2486         Adding "force" filed to Touch Event
2487         https://bugs.webkit.org/show_bug.cgi?id=62766
2488
2489         * dom/Document.cpp:
2490         (WebCore::Document::createTouch):
2491         * dom/Document.h:
2492         * dom/Document.idl:
2493         * dom/Touch.cpp:
2494         (WebCore::Touch::Touch):
2495         * dom/Touch.h:
2496         (WebCore::Touch::create):
2497         (WebCore::Touch::webkitForce):
2498         * dom/Touch.idl:
2499         * page/EventHandler.cpp:
2500         (WebCore::EventHandler::handleTouchEvent):
2501         * platform/PlatformTouchPoint.h:
2502         (WebCore::PlatformTouchPoint::force):
2503
2504 2011-06-18  Jer Noble  <jer.noble@apple.com>
2505
2506         Reviewed by Darin Adler.
2507
2508         Rename Document::setContainsFullScreenElementRecursively
2509         https://bugs.webkit.org/show_bug.cgi?id=62528
2510
2511         No new tests; no net change in functionality, so this is covered by existing tests.
2512
2513         The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use
2514         recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might
2515         otherwise imply).  Move the function into Element, turn it into a member function, and change 
2516         the behavior so that the function operates on the called object's parents (as opposed to the 
2517         object itself).
2518
2519         * dom/Element.h:
2520         * dom/Element.cpp:
2521         (WebCore::parentCrossingFrameBoundaries): Added.
2522         (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and 
2523             moved from Document.
2524         (WebCore::Element::willRemove): Use the newly renamed function.
2525         (WebCore::Element::insertedIntoTree): Ditto.
2526         * dom/Document.h:
2527         * dom/Document.cpp:
2528         (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
2529         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
2530         (WebCore::Document::fullScreenElementRemoved): Ditto.
2531
2532 2011-06-18  Alice Boxhall  <aboxhall@chromium.org>
2533
2534         Reviewed by Chris Fleizach.
2535
2536         Accessibility description for an element should make use of aria-labelledby.
2537         https://bugs.webkit.org/show_bug.cgi?id=61995
2538
2539         Tests: accessibility/aria-labelledby-overrides-aria-label.html
2540
2541         * accessibility/AccessibilityRenderObject.cpp:
2542         (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby.
2543         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label.
2544
2545 2011-06-18  Christoph Mende  <mende.christoph@gmail.com>
2546
2547         Reviewed by Darin Adler.
2548
2549         compilation fails with libpng-1.5
2550         https://bugs.webkit.org/show_bug.cgi?id=61738
2551
2552         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2553         (WebCore::writeOutput): Use getter function instead of direct access
2554
2555 2011-06-18  Jeremy Moskovich  <jeremy@chromium.org>
2556
2557         Reviewed by Eric Seidel.
2558
2559         Set text-align:-webkit-match-parent for li elements in the default style sheet.
2560         https://bugs.webkit.org/show_bug.cgi?id=57232
2561
2562         Test: fast/css/list-item-text-align.html
2563
2564         * css/html.css:
2565         (li): Specify text-align:-webkit-match-parent .
2566
2567 2011-06-18  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
2568
2569         Reviewed by Brent Fulgham.
2570
2571         [misc] JSC/wtf/text/*.h should not be included via #include ""
2572         https://bugs.webkit.org/show_bug.cgi?id=60836
2573
2574         Adam Barth pointed out that one should not include files from
2575         JavaScriptCore/wtf/text using #include "File.h". This change
2576         is addressing it.
2577
2578         * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text.
2579         * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text.
2580         * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include.
2581         * platform/graphics/pango/FontCachePango.cpp: Change CString.h include.
2582         * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include.
2583         * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include.
2584         * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include.
2585
2586 2011-06-18  Sam Weinig  <sam@webkit.org>
2587
2588         Reviewed by Darin Adler.
2589
2590         REGRESSION (r63854-63958): placeholder not shown for number inputs
2591         https://bugs.webkit.org/show_bug.cgi?id=61095
2592
2593         Refactor HTMLInputElement supportsPlaceholder support to delegate to the
2594         InputType. Make BaseTextInputType and NumberInputType return true, matching
2595         the current HTML5 spec.
2596
2597         * html/BaseTextInputType.cpp:
2598         (WebCore::BaseTextInputType::supportsPlaceholder):
2599         * html/BaseTextInputType.h:
2600         Add override implementation of supportsPlaceholder that returns true.
2601
2602         * html/HTMLInputElement.cpp:
2603         (WebCore::HTMLInputElement::supportsPlaceholder):
2604         Delegate to the InputType.
2605
2606         * html/InputType.cpp:
2607         (WebCore::InputType::supportsPlaceholder):
2608         * html/InputType.h:
2609         Add base implementation of supportsPlaceholder that returns false.
2610
2611         * html/NumberInputType.cpp:
2612         (WebCore::NumberInputType::supportsPlaceholder):
2613         * html/NumberInputType.h:
2614         Add override implementation of supportsPlaceholder that returns true.
2615
2616 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2617
2618         Unreviewed, rolling out r89154.
2619         http://trac.webkit.org/changeset/89154
2620         https://bugs.webkit.org/show_bug.cgi?id=62926
2621
2622         It broke debug build on Qt (Requested by Ossy_weekend on
2623         #webkit).
2624
2625         * platform/network/qt/ResourceHandleQt.cpp:
2626
2627 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2628
2629         Unreviewed, rolling out r89189.
2630         http://trac.webkit.org/changeset/89189
2631         https://bugs.webkit.org/show_bug.cgi?id=62925
2632
2633         It broke Qt build (Requested by Ossy_weekend on #webkit).
2634
2635         * bindings/scripts/test/TestInterface.idl:
2636         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2637         * css/CSSCharsetRule.idl:
2638         * css/CSSFontFaceRule.idl:
2639         * css/CSSImportRule.idl:
2640         * css/CSSPageRule.idl:
2641         * css/CSSRule.idl:
2642         * css/CSSStyleRule.idl:
2643         * css/CSSUnknownRule.idl:
2644         * css/CSSValue.idl:
2645         * css/Counter.idl:
2646         * css/RGBColor.idl:
2647         * css/Rect.idl:
2648         * css/StyleSheet.idl:
2649         * css/WebKitCSSKeyframeRule.idl:
2650         * css/WebKitCSSTransformValue.idl:
2651         * dom/Attr.idl:
2652         * dom/CDATASection.idl:
2653         * dom/ClientRect.idl:
2654         * dom/Comment.idl:
2655         * dom/DOMCoreException.idl:
2656         * dom/DOMStringMap.idl:
2657         * dom/DocumentType.idl:
2658         * dom/Entity.idl:
2659         * dom/EntityReference.idl:
2660         * dom/EventException.idl:
2661         * dom/GeneratedStream.idl:
2662         * dom/MessageChannel.idl:
2663         * dom/NodeIterator.idl:
2664         * dom/Notation.idl:
2665         * dom/ProcessingInstruction.idl:
2666         * dom/RangeException.idl:
2667         * dom/Touch.idl:
2668         * dom/TreeWalker.idl:
2669         * fileapi/DOMFileSystem.idl:
2670         * fileapi/DOMFileSystemSync.idl:
2671         * fileapi/DirectoryReaderSync.idl:
2672         * fileapi/File.idl:
2673         * fileapi/FileEntrySync.idl:
2674         * fileapi/FileError.idl:
2675         * fileapi/FileException.idl:
2676         * fileapi/Metadata.idl:
2677         * fileapi/OperationNotAllowedException.idl:
2678         * fileapi/WebKitFlags.idl:
2679         * html/DOMSettableTokenList.idl:
2680         * html/HTMLAppletElement.idl:
2681         * html/HTMLAreaElement.idl:
2682         * html/HTMLBRElement.idl:
2683         * html/HTMLBaseElement.idl:
2684         * html/HTMLBaseFontElement.idl:
2685         * html/HTMLBlockquoteElement.idl:
2686         * html/HTMLBodyElement.idl:
2687         * html/HTMLDListElement.idl:
2688         * html/HTMLDataListElement.idl:
2689         * html/HTMLDetailsElement.idl:
2690         * html/HTMLDirectoryElement.idl:
2691         * html/HTMLEmbedElement.idl:
2692         * html/HTMLFontElement.idl:
2693         * html/HTMLFormElement.idl:
2694         * html/HTMLFrameElement.idl:
2695         * html/HTMLFrameSetElement.idl:
2696         * html/HTMLHRElement.idl:
2697         * html/HTMLHeadElement.idl:
2698         * html/HTMLHeadingElement.idl:
2699         * html/HTMLHtmlElement.idl:
2700         * html/HTMLIFrameElement.idl:
2701         * html/HTMLImageElement.idl:
2702         * html/HTMLIsIndexElement.idl:
2703         * html/HTMLLIElement.idl:
2704         * html/HTMLLabelElement.idl:
2705         * html/HTMLLegendElement.idl:
2706         * html/HTMLLinkElement.idl:
2707         * html/HTMLMapElement.idl:
2708         * html/HTMLMarqueeElement.idl:
2709         * html/HTMLMenuElement.idl:
2710         * html/HTMLMetaElement.idl:
2711         * html/HTMLMeterElement.idl:
2712         * html/HTMLModElement.idl:
2713         * html/HTMLOListElement.idl:
2714         * html/HTMLOptGroupElement.idl:
2715         * html/HTMLOptionElement.idl:
2716         * html/HTMLParagraphElement.idl:
2717         * html/HTMLParamElement.idl:
2718         * html/HTMLPreElement.idl:
2719         * html/HTMLProgressElement.idl:
2720         * html/HTMLQuoteElement.idl:
2721         * html/HTMLScriptElement.idl:
2722         * html/HTMLSourceElement.idl:
2723         * html/HTMLStyleElement.idl:
2724         * html/HTMLTableCaptionElement.idl:
2725         * html/HTMLTableCellElement.idl:
2726         * html/HTMLTableColElement.idl:
2727         * html/HTMLTitleElement.idl:
2728         * html/HTMLTrackElement.idl:
2729         * html/HTMLUListElement.idl:
2730         * html/ImageData.idl:
2731         * html/MediaError.idl:
2732         * html/SpellcheckRange.idl:
2733         * html/TextMetrics.idl:
2734         * html/ValidityState.idl:
2735         * html/VoidCallback.idl:
2736         * html/canvas/ArrayBuffer.idl:
2737         * html/canvas/ArrayBufferView.idl:
2738         * html/canvas/CanvasPattern.idl:
2739         * html/canvas/CanvasPixelArray.idl:
2740         * html/canvas/CanvasRenderingContext.idl:
2741         * html/canvas/DataView.idl:
2742         * html/canvas/OESStandardDerivatives.idl:
2743         * html/canvas/OESTextureFloat.idl:
2744         * html/canvas/WebGLActiveInfo.idl:
2745         * html/canvas/WebGLBuffer.idl:
2746         * html/canvas/WebGLContextAttributes.idl:
2747         * html/canvas/WebGLFramebuffer.idl:
2748         * html/canvas/WebGLProgram.idl:
2749         * html/canvas/WebGLRenderbuffer.idl:
2750         * html/canvas/WebGLShader.idl:
2751         * html/canvas/WebGLTexture.idl:
2752         * html/canvas/WebGLUniformLocation.idl:
2753         * html/canvas/WebGLVertexArrayObjectOES.idl:
2754         * html/canvas/WebKitLoseContext.idl:
2755         * inspector/ScriptProfile.idl:
2756         * inspector/ScriptProfileNode.idl:
2757         * page/AbstractView.idl:
2758         * page/BarInfo.idl:
2759         * page/Coordinates.idl:
2760         * page/Geoposition.idl:
2761         * page/MemoryInfo.idl:
2762         * page/NavigatorUserMediaError.idl:
2763         * page/Performance.idl:
2764         * page/PerformanceNavigation.idl:
2765         * page/PerformanceTiming.idl:
2766         * page/PositionError.idl:
2767         * page/Screen.idl:
2768         * page/SpeechInputEvent.idl:
2769         * page/SpeechInputResult.idl:
2770         * page/WebKitAnimation.idl:
2771         * page/WebKitPoint.idl:
2772         * page/WorkerNavigator.idl:
2773         * plugins/DOMMimeType.idl:
2774         * storage/Database.idl:
2775         * storage/DatabaseSync.idl:
2776         * storage/IDBAny.idl:
2777         * storage/IDBCursorWithValue.idl:
2778         * storage/IDBDatabaseError.idl:
2779         * storage/IDBDatabaseException.idl:
2780         * storage/IDBKey.idl:
2781         * storage/IDBVersionChangeEvent.idl:
2782         * storage/IDBVersionChangeRequest.idl:
2783         * storage/SQLError.idl:
2784         * storage/SQLException.idl:
2785         * storage/SQLResultSet.idl:
2786         * svg/SVGAElement.idl:
2787         * svg/SVGAltGlyphElement.idl:
2788         * svg/SVGAngle.idl:
2789         * svg/SVGAnimateColorElement.idl:
2790         * svg/SVGAnimateElement.idl:
2791         * svg/SVGAnimateMotionElement.idl:
2792         * svg/SVGAnimateTransformElement.idl:
2793         * svg/SVGAnimatedAngle.idl:
2794         * svg/SVGAnimatedBoolean.idl:
2795         * svg/SVGAnimatedEnumeration.idl:
2796         * svg/SVGAnimatedInteger.idl:
2797         * svg/SVGAnimatedLength.idl:
2798         * svg/SVGAnimatedLengthList.idl:
2799         * svg/SVGAnimatedNumber.idl:
2800         * svg/SVGAnimatedNumberList.idl:
2801         * svg/SVGAnimatedPreserveAspectRatio.idl:
2802         * svg/SVGAnimatedRect.idl:
2803         * svg/SVGAnimatedString.idl:
2804         * svg/SVGAnimatedTransformList.idl:
2805         * svg/SVGCircleElement.idl:
2806         * svg/SVGClipPathElement.idl:
2807         * svg/SVGColor.idl:
2808         * svg/SVGComponentTransferFunctionElement.idl:
2809         * svg/SVGCursorElement.idl:
2810         * svg/SVGDefsElement.idl:
2811         * svg/SVGDescElement.idl:
2812         * svg/SVGElement.idl:
2813         * svg/SVGEllipseElement.idl:
2814         * svg/SVGExternalResourcesRequired.idl:
2815         * svg/SVGFEBlendElement.idl:
2816         * svg/SVGFEColorMatrixElement.idl:
2817         * svg/SVGFEComponentTransferElement.idl:
2818         * svg/SVGFECompositeElement.idl:
2819         * svg/SVGFEConvolveMatrixElement.idl:
2820         * svg/SVGFEDiffuseLightingElement.idl:
2821         * svg/SVGFEDisplacementMapElement.idl:
2822         * svg/SVGFEDistantLightElement.idl:
2823         * svg/SVGFEFloodElement.idl:
2824         * svg/SVGFEFuncAElement.idl:
2825         * svg/SVGFEFuncBElement.idl:
2826         * svg/SVGFEFuncGElement.idl:
2827         * svg/SVGFEFuncRElement.idl:
2828         * svg/SVGFEImageElement.idl:
2829         * svg/SVGFEMergeElement.idl:
2830         * svg/SVGFEMergeNodeElement.idl:
2831         * svg/SVGFEOffsetElement.idl:
2832         * svg/SVGFEPointLightElement.idl:
2833         * svg/SVGFESpecularLightingElement.idl:
2834         * svg/SVGFESpotLightElement.idl:
2835         * svg/SVGFETileElement.idl:
2836         * svg/SVGFETurbulenceElement.idl:
2837         * svg/SVGFilterPrimitiveStandardAttributes.idl:
2838         * svg/SVGFitToViewBox.idl:
2839         * svg/SVGFontElement.idl:
2840         * svg/SVGFontFaceElement.idl:
2841         * svg/SVGFontFaceFormatElement.idl:
2842         * svg/SVGFontFaceNameElement.idl:
2843         * svg/SVGFontFaceSrcElement.idl:
2844         * svg/SVGFontFaceUriElement.idl:
2845         * svg/SVGForeignObjectElement.idl:
2846         * svg/SVGGElement.idl:
2847         * svg/SVGGlyphElement.idl:
2848         * svg/SVGGradientElement.idl:
2849         * svg/SVGHKernElement.idl:
2850         * svg/SVGImageElement.idl:
2851         * svg/SVGLangSpace.idl:
2852         * svg/SVGLength.idl:
2853         * svg/SVGLengthList.idl:
2854         * svg/SVGLineElement.idl:
2855         * svg/SVGLinearGradientElement.idl:
2856         * svg/SVGMPathElement.idl:
2857         * svg/SVGMaskElement.idl:
2858         * svg/SVGMatrix.idl:
2859         * svg/SVGMetadataElement.idl:
2860         * svg/SVGMissingGlyphElement.idl:
2861         * svg/SVGNumber.idl:
2862         * svg/SVGNumberList.idl:
2863         * svg/SVGPaint.idl:
2864         * svg/SVGPathSeg.idl:
2865         * svg/SVGPathSegArcAbs.idl:
2866         * svg/SVGPathSegArcRel.idl:
2867         * svg/SVGPathSegClosePath.idl:
2868         * svg/SVGPathSegCurvetoCubicAbs.idl:
2869         * svg/SVGPathSegCurvetoCubicRel.idl:
2870         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
2871         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
2872         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
2873         * svg/SVGPathSegCurvetoQuadraticRel.idl:
2874         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
2875         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
2876         * svg/SVGPathSegLinetoAbs.idl:
2877         * svg/SVGPathSegLinetoHorizontalAbs.idl:
2878         * svg/SVGPathSegLinetoHorizontalRel.idl:
2879         * svg/SVGPathSegLinetoRel.idl:
2880         * svg/SVGPathSegLinetoVerticalAbs.idl:
2881         * svg/SVGPathSegLinetoVerticalRel.idl:
2882         * svg/SVGPathSegList.idl:
2883         * svg/SVGPathSegMovetoAbs.idl:
2884         * svg/SVGPathSegMovetoRel.idl:
2885         * svg/SVGPatternElement.idl:
2886         * svg/SVGPoint.idl:
2887         * svg/SVGPointList.idl:
2888         * svg/SVGPolygonElement.idl:
2889         * svg/SVGPolylineElement.idl:
2890         * svg/SVGPreserveAspectRatio.idl:
2891         * svg/SVGRadialGradientElement.idl:
2892         * svg/SVGRect.idl:
2893         * svg/SVGRectElement.idl:
2894         * svg/SVGRenderingIntent.idl:
2895         * svg/SVGScriptElement.idl:
2896         * svg/SVGSetElement.idl:
2897         * svg/SVGStopElement.idl:
2898         * svg/SVGStringList.idl:
2899         * svg/SVGSwitchElement.idl:
2900         * svg/SVGSymbolElement.idl:
2901         * svg/SVGTRefElement.idl:
2902         * svg/SVGTSpanElement.idl:
2903         * svg/SVGTextElement.idl:
2904         * svg/SVGTextPathElement.idl:
2905         * svg/SVGTextPositioningElement.idl:
2906         * svg/SVGTitleElement.idl:
2907         * svg/SVGTransform.idl:
2908         * svg/SVGTransformList.idl:
2909         * svg/SVGTransformable.idl:
2910         * svg/SVGURIReference.idl:
2911         * svg/SVGUnitTypes.idl:
2912         * svg/SVGUseElement.idl:
2913         * svg/SVGVKernElement.idl:
2914         * svg/SVGViewElement.idl:
2915         * svg/SVGViewSpec.idl:
2916         * svg/SVGZoomAndPan.idl:
2917         * svg/SVGZoomEvent.idl:
2918         * testing/Internals.idl:
2919         * webaudio/AudioChannelMerger.idl:
2920         * webaudio/AudioChannelSplitter.idl:
2921         * webaudio/AudioDestinationNode.idl:
2922         * webaudio/AudioGain.idl:
2923         * webaudio/AudioGainNode.idl:
2924         * webaudio/AudioProcessingEvent.idl:
2925         * webaudio/AudioSourceNode.idl:
2926         * webaudio/BiquadFilterNode.idl:
2927         * webaudio/ConvolverNode.idl:
2928         * webaudio/DelayNode.idl:
2929         * webaudio/DynamicsCompressorNode.idl:
2930         * webaudio/HighPass2FilterNode.idl:
2931         * webaudio/JavaScriptAudioNode.idl:
2932         * webaudio/LowPass2FilterNode.idl:
2933         * webaudio/OfflineAudioCompletionEvent.idl:
2934         * workers/SharedWorker.idl:
2935         * workers/SharedWorkerContext.idl:
2936         * workers/WorkerLocation.idl:
2937         * xml/XMLHttpRequestException.idl:
2938         * xml/XMLHttpRequestProgressEvent.idl:
2939         * xml/XPathException.idl:
2940
2941 2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>
2942
2943         Reviewed by Darin Adler.
2944
2945         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
2946         https://bugs.webkit.org/show_bug.cgi?id=62904
2947
2948         After bug 62750, there are many IDL files that contain the new
2949         LegacyDefaultOptionalArguments flag that don't actually need it.
2950         Some examples:
2951
2952             - the IDL file contains no functions
2953             - the IDL file contains only functions with no arguments
2954             - the IDL file contains functions, *all* of which use the
2955               [RequiresAllArguments=raise] extended attribute
2956
2957         This patch simplifies such IDL files by removing the
2958         LegacyDefaultOptionalArguments flag and (if needed) removing the
2959         [RequiresAllArguments=raise] extended attribute from each function
2960         declaration. This patch does not make any required arguments optional
2961         or any optional arguments required. It changes no behavior at all.
2962
2963         No new tests needed, all existing tests pass.
2964
2965         * bindings/scripts/test/TestInterface.idl:
2966         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2967         * css/CSSCharsetRule.idl:
2968         * css/CSSFontFaceRule.idl:
2969         * css/CSSImportRule.idl:
2970         * css/CSSPageRule.idl:
2971         * css/CSSRule.idl:
2972         * css/CSSStyleRule.idl:
2973         * css/CSSUnknownRule.idl:
2974         * css/CSSValue.idl:
2975         * css/Counter.idl:
2976         * css/RGBColor.idl:
2977         * css/Rect.idl:
2978         * css/StyleSheet.idl:
2979         * css/WebKitCSSKeyframeRule.idl:
2980         * css/WebKitCSSTransformValue.idl:
2981         * dom/Attr.idl:
2982         * dom/CDATASection.idl:
2983         * dom/ClientRect.idl:
2984         * dom/Comment.idl:
2985         * dom/DOMCoreException.idl:
2986         * dom/DOMStringMap.idl:
2987         * dom/DocumentType.idl:
2988         * dom/Entity.idl:
2989         * dom/EntityReference.idl:
2990         * dom/EventException.idl:
2991         * dom/GeneratedStream.idl:
2992         * dom/MessageChannel.idl:
2993         * dom/NodeIterator.idl:
2994         * dom/Notation.idl:
2995         * dom/ProcessingInstruction.idl:
2996         * dom/RangeException.idl:
2997         * dom/Touch.idl:
2998         * dom/TreeWalker.idl:
2999         * fileapi/DOMFileSystem.idl:
3000         * fileapi/DOMFileSystemSync.idl:
3001         * fileapi/DirectoryReaderSync.idl:
3002         * fileapi/File.idl:
3003         * fileapi/FileEntrySync.idl:
3004         * fileapi/FileError.idl:
3005         * fileapi/FileException.idl:
3006         * fileapi/Metadata.idl:
3007         * fileapi/OperationNotAllowedException.idl:
3008         * fileapi/WebKitFlags.idl:
3009         * html/DOMSettableTokenList.idl:
3010         * html/HTMLAppletElement.idl:
3011         * html/HTMLAreaElement.idl:
3012         * html/HTMLBRElement.idl:
3013         * html/HTMLBaseElement.idl:
3014         * html/HTMLBaseFontElement.idl:
3015         * html/HTMLBlockquoteElement.idl:
3016         * html/HTMLBodyElement.idl:
3017         * html/HTMLDListElement.idl:
3018         * html/HTMLDataListElement.idl:
3019         * html/HTMLDetailsElement.idl:
3020         * html/HTMLDirectoryElement.idl:
3021         * html/HTMLEmbedElement.idl:
3022         * html/HTMLFontElement.idl:
3023         * html/HTMLFormElement.idl:
3024         * html/HTMLFrameElement.idl:
3025         * html/HTMLFrameSetElement.idl:
3026         * html/HTMLHRElement.idl:
3027         * html/HTMLHeadElement.idl:
3028         * html/HTMLHeadingElement.idl:
3029         * html/HTMLHtmlElement.idl:
3030         * html/HTMLIFrameElement.idl:
3031         * html/HTMLImageElement.idl:
3032         * html/HTMLIsIndexElement.idl:
3033         * html/HTMLLIElement.idl:
3034         * html/HTMLLabelElement.idl:
3035         * html/HTMLLegendElement.idl:
3036         * html/HTMLLinkElement.idl:
3037         * html/HTMLMapElement.idl:
3038         * html/HTMLMarqueeElement.idl:
3039         * html/HTMLMenuElement.idl:
3040         * html/HTMLMetaElement.idl:
3041         * html/HTMLMeterElement.idl:
3042         * html/HTMLModElement.idl:
3043         * html/HTMLOListElement.idl:
3044         * html/HTMLOptGroupElement.idl:
3045         * html/HTMLOptionElement.idl:
3046         * html/HTMLParagraphElement.idl:
3047         * html/HTMLParamElement.idl:
3048         * html/HTMLPreElement.idl:
3049         * html/HTMLProgressElement.idl:
3050         * html/HTMLQuoteElement.idl:
3051         * html/HTMLScriptElement.idl:
3052         * html/HTMLSourceElement.idl:
3053         * html/HTMLStyleElement.idl:
3054         * html/HTMLTableCaptionElement.idl:
3055         * html/HTMLTableCellElement.idl:
3056         * html/HTMLTableColElement.idl:
3057         * html/HTMLTitleElement.idl:
3058         * html/HTMLTrackElement.idl:
3059         * html/HTMLUListElement.idl:
3060         * html/ImageData.idl:
3061         * html/MediaError.idl:
3062         * html/SpellcheckRange.idl:
3063         * html/TextMetrics.idl:
3064         * html/ValidityState.idl:
3065         * html/VoidCallback.idl:
3066         * html/canvas/ArrayBuffer.idl:
3067         * html/canvas/ArrayBufferView.idl:
3068         * html/canvas/CanvasPattern.idl:
3069         * html/canvas/CanvasPixelArray.idl:
3070         * html/canvas/CanvasRenderingContext.idl:
3071         * html/canvas/DataView.idl:
3072         * html/canvas/OESStandardDerivatives.idl:
3073         * html/canvas/OESTextureFloat.idl:
3074         * html/canvas/WebGLActiveInfo.idl:
3075         * html/canvas/WebGLBuffer.idl:
3076         * html/canvas/WebGLContextAttributes.idl:
3077         * html/canvas/WebGLFramebuffer.idl:
3078         * html/canvas/WebGLProgram.idl:
3079         * html/canvas/WebGLRenderbuffer.idl:
3080         * html/canvas/WebGLShader.idl:
3081         * html/canvas/WebGLTexture.idl:
3082         * html/canvas/WebGLUniformLocation.idl:
3083         * html/canvas/WebGLVertexArrayObjectOES.idl:
3084         * html/canvas/WebKitLoseContext.idl:
3085         * inspector/ScriptProfile.idl:
3086         * inspector/ScriptProfileNode.idl:
3087         * page/AbstractView.idl:
3088         * page/BarInfo.idl:
3089         * page/Coordinates.idl:
3090         * page/Geoposition.idl:
3091         * page/MemoryInfo.idl:
3092         * page/NavigatorUserMediaError.idl:
3093         * page/Performance.idl:
3094         * page/PerformanceNavigation.idl:
3095         * page/PerformanceTiming.idl:
3096         * page/PositionError.idl:
3097         * page/Screen.idl:
3098         * page/SpeechInputEvent.idl:
3099         * page/SpeechInputResult.idl:
3100         * page/WebKitAnimation.idl:
3101         * page/WebKitPoint.idl:
3102         * page/WorkerNavigator.idl:
3103         * plugins/DOMMimeType.idl:
3104         * storage/Database.idl:
3105         * storage/DatabaseSync.idl:
3106         * storage/IDBAny.idl:
3107         * storage/IDBCursorWithValue.idl:
3108         * storage/IDBDatabaseError.idl:
3109         * storage/IDBDatabaseException.idl:
3110         * storage/IDBKey.idl:
3111         * storage/IDBVersionChangeEvent.idl:
3112         * storage/IDBVersionChangeRequest.idl:
3113         * storage/SQLError.idl:
3114         * storage/SQLException.idl:
3115         * storage/SQLResultSet.idl:
3116         * svg/SVGAElement.idl:
3117         * svg/SVGAltGlyphElement.idl:
3118         * svg/SVGAngle.idl:
3119         * svg/SVGAnimateColorElement.idl:
3120         * svg/SVGAnimateElement.idl:
3121         * svg/SVGAnimateMotionElement.idl:
3122         * svg/SVGAnimateTransformElement.idl:
3123         * svg/SVGAnimatedAngle.idl:
3124         * svg/SVGAnimatedBoolean.idl:
3125         * svg/SVGAnimatedEnumeration.idl:
3126         * svg/SVGAnimatedInteger.idl:
3127         * svg/SVGAnimatedLength.idl:
3128         * svg/SVGAnimatedLengthList.idl:
3129         * svg/SVGAnimatedNumber.idl:
3130         * svg/SVGAnimatedNumberList.idl:
3131         * svg/SVGAnimatedPreserveAspectRatio.idl:
3132         * svg/SVGAnimatedRect.idl:
3133         * svg/SVGAnimatedString.idl:
3134         * svg/SVGAnimatedTransformList.idl:
3135         * svg/SVGCircleElement.idl:
3136         * svg/SVGClipPathElement.idl:
3137         * svg/SVGColor.idl:
3138         * svg/SVGComponentTransferFunctionElement.idl:
3139         * svg/SVGCursorElement.idl:
3140         * svg/SVGDefsElement.idl:
3141         * svg/SVGDescElement.idl:
3142         * svg/SVGElement.idl:
3143         * svg/SVGEllipseElement.idl:
3144         * svg/SVGExternalResourcesRequired.idl:
3145         * svg/SVGFEBlendElement.idl:
3146         * svg/SVGFEColorMatrixElement.idl:
3147         * svg/SVGFEComponentTransferElement.idl:
3148         * svg/SVGFECompositeElement.idl:
3149         * svg/SVGFEConvolveMatrixElement.idl:
3150         * svg/SVGFEDiffuseLightingElement.idl:
3151         * svg/SVGFEDisplacementMapElement.idl:
3152         * svg/SVGFEDistantLightElement.idl:
3153         * svg/SVGFEFloodElement.idl:
3154         * svg/SVGFEFuncAElement.idl:
3155         * svg/SVGFEFuncBElement.idl:
3156         * svg/SVGFEFuncGElement.idl:
3157         * svg/SVGFEFuncRElement.idl:
3158         * svg/SVGFEImageElement.idl:
3159         * svg/SVGFEMergeElement.idl:
3160         * svg/SVGFEMergeNodeElement.idl:
3161         * svg/SVGFEOffsetElement.idl:
3162         * svg/SVGFEPointLightElement.idl:
3163         * svg/SVGFESpecularLightingElement.idl:
3164         * svg/SVGFESpotLightElement.idl:
3165         * svg/SVGFETileElement.idl:
3166         * svg/SVGFETurbulenceElement.idl:
3167         * svg/SVGFilterPrimitiveStandardAttributes.idl:
3168         * svg/SVGFitToViewBox.idl:
3169         * svg/SVGFontElement.idl:
3170         * svg/SVGFontFaceElement.idl:
3171         * svg/SVGFontFaceFormatElement.idl:
3172         * svg/SVGFontFaceNameElement.idl:
3173         * svg/SVGFontFaceSrcElement.idl:
3174         * svg/SVGFontFaceUriElement.idl:
3175         * svg/SVGForeignObjectElement.idl:
3176         * svg/SVGGElement.idl:
3177         * svg/SVGGlyphElement.idl:
3178         * svg/SVGGradientElement.idl:
3179         * svg/SVGHKernElement.idl:
3180         * svg/SVGImageElement.idl:
3181         * svg/SVGLangSpace.idl:
3182         * svg/SVGLength.idl:
3183         * svg/SVGLengthList.idl:
3184         * svg/SVGLineElement.idl:
3185         * svg/SVGLinearGradientElement.idl:
3186         * svg/SVGMPathElement.idl:
3187         * svg/SVGMaskElement.idl:
3188         * svg/SVGMatrix.idl:
3189         * svg/SVGMetadataElement.idl:
3190         * svg/SVGMissingGlyphElement.idl:
3191         * svg/SVGNumber.idl:
3192         * svg/SVGNumberList.idl:
3193         * svg/SVGPaint.idl:
3194         * svg/SVGPathSeg.idl:
3195         * svg/SVGPathSegArcAbs.idl:
3196         * svg/SVGPathSegArcRel.idl:
3197         * svg/SVGPathSegClosePath.idl:
3198         * svg/SVGPathSegCurvetoCubicAbs.idl:
3199         * svg/SVGPathSegCurvetoCubicRel.idl:
3200         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
3201         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
3202         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
3203         * svg/SVGPathSegCurvetoQuadraticRel.idl:
3204         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
3205         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
3206         * svg/SVGPathSegLinetoAbs.idl:
3207         * svg/SVGPathSegLinetoHorizontalAbs.idl:
3208         * svg/SVGPathSegLinetoHorizontalRel.idl:
3209         * svg/SVGPathSegLinetoRel.idl:
3210         * svg/SVGPathSegLinetoVerticalAbs.idl:
3211         * svg/SVGPathSegLinetoVerticalRel.idl:
3212         * svg/SVGPathSegList.idl:
3213         * svg/SVGPathSegMovetoAbs.idl:
3214         * svg/SVGPathSegMovetoRel.idl:
3215         * svg/SVGPatternElement.idl:
3216         * svg/SVGPoint.idl:
3217         * svg/SVGPointList.idl:
3218         * svg/SVGPolygonElement.idl:
3219         * svg/SVGPolylineElement.idl:
3220         * svg/SVGPreserveAspectRatio.idl:
3221         * svg/SVGRadialGradientElement.idl:
3222         * svg/SVGRect.idl:
3223         * svg/SVGRectElement.idl:
3224         * svg/SVGRenderingIntent.idl:
3225         * svg/SVGScriptElement.idl:
3226         * svg/SVGSetElement.idl:
3227         * svg/SVGStopElement.idl:
3228         * svg/SVGStringList.idl:
3229         * svg/SVGSwitchElement.idl:
3230         * svg/SVGSymbolElement.idl:
3231         * svg/SVGTRefElement.idl:
3232         * svg/SVGTSpanElement.idl:
3233         * svg/SVGTextElement.idl:
3234         * svg/SVGTextPathElement.idl:
3235         * svg/SVGTextPositioningElement.idl:
3236         * svg/SVGTitleElement.idl:
3237         * svg/SVGTransform.idl:
3238         * svg/SVGTransformList.idl:
3239         * svg/SVGTransformable.idl:
3240         * svg/SVGURIReference.idl:
3241         * svg/SVGUnitTypes.idl:
3242         * svg/SVGUseElement.idl:
3243         * svg/SVGVKernElement.idl:
3244         * svg/SVGViewElement.idl:
3245         * svg/SVGViewSpec.idl:
3246         * svg/SVGZoomAndPan.idl:
3247         * svg/SVGZoomEvent.idl:
3248         * testing/Internals.idl:
3249         * webaudio/AudioChannelMerger.idl:
3250         * webaudio/AudioChannelSplitter.idl:
3251         * webaudio/AudioDestinationNode.idl:
3252         * webaudio/AudioGain.idl:
3253         * webaudio/AudioGainNode.idl:
3254         * webaudio/AudioProcessingEvent.idl:
3255         * webaudio/AudioSourceNode.idl:
3256         * webaudio/BiquadFilterNode.idl:
3257         * webaudio/ConvolverNode.idl:
3258         * webaudio/DelayNode.idl:
3259         * webaudio/DynamicsCompressorNode.idl:
3260         * webaudio/HighPass2FilterNode.idl:
3261         * webaudio/JavaScriptAudioNode.idl:
3262         * webaudio/LowPass2FilterNode.idl:
3263         * webaudio/OfflineAudioCompletionEvent.idl:
3264         * workers/SharedWorker.idl:
3265         * workers/SharedWorkerContext.idl:
3266         * workers/WorkerLocation.idl:
3267         * xml/XMLHttpRequestException.idl:
3268         * xml/XMLHttpRequestProgressEvent.idl:
3269         * xml/XPathException.idl:
3270
3271 2011-06-17  Dirk Schulze  <krit@webkit.org>
3272
3273         Reviewed by Rob Buis.
3274
3275         SVGAnimation should use direct unit animation for SVGAngle
3276         https://bugs.webkit.org/show_bug.cgi?id=62807
3277
3278         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
3279         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle
3280         with different unit types now.
3281         Removed number and unit parser from SVGAnimateElement. This is not needed anymore.
3282
3283         Tests: svg/animations/svgangle-animation-deg-to-grad.html
3284                svg/animations/svgangle-animation-deg-to-rad.html
3285                svg/animations/svgangle-animation-grad-to-deg.html
3286                svg/animations/svgangle-animation-grad-to-rad.html
3287                svg/animations/svgangle-animation-rad-to-deg.html
3288                svg/animations/svgangle-animation-rad-to-grad.html
3289
3290         * CMakeLists.txt: Added SVGAnimatedAngle.cpp.
3291         * GNUmakefile.list.am: Ditto.
3292         * WebCore.gypi: Ditto.
3293         * WebCore.pro: Ditto.
3294         * WebCore.xcodeproj/project.pbxproj: Ditto.
3295         * svg/SVGAllInOne.cpp: Ditto.
3296         * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle.
3297         (WebCore::SVGAnimateElement::SVGAnimateElement):
3298         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
3299         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
3300         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
3301         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
3302         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
3303         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
3304         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
3305         * svg/SVGAnimateElement.h:
3306         * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles.
3307         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator):
3308         (WebCore::sharedSVGAngle):
3309         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
3310         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues):
3311         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
3312         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
3313         (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
3314         * svg/SVGAnimatedAngle.h:
3315         (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator):
3316         * svg/SVGAnimatedLength.cpp:
3317         (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString.
3318         * svg/SVGAnimatedType.h:
3319         (WebCore::SVGAnimatedType::create):
3320         (WebCore::SVGAnimatedType::createAngle):
3321         (WebCore::SVGAnimatedType::createLength):
3322         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3323         (WebCore::SVGAnimatedType::angle):
3324         (WebCore::SVGAnimatedType::valueAsString):
3325         (WebCore::SVGAnimatedType::setValueAsString):
3326         (WebCore::SVGAnimatedType::SVGAnimatedType):
3327         * svg/SVGAnimatorFactory.h:
3328         (WebCore::SVGAnimatorFactory::create):
3329         * svg/SVGLength.cpp:
3330         (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling.
3331         * svg/SVGLength.h:
3332         * svg/SVGParserUtilities.cpp:
3333         (WebCore::parseNumberFromString): Added number parser for String objects.
3334         * svg/SVGParserUtilities.h:
3335
3336 2011-06-17  Anna Cavender  <annacc@chromium.org>
3337
3338         Reviewed by Eric Carlson.
3339
3340         Adding initial interfaces and stubs for track
3341         https://bugs.webkit.org/show_bug.cgi?id=60379
3342
3343         This marks the first patch of a series to implement out-of-band
3344         <track> support in WebKit. This patch adds some of the core header files
3345         and their corresponding stub .cpp files.
3346  
3347         No new tests because feature is hidden behind VIDEO_TRACK feature
3348         define, which is turned off.
3349
3350         * CMakeLists.txt:
3351         * WebCore.gyp/WebCore.gyp:
3352         * WebCore.gypi:
3353         * WebCore.pri:
3354         * WebCore.pro:
3355         * WebCore.xcodeproj/project.pbxproj:
3356         * html/CueIndex.cpp: Added.
3357         * html/CueIndex.h: Added.
3358         * html/LoadableTextTrack.cpp: Added.
3359         * html/LoadableTextTrack.h: Added.
3360         * html/LoadableTextTrackImpl.cpp: Added.
3361         * html/LoadableTextTrackImpl.h: Added.
3362         * html/MutableTextTrack.cpp: Added.
3363         * html/MutableTextTrack.h: Added.
3364         * html/MutableTextTrackImpl.cpp: Added.
3365         * html/MutableTextTrackImpl.h: Added.
3366         * html/TextTrack.cpp: Added.
3367         * html/TextTrack.h: Added.
3368         * html/TextTrackCue.cpp: Added.
3369         * html/TextTrackCue.h: Added.
3370         * html/TextTrackCueList.cpp: Added.
3371         * html/TextTrackCueList.h: Added.
3372         * html/TextTrackPrivate.h: Added.
3373         * loader/CueLoader.cpp: Added.
3374         * loader/CueLoader.h: Added.
3375         * platform/track/CueParser.cpp: Added.
3376         * platform/track/CueParser.h: Added.
3377         * platform/track/CueParserPrivate.h: Added.
3378
3379 2011-06-17  Dmitry Lomov  <dslomov@google.com>
3380
3381         Reviewed by Adam Barth.
3382
3383         https://bugs.webkit.org/show_bug.cgi?id=62653
3384         [V8][Chromium] Make StringCache in V8 bindings per-isolate
3385         This moves StringCache into V8BindingPerIsolateData.
3386
3387         * bindings/v8/V8Binding.cpp:
3388         (WebCore::cachedStringCallback):
3389         (WebCore::StringCache::remove):
3390         (WebCore::StringCache::v8ExternalStringSlow):
3391         * bindings/v8/V8Binding.h:
3392         (WebCore::StringCache::StringCache):
3393         (WebCore::StringCache::v8ExternalString):
3394         (WebCore::StringCache::clearOnGC):
3395         (WebCore::V8BindingPerIsolateData::stringCache):
3396         (WebCore::v8ExternalString):
3397         * bindings/v8/V8GCController.cpp:
3398         (WebCore::V8GCController::gcPrologue):
3399
3400 2011-06-17  Julien Chaffraix  <jchaffraix@webkit.org>
3401
3402         Reviewed by Darin Adler.
3403
3404         Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty())
3405         https://bugs.webkit.org/show_bug.cgi?id=62884
3406
3407         Test: svg/custom/assert-empty-layout-attributes.svg
3408
3409         * rendering/svg/SVGRootInlineBox.cpp:
3410         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here.
3411         It is not needed to do the text layout algorithm if you don't have any layout information as
3412         your size is (0, 0) anyway.
3413
3414 2011-06-17  Alexey Proskuryakov  <ap@apple.com>
3415
3416         Reviewed by Dan Bernstein.
3417
3418         https://bugs.webkit.org/show_bug.cgi?id=62913
3419         Use ICU search collator when available
3420
3421         <rdar://problem/8830218> Search on a webpage in Safari conflates some Czech characters
3422         <rdar://problem/8468873> Safari search doesn't strip Hamza
3423
3424         This changes behaviors that depend on system language, and isn't practically testable.
3425
3426         * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available.
3427
3428 2011-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3429
3430         Unreviewed, rolling out r89143.
3431         http://trac.webkit.org/changeset/89143
3432         https://bugs.webkit.org/show_bug.cgi?id=62912
3433
3434         Possible Chromeos test breakage (Requested by senorblanco on
3435         #webkit).
3436
3437         * platform/KURLGoogle.cpp:
3438         (WebCore::encodeWithURLEscapeSequences):
3439
3440 2011-06-17  Jer Noble  <jer.noble@apple.com>
3441
3442         Reviewed by Ada Chan.
3443
3444         Playing video from the manifest crashes on Windows
3445         https://bugs.webkit.org/show_bug.cgi?id=62901
3446
3447         No new tests. This will be covered by existing App Cache tests.
3448
3449         Two related fixes.  1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before
3450         passing them to CFRelease().  2) Use CFURL to create an appropriate file-URL on windows in 
3451         createFileURLForApplicationCacheResource.
3452
3453         * html/HTMLMediaElement.cpp:
3454         (WebCore::createFileURLForApplicationCacheResource):
3455         * platform/graphics/win/QTMovie.cpp:
3456         (QTMovie::load):
3457
3458 2011-06-17  Abhishek Arya  <inferno@chromium.org>
3459