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