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