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