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