2010-09-09 Chris Rogers <crogers@google.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-09-09  Chris Rogers  <crogers@google.com>
2
3         Reviewed by Kenneth Russell.
4
5         Add setRange() and zeroRange() methods to TypedArrayBase
6         https://bugs.webkit.org/show_bug.cgi?id=45419
7
8         No new tests since adding new methods which are not yet called anywhere.
9
10         * html/canvas/ArrayBufferView.cpp:
11         (WebCore::ArrayBufferView::setRangeImpl):
12         (WebCore::ArrayBufferView::zeroRangeImpl):
13         * html/canvas/ArrayBufferView.h:
14         * html/canvas/TypedArrayBase.h:
15         (WebCore::TypedArrayBase::setRange):
16         (WebCore::TypedArrayBase::zeroRange):
17
18 2010-09-09  Robert Hogan  <robert@webkit.org>
19
20         Reviewed by Andreas Kling.
21
22         [Qt] always send an Accept header
23
24         Ensure QtWebKit always sends an Accept header. This is required
25         for compatibility with sites that expect the header in requests
26         for subresources.
27
28         See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.
29
30         https://bugs.webkit.org/show_bug.cgi?id=45458
31
32         * platform/network/qt/ResourceRequestQt.cpp:
33         (WebCore::ResourceRequest::toNetworkRequest):
34
35 2010-09-09  Eric Carlson  <eric.carlson@apple.com>
36
37         Reviewed by Chris Marrin.
38
39         Add media element logging
40         https://bugs.webkit.org/show_bug.cgi?id=45469
41
42         Add logging at interesting points in a media element's lifecycle.
43
44         * html/HTMLMediaElement.cpp:
45         (WebCore::urlForLogging):
46         (WebCore::boolString):
47         (WebCore::HTMLMediaElement::scheduleEvent):
48         (WebCore::HTMLMediaElement::asyncEventTimerFired):
49         (WebCore::HTMLMediaElement::canPlayType):
50         (WebCore::HTMLMediaElement::load):
51         (WebCore::HTMLMediaElement::prepareForLoad):
52         (WebCore::HTMLMediaElement::selectMediaResource):
53         (WebCore::HTMLMediaElement::loadResource):
54         (WebCore::HTMLMediaElement::isSafeToLoadURL):
55         (WebCore::HTMLMediaElement::waitForSourceChange):
56         (WebCore::HTMLMediaElement::noneSupported):
57         (WebCore::HTMLMediaElement::mediaEngineError):
58         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
59         (WebCore::HTMLMediaElement::setNetworkState):
60         (WebCore::HTMLMediaElement::setReadyState):
61         (WebCore::HTMLMediaElement::rewind):
62         (WebCore::HTMLMediaElement::returnToRealtime):
63         (WebCore::HTMLMediaElement::addPlayedRange):
64         (WebCore::HTMLMediaElement::seek):
65         (WebCore::HTMLMediaElement::finishSeek):
66         (WebCore::HTMLMediaElement::setPlaybackRate):
67         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
68         (WebCore::HTMLMediaElement::setAutoplay):
69         (WebCore::HTMLMediaElement::setPreload):
70         (WebCore::HTMLMediaElement::play):
71         (WebCore::HTMLMediaElement::playInternal):
72         (WebCore::HTMLMediaElement::pause):
73         (WebCore::HTMLMediaElement::pauseInternal):
74         (WebCore::HTMLMediaElement::setLoop):
75         (WebCore::HTMLMediaElement::setControls):
76         (WebCore::HTMLMediaElement::setVolume):
77         (WebCore::HTMLMediaElement::setMuted):
78         (WebCore::HTMLMediaElement::togglePlayState):
79         (WebCore::HTMLMediaElement::beginScrubbing):
80         (WebCore::HTMLMediaElement::endScrubbing):
81         (WebCore::HTMLMediaElement::selectNextSourceChild):
82         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
83         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
84         (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
85         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
86         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
87         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
88         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
89         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
90         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
91         (WebCore::HTMLMediaElement::updatePlayState):
92         (WebCore::HTMLMediaElement::userCancelledLoad):
93         (WebCore::HTMLMediaElement::stop):
94         (WebCore::HTMLMediaElement::suspend):
95         (WebCore::HTMLMediaElement::resume):
96         (WebCore::HTMLMediaElement::hasPendingActivity):
97         (WebCore::HTMLMediaElement::mediaVolumeDidChange):
98         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
99         (WebCore::HTMLMediaElement::enterFullscreen):
100         (WebCore::HTMLMediaElement::exitFullscreen):
101         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
102         (WebCore::HTMLMediaElement::mediaCanStart):
103         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
104
105 2010-09-09  Anton Muhin  <antonm@chromium.org>
106
107         Reviewed by Adam Barth.
108
109         [v8] bypass caches when query memory usage from post GC and in crash handler.
110         https://bugs.webkit.org/show_bug.cgi?id=45036
111
112         Second part of the whole change: now use API introduced in
113         http://trac.webkit.org/changeset/66818 and now backed by Chromium.
114
115         * bindings/v8/V8DOMWindowShell.cpp:
116         (WebCore::reportFatalErrorInV8):
117         * bindings/v8/V8GCController.cpp:
118         (WebCore::V8GCController::gcEpilogue):
119
120 2010-09-09  Kwang Yul Seo  <skyul@company100.net>
121
122         Reviewed by James Robinson.
123
124         Make sure skia is not Chromium specific
125         https://bugs.webkit.org/show_bug.cgi?id=39672
126
127         FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.
128
129         No new tests because this is pure refactoring.
130
131         * WebCore.gyp/WebCore.gyp:
132         * WebCore.gypi:
133         * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
134         * platform/graphics/chromium/FontCustomPlatformData.h: Removed.
135         * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
136         * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.
137
138 2010-09-09  Chris Rogers  <crogers@google.com>
139
140         Reviewed by Chris Fleizach.
141
142         Add AudioDSPKernel files
143         https://bugs.webkit.org/show_bug.cgi?id=45319
144
145         No new tests since audio API is not yet implemented.
146
147         * platform/audio/AudioDSPKernel.h: Added.
148         (WebCore::AudioDSPKernel::AudioDSPKernel):
149         (WebCore::AudioDSPKernel::~AudioDSPKernel):
150         (WebCore::AudioDSPKernel::sampleRate):
151         (WebCore::AudioDSPKernel::nyquist):
152         (WebCore::AudioDSPKernel::processor):
153
154 2010-09-09  Chris Rogers  <crogers@google.com>
155
156         Reviewed by Chris Fleizach.
157
158         Add AudioProcessor.h
159         https://bugs.webkit.org/show_bug.cgi?id=45206
160
161         No new tests since audio API is not yet implemented.
162
163         * platform/audio/AudioProcessor.h: Added.
164         (WebCore::AudioProcessor::AudioProcessor):
165         (WebCore::AudioProcessor::~AudioProcessor):
166         (WebCore::AudioProcessor::isInitialized):
167         (WebCore::AudioProcessor::sampleRate):
168
169 2010-09-09  Kenneth Russell  <kbr@google.com>
170
171         Reviewed by James Robinson.
172
173         Add cubic texture coordinate computation
174         https://bugs.webkit.org/show_bug.cgi?id=45250
175
176         Adding the texture coordinate computation for cubic curves per the
177         GPU Gems 3 chapter. No tests yet; will be tested in conjunction
178         with later code.
179
180         * platform/graphics/gpu/LoopBlinnConstants.h: Added.
181         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
182         (WebCore::LoopBlinnTextureCoords::compute):
183         * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
184         (WebCore::LoopBlinnTextureCoords::Result::Result):
185         (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):
186
187 2010-09-09  Kenneth Russell  <kbr@google.com>
188
189         Reviewed by James Robinson.
190
191         Add cubic curve classifier
192         https://bugs.webkit.org/show_bug.cgi?id=45249
193
194         Adding the cubic curve classification algorithm per the GPU Gems 3
195         chapter. No tests yet; will be tested in conjunction with later code.
196
197         * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
198         (WebCore::LoopBlinnClassifier::classify):
199         * platform/graphics/gpu/LoopBlinnClassifier.h: Added.
200         (WebCore::LoopBlinnClassifier::Result::Result):
201         (WebCore::LoopBlinnClassifier::LoopBlinnClassifier):
202
203 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
204
205         Reviewed by Darin Adler.
206
207         QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
208         https://bugs.webkit.org/show_bug.cgi?id=21033
209
210         Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
211         To implement the conversion between pixel font size and legacy font size,
212         added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.
213
214         Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
215         even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
216         which was also fixed.
217
218         Test: editing/execCommand/query-font-size.html
219
220         * css/CSSComputedStyleDeclaration.cpp:
221         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
222         (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
223         * css/CSSComputedStyleDeclaration.h:
224         * css/CSSStyleSelector.cpp:
225         (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
226         (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
227         (WebCore::CSSStyleSelector::legacyFontSize): Added.
228         * css/CSSStyleSelector.h:
229         * editing/Editor.cpp:
230         (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
231         * editing/EditorCommand.cpp:
232         (WebCore::executeToggleStyleInList): Crash fix.
233         * page/Frame.cpp:
234         (WebCore::Frame::selectionComputedStyle): See above.
235
236 2010-09-09  Robert Hogan  <robert@webkit.org>
237
238         Reviewed by Adam Barth.
239
240         Give WebKit clients a way to replace window.screen 
241         to foil attempts to track users with it.
242
243         This allows clients to overload the values returned by the
244         Screen object through the JSC manipulation API (such as
245         QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
246         want to do this when they do not want to reveal too much
247         explicit information about the user's desktop configuration.
248
249         https://bugs.webkit.org/show_bug.cgi?id=41802
250
251         * page/DOMWindow.idl:
252
253 2010-09-09  Kenneth Russell  <kbr@google.com>
254
255         Reviewed by James Robinson.
256
257         Memory leak in red/black tree
258         https://bugs.webkit.org/show_bug.cgi?id=45472
259
260         Fixed memory leak in red/black tree where it was using operator
261         new directly to allocate its internal nodes rather than the arena
262         with which it was configured. Added allocateObject variant to
263         arena supporting single-argument constructors. Added test to
264         red/black tree unit tests to cover this functionality, and
265         refactored TrackedAllocator into helper file to share between
266         arena and red/black tree tests.
267
268         * platform/graphics/gpu/PODArena.h:
269         (WebCore::PODArena::allocateObject):
270         (WebCore::PODArena::allocateBase):
271         * platform/graphics/gpu/PODIntervalTree.h:
272         (WebCore::PODIntervalTree::PODIntervalTree):
273         * platform/graphics/gpu/PODRedBlackTree.h:
274         (WebCore::PODRedBlackTree::add):
275
276 2010-09-09  Dean Jackson  <dino@apple.com>
277
278         Reviewed by Simon Fraser.
279
280         Fill mode is broken with multiple keyframes
281         https://bugs.webkit.org/show_bug.cgi?id=41209
282
283         With a forward fill mode the animation would tick after
284         the end of the animation, causing the fractional
285         duration of the animation to wrap. This meant the last
286         style update would happen using the incorrect keyframes.
287         The solution was to put clamps in for the elapsed time
288         and current iteration count.
289
290         Tests: animations/fill-mode-missing-from-to-keyframes.html
291                animations/fill-mode-multiple-keyframes.html
292
293         * page/animation/KeyframeAnimation.cpp:
294         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
295
296 2010-09-09  Chris Fleizach  <cfleizach@apple.com>
297
298         Reviewed by David Kilzer.
299
300         AX: Support AccessibilityTextMarkers in DRT
301         https://bugs.webkit.org/show_bug.cgi?id=44778
302
303         Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
304         This will allow future bug fixes in the text marker system to be adequately tested.
305
306         Tests: platform/mac/accessibility/element-for-text-marker.html
307                platform/mac/accessibility/text-marker-length.html
308
309         * accessibility/mac/AccessibilityObjectWrapper.mm:
310         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
311
312 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
313
314         Reviewed by Dan Bernstein.
315
316         REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
317         https://bugs.webkit.org/show_bug.cgi?id=40743
318         
319         We can't do partial compositing layer updates on scrolling if we have to look
320         for overlap, because the overlap map needs to be populated by traversing the
321         compositing layer hierarchy from the root.
322
323         Test: compositing/layer-creation/scroll-partial-update.html
324
325         * rendering/RenderLayerCompositor.cpp:
326         (WebCore::RenderLayerCompositor::updateCompositingLayers):
327
328 2010-09-09  Philippe Normand  <pnormand@igalia.com>
329
330         Reviewed by Martin Robinson.
331
332         [GTK] testmimehandling falsely succeeds testing Ogg mime type
333         https://bugs.webkit.org/show_bug.cgi?id=45349
334
335         Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
336         files work as well.
337
338         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
339         (WebCore::mimeTypeCache):
340
341 2010-09-09  Adam Barth  <abarth@webkit.org>
342
343         Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
344         PluginDocument from WebCore/loader to WebCore/html.  These classes are
345         subclasses of HTMLDocument.  They don't belong in the loader.  Further
346         cleanup patches to follow.
347
348         * Android.mk:
349         * CMakeLists.txt:
350         * GNUmakefile.am:
351         * WebCore.gypi:
352         * WebCore.pro:
353         * WebCore.vcproj/WebCore.vcproj:
354         * WebCore.xcodeproj/project.pbxproj:
355         * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
356         * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
357         * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
358         * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
359         * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
360         * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
361         * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
362         * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
363         * loader/FTPDirectoryDocument.cpp: Removed.
364         * loader/FTPDirectoryDocument.h: Removed.
365         * loader/ImageDocument.cpp: Removed.
366         * loader/ImageDocument.h: Removed.
367         * loader/MediaDocument.cpp: Removed.
368         * loader/MediaDocument.h: Removed.
369         * loader/PluginDocument.cpp: Removed.
370         * loader/PluginDocument.h: Removed.
371
372 2010-09-09  Andrey Kosyakov  <caseq@chromium.org>
373
374         Reviewed by Yury Semikhatsky.
375
376         Web Inspector: use string representation of resource type in extension API
377         Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
378         https://bugs.webkit.org/show_bug.cgi?id=45286
379
380         Test: inspector/extensions-resources.html
381
382         * English.lproj/localizedStrings.js: Added "media".
383         * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
384         (WebInspector.ExtensionServer.prototype._convertResource):
385         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
386         * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
387         (WebInspector.Resource.Type.toUIString):
388         (WebInspector.Resource.Type.toString):
389
390 2010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
391
392         Reviewed by Andreas Kling.
393
394         [Qt] Fixed incorrect Symbian scoping.
395
396         The missing install functionality is only true for mmp based systems.
397
398         https://bugs.webkit.org/show_bug.cgi?id=45268
399
400         * WebCore.pro:
401
402 2010-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
403
404         Reviewed by Dirk Schulze.
405
406         [WML] Add a parameter to fix build break.
407         https://bugs.webkit.org/show_bug.cgi?id=45437
408
409         In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. 
410         Because, parent class's setSelectedIndexByUser() has one more param.
411
412         * wml/WMLSelectElement.h:
413
414 2010-09-09  Ryuan Choi  <ryuan.choi@samsung.com>
415
416         Unreviewed attempt to fix EFL build after r67001.
417
418         [EFL] Regression (67001) Build break
419         https://bugs.webkit.org/show_bug.cgi?id=45422
420
421         * platform/efl/ScrollbarEfl.cpp:
422         (scrollbarEflEdjeMessage):
423
424 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
425
426         Reviewed by Tony Chang.
427
428         MarkupAccumulator should be broken down into two classes
429         https://bugs.webkit.org/show_bug.cgi?id=44854
430
431         Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
432         shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
433         StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.
434
435         Isolating MarkupAccumulator as a separate class has two advantages:
436         1. Isolated serialization code is easier to understand and easier to security-review.
437         2. Embedder can use MarkupAccumulator to implement "Save as" feature.
438
439         Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
440         StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
441         to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
442         behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.
443
444         No new tests are added since this is a cleanup.
445
446         * editing/markup.cpp:
447         (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
448         (WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
449         (WebCore::StyledMarkupAccumulator::): Added.
450         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
451         (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
452         (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
453         (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
454         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
455         (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
456         (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
457         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
458         (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
459         (WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
460         (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
461         (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
462         (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
463         (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
464         (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
465         (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
466         (WebCore::MarkupAccumulator::appendOpenTag): Added.
467         (WebCore::MarkupAccumulator::appendCloseTag): Added.
468         (WebCore::MarkupAccumulator::appendAttribute): Added.
469         (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
470         (WebCore::serializeNodes): Takes StyledMarkupAccumulator.
471         (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.
472
473 2010-09-08  Peter Kasting  <pkasting@google.com>
474
475         Not reviewed, layout test fix.
476         
477         Fix flaky layout test results caused by not initializing members correctly.
478         https://bugs.webkit.org/show_bug.cgi?id=45411
479
480         * platform/ScrollAnimator.cpp:
481         (WebCore::ScrollAnimator::ScrollAnimator):
482         (WebCore::ScrollAnimator::~ScrollAnimator):
483         * platform/ScrollAnimator.h:
484
485 2010-09-08  MORITA Hajime  <morrita@google.com>
486
487         Reviewed by Tony Chang.
488
489         spelling underline gets lost on backspace
490         https://bugs.webkit.org/show_bug.cgi?id=41423
491
492         moveParagraphs() did make a DOM range by serializing source range
493         and deserializing it back, and markers are gone during the process.
494         This change marks that DOM range again.
495
496         Test: editing/spelling/spelling-backspace-between-lines.html
497
498         * editing/CompositeEditCommand.cpp:
499         (WebCore::CompositeEditCommand::moveParagraphs):
500         * editing/Editor.cpp:
501         (WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
502         (WebCore::Editor::markMisspellingsAndBadGrammar): Added.
503         * editing/Editor.h:
504
505 2010-09-08  Adam Barth  <abarth@webkit.org>
506
507         Reviewed by Eric Seidel.
508
509         text/plain documents that start with \n trigger ASSERT
510         https://bugs.webkit.org/show_bug.cgi?id=45409
511
512         Because the TextDocumentParser uses a <pre> element to show the text,
513         it ran into a requirement from HTML5 to skip any initial \n character
514         tokens inside a <pre> element.  We don't want the behavior for
515         TextDocuments, so I've loosened our ASSERTs and added a comment and a
516         test to document the correct behavior.
517
518         Test: fast/tokenizer/text-plain.html
519
520         * html/parser/HTMLTokenizer.cpp:
521         (WebCore::HTMLTokenizer::nextToken):
522
523 2010-09-08  James Robinson  <jamesr@chromium.org>
524
525         Reviewed by Kenneth Russell.
526
527         [chromium] Always do 2d canvas clearRect() in hardware
528         https://bugs.webkit.org/show_bug.cgi?id=45415
529
530         r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
531         active.  This is subtly wrong for mixed mode rendering since it results in only the
532         software backing store being cleared and not the hardware.  This forces clearRect() to
533         happen in hardware.  Since we upload mixed mode results before doing any hardware draw
534         this means we always clear everything.
535
536         * platform/graphics/skia/GraphicsContextSkia.cpp:
537         (WebCore::GraphicsContext::clearRect):
538
539 2010-09-08  Dean Jackson  <dino@apple.com>
540
541         Unreviewed attempt to fix the Mac builds.
542
543         * css/CSSParser.cpp:
544         (WebCore::CSSParser::parseAnimationTimingFunction):
545
546 2010-09-08  Dean Jackson  <dino@apple.com>
547
548         Unreviewed attempt to fix QT build.
549
550         * platform/graphics/qt/GraphicsLayerQt.cpp:
551         (WebCore::solveStepsFunction):
552         (WebCore::applyTimingFunction):
553
554 2010-09-08  Dean Jackson  <dino@apple.com>
555
556         Reviewed by Simon Fraser.
557
558         Implement steps() timing function for animations
559         https://bugs.webkit.org/show_bug.cgi?id=44541
560
561         Tests: animations/timing-functions.html
562                transitions/steps-timing-function.html
563
564         * css/CSSComputedStyleDeclaration.cpp:
565         (WebCore::getTimingFunctionValue):
566             - when creating computed style we now test what
567               type of timing function it being used
568         * css/CSSParser.cpp:
569         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
570             - rename this method from parseTimingFunctionValue
571         (WebCore::CSSParser::parseAnimationTimingFunction):
572             - support parsing the steps() function
573         * css/CSSParser.h:
574             - method rename
575         * css/CSSStyleSelector.cpp:
576         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
577             - handle 'step-start' and 'step-end' identifiers. Also
578               now use ::create when constructing objects
579         * css/CSSTimingFunctionValue.cpp:
580         (WebCore::CSSLinearTimingFunctionValue::cssText):
581         (WebCore::CSSCubicBezierTimingFunctionValue::cssText):
582         (WebCore::CSSStepsTimingFunctionValue::cssText):
583             - new text output for computed style. We now produce
584               the text 'linear' when appropriate.
585         * css/CSSTimingFunctionValue.h:
586         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
587         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
588         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
589         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
590         (WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
591         (WebCore::CSSLinearTimingFunctionValue::create):
592         (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
593         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
594         (WebCore::CSSCubicBezierTimingFunctionValue::create):
595         (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
596         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
597         (WebCore::CSSStepsTimingFunctionValue::create):
598         (WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
599         (WebCore::CSSStepsTimingFunctionValue::stepAtStart):
600         (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
601         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
602             - CSSTimingFunction is now a pure virtual ref-counted base class, with
603               subclasses for each of the three supported timing functions.
604         * css/CSSValueKeywords.in:
605             - new keywords step-start and step-end
606         * page/animation/AnimationBase.cpp:
607         (WebCore::solveStepsFunction):
608             - produces the output value from a stepping function
609         (WebCore::AnimationBase::progress):
610             - now has to switch based on timing function type
611         * page/animation/KeyframeAnimation.cpp:
612         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
613             - use ref-counted access
614         * platform/animation/Animation.cpp:
615         (WebCore::Animation::animationsMatch):
616             - change timing function comparison for operator==
617         * platform/animation/Animation.h:
618         (WebCore::Animation::timingFunction):
619         (WebCore::Animation::setTimingFunction):
620         (WebCore::Animation::initialAnimationTimingFunction):
621             - move to ref-counted timing function class
622         * platform/animation/TimingFunction.h:
623         (WebCore::TimingFunction::~TimingFunction):
624         (WebCore::TimingFunction::isLinearTimingFunction):
625         (WebCore::TimingFunction::isCubicBezierTimingFunction):
626         (WebCore::TimingFunction::isStepsTimingFunction):
627         (WebCore::TimingFunction::TimingFunction):
628         (WebCore::LinearTimingFunction::create):
629         (WebCore::LinearTimingFunction::~LinearTimingFunction):
630         (WebCore::LinearTimingFunction::operator==):
631         (WebCore::LinearTimingFunction::LinearTimingFunction):
632         (WebCore::CubicBezierTimingFunction::create):
633         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
634         (WebCore::CubicBezierTimingFunction::operator==):
635         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
636         (WebCore::StepsTimingFunction::create):
637         (WebCore::StepsTimingFunction::~StepsTimingFunction):
638         (WebCore::StepsTimingFunction::operator==):
639         (WebCore::StepsTimingFunction::numberOfSteps):
640         (WebCore::StepsTimingFunction::stepAtStart):
641         (WebCore::StepsTimingFunction::StepsTimingFunction):
642             - TimingFunction is now a ref-counted pure virtual base class,
643               with three subclasses representing the types of timing functions
644               that are supported.
645         * platform/graphics/GraphicsLayer.h:
646         (WebCore::AnimationValue::AnimationValue):
647         (WebCore::FloatAnimationValue::FloatAnimationValue):
648         (WebCore::TransformAnimationValue::TransformAnimationValue):
649             - use PassRefPtr in function parameters
650         * platform/graphics/qt/GraphicsLayerQt.cpp:
651         (WebCore::solveStepsFunction):
652         (WebCore::applyTimingFunction):
653         (WebCore::AnimationQt::AnimationQt):
654         (WebCore::AnimationQt::updateCurrentTime):
655             - implement the timing function switch for QT
656         * platform/graphics/mac/GraphicsLayerCA.mm:
657         (WebCore::getCAMediaTimingFunction):
658             - update for new timing function interface
659         (WebCore::animationHasStepsTimingFunction):
660             - new method to make sure animations with steps() functions
661               never try to execute in Core Animation
662         (WebCore::GraphicsLayerCA::addAnimation):
663             - test for steps() timing function
664         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
665         * rendering/style/RenderStyleConstants.h:
666             - remove old RenderStyle enum for timing function types
667
668 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
669
670         Unreviewed trivial fix after r66960.
671
672         * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h
673
674 2010-09-08  Adam Barth  <abarth@webkit.org>
675
676         Reviewed by Eric Seidel.
677
678         move-during-parse-parent.html crashes
679         https://bugs.webkit.org/show_bug.cgi?id=45210
680
681         When inserting elements into the tree, they need to be associated with
682         their parent's document, not the document for which the parser is
683         running.  These two are different when the parent has been moved to a
684         different document during parsing.
685
686         Test: fast/parser/move-during-parsing.html
687
688         * html/parser/HTMLConstructionSite.cpp:
689         (WebCore::HTMLConstructionSite::insertComment):
690         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
691         (WebCore::HTMLConstructionSite::insertScriptElement):
692         (WebCore::HTMLConstructionSite::insertTextNode):
693         (WebCore::HTMLConstructionSite::createElement):
694         (WebCore::HTMLConstructionSite::createHTMLElement):
695
696 2010-09-08  Gabor Loki  <loki@webkit.org>
697
698         Reviewed by Andreas Kling.
699
700         Fix increases required alignment of target type warning on ARM
701         https://bugs.webkit.org/show_bug.cgi?id=45301
702
703         No new tests needed.
704
705         * bindings/js/SerializedScriptValue.cpp:
706         (WebCore::CloneDeserializer::readLittleEndian):
707         (WebCore::CloneDeserializer::readString):
708         * plugins/PluginDatabase.cpp:
709         (WebCore::readTime):
710
711 2010-09-08  Antonio Gomes  <agomes@rim.com>
712
713         Reviewed by Daniel Bates.
714
715         Make FocusController::focusedOrMainFrame method const
716         https://bugs.webkit.org/show_bug.cgi?id=45406
717
718         No new tests.
719
720         * page/FocusController.cpp:
721         (WebCore::FocusController::focusedOrMainFrame):
722         * page/FocusController.h:
723
724 2010-09-08  Jian Li  <jianli@chromium.org>
725
726         Reviewed by Darin Adler.
727
728         Fix a problem in createCanonicalUUIDString that causes the last digit
729         missing on Linux.
730         https://bugs.webkit.org/show_bug.cgi?id=45412
731
732         This is caused by not including the final null character into the count
733         that is provided to fgets.
734
735         This is covered by the existing test: send-form-data-with-sliced-file.html.
736
737         * platform/UUID.cpp:
738         (WebCore::createCanonicalUUIDString):
739
740 2010-09-08  Nico Weber  <thakis@chromium.org>
741
742         Reviewed by Dimitri Glazkov.
743
744         chromium/mac: Fix overrelease in ImageLayerChromium
745         https://bugs.webkit.org/show_bug.cgi?id=45360
746
747         Only release colorSpace if we created it.
748
749         * platform/graphics/chromium/ImageLayerChromium.cpp:
750         (WebCore::ImageLayerChromium::updateContents):
751
752 2010-09-08  Robert Hogan  <robert@webkit.org>
753
754         Reviewed by Antonio Gomes.
755
756         Remove some unnecessary duplicate calls to string functions
757
758         https://bugs.webkit.org/show_bug.cgi?id=45314
759
760         * platform/network/curl/ResourceHandleManager.cpp:
761         (WebCore::parseDataUrl):
762         * websockets/WebSocketChannel.cpp:
763         (WebCore::WebSocketChannel::send):
764
765 2010-09-08  Peter Kasting  <pkasting@google.com>
766
767         Not reviewed, fallout from http://trac.webkit.org/changeset/67001
768
769         Fix compile failures and add svn:eol-style on two new files.
770
771         * platform/ScrollAnimator.h: Added property svn:eol-style.
772         * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
773         * platform/win/PopupMenuWin.cpp: Fix compile errors.
774         (WebCore::PopupMenuWin::scrollToRevealSelection):
775         (WebCore::PopupMenuWin::scrollSize):
776
777 2010-09-08  James Robinson  <jamesr@chromium.org>
778
779         Reviewed by Kenneth Russell.
780
781         [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
782         https://bugs.webkit.org/show_bug.cgi?id=45405
783
784         This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
785         shadow, or clip applied; at least until we can handle these in hardware.  Otherwise the pattern/gradient/etc
786         is completely ignored by the hardware drawing routine and we render incorrectly.
787
788         The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
789         fill gradient is set even though it's irrelevant.  This doesn't seem to be an issue in practice and we
790         can tighten the checks later if needed.
791
792         Tested by fast/canvas/canvas-incremental-repaint.html.
793
794         * platform/graphics/skia/GraphicsContextSkia.cpp:
795         (WebCore::GraphicsContext::canvasClip):
796         (WebCore::GraphicsContext::fillRect):
797         * platform/graphics/skia/ImageBufferSkia.cpp:
798         (WebCore::ImageBuffer::draw):
799         * platform/graphics/skia/ImageSkia.cpp:
800         (WebCore::BitmapImage::draw):
801         (WebCore::BitmapImageSingleFrameSkia::draw):
802         * platform/graphics/skia/PlatformContextSkia.cpp:
803         (WebCore::PlatformContextSkia::State::State):
804         (WebCore::PlatformContextSkia::canvasClipPath):
805         (WebCore::PlatformContextSkia::canAccelerate):
806         * platform/graphics/skia/PlatformContextSkia.h:
807
808 2010-09-08  Peter Kasting  <pkasting@google.com>
809
810         Reviewed by David Hyatt.
811
812         Add smooth scrolling framework, and a Windows implementation.
813         https://bugs.webkit.org/show_bug.cgi?id=32356
814
815         * CMakeLists.txt: Add ScrollAnimator.
816         * GNUmakefile.am: Add ScrollAnimator.
817         * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
818         * WebCore.gypi: Add ScrollAnimator.
819         * WebCore.pro: Add ScrollAnimator.
820         * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
821         * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
822         * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
823         (WebCore::ScrollAnimator::create):
824         (WebCore::ScrollAnimator::scroll):
825         (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
826         * platform/ScrollAnimator.h: Added base implementation that does no animation.
827         (WebCore::ScrollAnimator::ScrollAnimator):
828         (WebCore::ScrollAnimator::~ScrollAnimator):
829         * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
830         (WebCore::ScrollAnimator::create):
831         (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
832         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
833         (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
834         (WebCore::ScrollAnimatorWin::scroll):
835         (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
836         (WebCore::ScrollAnimatorWin::accelerationTime):
837         (WebCore::ScrollAnimatorWin::animationTimerFired):
838         (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
839         (WebCore::ScrollAnimatorWin::animateScroll):
840         * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
841         * platform/ScrollView.cpp: Implement new ScrollbarClient functions.  Allow wheel scrolls to be animated.
842         (WebCore::ScrollView::scrollSize):
843         (WebCore::ScrollView::setScrollOffsetFromAnimation):
844         (WebCore::ScrollView::updateScrollbars):
845         (WebCore::ScrollView::wheelEvent):
846         * platform/ScrollView.h: Implement new ScrollbarClient functions.
847         * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
848         (WebCore::Scrollbar::setValue):
849         (WebCore::Scrollbar::scroll):
850         (WebCore::Scrollbar::moveThumb):
851         (WebCore::Scrollbar::setCurrentPos):
852         (WebCore::Scrollbar::mouseMoved):
853         * platform/Scrollbar.h:
854         * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
855         (WebCore::ScrollbarClient::ScrollbarClient):
856         (WebCore::ScrollbarClient::~ScrollbarClient):
857         (WebCore::ScrollbarClient::scroll):
858         (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
859         * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
860         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
861         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
862         * platform/gtk/MainFrameScrollbarGtk.cpp:
863         (MainFrameScrollbarGtk::gtkValueChanged):
864         * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
865         (WebCore::Scrollbar::contextMenu):
866         * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
867         (WebCore::PopupMenuWin::scrollSize):
868         (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
869         * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
870         * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
871         (WebCore::RenderDataGrid::scrollSize):
872         (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
873         * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
874         * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
875         (WebCore::RenderLayer::scrollToOffset):
876         (WebCore::RenderLayer::scrollSize):
877         (WebCore::RenderLayer::setScrollOffsetFromAnimation):
878         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
879         * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
880         * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
881         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
882         (WebCore::RenderListBox::scrollSize):
883         (WebCore::RenderListBox::setScrollOffsetFromAnimation):
884         (WebCore::RenderListBox::setScrollTop):
885         * rendering/RenderListBox.h: Implement new ScrollbarClient functions.
886
887 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
888
889         Reviewed by Tony Chang.
890
891         applyInlineStyleToRange needs cleanup
892         https://bugs.webkit.org/show_bug.cgi?id=45008
893
894         Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
895         applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
896
897         No new tests are added since this is a cleanup.
898
899         * editing/ApplyStyleCommand.cpp:
900         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
901         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
902         * editing/ApplyStyleCommand.h:
903
904 2010-09-08  Andy Estes  <aestes@apple.com>
905
906         Rubber-stamped by Darin Adler.
907
908         Incorporate additional feedback from
909         https://bugs.webkit.org/show_bug.cgi?id=45364.
910
911         * html/HTMLObjectElement.cpp:
912         (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
913         urlParameter.
914         * loader/SubframeLoader.h: Add argument names to the definition of
915         SubframeLoader::resourceWillUsePlugin().
916
917 2010-09-07  Oliver Hunt  <oliver@apple.com>
918
919         Reviewed by Anders Carlsson.
920
921         Support SerializedScriptValue in WebKit2
922         https://bugs.webkit.org/show_bug.cgi?id=45340
923
924         Add a new constructor that allows WebKit2 to create a SerializedScriptValue
925         directly from serialized data.
926
927         * WebCore.exp.in:
928         * bindings/js/SerializedScriptValue.h:
929         (WebCore::SerializedScriptValue::adopt):
930         (WebCore::SerializedScriptValue::data):
931
932 2010-09-08  Andy Estes  <aestes@apple.com>
933
934         Reviewed by Eric Carlson.
935
936         Fallback content should be rendered when an <object> doesn't specify a
937         data, type or classid attribute.
938         https://bugs.webkit.org/show_bug.cgi?id=45364
939         <rdar://problem/8375816>
940
941         HTML5 says that if no data or type attribute is specified on an <object>,
942         fallback content should be rendered. However, WebKit has traditionally
943         supported specifying a URL and MIME type in <param> elements. 
944
945         To more closely match the spec while maintaining compatibility with
946         content that relied on our old behavior, we will continue to load
947         a resource specified by <param> elements if we can determine a priori
948         that it will be handled by a plug-in. 
949
950         If we can't make this determination, and the <object> element has no
951         "data" or "type" attribute, the <param> elements will be ignored and
952         fallback content will be rendered. Otherwise, there is no change in
953         behavior.
954
955         * html/HTMLObjectElement.cpp:
956         (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
957         passed to this function and a <param> exists that specifies a url that
958         references a plug-in resource, set it to url, making it the url that
959         will be loaded by the <object> element.
960         (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
961         specified, but there is a classid attribute, try to map the classid to
962         a MIME type. This needs to be done before calling
963         HTMLObjectElement::parametersForPlugin().
964         * loader/SubframeLoader.cpp:
965         (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
966         that determines if a resource will load a plug-in based on its url and
967         MIME type. This is equivalent to calling
968         SubframeLoader::shouldUsePlugin(), but does not burden the caller with
969         the details of fallback content.
970         * loader/SubframeLoader.h:
971
972 2010-09-08  Pavel Podivilov  <podivilov@chromium.org>
973
974         Reviewed by Yury Semikhatsky.
975
976         Web Inspector: add breakpoints to source frame after content is loaded.
977         https://bugs.webkit.org/show_bug.cgi?id=43056
978
979         * inspector/front-end/ScriptsPanel.js:
980         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
981         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
982         * inspector/front-end/SourceView.js:
983         (WebInspector.SourceView.prototype._contentLoaded):
984
985 2010-09-08  Andreas Kling  <andreas.kling@nokia.com>
986
987         Reviewed by Kenneth Rohde Christiansen.
988
989         Canvas: Remove unnecessary null-check of canvas() in getImageData()
990         https://bugs.webkit.org/show_bug.cgi?id=45394
991
992         canvas() is already dereferenced earlier in the function so there is
993         no use in checking it for null later.
994
995         * html/canvas/CanvasRenderingContext2D.cpp:
996         (WebCore::CanvasRenderingContext2D::getImageData):
997
998 2010-09-08  Philippe Normand  <pnormand@igalia.com>
999
1000         Reviewed by Eric Carlson.
1001
1002         [GStreamer] cache media duration in READY instead of PLAYING
1003         https://bugs.webkit.org/show_bug.cgi?id=39053
1004
1005         New cacheDuration private method used to in updateStates() and
1006         durationChanged().
1007
1008         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1009         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1010         (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
1011         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
1012         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1013
1014 2010-09-08  Martin Robinson  <mrobinson@igalia.com>
1015
1016         Reviewed by Xan Lopez.
1017
1018         [GTK] Need a WebSocket implementation
1019         https://bugs.webkit.org/show_bug.cgi?id=45197
1020
1021         Add a GIO-based WebSocket implementation. This does not yet support
1022         SSL sockets or proxies, but these should be possible to add as support
1023         arrives in GLib/GIO for them.
1024
1025         * platform/network/soup/SocketStreamHandle.h:
1026         * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
1027         (WebCore::isActiveHandle): Added.
1028         (WebCore::deactivateHandle): Added.
1029         (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
1030         (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
1031         (WebCore::SocketStreamHandle::connected): Added.
1032         (WebCore::SocketStreamHandle::readBytes): Added.
1033         (WebCore::SocketStreamHandle::writeReady): Added.
1034         (WebCore::SocketStreamHandle::platformSend): Filled out stub.
1035         (WebCore::SocketStreamHandle::platformClose): Filled out stub.
1036         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
1037         (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
1038         (WebCore::connectedCallback): Added.
1039         (WebCore::readReadyCallback): Added.
1040         (WebCore::writeReadyCallback): Added.
1041
1042 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
1043
1044         Reviewed by Dirk Schulze.
1045
1046         [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
1047         https://bugs.webkit.org/show_bug.cgi?id=45355
1048
1049         r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
1050         which determines whether or not to render the render the clip with anti-aliasing
1051         or not. The Cairo implementation now uses that parameter to determine the argument
1052         to pass to cairo_set_antialias(...) when clipping.
1053
1054         Test: This is tested by many tests in fast/borders.
1055
1056         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1057         (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
1058
1059 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1060
1061         Reviewed by Kenneth Rohde Christiansen.
1062
1063         [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
1064         https://bugs.webkit.org/show_bug.cgi?id=44098
1065
1066         To support video of HTML5 based on gstreamer, add files regarding gstreamer to
1067         CMakeListsEfl.txt.
1068
1069         * CMakeListsEfl.txt:
1070
1071 2010-09-08  Jan E Hanssen  <jhanssen@sencha.com>
1072
1073         Reviewed by Dirk Schulze.
1074
1075         [Qt] PathQt should use the QPainterPath functionality for calculations
1076         https://bugs.webkit.org/show_bug.cgi?id=43837
1077
1078         Change PathQt to use the built-in functionality of QPainterPath for
1079         calculating length(), pointAtLength() and normalAngleAtLength().
1080
1081         * platform/graphics/Path.cpp:
1082         * platform/graphics/qt/PathQt.cpp:
1083         (WebCore::Path::length):
1084         (WebCore::Path::pointAtLength):
1085         (WebCore::Path::normalAngleAtLength):
1086
1087 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1088
1089         Reviewed by Dirk Schulze.
1090
1091         [WML] Remove create() function in WMLTaskElement because of build break.
1092         https://bugs.webkit.org/show_bug.cgi?id=44954
1093
1094         Remove create() function in WMLTaskElement.cpp because of build breaks.
1095
1096         * wml/WMLTaskElement.cpp:
1097         * wml/WMLTaskElement.h:
1098
1099 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1100
1101         Reviewed by Dirk Schulze.
1102
1103         [WML] Add create functions to WML.
1104         https://bugs.webkit.org/show_bug.cgi?id=44950
1105
1106         There are missing definitions of create function in WML area. 
1107         So, there are build breaks when enabling WML. The create functions and the construction 
1108         are added. In addition, a style error and duplicated adoptRef usage are fixed.
1109
1110         * wml/WMLDocument.h:
1111         (WebCore::WMLDocument::create):
1112         * wml/WMLFormControlElement.h:
1113         * wml/WMLIntrinsicEvent.cpp:
1114         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
1115         * wml/WMLIntrinsicEvent.h:
1116
1117 2010-09-08  Nico Weber  <thakis@chromium.org>
1118
1119         Reviewed by Kenneth Russell.
1120
1121         chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
1122         https://bugs.webkit.org/show_bug.cgi?id=45354
1123
1124         * platform/graphics/chromium/ContentLayerChromium.cpp:
1125         (WebCore::ContentLayerChromium::updateContents): Set a current local context.
1126
1127 2010-09-08  Justin Schuh  <jschuh@chromium.org>
1128
1129         Reviewed by Nikolas Zimmermann.
1130
1131         NULL deref when use target is reset, then set to display:none
1132         https://bugs.webkit.org/show_bug.cgi?id=45345
1133
1134         Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
1135
1136         Test: svg/custom/use-display-none.svg
1137
1138         * svg/SVGUseElement.cpp:
1139         (WebCore::SVGUseElement::recalcStyle):
1140
1141 2010-08-30  Maciej Stachowiak  <mjs@apple.com>
1142
1143         Reviewed by Darin Adler.
1144
1145         Handle MediaQueryExp memory management exclusively with smart pointers
1146         https://bugs.webkit.org/show_bug.cgi?id=44874
1147
1148         Gace MediaQueryExp a create function, made the constructor private, and followed
1149         the implications. The one tricky bit was using a non-copying sort to sort
1150         the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
1151         
1152         * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
1153         * css/CSSGrammar.y:
1154         * css/CSSParser.cpp:
1155         (WebCore::CSSParser::~CSSParser):
1156         (WebCore::CSSParser::createFloatingMediaQueryExp):
1157         (WebCore::CSSParser::createFloatingMediaQueryExpList):
1158         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
1159         (WebCore::CSSParser::createFloatingMediaQuery):
1160         * css/CSSParser.h:
1161         * css/MediaList.cpp:
1162         * css/MediaQuery.cpp:
1163         (WebCore::expressionCompare):
1164         (WebCore::MediaQuery::MediaQuery):
1165         (WebCore::MediaQuery::~MediaQuery):
1166         * css/MediaQuery.h:
1167         (WebCore::MediaQuery::expressions):
1168         * css/MediaQueryEvaluator.cpp:
1169         (WebCore::MediaQueryEvaluator::eval):
1170         * css/MediaQueryExp.h:
1171         (WebCore::MediaQueryExp::create):
1172
1173 2010-09-08  Adam Barth  <abarth@webkit.org>
1174
1175         Reviewed by Maciej Stachowiak.
1176
1177         Remove unused member variable from DecodedDocumentParser
1178         https://bugs.webkit.org/show_bug.cgi?id=45379
1179
1180         This member variable isn't used because of the recent split of
1181         TextDocumentParser and TextViewSourceParser.
1182
1183         * dom/DecodedDataDocumentParser.cpp:
1184         (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
1185         * dom/DecodedDataDocumentParser.h:
1186         * dom/ScriptableDocumentParser.cpp:
1187         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
1188         * dom/ScriptableDocumentParser.h:
1189
1190 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
1191
1192         Reviewed by Andreas Kling.
1193
1194         Fix warning in rendering/RenderBlock.cpp.
1195         https://bugs.webkit.org/show_bug.cgi?id=45373
1196
1197         * rendering/RenderBlock.cpp:
1198         (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
1199
1200 2010-09-08  Mario Sanchez Prada  <msanchez@igalia.com>
1201
1202         Reviewed by Martin Robinson.
1203
1204         [Gtk] A list item's number/bullet should not be a child of that list item
1205         https://bugs.webkit.org/show_bug.cgi?id=45190
1206
1207         Ignore list markers and prefix them to the text for the item
1208
1209         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1210         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1211         Make list markers ignore accessibility for the GTK port.
1212         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1213         (webkit_accessible_text_get_text): Prefix the text of a marker
1214         along with the accessible text for its list item's AtkObject
1215
1216 2010-09-08  Adam Barth  <abarth@webkit.org>
1217
1218         Rubber-stamped by Eric Seidel.
1219
1220         Rename DocLoader to CachedResourceLoader because that's what it does.
1221
1222         * Android.mk:
1223         * CMakeLists.txt:
1224         * GNUmakefile.am:
1225         * WebCore.gypi:
1226         * WebCore.pro:
1227         * WebCore.vcproj/WebCore.vcproj:
1228         * WebCore.xcodeproj/project.pbxproj:
1229         * css/CSSCursorImageValue.cpp:
1230         (WebCore::CSSCursorImageValue::cachedImage):
1231         * css/CSSCursorImageValue.h:
1232         * css/CSSFontFaceSource.cpp:
1233         (WebCore::CSSFontFaceSource::getFontData):
1234         * css/CSSFontSelector.cpp:
1235         (WebCore::CSSFontSelector::cachedResourceLoader):
1236         (WebCore::CSSFontSelector::addFontFaceRule):
1237         * css/CSSFontSelector.h:
1238         * css/CSSImageValue.cpp:
1239         (WebCore::CSSImageValue::cachedImage):
1240         * css/CSSImageValue.h:
1241         * css/CSSImportRule.cpp:
1242         (WebCore::CSSImportRule::insertedIntoParent):
1243         * css/CSSStyleSelector.cpp:
1244         (WebCore::CSSStyleSelector::loadPendingImages):
1245         * css/CSSStyleSheet.h:
1246         * dom/Document.cpp:
1247         (WebCore::Document::Document):
1248         (WebCore::Document::~Document):
1249         (WebCore::Document::implicitClose):
1250         * dom/Document.h:
1251         (WebCore::Document::cachedResourceLoader):
1252         * dom/ProcessingInstruction.cpp:
1253         (WebCore::ProcessingInstruction::checkStyleSheet):
1254         * dom/ScriptElement.cpp:
1255         (WebCore::ScriptElementData::requestScript):
1256         * dom/XMLDocumentParser.cpp:
1257         * dom/XMLDocumentParser.h:
1258         * dom/XMLDocumentParserLibxml2.cpp:
1259         (WebCore::matchFunc):
1260         (WebCore::shouldAllowExternalLoad):
1261         (WebCore::openFunc):
1262         (WebCore::XMLDocumentParser::doWrite):
1263         (WebCore::XMLDocumentParser::endElementNs):
1264         (WebCore::XMLDocumentParser::initializeParserContext):
1265         (WebCore::XMLDocumentParser::doEnd):
1266         (WebCore::xmlDocPtrForString):
1267         * dom/XMLDocumentParserQt.cpp:
1268         (WebCore::XMLDocumentParser::parseEndElement):
1269         * dom/XMLDocumentParserScope.cpp:
1270         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
1271         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
1272         * dom/XMLDocumentParserScope.h:
1273         * editing/Editor.cpp:
1274         (WebCore::Editor::paste):
1275         * editing/mac/EditorMac.mm:
1276         (WebCore::Editor::paste):
1277         * html/HTMLLinkElement.cpp:
1278         (WebCore::HTMLLinkElement::process):
1279         * html/parser/CSSPreloadScanner.cpp:
1280         (WebCore::CSSPreloadScanner::emitRule):
1281         * html/parser/HTMLPreloadScanner.cpp:
1282         (WebCore::HTMLNames::PreloadTask::preload):
1283         * html/parser/HTMLScriptRunner.cpp:
1284         (WebCore::HTMLScriptRunner::requestPendingScript):
1285         * inspector/InspectorResource.cpp:
1286         (WebCore::InspectorResource::cachedResource):
1287         * loader/Cache.cpp:
1288         (WebCore::Cache::requestResource):
1289         (WebCore::Cache::requestUserCSSStyleSheet):
1290         (WebCore::Cache::revalidateResource):
1291         (WebCore::Cache::addCachedResourceLoader):
1292         (WebCore::Cache::removeCachedResourceLoader):
1293         * loader/Cache.h:
1294         * loader/CachedCSSStyleSheet.h:
1295         * loader/CachedFont.cpp:
1296         (WebCore::CachedFont::load):
1297         (WebCore::CachedFont::beginLoadIfNeeded):
1298         * loader/CachedFont.h:
1299         * loader/CachedImage.cpp:
1300         (WebCore::CachedImage::load):
1301         (WebCore::CachedImage::maximumDecodedImageSize):
1302         * loader/CachedImage.h:
1303         * loader/CachedResource.cpp:
1304         (WebCore::CachedResource::CachedResource):
1305         (WebCore::CachedResource::~CachedResource):
1306         (WebCore::CachedResource::load):
1307         * loader/CachedResource.h:
1308         (WebCore::CachedResource::load):
1309         (WebCore::CachedResource::setCachedResourceLoader):
1310         * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
1311         (WebCore::CachedResourceLoader::CachedResourceLoader):
1312         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1313         (WebCore::CachedResourceLoader::frame):
1314         (WebCore::CachedResourceLoader::checkForReload):
1315         (WebCore::CachedResourceLoader::requestImage):
1316         (WebCore::CachedResourceLoader::requestFont):
1317         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
1318         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1319         (WebCore::CachedResourceLoader::requestScript):
1320         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
1321         (WebCore::CachedResourceLoader::requestLinkPrefetch):
1322         (WebCore::CachedResourceLoader::canRequest):
1323         (WebCore::CachedResourceLoader::requestResource):
1324         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1325         (WebCore::CachedResourceLoader::setAutoLoadImages):
1326         (WebCore::CachedResourceLoader::cachePolicy):
1327         (WebCore::CachedResourceLoader::removeCachedResource):
1328         (WebCore::CachedResourceLoader::setLoadInProgress):
1329         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
1330         (WebCore::CachedResourceLoader::incrementRequestCount):
1331         (WebCore::CachedResourceLoader::decrementRequestCount):
1332         (WebCore::CachedResourceLoader::requestCount):
1333         (WebCore::CachedResourceLoader::preload):
1334         (WebCore::CachedResourceLoader::checkForPendingPreloads):
1335         (WebCore::CachedResourceLoader::requestPreload):
1336         (WebCore::CachedResourceLoader::clearPreloads):
1337         (WebCore::CachedResourceLoader::clearPendingPreloads):
1338         (WebCore::CachedResourceLoader::printPreloadStats):
1339         * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
1340         * loader/CachedScript.h:
1341         * loader/CachedXSLStyleSheet.h:
1342         * loader/DocLoader.cpp: Removed.
1343         * loader/DocLoader.h: Removed.
1344         * loader/DocumentLoader.cpp:
1345         (WebCore::DocumentLoader::isLoadingInAPISense):
1346         (WebCore::DocumentLoader::subresource):
1347         (WebCore::DocumentLoader::getSubresources):
1348         * loader/FrameLoader.cpp:
1349         (WebCore::numRequests):
1350         (WebCore::FrameLoader::stopLoading):
1351         (WebCore::FrameLoader::didBeginDocument):
1352         * loader/HistoryController.cpp:
1353         (WebCore::HistoryController::createItem):
1354         * loader/ImageLoader.cpp:
1355         (WebCore::ImageLoader::updateFromElement):
1356         * loader/Request.cpp:
1357         (WebCore::Request::Request):
1358         * loader/Request.h:
1359         (WebCore::Request::cachedResourceLoader):
1360         * loader/loader.cpp:
1361         (WebCore::Loader::load):
1362         (WebCore::Loader::cancelRequests):
1363         (WebCore::Loader::Host::servePendingRequests):
1364         (WebCore::Loader::Host::didFinishLoading):
1365         (WebCore::Loader::Host::didFail):
1366         (WebCore::Loader::Host::didReceiveResponse):
1367         (WebCore::Loader::Host::cancelPendingRequests):
1368         (WebCore::Loader::Host::cancelRequests):
1369         * loader/loader.h:
1370         * page/DragController.cpp:
1371         (WebCore::DragController::concludeEditDrag):
1372         * page/Frame.cpp:
1373         * page/FrameView.cpp:
1374         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
1375         (WebCore::FrameView::updateDeferredRepaintDelay):
1376         * page/Settings.cpp:
1377         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
1378         * platform/android/TemporaryLinkStubs.cpp:
1379         (WebCore::CheckCacheObjectStatus):
1380         * platform/network/android/ResourceHandleAndroid.cpp:
1381         (WebCore::ResourceHandle::start):
1382         * platform/network/cf/ResourceHandleCFNet.cpp:
1383         * platform/network/curl/ResourceHandleCurl.cpp:
1384         * platform/network/mac/ResourceHandleMac.mm:
1385         * platform/network/qt/ResourceHandleQt.cpp:
1386         * platform/network/soup/ResourceHandleSoup.cpp:
1387         * platform/network/win/ResourceHandleWin.cpp:
1388         * svg/SVGFEImageElement.cpp:
1389         (WebCore::SVGFEImageElement::requestImageResource):
1390         * svg/SVGFontFaceUriElement.cpp:
1391         (WebCore::SVGFontFaceUriElement::loadFont):
1392         * workers/Worker.cpp:
1393         * xml/XSLImportRule.cpp:
1394         (WebCore::XSLImportRule::loadSheet):
1395         * xml/XSLStyleSheet.h:
1396         * xml/XSLStyleSheetLibxslt.cpp:
1397         (WebCore::XSLStyleSheet::cachedResourceLoader):
1398         (WebCore::XSLStyleSheet::parseString):
1399         * xml/XSLStyleSheetQt.cpp:
1400         (WebCore::XSLStyleSheet::cachedResourceLoader):
1401         * xml/XSLTProcessor.cpp:
1402         * xml/XSLTProcessorLibxslt.cpp:
1403         (WebCore::docLoaderFunc):
1404         (WebCore::setXSLTLoadCallBack):
1405         (WebCore::xmlDocPtrFromNode):
1406         (WebCore::XSLTProcessor::transformToString):
1407
1408 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1409
1410         Reviewed by Eric Carlson.
1411
1412         Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
1413
1414         https://bugs.webkit.org/show_bug.cgi?id=45263
1415
1416         The platform backend may change state, for example as a result
1417         of an external plugin controlling the backend, so we need to
1418         react to this situation by syncing up the WebCore state with the
1419         platform backend.
1420
1421         We call playInternal()/pauseInternal() depending on the backend
1422         state, to trigger the corresponding DOM events to match the state.
1423
1424         updatePlayState() is then refactored to take into account the
1425         situation where the backend is already in the correct state but
1426         WebCore is not, so that we update the playback progress timer
1427         and set m_playing correctly.
1428
1429         updatePlayState() changes Should be covered by existing tests.
1430
1431         * html/HTMLMediaElement.cpp:
1432         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
1433         (WebCore::HTMLMediaElement::updatePlayState):
1434         * html/HTMLMediaElement.h:
1435         * platform/graphics/MediaPlayer.cpp:
1436         (WebCore::MediaPlayer::playbackStateChanged):
1437         * platform/graphics/MediaPlayer.h:
1438         (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
1439
1440 2010-09-08  Adam Barth  <abarth@webkit.org>
1441
1442         Reviewed by Eric Seidel.
1443
1444         TextDocument doesn't belong in WebCore/loader
1445         https://bugs.webkit.org/show_bug.cgi?id=45346
1446
1447         TextDocument has nothing to do with loading.  It turns out that it
1448         should be in WebCore/html because TextDocument is actually a subclass
1449         of HTMLDocument (in quirks mode, no less).
1450
1451         * Android.mk:
1452         * CMakeLists.txt:
1453         * GNUmakefile.am:
1454         * WebCore.gypi:
1455         * WebCore.pro:
1456         * WebCore.vcproj/WebCore.vcproj:
1457         * WebCore.xcodeproj/project.pbxproj:
1458         * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
1459         (WebCore::TextDocument::TextDocument):
1460         (WebCore::TextDocument::createParser):
1461         * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
1462         (WebCore::TextDocument::create):
1463
1464 2010-09-08  Adam Barth  <abarth@webkit.org>
1465
1466         Reviewed by Eric Seidel.
1467
1468         Create TextViewSourceParser
1469         https://bugs.webkit.org/show_bug.cgi?id=45343
1470
1471         Rather than have the view source document set a flag on
1472         HTMLViewSourceParser to indicate whether we're parsing a text document,
1473         this patch creates a TextViewSourceParser for parsing text documents in
1474         view-source mode.  Like the TextDocumentParser, the
1475         TextViewSourceParser implements this functionality by subclassing its
1476         HTML counterpart.
1477
1478         * Android.mk:
1479         * CMakeLists.txt:
1480         * GNUmakefile.am:
1481         * WebCore.gypi:
1482         * WebCore.pro:
1483         * WebCore.vcproj/WebCore.vcproj:
1484         * WebCore.xcodeproj/project.pbxproj:
1485         * html/HTMLViewSourceDocument.cpp:
1486         (WebCore::HTMLViewSourceDocument::createParser):
1487         * html/parser/HTMLViewSourceParser.cpp:
1488         * html/parser/HTMLViewSourceParser.h:
1489         (WebCore::HTMLViewSourceParser::tokenizer):
1490         * html/parser/TextViewSourceParser.cpp: Added.
1491         (WebCore::TextViewSourceParser::TextViewSourceParser):
1492         (WebCore::TextViewSourceParser::~TextViewSourceParser):
1493         * html/parser/TextViewSourceParser.h: Added.
1494         (WebCore::TextViewSourceParser::create):
1495
1496 2010-09-08  Adam Barth  <abarth@webkit.org>
1497
1498         Reviewed by Darin Adler.
1499
1500         Move HTMLInputStream to WebCore/html/parser
1501         https://bugs.webkit.org/show_bug.cgi?id=45339
1502
1503         I forgot to move this file before.
1504
1505         * GNUmakefile.am:
1506         * WebCore.gypi:
1507         * WebCore.vcproj/WebCore.vcproj:
1508         * WebCore.xcodeproj/project.pbxproj:
1509         * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
1510         (WebCore::HTMLInputStream::HTMLInputStream):
1511         (WebCore::HTMLInputStream::appendToEnd):
1512         (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
1513         (WebCore::HTMLInputStream::hasInsertionPoint):
1514         (WebCore::HTMLInputStream::markEndOfFile):
1515         (WebCore::HTMLInputStream::haveSeenEndOfFile):
1516         (WebCore::HTMLInputStream::current):
1517         (WebCore::HTMLInputStream::splitInto):
1518         (WebCore::HTMLInputStream::mergeFrom):
1519         (WebCore::InsertionPointRecord::InsertionPointRecord):
1520         (WebCore::InsertionPointRecord::~InsertionPointRecord):
1521
1522 2010-09-08  Adam Barth  <abarth@webkit.org>
1523
1524         Reviewed by Eric Seidel.
1525
1526         TextDocument should come in from the cold
1527         https://bugs.webkit.org/show_bug.cgi?id=45334
1528
1529         Previously, TextDocument reinvented the wheel to parse text.  This
1530         patch replaces TextDocument's hand-rolled parser with a parser built on
1531         the HTML parser infrustructure, which gives us that stuff for free.  I
1532         also disentangled TextDocument from HTMLViewSourceDocument.
1533
1534         In a future patch, I'll move TextDocument out of the "loader" directory.
1535
1536         * Android.mk:
1537         * CMakeLists.txt:
1538         * GNUmakefile.am:
1539         * WebCore.gypi:
1540         * WebCore.pro:
1541         * WebCore.vcproj/WebCore.vcproj:
1542         * WebCore.xcodeproj/project.pbxproj:
1543         * html/HTMLViewSourceDocument.cpp:
1544         (WebCore::HTMLViewSourceDocument::createParser):
1545         * html/HTMLViewSourceDocument.h:
1546         * html/parser/HTMLTreeBuilder.cpp:
1547         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1548         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1549         * html/parser/HTMLTreeBuilder.h:
1550         * html/parser/HTMLViewSourceParser.cpp:
1551         (WebCore::HTMLViewSourceParser::forcePlaintext):
1552         * html/parser/HTMLViewSourceParser.h:
1553         * html/parser/TextDocumentParser.cpp: Added.
1554         (WebCore::TextDocumentParser::TextDocumentParser):
1555         (WebCore::TextDocumentParser::~TextDocumentParser):
1556         (WebCore::TextDocumentParser::insertFakePreElement):
1557         * html/parser/TextDocumentParser.h: Added.
1558         (WebCore::TextDocumentParser::create):
1559         * loader/TextDocument.cpp:
1560         * loader/TextDocument.h:
1561
1562 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1563
1564         Reviewed by Andreas Kling.
1565
1566         Implement MediaPlayerPrivate::platformMedia() for the Qt port
1567
1568         https://bugs.webkit.org/show_bug.cgi?id=45264
1569
1570         * platform/graphics/MediaPlayer.h:
1571         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1572         (WebCore::MediaPlayerPrivate::platformMedia):
1573         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1574
1575 2010-09-08  Zoltan Herczeg  <zherczeg@webkit.org>
1576
1577         Reviewed by Dirk Schulze.
1578
1579         An individual renderer should be assigned to each SVGFE*Element class
1580         https://bugs.webkit.org/show_bug.cgi?id=43954
1581
1582         RenderSVGResourceFilterPrimitive renderer is added to
1583         the project, and assigned to each object, which class is
1584         derived from SVGFilterPrimitiveStandardAttributes. The patch
1585         mainly contains build system changes, and it fixes one layout
1586         test in svg/dynamic-updates.
1587
1588         * Android.mk:
1589         * CMakeLists.txt:
1590         * GNUmakefile.am:
1591         * WebCore.gypi:
1592         * WebCore.pro:
1593         * WebCore.vcproj/WebCore.vcproj:
1594         * WebCore.xcodeproj/project.pbxproj:
1595         * rendering/RenderObject.h:
1596         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
1597         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
1598         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
1599         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
1600         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
1601         * rendering/SVGRenderTreeAsText.cpp:
1602         (WebCore::writeSVGContainer):
1603         * svg/SVGFEDiffuseLightingElement.cpp:
1604         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1605         * svg/SVGFELightElement.cpp:
1606         (WebCore::SVGFELightElement::svgAttributeChanged):
1607         (WebCore::SVGFELightElement::childrenChanged):
1608         * svg/SVGFEOffsetElement.cpp:
1609         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
1610         * svg/SVGFilterElement.h:
1611         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1612         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
1613         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
1614         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
1615         * svg/SVGFilterPrimitiveStandardAttributes.h:
1616         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
1617
1618 2010-09-07  Sam Weinig  <sam@webkit.org>
1619
1620         Reviewed by Dan Bernstein.
1621
1622         DatasetDOMStringMap does not have the right memory model
1623         https://bugs.webkit.org/show_bug.cgi?id=45358
1624
1625         Test: fast/dom/dataset-gc.html
1626
1627         * bindings/js/JSElementCustom.cpp:
1628         (WebCore::JSElement::markChildren):
1629         Mark the dataset if it exists.
1630
1631         * dom/Element.cpp:
1632         (WebCore::Element::optionalDataset):
1633         * dom/Element.h:
1634         Expose a way to get the dataset or null (depending on if anyone thing
1635         has forced its creation yet).
1636
1637 2010-09-07  Jan E Hanssen  <jhanssen@sencha.com>
1638
1639         Reviewed by Andreas Kling.
1640
1641         [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
1642         https://bugs.webkit.org/show_bug.cgi?id=45331
1643
1644         This is needed due to an adverse effect of the fix in 44061 that causes
1645         certain paths not to be closed. This is not important for canvas paths
1646         but it is for SVG paths, so splitting up the code in a generic (SVG)
1647         case and one specialized for canvas.
1648
1649         Test: svg/dom/path-totalLength.html
1650
1651         * html/canvas/CanvasRenderingContext2D.cpp:
1652         (WebCore::CanvasRenderingContext2D::closePath):
1653         * platform/graphics/Path.h:
1654         (WebCore::Path::closeCanvasSubpath):
1655         * platform/graphics/qt/PathQt.cpp:
1656         (WebCore::Path::closeSubpath):
1657         (WebCore::Path::closeCanvasSubpath):
1658
1659 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
1660
1661         Reviewed by Chris Marrin.
1662
1663         Transform animations always run in software now
1664         https://bugs.webkit.org/show_bug.cgi?id=45341
1665         
1666         After r66339 we always fell into software animation, because we
1667         failed to detect transform or opacity properties in the keyframes,
1668         so would send an empty list of values to the GraphicsLayer.
1669         
1670         Fixed by using CSSProperty values, rather than GraphicsLayer
1671         values, when detecting the presence of properties in the keyframes.
1672         
1673         Test: manual-tests/transition-accelerated.html
1674
1675         * rendering/RenderLayerBacking.cpp:
1676         (WebCore::RenderLayerBacking::startAnimation):
1677
1678 2010-09-07  Chris Rogers  <crogers@google.com>
1679
1680         Reviewed by Kenneth Russell.
1681
1682         audio engine: add FFTFrame files
1683         https://bugs.webkit.org/show_bug.cgi?id=34827
1684
1685         No new tests since audio API is not yet implemented.
1686
1687         * platform/audio/FFTFrame.cpp: Added.
1688         (WebCore::FFTFrame::doPaddedFFT):
1689         (WebCore::FFTFrame::createInterpolatedFrame):
1690         (WebCore::FFTFrame::interpolateFrequencyComponents):
1691         (WebCore::FFTFrame::extractAverageGroupDelay):
1692         (WebCore::FFTFrame::addConstantGroupDelay):
1693         (WebCore::FFTFrame::print):
1694         * platform/audio/FFTFrame.h: Added.
1695         (WebCore::FFTFrame::fftSize):
1696         (WebCore::FFTFrame::log2FFTSize):
1697         (WebCore::FFTFrame::dspSplitComplex):
1698         * platform/audio/mac/FFTFrameMac.cpp: Added.
1699         (WebCore::FFTFrame::FFTFrame):
1700         (WebCore::FFTFrame::~FFTFrame):
1701         (WebCore::FFTFrame::multiply):
1702         (WebCore::FFTFrame::doFFT):
1703         (WebCore::FFTFrame::doInverseFFT):
1704         (WebCore::FFTFrame::fftSetupForSize):
1705         (WebCore::FFTFrame::cleanup):
1706         (WebCore::FFTFrame::realData):
1707         (WebCore::FFTFrame::imagData):
1708
1709 2010-09-07  Brent Fulgham  <bfulgham@webkit.org>
1710
1711         Build fix, no review.
1712
1713         Provide stubs to allow WebKit.dll to build
1714         for the WinCairo port.
1715
1716         * platform/network/curl/ResourceRequest.h:
1717         (WebCore::ResourceRequest::ResourceRequest):
1718         * platform/network/curl/ResourceResponse.h:
1719         (WebCore::ResourceResponse::cfURLResponse):
1720
1721 2010-09-07  Chris Rogers  <crogers@google.com>
1722
1723         Reviewed by Kenneth Russell.
1724
1725         Add AudioArray.h
1726         https://bugs.webkit.org/show_bug.cgi?id=45204
1727
1728         No new tests since audio API is not yet implemented.
1729
1730         * platform/audio/AudioArray.h: Added.
1731         (WebCore::AudioArray::AudioArray):
1732         (WebCore::AudioArray::zero):
1733         (WebCore::AudioArray::zeroRange):
1734         (WebCore::AudioArray::copyToRange):
1735
1736 2010-09-07  Mihai Parparita  <mihaip@chromium.org>
1737
1738         Reviewed by Oliver Hunt.
1739
1740         pushState and replaceState do not clone RegExp objects correctly
1741         https://bugs.webkit.org/show_bug.cgi?id=44718
1742         
1743         Add RegExp support to the JSC implementation of SerializedScriptValue
1744         (it stores the pattern and flags read from a RegExpObject, and creates
1745         a new one on deserialization).
1746         
1747         Tests: fast/loader/stateobjects/pushstate-object-types.html 
1748
1749         * ForwardingHeaders/runtime/RegExp.h: Added.
1750         * ForwardingHeaders/runtime/RegExpObject.h: Added.
1751         * bindings/js/SerializedScriptValue.cpp:
1752         (WebCore::CloneSerializer::dumpIfTerminal):
1753         (WebCore::CloneDeserializer::readTerminal):
1754
1755 2010-09-07  James Robinson  <jamesr@chromium.org>
1756
1757         Reviewed by Kenneth Russell.
1758
1759         Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
1760         https://bugs.webkit.org/show_bug.cgi?id=45324
1761
1762         Adds appropriate #if guards around code that has to deal directly with the compositor.
1763         DrawingBuffer can still be used without the compositor as an off-screen rendering
1764         region.
1765
1766         To test, compile without USE(ACCELERATED_COMPOSITING).
1767
1768         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1769         (WebCore::DrawingBuffer::~DrawingBuffer):
1770         (WebCore::DrawingBuffer::reset):
1771         * platform/graphics/gpu/DrawingBuffer.h:
1772
1773 2010-09-03  Joseph Pecoraro  <joepeck@webkit.org>
1774
1775         Reviewed by Darin Adler.
1776
1777         Provide a way to trigger a <select multiple> onchange event on changes
1778         https://bugs.webkit.org/show_bug.cgi?id=45192
1779
1780         Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
1781
1782         This provides a way for a WebKit client using the Obj-C DOM bindings to
1783         trigger the "change" on a listbox select (<select multiple> or <select>
1784         with size > 1). This is because when a select is rendered as a listbox
1785         "change" events are triggered by mouse down events.
1786
1787         This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
1788         to allow for handling multiple selections if the select element is a
1789         multi-select.
1790
1791         * bindings/objc/DOMHTML.mm:
1792         (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
1793         * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
1794         * dom/SelectElement.h:
1795         * html/HTMLSelectElement.cpp:
1796         (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
1797         * html/HTMLSelectElement.h:
1798         * wml/WMLSelectElement.cpp:
1799         (WebCore::WMLSelectElement::setSelectedIndexByUser):
1800
1801 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
1802
1803         Reviewed by Darin Adler.
1804
1805         Minor WKCACFLayerRenderer cleanup
1806         https://bugs.webkit.org/show_bug.cgi?id=45201
1807
1808         Call initD3DGeometry() from createRenderer, rather than duplicating the code.
1809
1810         No behavior changes.
1811
1812         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1813         (WebCore::WKCACFLayerRenderer::createRenderer):
1814
1815 2010-09-07  Vangelis Kokkevis  <vangelis@chromium.org>
1816
1817         Reviewed by Darin Fisher.
1818
1819         [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
1820         gets destroyed.
1821         https://bugs.webkit.org/show_bug.cgi?id=45329
1822
1823         Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
1824
1825         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1826         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1827
1828 2010-09-07  Anders Carlsson  <andersca@apple.com>
1829
1830         Reviewed by Darin Adler.
1831
1832         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
1833
1834         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
1835
1836         * Configurations/Base.xcconfig:
1837
1838 2010-09-07  Abhishek Arya  <inferno@chromium.org>
1839
1840         Reviewed by Darin Adler.
1841
1842         Remove redundant bounds check in originalText(). Add bounds check
1843         to previousCharacter(). No need of start() > 0 check since m_start
1844         is unsigned and we already do start() null check inside function.
1845         https://bugs.webkit.org/show_bug.cgi?id=45303
1846
1847         Test: fast/text/one-letter-transform-crash.html
1848
1849         * rendering/RenderTextFragment.cpp:
1850         (WebCore::RenderTextFragment::originalText):
1851         (WebCore::RenderTextFragment::previousCharacter):
1852
1853 2010-09-07  Kenneth Russell  <kbr@google.com>
1854
1855         Reviewed by Dimitri Glazkov.
1856
1857         Regression in JPEG texture uploads on Mac OS X
1858         https://bugs.webkit.org/show_bug.cgi?id=45316
1859
1860         Fixed regression introduced in
1861         https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
1862         test covering this case to gl-teximage.html in Khronos repository
1863         and synced test with WebKit's version.
1864
1865         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1866         (WebCore::GraphicsContext3D::getImageData):
1867
1868 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
1869
1870         Add rendering/ColumnInfo.h to the sources list.
1871
1872         * GNUmakefile.am:
1873
1874 2010-09-07  David Hyatt  <hyatt@apple.com>
1875
1876         Reviewed by Beth Dakin.
1877
1878         https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
1879
1880         * WebCore.xcodeproj/project.pbxproj:
1881         * rendering/ColumnInfo.h: Added.
1882         (WebCore::ColumnInfo::ColumnInfo):
1883         (WebCore::ColumnInfo::desiredColumnWidth):
1884         (WebCore::ColumnInfo::setDesiredColumnWidth):
1885         (WebCore::ColumnInfo::desiredColumnCount):
1886         (WebCore::ColumnInfo::setDesiredColumnCount):
1887         (WebCore::ColumnInfo::columnCount):
1888         (WebCore::ColumnInfo::columnRectAt):
1889         (WebCore::ColumnInfo::clearColumns):
1890         (WebCore::ColumnInfo::addColumnRect):
1891         * rendering/RenderBlock.cpp:
1892         (WebCore::RenderBlock::paintColumnRules):
1893         (WebCore::RenderBlock::paintColumnContents):
1894         (WebCore::RenderBlock::lowestPosition):
1895         (WebCore::RenderBlock::rightmostPosition):
1896         (WebCore::RenderBlock::leftmostPosition):
1897         (WebCore::RenderBlock::hitTestColumns):
1898         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
1899         (WebCore::RenderBlock::desiredColumnWidth):
1900         (WebCore::RenderBlock::desiredColumnCount):
1901         (WebCore::RenderBlock::columnInfo):
1902         (WebCore::RenderBlock::layoutColumns):
1903         (WebCore::RenderBlock::adjustPointToColumnContents):
1904         (WebCore::RenderBlock::adjustRectForColumns):
1905         (WebCore::RenderBlock::adjustForColumns):
1906         * rendering/RenderBlock.h:
1907         * rendering/RenderLayer.cpp:
1908         (WebCore::RenderLayer::paintChildLayerIntoColumns):
1909         (WebCore::RenderLayer::hitTestChildLayerColumns):
1910
1911 2010-09-07  Dan Bernstein  <mitz@apple.com>
1912
1913         Reviewed by Dave Hyatt.
1914
1915         <rdar://problem/7794761> Floats inside of multicol fail to hit test
1916         https://bugs.webkit.org/show_bug.cgi?id=44730
1917
1918         Test: fast/multicol/hit-test-float.html
1919
1920         Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
1921         call it with column-adjusted coordinates.
1922
1923         * rendering/RenderBlock.cpp:
1924         (WebCore::RenderBlock::nodeAtPoint):
1925         (WebCore::RenderBlock::hitTestFloats):
1926         (WebCore::RenderBlock::hitTestColumns):
1927         * rendering/RenderBlock.h:
1928
1929 2010-09-07  François Sausset  <sausset@gmail.com>
1930
1931         Reviewed by Beth Dakin.
1932
1933         <math> element should be centered when display attribute set to block.
1934         https://bugs.webkit.org/show_bug.cgi?id=44206
1935
1936         Test: mathml/presentation/attributes.xhtml
1937
1938         * css/mathml.css:
1939         (math[display="block"]):
1940
1941 2010-09-07  Eric Carlson  <eric.carlson@apple.com>
1942
1943         Reviewed by Darin Adler.
1944
1945         Media elements should derive from ActiveDOMObjects
1946         https://bugs.webkit.org/show_bug.cgi?id=45306
1947         <rdar://problem/7929062>
1948
1949         * html/HTMLMediaElement.cpp:
1950         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
1951         (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
1952         (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
1953         (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
1954         (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
1955         so the element can't be collected before they are sent.
1956         * html/HTMLMediaElement.h:
1957         (WebCore::HTMLMediaElement::canSuspend):
1958
1959 2010-09-07  Dimitri Glazkov  <dglazkov@chromium.org>
1960
1961         Unreviewed, rolling out r66886.
1962         http://trac.webkit.org/changeset/66886
1963         https://bugs.webkit.org/show_bug.cgi?id=45112
1964
1965         Made
1966
1967         * platform/chromium/GeolocationServiceChromium.cpp:
1968         * platform/chromium/GeolocationServiceChromium.h:
1969
1970 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
1971
1972         Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
1973         is no longer built.
1974
1975         * GNUmakefile.am: Remove reference to libWebCoreJS.
1976
1977 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
1978
1979         Reviewed by Xan Lopez.
1980
1981         [GTK] [REGRESSION] r66848 caused a crash in testwebview
1982         https://bugs.webkit.org/show_bug.cgi?id=45298
1983
1984         No new tests as this fixes a test failure.
1985
1986         * platform/gtk/ScrollViewGtk.cpp:
1987         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
1988         scrollbar adjustments unless this is a main frame ScrollView. If we do
1989         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
1990         a segfault.
1991
1992 2010-09-07  Kristian Monsen  <kristianm@google.com>
1993
1994         Reviewed by Steve Block.
1995
1996         Compile fix for Android.
1997         https://bugs.webkit.org/show_bug.cgi?id=45292
1998         Explicitly add needed header for 
1999         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get 
2000         included through other headers on Android.
2001
2002         No new tests, just a compile fix.
2003
2004         * bindings/scripts/CodeGeneratorV8.pm:
2005
2006 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2007
2008         Reviewed by Xan Lopez.
2009
2010         [GTK] Fix some feature guards
2011         https://bugs.webkit.org/show_bug.cgi?id=45302
2012
2013         No new tests as this is just a build change.
2014
2015         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
2016         * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
2017         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
2018         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
2019         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
2020         * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
2021         * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
2022         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
2023         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
2024         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
2025         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
2026         * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
2027         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
2028         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
2029         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
2030         * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
2031         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
2032         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
2033         * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
2034         * platform/gtk/GeolocationServiceGtk.h: Ditto.
2035
2036 2010-09-07  Jonathan Dixon  <joth@chromium.org>
2037
2038         Reviewed by Jeremy Orlow.
2039
2040         Access to out-of-scope WebGeolocationServiceBridgeImpl
2041         https://bugs.webkit.org/show_bug.cgi?id=45112
2042
2043         Add missing virtual destructor to the abstract base class.
2044
2045         * platform/chromium/GeolocationServiceChromium.cpp:
2046         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
2047         * platform/chromium/GeolocationServiceChromium.h:
2048
2049 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2050
2051         Reviewed by Xan Lopez.
2052
2053         [GTK] [REGRESSION] r66848 caused a crash in testwebview
2054         https://bugs.webkit.org/show_bug.cgi?id=45298
2055
2056         No new tests as this fixes a test failure.
2057
2058         * platform/gtk/ScrollViewGtk.cpp:
2059         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
2060         scrollbar adjustments unless this is a main frame ScrollView. If we do
2061         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
2062         a segfault.
2063
2064 2010-09-07  Adam Langley  <agl@chromium.org>
2065
2066         Reviewed by Tony Chang.
2067
2068         [chromium] Fix complex text word spacing on Linux.
2069
2070         I broke complex text word spacing with r66689. I misnamed a
2071         variable in the original code |glyphIndex| when it was
2072         actually indexing code points. That meant that I compared it
2073         against the wrong limit when working around Harfbuzz issues
2074         and neatly disabled word spacing.
2075
2076         https://bugs.webkit.org/show_bug.cgi?id=45191
2077
2078         Test: fast/text/atsui-spacing-features.html
2079
2080         * platform/graphics/chromium/FontLinux.cpp:
2081         (WebCore::TextRunWalker::setGlyphXPositions):
2082
2083 2010-09-07  Satish Sampath  <satish@chromium.org>
2084
2085         Reviewed by Steve Block.
2086
2087         Fix speech button's hit test logic for RTL rendering.
2088         https://bugs.webkit.org/show_bug.cgi?id=45288
2089
2090         * rendering/RenderTextControlSingleLine.cpp:
2091         (WebCore::RenderTextControlSingleLine::forwardEvent):
2092
2093 2010-09-07  Satish Sampath  <satish@chromium.org>
2094
2095         Reviewed by Jeremy Orlow.
2096
2097         Ignore programmatic clicks on speech input button for security reasons.
2098         https://bugs.webkit.org/show_bug.cgi?id=45181
2099
2100         Test: fast/speech/speech-button-ignore-generated-events.html
2101
2102         * rendering/TextControlInnerElements.cpp:
2103         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2104
2105 2010-09-07  Kent Hansen  <kent.hansen@nokia.com>
2106
2107         Reviewed by Andreas Kling.
2108
2109         [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
2110         https://bugs.webkit.org/show_bug.cgi?id=44697
2111
2112         When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
2113         object that's pushed onto the function's scope before the function is invoked, and
2114         popped again afterwards.
2115
2116         We were pushing this new scope object _after_ calling JSFunction::getCallData(),
2117         and relying on JSC::call() to use the fresh scope chain from the function object.
2118         However, this is no longer the case; JSC::call() uses the scope chain passed in
2119         the CallData argument. Hence, we need to set up the scope before the function's
2120         CallData is queried.
2121
2122         * bridge/qt/qt_runtime.cpp:
2123         (JSC::Bindings::QtConnectionObject::execute):
2124
2125 2010-09-07  Kwang Yul Seo  <skyul@company100.net>
2126
2127         Reviewed by Kent Tamura.
2128
2129         Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
2130         https://bugs.webkit.org/show_bug.cgi?id=45272
2131
2132         Build fix.
2133
2134         * inspector/InspectorController.h:
2135         (WebCore::InspectorController::inspectorControllerForNode):
2136
2137 2010-09-07  Joerg Bornemann  <joerg.bornemann@nokia.com>
2138
2139         Reviewed by Ariya Hidayat.
2140
2141         Fix QtWebKit linker error on Windows CE 6.
2142         https://bugs.webkit.org/show_bug.cgi?id=43442
2143
2144         Doesn't affect any tests.
2145
2146         * WebCore.pro:
2147
2148 2010-09-07  James Kozianski  <koz@chromium.org>
2149
2150         Reviewed by Kent Tamura.
2151
2152         Crash rendering <meter/> with percent padding
2153         https://bugs.webkit.org/show_bug.cgi?id=45081
2154
2155         Avoids a crash caused by RenderMeter checking its own dimensions to
2156         determine whether it needs layout. The crash is avoided by removing
2157         the check and always calling setNeedsLayout(true).
2158
2159         Test: fast/dom/HTMLMeterElement/meter-percent-size.html
2160
2161         * rendering/RenderIndicator.cpp:
2162         (WebCore::RenderIndicator::updateFromElement):
2163         * rendering/RenderIndicator.h:
2164
2165 2010-09-06  Adam Barth  <abarth@webkit.org>
2166
2167         Reviewed by Sam Weinig.
2168
2169         OOB read with svg polyline
2170         https://bugs.webkit.org/show_bug.cgi?id=45279
2171
2172         In principle, attributeChanged can do anything.  If we supported more
2173         DOM mutation events, it could even run JavaScript.  That means we need
2174         to be prepared for the attribute map to change when running
2175         attributeChanged.  This patch makes this loop resilient to the
2176         attribute map changing by storing the list of changed attributes on the
2177         stack.
2178
2179         Test: fast/parser/changing-attrbutes-crash.html
2180
2181         * dom/Element.cpp:
2182         (WebCore::Element::setAttributeMap):
2183
2184 2010-09-06  Oliver Hunt  <oliver@apple.com>
2185
2186         Windows build fix
2187
2188         * bindings/js/SerializedScriptValue.cpp:
2189         (WebCore::CloneSerializer::write):
2190
2191 2010-09-06  Oliver Hunt  <oliver@apple.com>
2192
2193         Windows build fix
2194
2195         * bindings/js/SerializedScriptValue.cpp:
2196         (WebCore::CloneSerializer::write):
2197
2198 2010-09-05  Oliver Hunt  <oliver@apple.com>
2199
2200         Reviewed by Sam Weinig.
2201
2202         SerializedScriptValue needs to use a flat storage mechanism
2203         https://bugs.webkit.org/show_bug.cgi?id=45244
2204
2205         Rewrite the old tree to tree serialization logic to use
2206         flat storage.  Unfortunately this basically required a
2207         complete rewrite.
2208
2209         * bindings/js/SerializedScriptValue.cpp:
2210         (WebCore::CloneBase::CloneBase):
2211         (WebCore::CloneBase::shouldTerminate):
2212         (WebCore::CloneBase::ticksUntilNextCheck):
2213         (WebCore::CloneBase::didTimeOut):
2214         (WebCore::CloneBase::throwStackOverflow):
2215         (WebCore::CloneBase::throwInterruptedException):
2216         (WebCore::CloneBase::fail):
2217         (WebCore::CloneSerializer::serialize):
2218         (WebCore::CloneSerializer::CloneSerializer):
2219         (WebCore::CloneSerializer::isArray):
2220         (WebCore::CloneSerializer::startObject):
2221         (WebCore::CloneSerializer::startArray):
2222         (WebCore::CloneSerializer::endObject):
2223         (WebCore::CloneSerializer::getSparseIndex):
2224         (WebCore::CloneSerializer::getProperty):
2225         (WebCore::CloneSerializer::dumpImmediate):
2226         (WebCore::CloneSerializer::dumpString):
2227         (WebCore::CloneSerializer::dumpIfTerminal):
2228         (WebCore::CloneSerializer::write):
2229         (WebCore::CloneSerializer::writeLittleEndian):
2230         (WebCore::CloneSerializer::writeStringIndex):
2231         (WebCore::CloneDeserializer::deserializeString):
2232         (WebCore::CloneDeserializer::deserialize):
2233         (WebCore::CloneDeserializer::CloneDeserializer):
2234         (WebCore::CloneDeserializer::throwValidationError):
2235         (WebCore::CloneDeserializer::isValid):
2236         (WebCore::CloneDeserializer::readLittleEndian):
2237         (WebCore::CloneDeserializer::read):
2238         (WebCore::CloneDeserializer::readStringIndex):
2239         (WebCore::CloneDeserializer::readString):
2240         (WebCore::CloneDeserializer::readStringData):
2241         (WebCore::CloneDeserializer::readTag):
2242         (WebCore::CloneDeserializer::putProperty):
2243         (WebCore::CloneDeserializer::readFile):
2244         (WebCore::CloneDeserializer::readTerminal):
2245         (WebCore::SerializedScriptValue::~SerializedScriptValue):
2246         (WebCore::SerializedScriptValue::SerializedScriptValue):
2247         (WebCore::SerializedScriptValue::create):
2248         (WebCore::SerializedScriptValue::toString):
2249         (WebCore::SerializedScriptValue::deserialize):
2250         (WebCore::SerializedScriptValue::nullValue):
2251         * bindings/js/SerializedScriptValue.h:
2252         * dom/MessagePortChannel.cpp:
2253         (WebCore::MessagePortChannel::EventData::EventData):
2254         * workers/WorkerMessagingProxy.cpp:
2255         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
2256         (WebCore::MessageWorkerTask::MessageWorkerTask):
2257
2258 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
2259
2260         Reviewed by Gustavo Noronha Silva.
2261
2262         [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
2263         https://bugs.webkit.org/show_bug.cgi?id=45046
2264
2265         Make interior frame scrollbars "fully-fake," which means they do not rely
2266         at all on GTK+ for painting or behavior, but instead are typical WebCore
2267         scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
2268         MainFrameScrollbarGtk and remove all logic in that file dealing with interior
2269         frame scrollbars.
2270
2271         No new tests, as this is already covered by pixel tests for scrollbars,
2272         which were added in r66605.
2273
2274         * GNUmakefile.am: Update sources list.
2275         * platform/ScrollView.h: Change the adjustment members to be smart pointers.
2276         * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
2277         * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
2278         (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
2279         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
2280         (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
2281         (MainFrameScrollbarGtk::attachAdjustment):
2282         (MainFrameScrollbarGtk::detachAdjustment):
2283         (MainFrameScrollbarGtk::updateThumbPosition):
2284         (MainFrameScrollbarGtk::updateThumbProportion):
2285         (MainFrameScrollbarGtk::gtkValueChanged):
2286         (MainFrameScrollbarGtk::paint):
2287         * platform/gtk/MainFrameScrollbarGtk.h: Added.
2288         * platform/gtk/ScrollViewGtk.cpp:
2289         (WebCore::ScrollView::platformInit): Remove unnecessary initialization
2290         because of smart pointer change.
2291         (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
2292         interior frame scrollbars, create a normal WebCore scrollbar.
2293         (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
2294         that this method is never called with a non-null adjustment on an interior frame
2295         scrollbar.
2296         (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
2297         (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
2298         (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
2299         transitionary states when accessing parent widgets. Explcitly guard against interior
2300         frame ScrollView's trying to determine size based on parent widgets.
2301         (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
2302         it copy-and-pasted from. Update it and change the logic to do the right thing for
2303         interior frame scrollbars.
2304         * platform/gtk/ScrollbarGtk.cpp: Removed.
2305         * platform/gtk/ScrollbarGtk.h: Removed.
2306
2307 2010-09-06  Justin Schuh  <jschuh@chromium.org>
2308
2309         Reviewed by Nikolas Zimmermann.
2310
2311         Make SVG PendingResources use RefPtr
2312         https://bugs.webkit.org/show_bug.cgi?id=43587
2313
2314         Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for 
2315         pending elements instead of a raw pointer so that pending elements can't
2316         be freed prematurely.
2317
2318         Test: svg/custom/use-invalid-pattern.svg
2319
2320         * rendering/RenderSVGResourceContainer.cpp:
2321         (WebCore::RenderSVGResourceContainer::registerResource):
2322         * svg/SVGDocumentExtensions.cpp:
2323         (WebCore::SVGDocumentExtensions::addPendingResource):
2324         (WebCore::SVGDocumentExtensions::removePendingResource):
2325         * svg/SVGDocumentExtensions.h:
2326         * svg/SVGElement.cpp:
2327         (WebCore::SVGElement::insertedIntoDocument):
2328
2329 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
2330
2331         Reviewed by Gustavo Noronha Silva.
2332
2333         [GTK] ScrollbarThemeGtk should support secondary steppers
2334         https://bugs.webkit.org/show_bug.cgi?id=44791
2335
2336         Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
2337         the algorithms for calculating forward and back button rects, if they
2338         are active in the theme. Expose this information via GtkScrollbarMetrics.
2339
2340         * platform/gtk/ScrollbarThemeGtk.cpp:
2341         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
2342         of GtkScrollbarMetrics when updating the style cache.
2343         (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
2344         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
2345         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
2346         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
2347         * platform/gtk/ScrollbarThemeGtk.h:
2348         * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
2349         via GtkScrollbarMetrics.
2350         * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
2351
2352 2010-09-06  Tony Gentilcore  <tonyg@chromium.org>
2353
2354         Reviewed by Adam Barth.
2355
2356         Implement HTML5 definition of document.readyState
2357         https://bugs.webkit.org/show_bug.cgi?id=45119
2358
2359         The legacy behavior was "loading" -> "loaded" -> "complete". The new
2360         HTML5 behavior is "loading" -> "interactive" -> "complete". There is
2361         some potential for this to cause compat problems if for instance a
2362         page expects readyState to be "loaded" during the DOMContentLoaded event.
2363
2364         Test: fast/dom/Document/readystate.html
2365
2366         * dom/Document.cpp:
2367         (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
2368         when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
2369         So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
2370         (WebCore::Document::readyState):
2371         (WebCore::Document::setReadyState):
2372         (WebCore::Document::implicitOpen):
2373         (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
2374         * dom/Document.h:
2375         * dom/DocumentParser.cpp:
2376         (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
2377         It is better to ensure it is only called while parsing.
2378         * dom/XMLDocumentParser.cpp:
2379         (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
2380         * html/parser/HTMLDocumentParser.cpp:
2381         (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
2382         This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
2383         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
2384         the additional steps of pumping tokenizer, setting the state, etc.
2385         (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
2386         * loader/FrameLoader.cpp:
2387         (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
2388         (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
2389
2390 2010-09-06  Anton Muhin  <antonm@chromium.org>
2391
2392         Reviewed by Adam Barth.
2393
2394         [v8] Inline hot methods for V8 to WebCore and back conversions
2395         https://bugs.webkit.org/show_bug.cgi?id=45270
2396
2397         Inline fast paths of hot functions performing conversions from V8 wrappers
2398         to WebCore native objects and back.
2399         That slightly increases the size of binary (within 0.1% for both Ubuntu
2400         and Windows, but those builds are slightly different from official ones),
2401         but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
2402
2403         * bindings/scripts/CodeGeneratorV8.pm:
2404         * bindings/v8/V8DOMWindowShell.cpp:
2405         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2406         * bindings/v8/V8DOMWindowShell.h:
2407         * bindings/v8/V8DOMWrapper.cpp:
2408         (WebCore::V8DOMWrapper::getWrapperSlow):
2409         * bindings/v8/V8DOMWrapper.h:
2410         (WebCore::V8DOMWrapper::getWrapper):
2411         * bindings/v8/custom/V8NodeCustom.cpp:
2412         (WebCore::toV8Slow):
2413
2414 2010-09-06  Shane Stephens  <shanestephens@google.com>
2415
2416         Reviewed by Dimitri Glazkov.
2417
2418         [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
2419         https://bugs.webkit.org/show_bug.cgi?id=44750
2420
2421         Fixes crash by checking for null transforms and skipping update step
2422         when appropriate.
2423
2424         Test: svg/dom/symbol-embeddedAnimation.svg
2425
2426         * svg/SVGAnimateMotionElement.cpp:
2427         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2428
2429 2010-09-06  Xan Lopez  <xlopez@igalia.com>
2430
2431         Rubber-stamped by Tor Arne Vestbø.
2432
2433         WebCore already generates a focus-{out,in} events on its setFocus
2434         method, there's no need to duplicate it here. Previously this was
2435         needed because we were not catching all possible names of focus
2436         events in PluginView::handleEvent and were missing the ones
2437         WebCore does, but this has been fixed in r66827.
2438
2439         * plugins/qt/PluginViewQt.cpp:
2440         (WebCore::PluginView::setFocus):
2441
2442 2010-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2443
2444         Unreviewed, rolling out r66823.
2445         http://trac.webkit.org/changeset/66823
2446         https://bugs.webkit.org/show_bug.cgi?id=45266
2447
2448         Windows build fails with unknown reason (Requested by zherczeg
2449         on #webkit).
2450
2451         * Android.mk:
2452         * CMakeLists.txt:
2453         * GNUmakefile.am:
2454         * WebCore.gypi:
2455         * WebCore.pro:
2456         * WebCore.vcproj/WebCore.vcproj:
2457         * WebCore.xcodeproj/project.pbxproj:
2458         * rendering/RenderObject.h:
2459         * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
2460         * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
2461         * rendering/SVGRenderTreeAsText.cpp:
2462         (WebCore::writeSVGContainer):
2463         * svg/SVGFEDiffuseLightingElement.cpp:
2464         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
2465         * svg/SVGFELightElement.cpp:
2466         (WebCore::SVGFELightElement::svgAttributeChanged):
2467         (WebCore::SVGFELightElement::childrenChanged):
2468         * svg/SVGFEOffsetElement.cpp:
2469         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
2470         * svg/SVGFilterElement.h:
2471         (WebCore::SVGFilterElement::invalidateFilter):
2472         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2473         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
2474         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2475         * svg/SVGFilterPrimitiveStandardAttributes.h:
2476         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2477
2478 2010-09-06  Xan Lopez  <xlopez@igalia.com>
2479
2480         Reviewed by Martin Robinson.
2481
2482         [GTK] Provide Keyboard Events to Windowless plugins
2483         https://bugs.webkit.org/show_bug.cgi?id=44613
2484
2485         Fix keyboard event delivery for windowless plugins.
2486
2487         Based on a patch by Bharathwaaj.
2488
2489         * plugins/PluginView.cpp:
2490         (WebCore::PluginView::handleEvent): also take into account
2491         focused{in,out} events
2492         * plugins/gtk/PluginViewGtk.cpp:
2493         (WebCore::PluginView::handleKeyboardEvent): we want the keyval
2494         here, not the hardware keycode
2495         (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
2496
2497 2010-09-06  Ilya Tikhonovsky  <loislo@chromium.org>
2498
2499         Reviewed by Yury Semikhatsky.
2500
2501         WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
2502
2503         There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
2504         will be called with additional argument for callback but with undefined value.
2505
2506         https://bugs.webkit.org/show_bug.cgi?id=45265
2507
2508         * inspector/CodeGeneratorInspector.pm:
2509
2510 2010-09-06  Zoltan Herczeg  <zherczeg@webkit.org>
2511
2512         Reviewed by Dirk Schulze.
2513
2514         An individual renderer should be assigned to each SVGFE*Element class
2515         https://bugs.webkit.org/show_bug.cgi?id=43954
2516
2517         RenderSVGResourceFilterPrimitive renderer is added to
2518         the project, and assigned to each object, which class is
2519         derived from SVGFilterPrimitiveStandardAttributes. The patch
2520         mainly contains build system changes, and it fixes one layout
2521         test in svg/dynamic-updates.
2522
2523         * Android.mk:
2524         * CMakeLists.txt:
2525         * GNUmakefile.am:
2526         * WebCore.gypi:
2527         * WebCore.pro:
2528         * WebCore.vcproj/WebCore.vcproj:
2529         * WebCore.xcodeproj/project.pbxproj:
2530         * rendering/RenderObject.h:
2531         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
2532         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
2533         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
2534         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
2535         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
2536         * rendering/SVGRenderTreeAsText.cpp:
2537         (WebCore::writeSVGContainer):
2538         * svg/SVGFEDiffuseLightingElement.cpp:
2539         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
2540         * svg/SVGFELightElement.cpp:
2541         (WebCore::SVGFELightElement::svgAttributeChanged):
2542         (WebCore::SVGFELightElement::childrenChanged):
2543         * svg/SVGFEOffsetElement.cpp:
2544         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
2545         * svg/SVGFilterElement.h:
2546         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2547         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
2548         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2549         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
2550         * svg/SVGFilterPrimitiveStandardAttributes.h:
2551         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
2552
2553 2010-09-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2554
2555         Reviewed by Dirk Schulze.
2556
2557         [WML] Use RenderImageResource in WMLImageElement.cpp
2558         https://bugs.webkit.org/show_bug.cgi?id=44952
2559
2560         The hasImage() and setCachedImage() were moved to RenderImageResource class. 
2561         So, WML also should use the functions from RenderImageResource.
2562
2563         * wml/WMLImageElement.cpp:
2564         (WebCore::WMLImageElement::attach):
2565
2566 2010-08-26  Jeremy Orlow  <jorlow@chromium.org>
2567
2568         Reviewed by Steve Block.
2569
2570         Add index insertion support to IndexedDB.
2571         https://bugs.webkit.org/show_bug.cgi?id=44695
2572
2573         Whenever you insert an item into an ObjectStore, it should use all
2574         indexes' key paths to insert corresponding entries into each index.
2575         Also data should be deleted out of the index when it goes away.
2576
2577         Not much testing yet since there's no way to directly observe indexes.
2578         More will be in next patch.
2579
2580         * storage/IDBDatabaseBackendImpl.cpp:
2581         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2582         * storage/IDBFactoryBackendImpl.cpp:
2583         (WebCore::createTables):
2584         * storage/IDBIndex.idl:
2585         * storage/IDBIndexBackendImpl.cpp:
2586         (WebCore::whereClause):
2587         (WebCore::bindWhereClause):
2588         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
2589         * storage/IDBIndexBackendImpl.h:
2590         (WebCore::IDBIndexBackendImpl::id):
2591         * storage/IDBKey.cpp:
2592         (WebCore::IDBKey::whereSyntax):
2593         (WebCore::IDBKey::bind):
2594         (WebCore::IDBKey::bindWithNulls):
2595         * storage/IDBKey.h:
2596         * storage/IDBObjectStore.idl:
2597         * storage/IDBObjectStoreBackendImpl.cpp:
2598         (WebCore::whereClause):
2599         (WebCore::bindWhereClause):
2600         (WebCore::IDBObjectStoreBackendImpl::get):
2601         (WebCore::fetchKeyFromKeyPath):
2602         (WebCore::putObjectStoreData):
2603         (WebCore::putIndexData):
2604         (WebCore::IDBObjectStoreBackendImpl::put):
2605         (WebCore::IDBObjectStoreBackendImpl::remove):
2606         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2607         (WebCore::doDelete):
2608         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
2609         (WebCore::IDBObjectStoreBackendImpl::openCursor):
2610         * storage/IDBObjectStoreBackendImpl.h:
2611
2612 2010-09-06  Anton Muhin  <antonm@chromium.org>
2613
2614         Reviewed by Adam Barth.
2615
2616         [v8] bypass caches when query memory usage from post GC and in crash handler.
2617         https://bugs.webkit.org/show_bug.cgi?id=45036
2618
2619         Add Chromium-specific API to query actual memory usage which bypasses any caches.
2620
2621         * platform/chromium/ChromiumBridge.h:
2622
2623 2010-09-06  Adam Barth  <abarth@webkit.org>
2624
2625         Reviewed by Darin Adler.
2626
2627         Rename SecurityOrigin::canLoad to canDisplay
2628         https://bugs.webkit.org/show_bug.cgi?id=45214
2629
2630         canLoad is a pretty opaque name.  This function is really about whether
2631         you can display the contents of the URL in an iframe, an image, or a
2632         plugin.
2633
2634         * WebCore.exp.in:
2635         * html/HTMLMediaElement.cpp:
2636         (WebCore::HTMLMediaElement::isSafeToLoadURL):
2637         * loader/Cache.cpp:
2638         (WebCore::Cache::requestResource):
2639         * loader/FrameLoader.cpp:
2640         (WebCore::FrameLoader::loadFrameRequest):
2641         * loader/PingLoader.cpp:
2642         (WebCore::PingLoader::loadImage):
2643         * loader/SubframeLoader.cpp:
2644         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2645         (WebCore::SubframeLoader::createJavaAppletWidget):
2646         (WebCore::SubframeLoader::loadSubframe):
2647         (WebCore::SubframeLoader::loadPlugin):
2648         * loader/SubresourceLoader.cpp:
2649         (WebCore::SubresourceLoader::create):
2650         * page/SecurityOrigin.cpp:
2651         (WebCore::SecurityOrigin::canDisplay):
2652         * page/SecurityOrigin.h:
2653         * plugins/PluginView.cpp:
2654         (WebCore::PluginView::load):
2655
2656 2010-08-31  Yury Semikhatsky  <yurys@chromium.org>
2657
2658         Reviewed by Joseph Pecoraro.
2659
2660         Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
2661         https://bugs.webkit.org/show_bug.cgi?id=44943
2662
2663         Test: inspector/debugger-suspend-active-dom-objects.html
2664
2665         * page/PageGroupLoadDeferrer.cpp:
2666         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2667
2668 2010-09-05  Kenneth Russell  <kbr@google.com>
2669
2670         Reviewed by Darin Fisher.
2671
2672         Add unit tests for red-black tree and (POD) arena
2673         https://bugs.webkit.org/show_bug.cgi?id=45060
2674
2675         * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
2676         * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
2677         * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
2678         * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
2679
2680 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
2681
2682         Reviewed by Nate Chapin.
2683
2684         Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
2685         https://bugs.webkit.org/show_bug.cgi?id=45044
2686
2687         IndexedDB's IDBKeyRange has what, in other languages, are called class
2688         methods. In javaScript terms, these are methods only accessible from their
2689         constructor and not instances. This change adds such support to V8. There
2690         are already other features required for IndexedDB that JSC doesn't yet
2691         support, so I'll add this to the list of todo items in the master bug
2692         for that.
2693
2694         The bindings tests cover this. My next patch will change WebCore to use
2695         this and it'll have associated layout tests.
2696
2697         * bindings/scripts/CodeGeneratorV8.pm:
2698         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2699         (WebDOMTestObj::classMethod):
2700         (WebDOMTestObj::classMethodWithOptional):
2701         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2702         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2703         (webkit_dom_test_obj_class_method):
2704         (webkit_dom_test_obj_class_method_with_optional):
2705         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2706         * bindings/scripts/test/JS/JSTestObj.cpp:
2707         (WebCore::jsTestObjPrototypeFunctionStaticMethod):
2708         (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
2709         * bindings/scripts/test/JS/JSTestObj.h:
2710         * bindings/scripts/test/ObjC/DOMTestObj.h:
2711         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2712         (-[DOMTestObj classMethod]):
2713         (-[DOMTestObj classMethodWithOptional:]):
2714         * bindings/scripts/test/TestObj.idl:
2715         * bindings/scripts/test/V8/V8TestObj.cpp:
2716         (WebCore::TestObjInternal::classMethodCallback):
2717         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
2718         (WebCore::ConfigureV8TestObjTemplate):
2719         * storage/IDBKeyRange.idl:
2720
2721 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
2722
2723         Reviewed by Steve Block.
2724
2725         Add IndexedDB objects' constructors to window
2726         https://bugs.webkit.org/show_bug.cgi?id=44599
2727
2728         Also add a forgotten constant to IDBTransaction, and
2729         change IDBKeyRange over to using the V8Static attribute
2730         so it actually behaves as it's supposed to.
2731
2732         * bindings/generic/RuntimeEnabledFeatures.h:
2733         (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
2734         (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
2735         (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
2736         (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
2737         (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
2738         (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
2739         (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
2740         (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
2741         (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
2742         (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
2743         (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
2744         (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
2745         (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
2746         * page/DOMWindow.cpp:
2747         (WebCore::DOMWindow::clear):
2748         (WebCore::DOMWindow::indexedDB):
2749         * page/DOMWindow.h:
2750         * page/DOMWindow.idl:
2751         * storage/IDBKeyRange.idl:
2752         * storage/IDBTransaction.h:
2753         * storage/IDBTransaction.idl:
2754
2755 2010-09-04  Justin Schuh  <jschuh@chromium.org>
2756
2757         Reviewed by Nikolas Zimmermann.
2758
2759         Prevent premature deletion of svg use shadow tree
2760         https://bugs.webkit.org/show_bug.cgi?id=43260
2761
2762         Test: svg/custom/use-invalid-style.svg
2763
2764         * svg/SVGUseElement.cpp:
2765         (WebCore::SVGUseElement::insertedIntoDocument):
2766         (WebCore::SVGUseElement::removedFromDocument):
2767         (WebCore::SVGUseElement::detach):
2768
2769 2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2770
2771         Reviewed by Darin Adler.
2772
2773         Add NetworkingContext to avoid layer violations
2774         https://bugs.webkit.org/show_bug.cgi?id=42292
2775
2776         Create and provide access to NetworkingContext in FrameLoader.
2777
2778         In the WebKit layer we added specific implementations of FrameNetworkingContext
2779         so each port's FrameLoaderClient can add any port specific information to NetworkingContext
2780         The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
2781         in the FrameLoader for each frame created. People must always use it
2782         by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
2783         The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
2784
2785         It is still a preparation to NetworkingContext to be activated and
2786         work for all ports.
2787
2788         * WebCore.exp.in:
2789         * loader/EmptyClients.h:
2790         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
2791         * loader/FrameLoader.cpp:
2792         (WebCore::FrameLoader::~FrameLoader):
2793         (WebCore::FrameLoader::init):
2794         (WebCore::FrameLoader::networkingContext):
2795         * loader/FrameLoader.h:
2796         * loader/FrameLoaderClient.h:
2797
2798 2010-09-03  Kinuko Yasuda  <kinuko@chromium.org>
2799
2800         Reviewed by Darin Adler.
2801
2802         V8/JS bindings should not perform type checks if the parameter has Callback attribute
2803         https://bugs.webkit.org/show_bug.cgi?id=45143
2804
2805         No new tests, should not affect existing idls.
2806
2807         * bindings/scripts/CodeGeneratorJS.pm:
2808         * bindings/scripts/CodeGeneratorV8.pm:
2809         * bindings/scripts/test/JS/JSTestObj.cpp:
2810         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2811         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2812         * bindings/scripts/test/TestObj.idl:
2813         * bindings/scripts/test/V8/V8TestObj.cpp:
2814         (WebCore::TestObjInternal::overloadedMethod5Callback):
2815         (WebCore::TestObjInternal::overloadedMethodCallback):
2816
2817 2010-09-03  Kenneth Russell  <kbr@google.com>
2818
2819         Unreviewed, Chromium build fix. Fix breakage on Windows after
2820         r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
2821
2822         * platform/graphics/chromium/FontChromiumWin.cpp:
2823         (WebCore::Font::drawGlyphs):
2824
2825 2010-09-03  James Robinson  <jamesr@chromium.org>
2826
2827         Reviewed by Kenneth Russell.
2828
2829         [chromium] Text sometimes fails to display in accelerated 2d canvases
2830         https://bugs.webkit.org/show_bug.cgi?id=45223
2831
2832         Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
2833         using skia to ensure that the backing store state is consistent.
2834
2835         * platform/graphics/chromium/FontChromiumWin.cpp:
2836         (WebCore::Font::drawGlyphs):
2837         * platform/graphics/chromium/FontLinux.cpp:
2838         (WebCore::Font::drawGlyphs):
2839
2840 2010-09-03  Kenneth Russell  <kbr@google.com>
2841
2842         Reviewed by Darin Fisher.
2843
2844         Add thirdparty directory and incorporate GLU tessellator
2845         https://bugs.webkit.org/show_bug.cgi?id=44707
2846
2847         This directory is intended to contain copies of third-party libraries used
2848         by WebCore, in particular those which may require some modification in
2849         order to incorporate.
2850
2851         No tests at this time; these sources are being added in preparation for
2852         incorporating other code which uses them, at which point the code will be
2853         exercised and testable.
2854
2855         * thirdparty: Added.
2856         * thirdparty/README.txt: Added.
2857         * thirdparty/glu: Added.
2858         * thirdparty/glu/LICENSE.txt: Added.
2859         * thirdparty/glu/README.webkit: Added.
2860         * thirdparty/glu/gluos.h: Added.
2861         * thirdparty/glu/internal_glu.h: Added.
2862         * thirdparty/glu/libtess: Added.
2863         * thirdparty/glu/libtess/GNUmakefile: Added.
2864         * thirdparty/glu/libtess/Imakefile: Added.
2865         * thirdparty/glu/libtess/README: Added.
2866         * thirdparty/glu/libtess/alg-outline: Added.
2867         * thirdparty/glu/libtess/dict-list.h: Added.
2868         * thirdparty/glu/libtess/dict.c: Added.
2869         * thirdparty/glu/libtess/dict.h: Added.
2870         * thirdparty/glu/libtess/geom.c: Added.
2871         * thirdparty/glu/libtess/geom.h: Added.
2872         * thirdparty/glu/libtess/memalloc.c: Added.
2873         * thirdparty/glu/libtess/memalloc.h: Added.
2874         * thirdparty/glu/libtess/mesh.c: Added.
2875         * thirdparty/glu/libtess/mesh.h: Added.
2876         * thirdparty/glu/libtess/normal.c: Added.
2877         * thirdparty/glu/libtess/normal.h: Added.
2878         * thirdparty/glu/libtess/priorityq-heap.c: Added.
2879         * thirdparty/glu/libtess/priorityq-heap.h: Added.
2880         * thirdparty/glu/libtess/priorityq-sort.h: Added.
2881         * thirdparty/glu/libtess/priorityq.c: Added.
2882         * thirdparty/glu/libtess/priorityq.h: Added.
2883         * thirdparty/glu/libtess/render.c: Added.
2884         * thirdparty/glu/libtess/render.h: Added.
2885         * thirdparty/glu/libtess/sweep.c: Added.
2886         * thirdparty/glu/libtess/sweep.h: Added.
2887         * thirdparty/glu/libtess/tess.c: Added.
2888         * thirdparty/glu/libtess/tess.h: Added.
2889         * thirdparty/glu/libtess/tessmono.c: Added.
2890         * thirdparty/glu/libtess/tessmono.h: Added.
2891
2892 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2893
2894         Unreviewed, rolling out r66781.
2895         http://trac.webkit.org/changeset/66781
2896         https://bugs.webkit.org/show_bug.cgi?id=45220
2897
2898         Breaks the build. Adds a mac-specific file to
2899         platform/graphics without #if PLATFORM() guards and changes
2900         the GraphicsContext3D interface without updating all
2901         implementations (Requested by jamesr on #webkit).
2902
2903         * WebCore.gypi:
2904         * WebCore.xcodeproj/project.pbxproj:
2905         * html/canvas/WebGLObject.cpp:
2906         (WebCore::WebGLObject::deleteObject):
2907         * platform/graphics/ANGLEWebKitBridge.h:
2908         * platform/graphics/GraphicsContext3D.h:
2909         * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
2910         * platform/graphics/mac/GraphicsContext3DMac.mm:
2911         (WebCore::GraphicsContext3D::validateAttributes):
2912         (WebCore::GraphicsContext3D::makeContextCurrent):
2913         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2914         (WebCore::GraphicsContext3D::reshape):
2915         (WebCore::ensureContext):
2916         (WebCore::GraphicsContext3D::prepareTexture):
2917         (WebCore::GraphicsContext3D::activeTexture):
2918         (WebCore::GraphicsContext3D::attachShader):
2919         (WebCore::GraphicsContext3D::bindAttribLocation):
2920         (WebCore::GraphicsContext3D::bindBuffer):
2921         (WebCore::GraphicsContext3D::bindFramebuffer):
2922         (WebCore::GraphicsContext3D::bindRenderbuffer):
2923         (WebCore::GraphicsContext3D::bindTexture):
2924         (WebCore::GraphicsContext3D::blendColor):
2925         (WebCore::GraphicsContext3D::blendEquation):
2926         (WebCore::GraphicsContext3D::blendEquationSeparate):
2927         (WebCore::GraphicsContext3D::blendFunc):
2928         (WebCore::GraphicsContext3D::blendFuncSeparate):
2929         (WebCore::GraphicsContext3D::bufferData):
2930         (WebCore::GraphicsContext3D::bufferSubData):
2931         (WebCore::GraphicsContext3D::checkFramebufferStatus):
2932         (WebCore::GraphicsContext3D::clearColor):
2933         (WebCore::GraphicsContext3D::clear):
2934         (WebCore::GraphicsContext3D::clearDepth):
2935         (WebCore::GraphicsContext3D::clearStencil):
2936         (WebCore::GraphicsContext3D::colorMask):
2937         (WebCore::GraphicsContext3D::compileShader):
2938         (WebCore::GraphicsContext3D::copyTexImage2D):
2939         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2940         (WebCore::GraphicsContext3D::cullFace):
2941         (WebCore::GraphicsContext3D::depthFunc):
2942         (WebCore::GraphicsContext3D::depthMask):
2943         (WebCore::GraphicsContext3D::depthRange):
2944         (WebCore::GraphicsContext3D::detachShader):
2945         (WebCore::GraphicsContext3D::disable):
2946         (WebCore::GraphicsContext3D::disableVertexAttribArray):
2947         (WebCore::GraphicsContext3D::drawArrays):
2948         (WebCore::GraphicsContext3D::drawElements):
2949         (WebCore::GraphicsContext3D::enable):
2950         (WebCore::GraphicsContext3D::enableVertexAttribArray):
2951         (WebCore::GraphicsContext3D::finish):
2952         (WebCore::GraphicsContext3D::flush):
2953         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2954         (WebCore::GraphicsContext3D::framebufferTexture2D):
2955         (WebCore::GraphicsContext3D::frontFace):
2956         (WebCore::GraphicsContext3D::generateMipmap):
2957         (WebCore::GraphicsContext3D::getActiveAttrib):
2958         (WebCore::GraphicsContext3D::getActiveUniform):
2959         (WebCore::GraphicsContext3D::getAttachedShaders):
2960         (WebCore::GraphicsContext3D::getAttribLocation):
2961         (WebCore::GraphicsContext3D::getContextAttributes):
2962         (WebCore::GraphicsContext3D::getError):
2963         (WebCore::GraphicsContext3D::getString):
2964         (WebCore::GraphicsContext3D::hint):
2965         (WebCore::GraphicsContext3D::isBuffer):
2966         (WebCore::GraphicsContext3D::isEnabled):
2967         (WebCore::GraphicsContext3D::isFramebuffer):
2968         (WebCore::GraphicsContext3D::isProgram):
2969         (WebCore::GraphicsContext3D::isRenderbuffer):
2970         (WebCore::GraphicsContext3D::isShader):
2971         (WebCore::GraphicsContext3D::isTexture):
2972         (WebCore::GraphicsContext3D::lineWidth):
2973         (WebCore::GraphicsContext3D::linkProgram):
2974         (WebCore::GraphicsContext3D::pixelStorei):
2975         (WebCore::GraphicsContext3D::polygonOffset):
2976         (WebCore::GraphicsContext3D::readPixels):
2977         (WebCore::GraphicsContext3D::releaseShaderCompiler):
2978         (WebCore::GraphicsContext3D::renderbufferStorage):
2979         (WebCore::GraphicsContext3D::sampleCoverage):
2980         (WebCore::GraphicsContext3D::scissor):
2981         (WebCore::GraphicsContext3D::shaderSource):
2982         (WebCore::GraphicsContext3D::stencilFunc):
2983         (WebCore::GraphicsContext3D::stencilFuncSeparate):
2984         (WebCore::GraphicsContext3D::stencilMask):
2985         (WebCore::GraphicsContext3D::stencilMaskSeparate):
2986         (WebCore::GraphicsContext3D::stencilOp):
2987         (WebCore::GraphicsContext3D::stencilOpSeparate):
2988         (WebCore::GraphicsContext3D::texParameterf):
2989         (WebCore::GraphicsContext3D::texParameteri):
2990         (WebCore::GraphicsContext3D::uniform1f):
2991         (WebCore::GraphicsContext3D::uniform1fv):
2992         (WebCore::GraphicsContext3D::uniform2f):
2993         (WebCore::GraphicsContext3D::uniform2fv):
2994         (WebCore::GraphicsContext3D::uniform3f):
2995         (WebCore::GraphicsContext3D::uniform3fv):
2996         (WebCore::GraphicsContext3D::uniform4f):
2997         (WebCore::GraphicsContext3D::uniform4fv):
2998         (WebCore::GraphicsContext3D::uniform1i):
2999         (WebCore::GraphicsContext3D::uniform1iv):
3000         (WebCore::GraphicsContext3D::uniform2i):
3001         (WebCore::GraphicsContext3D::uniform2iv):
3002         (WebCore::GraphicsContext3D::uniform3i):
3003         (WebCore::GraphicsContext3D::uniform3iv):
3004         (WebCore::GraphicsContext3D::uniform4i):
3005         (WebCore::GraphicsContext3D::uniform4iv):
3006         (WebCore::GraphicsContext3D::uniformMatrix2fv):
3007         (WebCore::GraphicsContext3D::uniformMatrix3fv):
3008         (WebCore::GraphicsContext3D::uniformMatrix4fv):
3009         (WebCore::GraphicsContext3D::useProgram):
3010         (WebCore::GraphicsContext3D::validateProgram):
3011         (WebCore::GraphicsContext3D::vertexAttrib1f):
3012         (WebCore::GraphicsContext3D::vertexAttrib1fv):
3013         (WebCore::GraphicsContext3D::vertexAttrib2f):
3014         (WebCore::GraphicsContext3D::vertexAttrib2fv):
3015         (WebCore::GraphicsContext3D::vertexAttrib3f):
3016         (WebCore::GraphicsContext3D::vertexAttrib3fv):
3017         (WebCore::GraphicsContext3D::vertexAttrib4f):
3018         (WebCore::GraphicsContext3D::vertexAttrib4fv):
3019         (WebCore::GraphicsContext3D::vertexAttribPointer):
3020         (WebCore::GraphicsContext3D::viewport):
3021         (WebCore::GraphicsContext3D::getBooleanv):
3022         (WebCore::GraphicsContext3D::getBufferParameteriv):
3023         (WebCore::GraphicsContext3D::getFloatv):
3024         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3025         (WebCore::GraphicsContext3D::getIntegerv):
3026         (WebCore::GraphicsContext3D::getProgramiv):
3027         (WebCore::GraphicsContext3D::getProgramInfoLog):
3028         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
3029         (WebCore::GraphicsContext3D::getShaderiv):
3030         (WebCore::GraphicsContext3D::getShaderInfoLog):
3031         (WebCore::GraphicsContext3D::getShaderSource):
3032         (WebCore::GraphicsContext3D::getTexParameterfv):
3033         (WebCore::GraphicsContext3D::getTexParameteriv):
3034         (WebCore::GraphicsContext3D::getUniformfv):
3035         (WebCore::GraphicsContext3D::getUniformiv):
3036         (WebCore::GraphicsContext3D::getUniformLocation):
3037         (WebCore::GraphicsContext3D::getVertexAttribfv):
3038         (WebCore::GraphicsContext3D::getVertexAttribiv):
3039         (WebCore::GraphicsContext3D::getVertexAttribOffset):
3040         (WebCore::GraphicsContext3D::texImage2D):
3041         (WebCore::GraphicsContext3D::texSubImage2D):
3042         (WebCore::GraphicsContext3D::createBuffer):
3043         (WebCore::GraphicsContext3D::createFramebuffer):
3044         (WebCore::GraphicsContext3D::createProgram):
3045         (WebCore::GraphicsContext3D::createRenderbuffer):
3046         (WebCore::GraphicsContext3D::createShader):
3047         (WebCore::GraphicsContext3D::createTexture):
3048         (WebCore::GraphicsContext3D::deleteBuffer):
3049         (WebCore::GraphicsContext3D::deleteFramebuffer):
3050         (WebCore::GraphicsContext3D::deleteProgram):
3051         (WebCore::GraphicsContext3D::deleteRenderbuffer):
3052         (WebCore::GraphicsContext3D::deleteShader):
3053         (WebCore::GraphicsContext3D::deleteTexture):
3054         (WebCore::GraphicsContext3D::sizeInBytes):
3055         (WebCore::GraphicsContext3D::synthesizeGLError):
3056
3057 2010-09-03  James Robinson  <jamesr@chromium.org>
3058
3059         Reviewed by Kenneth Russell.
3060
3061         Force 2d canvases to be rendered in software when the composite operation isn't source-over
3062         https://bugs.webkit.org/show_bug.cgi?id=45216
3063
3064         The current accelerated 2d canvas implementation is very slow for composite operations other
3065         than the default.  This patch forces a canvas to be rendered in software if any other operation
3066         is set until we accelerate the rest.
3067
3068         Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
3069
3070         * html/canvas/CanvasRenderingContext2D.cpp:
3071         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
3072         * platform/graphics/skia/PlatformContextSkia.cpp:
3073         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3074
3075 2010-09-03  Paul Sawaya  <psawaya@apple.com>
3076
3077         Reviewed by Chris Marrin.
3078
3079         Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
3080         Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
3081         https://bugs.webkit.org/show_bug.cgi?id=30625
3082
3083         * WebCore.gypi:
3084         * WebCore.xcodeproj/project.pbxproj:
3085         * html/canvas/WebGLObject.cpp:
3086         (WebCore::WebGLObject::deleteObject):
3087         * platform/graphics/ANGLEWebKitBridge.h:
3088         * platform/graphics/GraphicsContext3D.h:
3089         * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
3090         (WebCore::GraphicsContext3D::prepareTexture):
3091         (WebCore::GraphicsContext3D::activeTexture):
3092         (WebCore::GraphicsContext3D::attachShader):
3093         (WebCore::GraphicsContext3D::bindAttribLocation):
3094         (WebCore::GraphicsContext3D::bindBuffer):
3095         (WebCore::GraphicsContext3D::bindFramebuffer):
3096         (WebCore::GraphicsContext3D::bindRenderbuffer):
3097         (WebCore::GraphicsContext3D::bindTexture):
3098         (WebCore::GraphicsContext3D::blendColor):
3099         (WebCore::GraphicsContext3D::blendEquation):
3100         (WebCore::GraphicsContext3D::blendEquationSeparate):
3101         (WebCore::GraphicsContext3D::blendFunc):
3102         (WebCore::GraphicsContext3D::blendFuncSeparate):
3103         (WebCore::GraphicsContext3D::bufferData):
3104         (WebCore::GraphicsContext3D::bufferSubData):
3105         (WebCore::GraphicsContext3D::checkFramebufferStatus):
3106         (WebCore::GraphicsContext3D::clearColor):
3107         (WebCore::GraphicsContext3D::clear):
3108         (WebCore::GraphicsContext3D::clearDepth):
3109         (WebCore::GraphicsContext3D::clearStencil):
3110         (WebCore::GraphicsContext3D::colorMask):
3111         (WebCore::GraphicsContext3D::compileShader):
3112         (WebCore::GraphicsContext3D::copyTexImage2D):
3113         (WebCore::GraphicsContext3D::copyTexSubImage2D):
3114         (WebCore::GraphicsContext3D::cullFace):
3115         (WebCore::GraphicsContext3D::depthFunc):
3116         (WebCore::GraphicsContext3D::depthMask):
3117         (WebCore::GraphicsContext3D::depthRange):
3118         (WebCore::GraphicsContext3D::detachShader):
3119         (WebCore::GraphicsContext3D::disable):
3120         (WebCore::GraphicsContext3D::disableVertexAttribArray):
3121         (WebCore::GraphicsContext3D::drawArrays):
3122         (WebCore::GraphicsContext3D::drawElements):
3123         (WebCore::GraphicsContext3D::enable):
3124         (WebCore::GraphicsContext3D::enableVertexAttribArray):
3125         (WebCore::GraphicsContext3D::finish):
3126         (WebCore::GraphicsContext3D::flush):
3127         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3128         (WebCore::GraphicsContext3D::framebufferTexture2D):
3129         (WebCore::GraphicsContext3D::frontFace):
3130         (WebCore::GraphicsContext3D::generateMipmap):
3131         (WebCore::GraphicsContext3D::getActiveAttrib):
3132         (WebCore::GraphicsContext3D::getActiveUniform):
3133         (WebCore::GraphicsContext3D::getAttachedShaders):
3134         (WebCore::GraphicsContext3D::getAttribLocation):
3135         (WebCore::GraphicsContext3D::getError):
3136         (WebCore::GraphicsContext3D::getString):
3137         (WebCore::GraphicsContext3D::hint):
3138         (WebCore::GraphicsContext3D::isBuffer):
3139         (WebCore::GraphicsContext3D::isEnabled):
3140         (WebCore::GraphicsContext3D::isFramebuffer):
3141         (WebCore::GraphicsContext3D::isProgram):
3142         (WebCore::GraphicsContext3D::isRenderbuffer):
3143         (WebCore::GraphicsContext3D::isShader):
3144         (WebCore::GraphicsContext3D::isTexture):
3145         (WebCore::GraphicsContext3D::lineWidth):
3146         (WebCore::GraphicsContext3D::linkProgram):
3147         (WebCore::GraphicsContext3D::pixelStorei):
3148         (WebCore::GraphicsContext3D::polygonOffset):
3149         (WebCore::GraphicsContext3D::readPixels):
3150         (WebCore::GraphicsContext3D::releaseShaderCompiler):
3151         (WebCore::GraphicsContext3D::renderbufferStorage):
3152         (WebCore::GraphicsContext3D::sampleCoverage):
3153         (WebCore::GraphicsContext3D::scissor):
3154         (WebCore::GraphicsContext3D::shaderSource):
3155         (WebCore::GraphicsContext3D::stencilFunc):
3156         (WebCore::GraphicsContext3D::stencilFuncSeparate):
3157         (WebCore::GraphicsContext3D::stencilMask):
3158         (WebCore::GraphicsContext3D::stencilMaskSeparate):
3159         (WebCore::GraphicsContext3D::stencilOp):
3160         (WebCore::GraphicsContext3D::stencilOpSeparate):
3161         (WebCore::GraphicsContext3D::texParameterf):
3162         (WebCore::GraphicsContext3D::texParameteri):
3163         (WebCore::GraphicsContext3D::uniform1f):
3164         (WebCore::GraphicsContext3D::uniform1fv):
3165         (WebCore::GraphicsContext3D::uniform2f):
3166         (WebCore::GraphicsContext3D::uniform2fv):
3167         (WebCore::GraphicsContext3D::uniform3f):
3168         (WebCore::GraphicsContext3D::uniform3fv):
3169         (WebCore::GraphicsContext3D::uniform4f):
3170         (WebCore::GraphicsContext3D::uniform4fv):
3171         (WebCore::GraphicsContext3D::uniform1i):
3172         (WebCore::GraphicsContext3D::uniform1iv):
3173         (WebCore::GraphicsContext3D::uniform2i):
3174         (WebCore::GraphicsContext3D::uniform2iv):
3175         (WebCore::GraphicsContext3D::uniform3i):
3176         (WebCore::GraphicsContext3D::uniform3iv):
3177         (WebCore::GraphicsContext3D::uniform4i):
3178         (WebCore::GraphicsContext3D::uniform4iv):
3179         (WebCore::GraphicsContext3D::uniformMatrix2fv):
3180         (WebCore::GraphicsContext3D::uniformMatrix3fv):
3181         (WebCore::GraphicsContext3D::uniformMatrix4fv):
3182         (WebCore::GraphicsContext3D::useProgram):
3183         (WebCore::GraphicsContext3D::validateProgram):
3184         (WebCore::GraphicsContext3D::vertexAttrib1f):
3185         (WebCore::GraphicsContext3D::vertexAttrib1fv):
3186         (WebCore::GraphicsContext3D::vertexAttrib2f):
3187         (WebCore::GraphicsContext3D::vertexAttrib2fv):
3188         (WebCore::GraphicsContext3D::vertexAttrib3f):
3189         (WebCore::GraphicsContext3D::vertexAttrib3fv):
3190         (WebCore::GraphicsContext3D::vertexAttrib4f):
3191         (WebCore::GraphicsContext3D::vertexAttrib4fv):
3192         (WebCore::GraphicsContext3D::vertexAttribPointer):
3193         (WebCore::GraphicsContext3D::viewport):
3194         (WebCore::GraphicsContext3D::getBooleanv):
3195         (WebCore::GraphicsContext3D::getBufferParameteriv):
3196         (WebCore::GraphicsContext3D::getFloatv):
3197         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3198         (WebCore::GraphicsContext3D::getIntegerv):
3199         (WebCore::GraphicsContext3D::getProgramiv):
3200         (WebCore::GraphicsContext3D::getProgramInfoLog):
3201         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
3202         (WebCore::GraphicsContext3D::getShaderiv):
3203         (WebCore::GraphicsContext3D::getShaderInfoLog):
3204         (WebCore::GraphicsContext3D::getShaderSource):
3205         (WebCore::GraphicsContext3D::getTexParameterfv):
3206         (WebCore::GraphicsContext3D::getTexParameteriv):
3207         (WebCore::GraphicsContext3D::getUniformfv):
3208         (WebCore::GraphicsContext3D::getUniformiv):
3209         (WebCore::GraphicsContext3D::getUniformLocation):
3210         (WebCore::GraphicsContext3D::getVertexAttribfv):
3211         (WebCore::GraphicsContext3D::getVertexAttribiv):
3212         (WebCore::GraphicsContext3D::getVertexAttribOffset):
3213         (WebCore::GraphicsContext3D::texImage2D):
3214         (WebCore::GraphicsContext3D::texSubImage2D):
3215         (WebCore::GraphicsContext3D::createBuffer):
3216         (WebCore::GraphicsContext3D::createFramebuffer):
3217         (WebCore::GraphicsContext3D::createProgram):
3218         (WebCore::GraphicsContext3D::createRenderbuffer):
3219         (WebCore::GraphicsContext3D::createShader):
3220         (WebCore::GraphicsContext3D::createTexture):
3221         (WebCore::GraphicsContext3D::deleteBuffer):
3222         (WebCore::GraphicsContext3D::deleteFramebuffer):
3223         (WebCore::GraphicsContext3D::deleteProgram):
3224         (WebCore::GraphicsContext3D::deleteRenderbuffer):
3225         (WebCore::GraphicsContext3D::deleteShader):
3226         (WebCore::GraphicsContext3D::deleteTexture):
3227         * platform/graphics/mac/GraphicsContext3DMac.mm:
3228         (WebCore::GraphicsContext3D::ensureContext):
3229         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
3230
3231 2010-09-03  James Robinson  <jamesr@chromium.org>
3232
3233         Reviewed by Darin Fisher.
3234
3235         [chromium] Implement ImageBufferSkia::draw on the GPU when possible
3236         https://bugs.webkit.org/show_bug.cgi?id=45207
3237
3238         When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
3239         draw in hardware when possible.  This is how canvas 2d's drawImage(canvas, ...)
3240         is implemented.  Adds new API to DrawingBuffer to request a texture containing
3241         the DrawingBuffer's current rendering results.
3242
3243         Test: covered fast/canvas/drawImage.html and all other tests that draw from one
3244         2d canvas into another.
3245
3246         * html/canvas/CanvasRenderingContext2D.cpp:
3247         (WebCore::CanvasRenderingContext2D::drawImage):
3248         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3249         (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
3250         * platform/graphics/gpu/DrawingBuffer.h:
3251         * platform/graphics/skia/ImageBufferSkia.cpp:
3252         (WebCore::ImageBuffer::draw):
3253
3254 2010-09-03  James Robinson  <jamesr@chromium.org>
3255
3256         Reviewed by Kenneth Russell.
3257
3258         [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
3259         https://bugs.webkit.org/show_bug.cgi?id=45187
3260
3261         Canvas2DLayerChromium keeps a back reference to a DrawingBuffer.  This has to be a raw pointer
3262         because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium.  Since the layer can
3263         outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
3264         is destroyed.
3265
3266         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3267         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
3268         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3269         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3270         (WebCore::DrawingBuffer::~DrawingBuffer):
3271
3272 2010-09-03  Kenneth Russell  <kbr@google.com>
3273
3274         Reviewed by Darin Fisher.
3275
3276         Add interval tree capable of holding plain old data (POD)
3277         https://bugs.webkit.org/show_bug.cgi?id=45160
3278
3279         Adding an interval tree currently capable of holding types which
3280         do not require their destructors to be called. POD is a slight
3281         misnomer which will be corrected soon, hopefully by removing this
3282         restriction.
3283
3284         This class is based on the augmentable property of the red/black
3285         tree integrated under bug 45059.
3286
3287         Unit tests for the PODIntervalTree will be integrated separately
3288         under bug 45161.
3289
3290         * WebCore.gypi:
3291         * platform/graphics/gpu/PODInterval.h: Added.
3292         (WebCore::PODInterval::PODInterval):
3293         (WebCore::PODInterval::low):
3294         (WebCore::PODInterval::high):
3295         (WebCore::PODInterval::data):
3296         (WebCore::PODInterval::overlaps):
3297         (WebCore::PODInterval::operator<):
3298         (WebCore::PODInterval::operator==):
3299         (WebCore::PODInterval::maxHigh):
3300         (WebCore::PODInterval::setMaxHigh):
3301         (WebCore::PODInterval::toString):
3302         * platform/graphics/gpu/PODIntervalTree.h: Added.
3303         (WebCore::PODIntervalTree::PODIntervalTree):
3304         (WebCore::PODIntervalTree::allOverlaps):
3305         (WebCore::PODIntervalTree::createInterval):
3306         (WebCore::PODIntervalTree::checkInvariants):
3307         (WebCore::PODIntervalTree::init):
3308         (WebCore::PODIntervalTree::searchForOverlapsFrom):
3309         (WebCore::PODIntervalTree::updateNode):
3310         (WebCore::PODIntervalTree::checkInvariantsFromNode):
3311         (WebCore::valueToString):
3312
3313 2010-09-02  Vangelis Kokkevis  <vangelis@chromium.org>
3314
3315         Reviewed by Darin Fisher.
3316
3317         [chromium] Gracefully switch over to software compositing if the accelerated
3318         compositor fails to initialize. LayerRendererChromium::create() will now return 0
3319         if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
3320         hardware rendering.
3321         https://bugs.webkit.org/show_bug.cgi?id=45124
3322         
3323         Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
3324         the compositor.
3325
3326         * platform/graphics/chromium/LayerRendererChromium.cpp:
3327         (WebCore::LayerRendererChromium::create):
3328         (WebCore::LayerRendererChromium::LayerRendererChromium):
3329         (WebCore::LayerRendererChromium::makeContextCurrent):
3330
3331 2010-09-03  Peter Kasting  <pkasting@google.com>
3332
3333         Reviewed by Simon Fraser.
3334
3335         Report correct (unzoomed) image sizes for zoomed images.
3336         https://bugs.webkit.org/show_bug.cgi?id=42089
3337
3338         Test: fast/images/zoomed-img-size.html
3339
3340         * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
3341         (WebCore::CSSPrimitiveValue::computeLengthInt):
3342         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3343         (WebCore::CSSPrimitiveValue::computeLengthShort):
3344         * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
3345         (WebCore::roundForImpreciseConversion):
3346         * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
3347         (WebCore::HTMLImageElement::width):
3348         (WebCore::HTMLImageElement::height):
3349         * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
3350         (WebCore::ImageDocumentParser::finish):
3351         * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
3352         (WebCore::adjustForAbsoluteZoom):
3353
3354 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3355
3356         Unreviewed, rolling out r66770.
3357         http://trac.webkit.org/changeset/66770
3358         https://bugs.webkit.org/show_bug.cgi?id=45200
3359
3360         Broke Windows in a way I can't figure out now to fix
3361         (Requested by abarth on #webkit).
3362
3363         * GNUmakefile.am:
3364         * WebCore.gypi:
3365         * WebCore.pro:
3366         * WebCore.vcproj/WebCore.vcproj:
3367         * WebCore.xcodeproj/project.pbxproj:
3368         * bindings/generic/BindingDOMWindow.h:
3369         (WebCore::::completeURL):
3370         * bindings/generic/BindingFrame.h: Removed.
3371         * bindings/generic/BindingLocation.h: Removed.
3372         * bindings/generic/GenericBinding.h:
3373         * bindings/js/JSBinding.h: Removed.
3374         * bindings/js/JSBindingsAllInOne.cpp:
3375         * bindings/js/JSDOMBinding.cpp:
3376         (WebCore::shouldAllowNavigation):
3377         (WebCore::toLexicalFrame):
3378         (WebCore::toDynamicFrame):
3379         (WebCore::processingUserGesture):
3380         (WebCore::completeURL):
3381         * bindings/js/JSLocationCustom.cpp:
3382         (WebCore::navigateIfAllowed):
3383         (WebCore::JSLocation::replace):
3384         * bindings/js/specialization/JSBindingState.cpp: Removed.
3385         * bindings/js/specialization/JSBindingState.h: Removed.
3386         * bindings/v8/V8Binding.h:
3387         * bindings/v8/V8Utilities.cpp:
3388         (WebCore::completeURL):
3389         (WebCore::navigateIfAllowed):
3390         * bindings/v8/custom/V8LocationCustom.cpp:
3391         (WebCore::V8Location::replaceCallback):
3392         * bindings/v8/specialization/V8BindingState.cpp:
3393         * bindings/v8/specialization/V8BindingState.h:
3394
3395 2010-09-03  Jian Li  <jianli@chromium.org>
3396
3397         Reviewed by Darin Adler.
3398
3399         REGRESSION (r66452): Sending of multipart forms with files is broken.
3400         https://bugs.webkit.org/show_bug.cgi?id=45159
3401
3402         * platform/network/FormData.cpp:
3403         (WebCore::FormData::appendKeyValuePairItems):
3404
3405 2010-09-03  Dominic Cooney  <dominicc@google.com>
3406
3407         Reviewed by Adam Barth.
3408
3409         Moves location.replace bindings logic into bindings/generic and
3410         instantiates it for JSC and V8.
3411
3412         https://bugs.webkit.org/show_bug.cgi?id=44891
3413
3414         Covered by existing location.replace tests.
3415
3416         * GNUmakefile.am:
3417         * WebCore.gypi:
3418         * WebCore.pro:
3419         * WebCore.vcproj/WebCore.vcproj:
3420         * WebCore.xcodeproj/project.pbxproj:
3421         * bindings/generic/BindingDOMWindow.h:
3422         (WebCore::::createWindow):
3423         (WebCore::::open):
3424         * bindings/generic/BindingFrame.h: Added.
3425         (WebCore::::navigateIfAllowed):
3426         * bindings/generic/BindingLocation.h: Added.
3427         (WebCore::::replace):
3428         * bindings/generic/GenericBinding.h:
3429         (WebCore::completeURL):
3430         * bindings/js/JSBinding.h: Added.
3431         * bindings/js/JSBindingsAllInOne.cpp:
3432         * bindings/js/JSDOMBinding.cpp:
3433         (WebCore::shouldAllowNavigation):
3434         (WebCore::toLexicalFrame):
3435         (WebCore::toDynamicFrame):
3436         (WebCore::processingUserGesture):
3437         (WebCore::completeURL):
3438         * bindings/js/JSLocationCustom.cpp:
3439         (WebCore::navigateIfAllowed):
3440         (WebCore::JSLocation::replace):
3441         * bindings/js/specialization/JSBindingState.cpp: Added.
3442         (WebCore::::getActiveFrame):
3443         (WebCore::::getFirstFrame):
3444         (WebCore::::processingUserGesture):
3445         (WebCore::::allowsAccessFromFrame):
3446         * bindings/js/specialization/JSBindingState.h: Added.
3447         * bindings/v8/V8Binding.h:
3448         * bindings/v8/V8Utilities.cpp:
3449         (WebCore::completeURL):
3450         (WebCore::navigateIfAllowed):
3451         * bindings/v8/custom/V8LocationCustom.cpp:
3452         (WebCore::V8Location::replaceCallback):
3453         * bindings/v8/specialization/V8BindingState.cpp:
3454         (WebCore::::allowsAccessFromFrame):
3455         * bindings/v8/specialization/V8BindingState.h:
3456
3457 2010-09-03  Dimitri Glazkov  <dglazkov@chromium.org>
3458
3459         Reviewed by Tony Chang.
3460
3461         [Chromium] Make sure that the width of the menu list is always constant under layout tests.
3462         https://bugs.webkit.org/show_bug.cgi?id=45196
3463
3464         * rendering/RenderThemeChromiumWin.cpp:
3465         (WebCore::menuListButtonWidth): Added.
3466         (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
3467           querying system metrics.
3468
3469 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3470
3471         Unreviewed, rolling out r66732.
3472         http://trac.webkit.org/changeset/66732
3473         https://bugs.webkit.org/show_bug.cgi?id=45195
3474
3475         the patch is not matched with general publish/subscribe scheme
3476         implemented in the Inspector API (Requested by loislo on
3477         #webkit).
3478
3479         * inspector/CodeGeneratorInspector.pm:
3480         * inspector/Inspector.idl:
3481         * inspector/InspectorDOMAgent.cpp:
3482         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3483         (WebCore::InspectorDOMAgent::getChildNodes):
3484         * inspector/InspectorDOMAgent.h:
3485         * inspector/front-end/DOMAgent.js:
3486         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
3487         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3488         * inspector/front-end/WorkersSidebarPane.js:
3489         (WebInspector.WorkersSidebarPane.prototype.reset):
3490
3491 2010-09-03  James Robinson  <jamesr@chromium.org>
3492
3493         [chromium] Compile fixes for 66746
3494
3495         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3496         (WebCore::SharedGraphicsContext3D::texImage2D):
3497         (WebCore::SharedGraphicsContext3D::texSubImage2D):
3498
3499 2010-09-03  Chris Rogers  <crogers@google.com>
3500
3501         Reviewed by Kenneth Russell.
3502
3503         Add AudioParam files
3504         https://bugs.webkit.org/show_bug.cgi?id=44995
3505
3506         No new tests since audio API is not yet implemented.
3507
3508         * webaudio: Added.
3509         * webaudio/AudioParam.h: Added.
3510         (WebCore::AudioParam::create):
3511         (WebCore::AudioParam::AudioParam):
3512         (WebCore::AudioParam::value):
3513         (WebCore::AudioParam::setValue):
3514         (WebCore::AudioParam::name):
3515         (WebCore::AudioParam::minValue):
3516         (WebCore::AudioParam::maxValue):
3517         (WebCore::AudioParam::defaultValue):
3518         (WebCore::AudioParam::units):
3519         (WebCore::AudioParam::smoothedValue):
3520         (WebCore::AudioParam::smooth):
3521         (WebCore::AudioParam::resetSmoothedValue):
3522         (WebCore::AudioParam::setSmoothingConstant):
3523         * webaudio/AudioParam.idl: Added.
3524
3525 2010-09-03  Chris Rogers  <crogers@google.com>
3526
3527         Reviewed by Kenneth Russell.
3528
3529         audio engine: add AudioChannel files
3530         https://bugs.webkit.org/show_bug.cgi?id=44921
3531
3532         No new tests since audio API is not yet implemented.
3533
3534         * platform/audio/AudioChannel.cpp: Added.
3535         (WebCore::AudioChannel::scale):
3536         (WebCore::AudioChannel::copyFrom):
3537         (WebCore::AudioChannel::copyFromRange):
3538         (WebCore::AudioChannel::sumFrom):
3539         (WebCore::AudioChannel::maxAbsValue):
3540         * platform/audio/AudioChannel.h: Added.
3541         (WebCore::AudioChannel::AudioChannel):
3542         (WebCore::AudioChannel::set):
3543         (WebCore::AudioChannel::length):
3544         (WebCore::AudioChannel::data):
3545         (WebCore::AudioChannel::zero):
3546
3547 2010-09-03  Patrick Gansterer  <paroga@paroga.com>
3548
3549         Reviewed by Adam Roben.
3550
3551         [WINCE] Remove usage of ce_textcodecs.h
3552         https://bugs.webkit.org/show_bug.cgi?id=45169
3553
3554         ce_textcodecs.h was a non public header for (not required)
3555         additonal codecs in the original Torch Mobile port.
3556
3557         * platform/text/wince/TextCodecWinCE.cpp:
3558         (WebCore::LanguageManager::LanguageManager):
3559         (WebCore::decode):
3560
3561 2010-09-03  Chris Rogers  <crogers@google.com>
3562
3563         Reviewed by Kenneth Russell.
3564
3565         Initial patch for audio engine: AudioBus and helper classes
3566         https://bugs.webkit.org/show_bug.cgi?id=34452
3567
3568         No new tests since audio API is not yet implemented.
3569
3570         * platform/audio/AudioBus.cpp: Added.
3571         (WebCore::AudioBus::AudioBus):
3572