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