Fix layout test regressions from r94352.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-01  Dan Bernstein  <mitz@apple.com>
2
3         Fix layout test regressions from r94352.
4
5         Reviewed by Anders Carlsson.
6
7         * platform/graphics/mac/FontCacheMac.mm:
8         (WebCore::FontCache::getFontDataForCharacters): In the custom font case (that is, when there is
9         not base NSFont) always get and use the best variation.
10
11 2011-09-01  Ryosuke Niwa  <rniwa@webkit.org>
12
13         Revert r94355 because it caused bunch of builds to break.
14
15         * page/DOMWindow.idl:
16
17 2011-09-01  Mark Rowe  <mrowe@apple.com>
18
19         <rdar://problem/10063411> WebScriptObject.h declares an Objective-C method without a return type.
20
21         Rubber-stamped by Anders Carlsson.
22
23         * bridge/objc/WebScriptObject.h:
24
25 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
26
27         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
28         https://bugs.webkit.org/show_bug.cgi?id=67174
29
30         Reviewed by Oliver Hunt.
31
32         No new tests.
33
34         Completed the fourth level of the refactoring to add finishCreation() 
35         methods to all classes within the JSCell hierarchy with non-trivial 
36         constructor bodies.
37
38         This primarily consists of pushing the calls to finishCreation() down 
39         into the constructors of the subclasses of the second level of the hierarchy 
40         as well as pulling the finishCreation() calls out into the class's corresponding
41         create() method if it has one.  Doing both simultaneously allows us to 
42         maintain the invariant that the finishCreation() method chain is called exactly 
43         once during the creation of an object, since calling it any other number of 
44         times (0, 2, or more) will cause an assertion failure.
45
46         * bindings/js/JSDOMWindowShell.cpp:
47         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
48         (WebCore::JSDOMWindowShell::create):
49         * bindings/js/JSDOMWindowShell.h:
50         * bindings/js/JSDOMWrapper.h:
51         (WebCore::JSDOMWrapper::JSDOMWrapper):
52         * bindings/js/ScriptController.cpp:
53         (WebCore::ScriptController::createWindowShell):
54         * bindings/scripts/CodeGeneratorJS.pm:
55         (GenerateHeader):
56         * bindings/scripts/test/JS/JSTestInterface.h:
57         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
58         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
59         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
60         * bindings/scripts/test/JS/JSTestObj.h:
61         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
62         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
63         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
64         * bridge/objc/objc_runtime.h:
65         * bridge/objc/objc_runtime.mm:
66         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
67         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
68         * bridge/runtime_array.cpp:
69         (JSC::RuntimeArray::RuntimeArray):
70         (JSC::RuntimeArray::finishCreation):
71         * bridge/runtime_array.h:
72         * bridge/runtime_object.cpp:
73         (JSC::Bindings::RuntimeObject::RuntimeObject):
74         (JSC::Bindings::RuntimeObject::finishCreation):
75         * bridge/runtime_object.h:
76
77 2011-08-31  Adrienne Walker  <enne@google.com>
78
79         [chromium] Remove unsafe raw GraphicsContext3D pointer from ProgramBinding
80         https://bugs.webkit.org/show_bug.cgi?id=67003
81
82         Reviewed by James Robinson.
83
84         ProgramBinding now takes an explicit cleanup call to destroy its
85         resources. This will assert if it is not called and will leak no
86         longer potentially dereference a dead pointer.
87
88         * platform/graphics/chromium/LayerRendererChromium.cpp:
89         (WebCore::LayerRendererChromium::borderProgram):
90         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
91         (WebCore::LayerRendererChromium::renderSurfaceProgram):
92         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
93         (WebCore::LayerRendererChromium::tilerProgram):
94         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
95         (WebCore::LayerRendererChromium::tilerProgramAA):
96         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
97         (WebCore::LayerRendererChromium::canvasLayerProgram):
98         (WebCore::LayerRendererChromium::pluginLayerProgram):
99         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
100         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
101         (WebCore::LayerRendererChromium::cleanupSharedObjects):
102         * platform/graphics/chromium/ProgramBinding.cpp:
103         (WebCore::ProgramBindingBase::ProgramBindingBase):
104         (WebCore::ProgramBindingBase::~ProgramBindingBase):
105         (WebCore::ProgramBindingBase::init):
106         (WebCore::ProgramBindingBase::cleanup):
107         (WebCore::ProgramBindingBase::loadShader):
108         (WebCore::ProgramBindingBase::createShaderProgram):
109         * platform/graphics/chromium/ProgramBinding.h:
110         (WebCore::ProgramBinding::ProgramBinding):
111         (WebCore::ProgramBinding::initialize):
112
113 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
114
115         Don't include unnecessary headers in V8 bindings
116         https://bugs.webkit.org/show_bug.cgi?id=67435
117
118         Reviewed by Darin Adler.
119
120         When an IDL attribue is Conditonal the corresponding headers
121         need to be surrounded with the correct #if ENABLE().
122
123         * bindings/scripts/CodeGeneratorV8.pm:
124         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
125         * bindings/scripts/test/CPP/WebDOMTestObj.h:
126         * bindings/scripts/test/JS/JSTestObj.cpp:
127         * bindings/scripts/test/JS/JSTestObj.h:
128         * bindings/scripts/test/ObjC/DOMTestObj.h:
129         * bindings/scripts/test/ObjC/DOMTestObj.mm:
130         * bindings/scripts/test/TestObj.idl:
131         * bindings/scripts/test/V8/V8TestObj.cpp:
132
133 2011-09-01  Pratik Solanki  <psolanki@apple.com>
134
135         Rename CFNETWORK_DATA_ARRAY_CALLBACK to NETWORK_CFDATA_ARRAY_CALLBACK
136         https://bugs.webkit.org/show_bug.cgi?id=67348
137
138         Reviewed by Alexey Proskuryakov.
139
140         * loader/ResourceLoader.h:
141         * loader/SubresourceLoader.h:
142         * loader/cf/SubresourceLoaderCF.cpp:
143         * loader/mac/ResourceLoaderMac.mm:
144         * platform/SharedBuffer.cpp:
145         (WebCore::SharedBuffer::clear):
146         (WebCore::SharedBuffer::buffer):
147         * platform/SharedBuffer.h:
148         * platform/cf/SharedBufferCF.cpp:
149         * platform/network/ResourceHandle.h:
150         * platform/network/ResourceHandleClient.h:
151         * platform/network/cf/ResourceHandleCFNet.cpp:
152         (WebCore::ResourceHandle::createCFURLConnection):
153         * platform/network/mac/ResourceHandleMac.mm:
154
155 2011-09-01  Kentaro Hara  <haraken@google.com>
156
157         TypeError should be thrown when a constructor is called as a normal function.
158         https://bugs.webkit.org/show_bug.cgi?id=67381
159
160         Reviewed by Darin Adler.
161
162         The spec is here: http://www.w3.org/TR/WebIDL/#es-interface-call
163         For example, "Image()" or "XMLHttpRequest()" should throw TypeError.
164
165         Test: fast/dom/call-a-constructor-as-a-function.html
166
167         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
168         (WebCore::V8ArrayBuffer::constructorCallback): Throws TypeError if args.IsConstructCall() is false.
169         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
170         (WebCore::constructWebGLArray): Ditto.
171         * bindings/v8/custom/V8AudioContextCustom.cpp:
172         (WebCore::V8AudioContext::constructorCallback): Ditto.
173         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
174         (WebCore::V8DOMFormData::constructorCallback): Ditto.
175         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
176         (WebCore::v8HTMLAudioElementConstructorCallback): Ditto.
177         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
178         (WebCore::v8HTMLImageElementConstructorCallback): Ditto.
179         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
180         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
181         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
182         (WebCore::V8MessageChannel::constructorCallback): Ditto.
183         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
184         (WebCore::V8SharedWorker::constructorCallback): Ditto.
185         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
186         (WebCore::V8WebKitCSSMatrix::constructorCallback): Ditto.
187         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
188         (WebCore::V8WebKitPoint::constructorCallback): Ditto.
189         * bindings/v8/custom/V8WebSocketCustom.cpp:
190         (WebCore::V8WebSocket::constructorCallback): Ditto.
191         * bindings/v8/custom/V8WorkerCustom.cpp:
192         (WebCore::V8Worker::constructorCallback): Ditto.
193
194 2011-08-31  Adrienne Walker  <enne@google.com>
195
196         [chromium] TextureManager overestimates the size of non-RGBA texture formats
197         https://bugs.webkit.org/show_bug.cgi?id=66917
198
199         Reviewed by James Robinson.
200
201         Use GraphicsContext3D to determine the size of a given texture format.
202         Also, make TextureManager use more GraphicsContext3D types.
203
204         * platform/graphics/GraphicsContext3D.h:
205         * platform/graphics/chromium/TextureManager.cpp:
206         (WebCore::memoryUseBytes):
207         * platform/graphics/chromium/TextureManager.h:
208
209 2011-09-01  Sam Weinig  <sam@webkit.org>
210
211         Add missing Event constructors to DOMWindow.idl
212         https://bugs.webkit.org/show_bug.cgi?id=67449
213
214         Reviewed by Anders Carlsson.
215
216         Covered by existing tests.
217
218         * page/DOMWindow.idl:
219
220 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
221
222         Consider Conditional attribute in CodeGenerator for methods
223         https://bugs.webkit.org/show_bug.cgi?id=67409
224
225         Reviewed by Darin Adler.
226
227         This change adds appropriate #if ENABLE() lines for the preprocessor around the
228         generated functions depending on the Conditional attribute in the IDL file.
229
230         * bindings/scripts/CodeGeneratorCPP.pm:
231         (GenerateImplementation):
232         * bindings/scripts/CodeGeneratorJS.pm:
233         (GenerateImplementation):
234         * bindings/scripts/CodeGeneratorObjC.pm:
235         (GenerateImplementation):
236         * bindings/scripts/CodeGeneratorV8.pm:
237         (GenerateImplementation):
238         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
239         * bindings/scripts/test/CPP/WebDOMTestObj.h:
240         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
241         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
242         * bindings/scripts/test/JS/JSTestObj.cpp:
243         * bindings/scripts/test/JS/JSTestObj.h:
244         * bindings/scripts/test/ObjC/DOMTestObj.h:
245         * bindings/scripts/test/ObjC/DOMTestObj.mm:
246         * bindings/scripts/test/TestObj.idl:
247         * bindings/scripts/test/V8/V8TestObj.cpp:
248
249 2011-08-29  Nat Duca  <nduca@chromium.org>
250
251         [chromium] Introduce CCSingleThreadProxy in order to move LayerRenderer to CCLayerTreeHostImpl
252         https://bugs.webkit.org/show_bug.cgi?id=66807
253
254         Reviewed by James Robinson.
255
256         * WebCore.gypi:
257         * platform/graphics/chromium/ContentLayerChromium.cpp:
258         (WebCore::ContentLayerChromium::createTextureUpdater):
259         * platform/graphics/chromium/ImageLayerChromium.cpp:
260         (WebCore::ImageLayerChromium::createTextureUpdater):
261         * platform/graphics/chromium/LayerChromium.cpp:
262         (WebCore::LayerChromium::setLayerRendererRecursive):
263         * platform/graphics/chromium/LayerChromium.h:
264         * platform/graphics/chromium/LayerRendererChromium.cpp:
265         (WebCore::LayerRendererChromium::create):
266         (WebCore::LayerRendererChromium::LayerRendererChromium):
267         (WebCore::LayerRendererChromium::initialize):
268         (WebCore::LayerRendererChromium::close):
269         (WebCore::LayerRendererChromium::updateLayers):
270         (WebCore::LayerRendererChromium::drawLayers):
271         (WebCore::LayerRendererChromium::drawLayersInternal):
272         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
273         (WebCore::LayerRendererChromium::isContextLost):
274         * platform/graphics/chromium/LayerRendererChromium.h:
275         (WebCore::LayerRendererChromium::capabilities):
276         (WebCore::LayerRendererChromium::rootLayerImpl):
277         (WebCore::LayerRendererChromium::contextSupportsMapSub):
278         (WebCore::LayerRendererChromium::viewportSize):
279         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
280         * platform/graphics/chromium/TiledLayerChromium.cpp:
281         (WebCore::TiledLayerChromium::setLayerTreeHost):
282         * platform/graphics/chromium/VideoLayerChromium.cpp:
283         (WebCore::VideoLayerChromium::reserveTextures):
284         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
285         (WebCore::CCCanvasLayerImpl::draw):
286         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
287         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
288         (WebCore::CCLayerTreeHost::initialize):
289         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
290         (WebCore::CCLayerTreeHost::animateAndLayout):
291         (WebCore::CCLayerTreeHost::preCommit):
292         (WebCore::CCLayerTreeHost::commitTo):
293         (WebCore::CCLayerTreeHost::createCompositorThread):
294         (WebCore::CCLayerTreeHost::createLayerTreeHostContext3D):
295         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
296         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
297         (WebCore::CCLayerTreeHost::scheduleComposite):
298         (WebCore::CCLayerTreeHost::context):
299         (WebCore::CCLayerTreeHost::compositeAndReadback):
300         (WebCore::CCLayerTreeHost::finishAllRendering):
301         (WebCore::CCLayerTreeHost::layerRendererCapabilities):
302         (WebCore::CCLayerTreeHost::setRootLayer):
303         (WebCore::CCLayerTreeHost::skiaContext):
304         (WebCore::CCLayerTreeHost::setViewport):
305         (WebCore::CCLayerTreeHost::setVisible):
306         (WebCore::CCLayerTreeHost::loseCompositorContext):
307         (WebCore::CCLayerTreeHost::contentsTextureManager):
308         (WebCore::CCLayerTreeHost::composite):
309         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
310         (WebCore::CCSettings::CCSettings):
311         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
312         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
313         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
314         (WebCore::CCLayerTreeHostImpl::create):
315         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
316         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
317         (WebCore::CCLayerTreeHostImpl::commitComplete):
318         (WebCore::CCLayerTreeHostImpl::context):
319         (WebCore::CCLayerTreeHostImpl::drawLayers):
320         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
321         (WebCore::CCLayerTreeHostImpl::isContextLost):
322         (WebCore::CCLayerTreeHostImpl::layerRendererCapabilities):
323         (WebCore::CCLayerTreeHostImpl::present):
324         (WebCore::CCLayerTreeHostImpl::readback):
325         (WebCore::CCLayerTreeHostImpl::setRootLayer):
326         (WebCore::CCLayerTreeHostImpl::setVisible):
327         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
328         (WebCore::CCLayerTreeHostImpl::updateLayers):
329         (WebCore::CCLayerTreeHostImpl::setViewport):
330         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
331         (WebCore::CCLayerTreeHostImpl::layerRenderer):
332         (WebCore::CCLayerTreeHostImpl::rootLayer):
333         (WebCore::CCLayerTreeHostImpl::viewportSize):
334         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
335         * platform/graphics/chromium/cc/CCMainThreadTask.h:
336         (WebCore::MainThreadTask4::create):
337         (WebCore::MainThreadTask4::MainThreadTask4):
338         (WebCore::MainThreadTask4::performTask):
339         (WebCore::MainThreadTask5::create):
340         (WebCore::MainThreadTask5::MainThreadTask5):
341         (WebCore::MainThreadTask5::performTask):
342         (WebCore::createMainThreadTask):
343         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
344         (WebCore::CCPluginLayerImpl::draw):
345         * platform/graphics/chromium/cc/CCProxy.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp.
346         (WebCore::CCProxy::isMainThread):
347         (WebCore::CCProxy::isImplThread):
348         (WebCore::CCProxy::setImplThread):
349         * platform/graphics/chromium/cc/CCProxy.h: Added.
350         (WebCore::CCProxy::~CCProxy):
351         (WebCore::CCProxy::CCProxy):
352         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Added.
353         (WebCore::ScopedSetImplThread::ScopedSetImplThread):
354         (WebCore::ScopedSetImplThread::~ScopedSetImplThread):
355         (WebCore::CCSingleThreadProxy::create):
356         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
357         (WebCore::CCSingleThreadProxy::start):
358         (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
359         (WebCore::CCSingleThreadProxy::compositeAndReadback):
360         (WebCore::CCSingleThreadProxy::context):
361         (WebCore::CCSingleThreadProxy::finishAllRendering):
362         (WebCore::CCSingleThreadProxy::isStarted):
363         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
364         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
365         (WebCore::CCSingleThreadProxy::loseCompositorContext):
366         (WebCore::CCSingleThreadProxy::setNeedsCommitAndRedraw):
367         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
368         (WebCore::CCSingleThreadProxy::stop):
369         (WebCore::CCSingleThreadProxy::skiaContext):
370         (WebCore::CCSingleThreadProxy::contentsTextureManager):
371         (WebCore::CCSingleThreadProxy::compositeImmediately):
372         (WebCore::CCSingleThreadProxy::compositeIfNeeded):
373         (WebCore::CCSingleThreadProxy::doComposite):
374         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
375         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Added.
376         (WebCore::CCThreadProxy::create):
377         (WebCore::CCThreadProxy::CCThreadProxy):
378         (WebCore::CCThreadProxy::~CCThreadProxy):
379         (WebCore::CCThreadProxy::compositeAndReadback):
380         (WebCore::CCThreadProxy::context):
381         (WebCore::CCThreadProxy::finishAllRendering):
382         (WebCore::CCThreadProxy::isStarted):
383         (WebCore::CCThreadProxy::initializeLayerRenderer):
384         (WebCore::CCThreadProxy::layerRendererCapabilities):
385         (WebCore::CCThreadProxy::loseCompositorContext):
386         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
387         (WebCore::CCThreadProxy::setNeedsRedraw):
388         (WebCore::CCThreadProxy::start):
389         (WebCore::CCThreadProxy::stop):
390         (WebCore::CCThreadProxy::skiaContext):
391         (WebCore::CCThreadProxy::contentsTextureManager):
392         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
393         (WebCore::CCThreadProxy::beginFrameAndCommit):
394         (WebCore::CCThreadProxy::commitOnCCThread):
395         (WebCore::CCThreadProxy::drawLayersOnCCThread):
396         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
397         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
398         (WebCore::CCThreadProxy::initializeImplOnCCThread):
399         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
400         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
401         * platform/graphics/chromium/cc/CCThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
402         * platform/graphics/chromium/cc/CCThreadTask.h:
403         (WebCore::CCThreadTask5::create):
404         (WebCore::CCThreadTask5::CCThreadTask5):
405         (WebCore::CCThreadTask5::performTask):
406         (WebCore::createCCThreadTask):
407         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
408         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
409         (WebCore::CCVideoLayerImpl::draw):
410
411 2011-09-01  Dan Bernstein  <mitz@apple.com>
412
413         <rdar://problem/9528843> STIX glyphs not rendered on this stackoverflow answer
414         https://bugs.webkit.org/show_bug.cgi?id=67444
415
416         Reviewed by Darin Adler.
417
418         Test: fast/text/fallback-traits-fixup.html
419
420         After obtaining STIX Regular as a fallback font for some characters, getFontDataForCharacters()
421         proceeded to ask for a font from the same family having the desired traits and weight (because
422         wkGetFontInLanguageForRange() does not preserve traits and weight). The returned font was different
423         and happened to not contain the desired character.
424
425         * platform/graphics/mac/FontCacheMac.mm:
426         (WebCore::FontCache::getFontDataForCharacters): Only ask for a family member with the desired
427         traits and weight if the substitute font does not already have them, and only use the returned
428         member if it actually contains the desired character.
429
430 2011-09-01  Kentaro Hara  <haraken@google.com>
431
432         Generate an XSLTProcessor constructor of V8 using the IDL 'Constructor' extended attribute
433         https://bugs.webkit.org/show_bug.cgi?id=67414
434
435         Reviewed by Dimitri Glazkov.
436
437         Test: fast/dom/Window/custom-constructors.html
438               fast/xsl/default-html.html
439
440         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Removed constructorCallback().
441         * xml/XSLTProcessor.idl: Added the 'Constructor' extended attribute.
442
443 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
444
445         HTMLMediaElement should use fastHasAttribute instead of hasAttribute
446         https://bugs.webkit.org/show_bug.cgi?id=67421
447
448         Reviewed by Simon Fraser.
449
450         Use fastHasAttribute instead of hasAttribute because it is faster, and HTMLMediaElement
451         doesn't ever need to check style or SVG animated attributes.
452
453         No new tests required, this is just an optimization.
454
455         * html/HTMLMediaElement.cpp:
456         (WebCore::HTMLMediaElement::selectMediaResource): hasAttribute -> fastHasAttribute.
457         (WebCore::HTMLMediaElement::loadResource): Ditto.
458         (WebCore::HTMLMediaElement::autoplay): Ditto.
459         (WebCore::HTMLMediaElement::loop): Ditto.
460         (WebCore::HTMLMediaElement::controls): Ditto.
461         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
462         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
463
464 2011-09-01  Dominic Mazzoni  <dmazzoni@google.com>
465
466         Add API functions to enable starting and stopping speech input,
467         and checking the current speech input state.
468         https://bugs.webkit.org/show_bug.cgi?id=60170
469
470         Reviewed by Dimitri Glazkov.
471
472         Test: fast/speech/input-text-speechstart.html
473
474         * html/shadow/TextControlInnerElements.cpp:
475         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
476         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
477         (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
478         * html/shadow/TextControlInnerElements.h:
479         * rendering/RenderTextControlSingleLine.cpp:
480         (WebCore::RenderTextControlSingleLine::speechButtonElement):
481         * rendering/RenderTextControlSingleLine.h:
482
483 2011-09-01  Tim Horton  <timothy_horton@apple.com>
484
485         REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape
486         https://bugs.webkit.org/show_bug.cgi?id=53055
487         <rdar://problem/8910917>
488
489         Reviewed by Simon Fraser.
490
491         Make use of wkCGPatternCreateWithImageAndTransform
492         when tiling patterns in both directions. This helps to avoid
493         pixel-cracking along pattern tiling boundaries.
494
495         Ignore 2D rotation when computing the size of a pattern's tile image,
496         as it artificially inflates the size of the tile, which can cause
497         pixel-cracking.
498
499         Test: svg/custom/pattern-rotate-gaps.svg
500
501         * platform/graphics/cg/PatternCG.cpp:
502         (WebCore::Pattern::createPlatformPattern):
503         * rendering/svg/RenderSVGResourcePattern.cpp:
504         * rendering/svg/SVGImageBufferTools.cpp:
505         (WebCore::SVGImageBufferTools::roundedImageBufferSize):
506         * rendering/svg/SVGImageBufferTools.h:
507
508 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
509
510         Unreviewed, rolling out r94284.
511         http://trac.webkit.org/changeset/94284
512         https://bugs.webkit.org/show_bug.cgi?id=65050
513
514         Broke building without SVG enabled on Chromium.
515
516         * page/DOMWindow.idl:
517
518 2011-09-01  Alexey Proskuryakov  <ap@apple.com>
519
520         REGRESSION (r93247): 2 http/tests/misc tests failing on SnowLeopard Intel Release (Tests)
521         https://bugs.webkit.org/show_bug.cgi?id=67374
522
523         Reviewed by Simon Fraser.
524
525         * platform/network/cf/ResourceHandleCFNet.cpp:
526         (WebCore::applyBasicAuthorizationHeader):
527         * platform/network/mac/ResourceHandleMac.mm:
528         (WebCore::applyBasicAuthorizationHeader):
529         Some versions of CFNetwork carry along an Authorization header, some don't. We shouldn't
530         repeat its value twice, this is not one of those headers that allow comma separated lists
531         of values.
532
533 2011-09-01  Noel Gordon  <noel.gordon@gmail.com>
534
535         [chromium] Move ImageBuffer::platformLayer()
536         https://bugs.webkit.org/show_bug.cgi?id=67372
537
538         Reviewed by Kenneth Russell.
539
540         No new tests: refactoring only, covered by existting tests.
541
542         * platform/graphics/skia/ImageBufferSkia.cpp:
543         (WebCore::ImageBuffer::platformLayer):  Move it away from the toDataURL code.
544
545 2011-09-01  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
546
547         Focus ring is rendered incorrectly for a block with -webkit-writing-mode
548         https://bugs.webkit.org/show_bug.cgi?id=62915
549
550         Reviewed by Simon Fraser.
551
552         RenderBlock::addFocusRingRects() should consider physical box position and
553         dimension instead of logical values for focus ring rects calculation.
554
555         Test: fast/css/focus-ring-multiline-writingmode-vertical.html
556
557         * rendering/RenderBlock.cpp:
558         (WebCore::RenderBlock::addFocusRingRects):
559
560 2011-09-01  Philippe Normand  <pnormand@igalia.com>
561
562         Unreviewed, GTK build fix after r94299.
563
564         * GNUmakefile.list.am:
565
566 2011-09-01  Brian Salomon  <bsalomon@google.com>
567
568         [Chromium/Skia] Use GraphicsContext3D::grContext() to create GrContext for accelerated drawing
569         https://bugs.webkit.org/show_bug.cgi?id=67419
570
571         Reviewed by James Robinson.
572
573         Accelerated drawing is not enabled in layout tests. However, once it is this change will be tested by every test.
574
575         * platform/graphics/chromium/ContentLayerChromium.cpp:
576         (WebCore::ContentLayerChromium::createTextureUpdater):
577         * platform/graphics/chromium/LayerRendererChromium.cpp:
578         (WebCore::contextSupportsAcceleratedPainting):
579         (WebCore::LayerRendererChromium::initialize):
580         * platform/graphics/chromium/LayerRendererChromium.h:
581         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
582         (WebCore::LayerTextureUpdaterSkPicture::create):
583         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
584         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
585         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
586         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
587
588 2011-09-01  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
589
590         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
591         https://bugs.webkit.org/show_bug.cgi?id=67172
592
593         Build fix, completing rename for GTK file.
594
595         Reviewed by Chris Marrin.
596
597         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.cpp.
598         (sharedDisplay):
599         (WebCore::activeGraphicsContexts):
600         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
601         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
602         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
603         (WebCore::GraphicsContext3DPrivate::create):
604         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
605         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
606         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
607         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
608         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
609
610 2011-09-01  Simon Fraser  <simon.fraser@apple.com>
611
612         REGRESSION (r94259): Two tests doing hit testing were broken by this change.
613         https://bugs.webkit.org/show_bug.cgi?id=67353
614
615         Reviewed by Chris Marrin.
616
617         Fix a regression from r94259; that change missed a fix in RenderView,
618         which affects coordinate transforms in position:fixed elements.
619         
620         This fixes these tests:
621             fast/events/document-elementFromPoint.html
622             fast/events/offsetX-offsetY.html
623             plugins/mouse-events-fixedpos.html
624
625         * rendering/RenderView.cpp:
626         (WebCore::RenderView::mapAbsoluteToLocalPoint):
627
628 2011-09-01  Tony Gentilcore  <tonyg@chromium.org>
629
630         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
631         https://bugs.webkit.org/show_bug.cgi?id=66673
632
633         Reviewed by James Robinson.
634
635         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
636         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
637
638         No new tests because no directly observable change in behavior.
639
640         * platform/graphics/chromium/FontCacheLinux.cpp:
641         (WebCore::FontCache::getFontDataForCharacters):
642
643 2011-08-31  Mikhail Naganov  <mnaganov@chromium.org>
644
645         Web Inspector: [Chromium] Perform a more effective JS GC
646         https://bugs.webkit.org/show_bug.cgi?id=67304
647
648         Reviewed by Pavel Feldman.
649
650         * bindings/v8/ScriptProfiler.cpp:
651         (WebCore::ScriptProfiler::collectGarbage):
652
653 2011-09-01  Sam Weinig  <sam@webkit.org>
654
655         WebGLContextEvent should have its own JS wrapper
656         https://bugs.webkit.org/show_bug.cgi?id=67352
657
658         Reviewed by Anders Carlsson.
659
660         The WebGLContextEvent was missing a proper JS wrapper, and thus
661         anyone using one in an EventListener was actually just getting
662         a plain old Event. Rectify this by generating the wrapper and 
663         wrapping it on creating.
664
665         Test: fast/canvas/webgl/WebGLContextEvent.html
666
667         * CodeGenerators.pri:
668         Add WebGLContextEvent.idl
669
670         * DerivedSources.make:
671         Add WebGLContextEvent and sort.
672
673         * WebCore.xcodeproj/project.pbxproj:
674         Add generated JSWebGLContextEvent.h/cpp.
675
676         * bindings/js/JSEventCustom.cpp:
677         (WebCore::toJS):
678         Wrap WebGLContextEvents as JSWebGLContextEvents.
679
680         * dom/Event.cpp:
681         (WebCore::Event::isWebGLContextEvent):
682         * dom/Event.h:
683         * html/canvas/WebGLContextEvent.cpp:
684         (WebCore::WebGLContextEvent::isWebGLContextEvent):
685         * html/canvas/WebGLContextEvent.h:
686         Add predicate for WebGLContextEvent.
687
688 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
689
690         Add 'muted' content attribute to HTMLMediaElement
691         https://bugs.webkit.org/show_bug.cgi?id=58369
692
693         Reviewed by Darin Adler.
694
695         Test: media/video-defaultmuted.html
696
697         * html/HTMLAttributeNames.in: Add muted.
698         * html/HTMLMediaElement.cpp:
699         (WebCore::HTMLMediaElement::loadResource): Deal with the 'muted' attribute.
700         * html/HTMLMediaElement.idl: Add defaultMuted.
701
702 2011-09-01  Tim Horton  <timothy_horton@apple.com>
703
704         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
705         https://bugs.webkit.org/show_bug.cgi?id=53055
706         <rdar://problem/8910917>
707
708         Reviewed by Simon Fraser.
709
710         Introduce wkCGPatternCreateWithImageAndTransform.
711
712         * WebCore.exp.in:
713         * platform/mac/WebCoreSystemInterface.h:
714         * platform/mac/WebCoreSystemInterface.mm:
715
716 2011-08-30  Adrienne Walker  <enne@google.com>
717
718         [chromium] Fix scissor rects on clipped nested iframes
719         https://bugs.webkit.org/show_bug.cgi?id=67221
720
721         Reviewed by James Robinson.
722
723         Layers that mask to bounds (like iframes) weren't being properly
724         clipped if their parent scissor rect was empty. This case happens
725         when a parent iframe is clipped. Fixed by propagating the empty
726         scissor rect to child layers rather than ignoring it.
727
728         Test: compositing/iframes/nested-composited-iframe.html
729
730         * platform/graphics/chromium/LayerRendererChromium.cpp:
731
732 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
733
734         Web Inspector: close dedicated worker inspectors when page inspector is closing
735         https://bugs.webkit.org/show_bug.cgi?id=67366
736
737         Close all dedicated worker inspector windows when page inspector is closing.
738
739         Reviewed by Pavel Feldman.
740
741         * inspector/front-end/WorkerManager.js:
742         (WebInspector.WorkerManager.prototype._openInspectorWindow):
743         (WebInspector.WorkerManager.prototype._pageInspectorClosing):
744         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
745         * inspector/front-end/inspector.js:
746         (WebInspector.close):
747
748 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
749
750         [Chromium] Web Inspector: dedicated worker inspection is broken
751         https://bugs.webkit.org/show_bug.cgi?id=67279
752
753         Provide transport for inspector messages between Page and DedicatedWorker inspectors
754         in case of in-process workers.
755
756         Reviewed by Pavel Feldman.
757
758         * inspector/CodeGeneratorInspector.pm: sendMessageObjectToBackend should accept message
759         object which is ready for sending to backend. This method is overriden in WorkerManager
760         for dedicated workers and we don't want to replicate request id assignment there.
761         * workers/WorkerMessagingProxy.cpp:
762         (WebCore::PostMessageToPageInspectorTask::create):
763         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
764         (WebCore::PostMessageToPageInspectorTask::performTask):
765         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
766         (WebCore::connectToWorkerContextInspectorTask):
767         (WebCore::WorkerMessagingProxy::connectToInspector):
768         (WebCore::disconnectFromWorkerContextInspectorTask):
769         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
770         (WebCore::dispatchOnInspectorBackendTask):
771         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
772         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
773         * workers/WorkerMessagingProxy.h:
774
775 2011-09-01  Csaba Osztrogonác  <ossy@webkit.org>
776
777         [CSS3 Backgrounds and Borders] Implement border-image-slice
778         https://bugs.webkit.org/show_bug.cgi?id=67321
779
780         * WebCore.pro: Unreviewed buildfix after Dave "scattered" Hyatt (r94299).
781
782 2011-09-01  Ned Holbrook  <nholbrook@apple.com>
783
784         Typesetting features need not force complex for single-character runs
785         https://bugs.webkit.org/show_bug.cgi?id=66498
786
787         Typesetting features have no effect on a solitary character, so they shouldn't enable complex layout
788         unless multiple characters are present.
789
790         Reviewed by Dan Bernstein.
791
792         No new tests, this is merely a performance optimization.
793
794         * platform/graphics/Font.cpp:
795         (WebCore::Font::codePath): typesettingFeatures() only forces Complex for multiple-character runs.
796
797 2011-08-31  Jeff Miller  <jeffm@apple.com>
798
799         Defer creating AVPlayer and AVPlayerItem in MediaPlayerPrivateAVFoundation::setPreload()
800         https://bugs.webkit.org/show_bug.cgi?id=66253
801
802         Reviewed by Jon Honeycutt.
803
804         No new tests, should be covered by existing media tests.
805
806         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
807         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Use the same code on Mac and Windows to only create the AVPlayer and AVPlayerItem when needed.
808
809         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
810         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Assign any existing AVPlayerItem to the new AVPlayer.
811         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Allow creation of the AVPlayerItem before the AVPlayer.
812
813 2011-08-31  David Hyatt  <hyatt@apple.com>
814
815         https://bugs.webkit.org/show_bug.cgi?id=67321
816
817         Implement border-image-slice. This will eventually be a component of the new border-image shorthand
818         property. It holds the cuts that you make into the border image along with a new optional "fill"
819         keyword that indicates whether or not the center should be filled with the middle slice of the image.
820         
821         By default -webkit-border-image has always filled, but this does not match the specification. To preserve
822         backwards compatibility, -webkit-border-image will continue to fill by default, but this does slightly affect
823         computed style results, since the "fill" keyword will now be included in property dumps.
824
825         Reviewed by Beth Dakin.
826
827         Added fast/borders/border-image-slices.html.
828
829         * CMakeLists.txt:
830         * WebCore.gypi:
831         * WebCore.pro:
832         * WebCore.vcproj/WebCore.vcproj:
833         * WebCore.xcodeproj/project.pbxproj:
834         * css/CSSBorderImageSliceValue.cpp: Added.
835         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
836         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
837         (WebCore::CSSBorderImageSliceValue::cssText):
838         * css/CSSBorderImageSliceValue.h: Added.
839         (WebCore::CSSBorderImageSliceValue::create):
840         (WebCore::CSSBorderImageSliceValue::isBorderImageSliceValue):
841         Add a new CSSBorderImageSliceValue that holds both the four slices (as a CSS rect) and the
842         fill keyword (as a boolean). Note that the cssText() dumping of the slices has been refined
843         to be smarter, and it will no longer dump repeating values.
844
845         * css/CSSBorderImageValue.cpp:
846         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
847         (WebCore::CSSBorderImageValue::cssText):
848         * css/CSSBorderImageValue.h:
849         (WebCore::CSSBorderImageValue::create):
850         CSSBorderImageValue now owns a CSSBorderImageSliceValue instead of just a CSS rect.
851
852         * css/CSSComputedStyleDeclaration.cpp:
853         (WebCore::valueForNinePieceImageSlice):
854         (WebCore::valueForNinePieceImage):
855         Add a new method, valueForNinePieceImageSlice, for getting the slices plus the fill value
856         from the NinePieceImage and putting it into a CSSBorderImageSliceValue. This method is now used by
857         valueForNinePieceImage to get the CSSBorderImageSliceValue that is part of the overall
858         CSSBorderImageValue.
859     
860         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
861         Adding support for the new properties: border-image-slice and -webkit-mask-box-image-slice.
862
863         * css/CSSParser.cpp:
864         (WebCore::CSSParser::parseValue):
865         (WebCore::BorderImageParseContext::BorderImageParseContext):
866         (WebCore::BorderImageParseContext::allowBreak):
867         (WebCore::BorderImageParseContext::commitImage):
868         (WebCore::BorderImageParseContext::commitSlice):
869         (WebCore::BorderImageParseContext::commitSlash):
870         (WebCore::BorderImageParseContext::commitBorderImage):
871         (WebCore::CSSParser::parseBorderImage):
872         Modify parseBorderImage to no longer parse the slices itself. Instead it farms out the parsing
873         to parseBorderImageSlice.
874
875         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
876         (WebCore::BorderImageSliceParseContext::allowNumber):
877         (WebCore::BorderImageSliceParseContext::allowFill):
878         (WebCore::BorderImageSliceParseContext::allowFinalCommit):
879         (WebCore::BorderImageSliceParseContext::top):
880         (WebCore::BorderImageSliceParseContext::commitNumber):
881         (WebCore::BorderImageSliceParseContext::commitFill):
882         (WebCore::BorderImageSliceParseContext::setAllowFinalCommit):
883         (WebCore::BorderImageSliceParseContext::setTop):
884         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
885         (WebCore::CSSParser::parseBorderImageSlice):
886         Slice parsing has now been broken out so that it can be parsed as a single property. In addition
887         support for the "fill" keyword has been added to control image filling.
888
889         * css/CSSParser.h:
890         Modified to add the new parseBorderImageSlice method.
891
892         * css/CSSPropertyNames.in:
893         Add the new properties: border-image-slice and -webkit-mask-box-image-slice.
894
895         * css/CSSStyleSelector.cpp:
896         (WebCore::CSSStyleSelector::applyProperty):
897         (WebCore::CSSStyleSelector::mapNinePieceImage):
898         Rework mapNinePieceImage to call mapNinePieceImageSlice so that the mapping can be done just for
899         the slices.
900
901         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
902         A new method that handles mapping just the slices into the front-end NinePieceImage.
903
904         (WebCore::CSSStyleSelector::loadPendingImages):
905         Modified to ensure the fill value is preserved when box-reflect makes a new NinePieceImage.
906
907         * css/CSSStyleSelector.h:
908         Added the new mapNinePieceImageSlice method.
909
910         * css/CSSValue.h:
911         (WebCore::CSSValue::isBorderImageSliceValue):
912         Virtual function for identifying border image slice values.
913
914         * rendering/RenderBoxModelObject.cpp:
915         (WebCore::RenderBoxModelObject::paintNinePieceImage):
916         The painting of the nine piece image has been modified to match the specification. The "fill"
917         keyword controls whether or not the middle is painted.
918
919         * rendering/style/NinePieceImage.cpp:
920         (WebCore::NinePieceImage::operator==):
921         The fill keyword has to be checked now for equality.
922
923         * rendering/style/NinePieceImage.h:
924         (WebCore::NinePieceImage::NinePieceImage):
925         (WebCore::NinePieceImage::fill):
926         (WebCore::NinePieceImage::setFill):
927         Added the fill keyword to the front end NinePieceImage.
928
929         (WebCore::NinePieceImage::copySlicesFrom):
930         Added a helper to copy only the slices over from another NinePieceImage. Used when inheriting
931         the border-image-slice property from a parent style.
932
933 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
934
935         Web Inspector: Decode query/form parameters names as well as values.
936         https://bugs.webkit.org/show_bug.cgi?id=67393
937
938         Reviewed by Yury Semikhatsky.
939
940         * inspector/front-end/ResourceHeadersView.js:
941         (WebInspector.ResourceHeadersView.prototype._decodeURIComponent):
942         (WebInspector.ResourceHeadersView.prototype._refreshParms):
943
944 2011-08-31  Pavel Podivilov  <podivilov@chromium.org>
945
946         Web Inspector: remove PresentationBreakpoint class.
947         https://bugs.webkit.org/show_bug.cgi?id=67275
948
949         Reviewed by Yury Semikhatsky.
950
951         * inspector/front-end/BreakpointsSidebarPane.js:
952         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
953         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
954         * inspector/front-end/DebuggerPresentationModel.js:
955         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
956         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
957
958 2011-08-31  Steve Block  <steveblock@google.com>
959
960         Clean up all mentions of Android in comments
961         https://bugs.webkit.org/show_bug.cgi?id=67303
962
963         Also removes some superfluous guards and methods added for Android.
964
965         Reviewed by Darin Adler.
966
967         No new tests, removing dead code only.
968
969         * WebCorePrefix.h:
970           Chromium uses this file only on Mac, so these Android guards are no
971           longer required.
972         * bindings/v8/NPV8Object.cpp:
973         * bindings/v8/NPV8Object.h:
974           Including npruntime.h for non-Chromium ports was added in
975           http://trac.webkit.org/changeset/53634 for Android. However, this
976           file is included in WebCore.pro, so leaving the guard in place.
977         * bindings/v8/ScriptCachedFrameData.h:
978           This code was added for Android in
979           http://trac.webkit.org/changeset/56716 but is now also used by QT. The
980           comment should have been removed in
981           http://trac.webkit.org/changeset/93573.
982         * dom/Document.cpp:
983         (WebCore::Document::Document):
984         (WebCore::Document::isLayoutTimerActive):
985         (WebCore::Document::minimumLayoutDelay):
986         * dom/Document.h:
987           This method was added for Android in
988           http://trac.webkit.org/changeset/52919 and modified in
989           http://trac.webkit.org/changeset/79775. It is no longer needed.
990
991 2011-09-01  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
992
993         [Qt] Build dependency problems
994         https://bugs.webkit.org/show_bug.cgi?id=38054
995
996         Make clean build after the defines are changed.
997
998         Reviewed by Csaba Osztrogonác.
999
1000         * features.pri:
1001
1002 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
1003
1004         Web Inspector: Network error messages in console should link to the respective request in network panel if there is one.
1005         https://bugs.webkit.org/show_bug.cgi?id=65550
1006
1007         Reviewed by Yury Semikhatsky.
1008
1009         * inspector/front-end/ConsoleMessage.js:
1010         (WebInspector.ConsoleMessage.prototype._formatMessage):
1011         * inspector/front-end/NetworkPanel.js:
1012         (WebInspector.NetworkLogView.prototype.refresh):
1013         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1014         (WebInspector.NetworkLogView.prototype.searchCanceled):
1015         (WebInspector.NetworkLogView.prototype.revealAndHighlightResource):
1016         (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
1017         (WebInspector.NetworkLogView.prototype._highlightNode):
1018         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
1019         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1020         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1021         * inspector/front-end/networkLogView.css:
1022         (.network-log-grid tr.highlighted-row):
1023         (from):
1024         (to):
1025
1026 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
1027
1028         Replace preprocessor statements in DOMWindow.idl with Conditional attribute
1029         https://bugs.webkit.org/show_bug.cgi?id=65050
1030
1031         Reviewed by Brent Fulgham.
1032
1033         Many attributes use the [Conditional=XXX] syntax already.
1034         Unify the declaration of conditional attributes of DOMWindow
1035         with the corresponding Conditional attribute.
1036         This reduces the need of the preprocessor which is the
1037         the source of much pain on native windows.
1038
1039         * page/DOMWindow.idl:
1040
1041 2011-09-01  Yuta Kitamura  <yutak@chromium.org>
1042
1043         WebSocket: Fix bufferedAmount after WebSocket is closed
1044         https://bugs.webkit.org/show_bug.cgi?id=67363
1045
1046         Reviewed by Kent Tamura.
1047
1048         Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
1049
1050         * websockets/WebSocket.cpp:
1051         (WebCore::WebSocket::send):
1052         (WebCore::WebSocket::getFramingOverhead):
1053         * websockets/WebSocket.h:
1054
1055 2011-09-01  Keishi Hattori  <keishi@webkit.org>
1056
1057         Rename colorSelected to didChooseColor
1058         https://bugs.webkit.org/show_bug.cgi?id=67271
1059
1060         Reviewed by Kent Tamura.
1061
1062         * WebCore.exp.in:
1063         * html/ColorInputType.cpp:
1064         (WebCore::ColorInputType::didChooseColor): Renamed colorSelected to didChooseColor so it follows common naming practice.
1065         * html/ColorInputType.h:
1066         * platform/ColorChooser.cpp:
1067         (WebCore::ColorChooser::didChooseColor): Renamed.
1068         * platform/ColorChooser.h:
1069
1070 2011-09-01  Adam Barth  <abarth@webkit.org>
1071
1072         Attempt to fix Windows build.
1073
1074         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1075
1076 2011-08-31  Adam Barth  <abarth@webkit.org>
1077
1078         [Chromium] Rename PlatformBridge to PlatformSupport
1079         https://bugs.webkit.org/show_bug.cgi?id=67349
1080
1081         Reviewed by Darin Fisher.
1082
1083         This matches the WebKitPlatformSupport embedder API.
1084
1085         * WebCore.gypi:
1086         * WebCore.pro:
1087         * bindings/v8/NPV8Object.cpp:
1088         (_NPN_Evaluate):
1089         * bindings/v8/ScriptController.cpp:
1090         (WebCore::ScriptController::createScriptInstanceForWidget):
1091         * bindings/v8/V8DOMWindowShell.cpp:
1092         (WebCore::reportFatalErrorInV8):
1093         * bindings/v8/V8GCController.cpp:
1094         * bindings/v8/V8Proxy.cpp:
1095         (WebCore::V8Proxy::handleOutOfMemory):
1096         (WebCore::V8Proxy::evaluate):
1097         * bindings/v8/V8Proxy.h:
1098         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1099         (WebCore::histogramEnumeration):
1100         * page/PageGroup.cpp:
1101         (WebCore::PageGroup::isLinkVisited):
1102         * platform/audio/chromium/AudioBusChromium.cpp:
1103         (WebCore::AudioBus::loadPlatformResource):
1104         (WebCore::createBusFromInMemoryAudioFile):
1105         * platform/chromium/ChromiumDataObject.cpp:
1106         (WebCore::ChromiumDataObject::types):
1107         (WebCore::ChromiumDataObject::getData):
1108         (WebCore::ChromiumDataObject::getSequenceNumber):
1109         (WebCore::ChromiumDataObject::containsFilenames):
1110         * platform/chromium/DataTransferItemChromium.cpp:
1111         (WebCore::DataTransferItemChromium::getAsString):
1112         (WebCore::DataTransferItemChromium::getAsFile):
1113         * platform/chromium/DragDataChromium.cpp:
1114         (WebCore::DragData::asURL):
1115         * platform/chromium/FileSystemChromium.cpp:
1116         (WebCore::deleteFile):
1117         (WebCore::deleteEmptyDirectory):
1118         (WebCore::getFileSize):
1119         (WebCore::getFileModificationTime):
1120         (WebCore::revealFolderInOS):
1121         (WebCore::directoryName):
1122         (WebCore::pathByAppendingComponent):
1123         (WebCore::makeAllDirectories):
1124         (WebCore::fileExists):
1125         (WebCore::openFile):
1126         (WebCore::closeFile):
1127         (WebCore::seekFile):
1128         (WebCore::truncateFile):
1129         (WebCore::readFromFile):
1130         (WebCore::writeToFile):
1131         * platform/chromium/LanguageChromium.cpp:
1132         (WebCore::platformDefaultLanguage):
1133         * platform/chromium/LinkHashChromium.cpp:
1134         (WebCore::visitedLinkHash):
1135         * platform/chromium/MIMETypeRegistryChromium.cpp:
1136         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1137         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
1138         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1139         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1140         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1141         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1142         * platform/chromium/PasteboardChromium.cpp:
1143         (WebCore::Pasteboard::writeSelection):
1144         (WebCore::Pasteboard::writePlainText):
1145         (WebCore::Pasteboard::writeURL):
1146         (WebCore::Pasteboard::writeImage):
1147         (WebCore::Pasteboard::canSmartReplace):
1148         (WebCore::Pasteboard::plainText):
1149         (WebCore::Pasteboard::documentFragment):
1150         * platform/chromium/PlatformBridge.h: Removed.
1151         * platform/chromium/PlatformScreenChromium.cpp:
1152         (WebCore::screenDepth):
1153         (WebCore::screenDepthPerComponent):
1154         (WebCore::screenIsMonochrome):
1155         (WebCore::screenRect):
1156         (WebCore::screenAvailableRect):
1157         * platform/chromium/PlatformSupport.h: Copied from Source/WebCore/platform/chromium/PlatformBridge.h.
1158         * platform/chromium/SSLKeyGeneratorChromium.cpp:
1159         (WebCore::signedPublicKeyAndChallengeString):
1160         * platform/chromium/ScrollbarThemeChromium.cpp:
1161         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1162         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1163         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1164         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1165         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1166         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1167         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1168         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1169         (WebCore::scrollbarStateToThemeState):
1170         (WebCore::ScrollbarThemeChromiumMac::paint):
1171         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1172         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1173         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1174         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1175         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1176         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1177         * platform/chromium/SharedTimerChromium.cpp:
1178         (WebCore::setSharedTimerFiredFunction):
1179         (WebCore::setSharedTimerFireInterval):
1180         (WebCore::stopSharedTimer):
1181         * platform/chromium/SuddenTerminationChromium.cpp:
1182         (WebCore::disableSuddenTermination):
1183         (WebCore::enableSuddenTermination):
1184         * platform/chromium/TraceEvent.h:
1185         (WebCore::internal::ScopeTracer::ScopeTracer):
1186         (WebCore::internal::ScopeTracer::~ScopeTracer):
1187         * platform/graphics/chromium/ContentLayerChromium.cpp:
1188         (WebCore::ContentLayerPainter::paint):
1189         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1190         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1191         (WebCore::fontContainsCharacter):
1192         (WebCore::FillLogFont):
1193         * platform/graphics/chromium/FontCacheLinux.cpp:
1194         (WebCore::FontCache::getFontDataForCharacters):
1195         * platform/graphics/chromium/FontChromiumWin.cpp:
1196         (WebCore::drawGlyphsWin):
1197         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1198         (WebCore::FontPlatformData::scriptFontProperties):
1199         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1200         (WebCore::FontPlatformData::querySystemForRenderStyle):
1201         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1202         (WebCore::fillBMPGlyphs):
1203         * platform/graphics/chromium/ImageChromium.cpp:
1204         (WebCore::Image::loadPlatformResource):
1205         * platform/graphics/chromium/ImageChromiumMac.mm:
1206         (WebCore::Image::loadPlatformResource):
1207         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1208         (WebCore::SimpleFontData::platformInit):
1209         (WebCore::SimpleFontData::determinePitch):
1210         (WebCore::SimpleFontData::platformWidthForGlyph):
1211         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1212         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
1213         * platform/graphics/skia/FontCustomPlatformData.cpp:
1214         (WebCore::FontCustomPlatformData::fontPlatformData):
1215         * platform/network/chromium/CookieJarChromium.cpp:
1216         (WebCore::setCookies):
1217         (WebCore::cookies):
1218         (WebCore::cookieRequestHeaderFieldValue):
1219         (WebCore::cookiesEnabled):
1220         (WebCore::getRawCookies):
1221         (WebCore::deleteCookie):
1222         * platform/network/chromium/DNSChromium.cpp:
1223         (WebCore::prefetchDNS):
1224         * platform/qt/PlatformBridge.h: Removed.
1225         * platform/qt/PlatformBridgeQt.cpp: Removed.
1226         * platform/qt/PlatformSupport.h: Copied from Source/WebCore/platform/qt/PlatformBridge.h.
1227         * platform/qt/PlatformSupportQt.cpp: Copied from Source/WebCore/platform/qt/PlatformBridgeQt.cpp.
1228         (WebCore::PlatformSupport::popupsAllowed):
1229         (WebCore::PlatformSupport::pluginScriptableObject):
1230         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1231         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
1232         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
1233         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1234         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
1235         * plugins/chromium/PluginDataChromium.cpp:
1236         (WebCore::PluginCache::plugins):
1237         * rendering/RenderThemeChromiumLinux.cpp:
1238         (WebCore::getWebThemeState):
1239         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1240         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
1241         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
1242         (WebCore::RenderThemeChromiumLinux::paintRadio):
1243         (WebCore::RenderThemeChromiumLinux::setRadioSize):
1244         (WebCore::RenderThemeChromiumLinux::paintButton):
1245         (WebCore::RenderThemeChromiumLinux::paintTextField):
1246         (WebCore::RenderThemeChromiumLinux::paintMenuList):
1247         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
1248         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1249         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
1250         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
1251         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
1252         * rendering/RenderThemeChromiumMac.mm:
1253         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
1254         * rendering/RenderThemeChromiumSkia.cpp:
1255         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
1256         * rendering/RenderThemeChromiumWin.cpp:
1257         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1258         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1259         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1260         (WebCore::RenderThemeChromiumWin::systemColor):
1261         (WebCore::RenderThemeChromiumWin::paintButton):
1262         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1263         (WebCore::menuListButtonWidth):
1264         (WebCore::RenderThemeChromiumWin::paintMenuList):
1265         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1266         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1267         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1268         * storage/chromium/IDBFactoryBackendInterface.cpp:
1269         (WebCore::IDBFactoryBackendInterface::create):
1270         * storage/chromium/IDBKeyPathBackendImpl.cpp:
1271         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1272         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1273         * storage/chromium/QuotaTracker.cpp:
1274         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
1275
1276 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
1277
1278         Crash when inserting text with a trailing newline into a textarea via JS
1279         https://bugs.webkit.org/show_bug.cgi?id=66241
1280
1281         Reviewed by Darin Adler and Kent Tamura.
1282
1283         The crash was caused by updateFromElement biting on the editing code.
1284
1285         When there is a style rule that applies on text nodes inside the shadow DOM, DOM modifications made
1286         by the editing code may trigger style recalculation on input or textarea elements in the midst of editing
1287         commands. In response to this style recalculation, HTMLInputElement::updateFromElement and
1288         HTMLTextAreaElement::updateFromElement call setInnerTextValue to re-create the text nodes in the
1289         shadow DOM. The editing code blows up because setInnerTextValue detaches old text nodes referenced by
1290         Positions and VisiblePositions held by the editing commands in progress.
1291
1292         Fixed the crash by stop calling setInnerTextValue in updateFromElement. Instead, WebKit now creates
1293         the text nodes when attributes, descendent nodes, etc... of input or textarea element changes.
1294
1295         Tests: fast/forms/update-from-element-during-editing-crash-1.html
1296                fast/forms/update-from-element-during-editing-crash-2.html
1297
1298         * html/HTMLInputElement.cpp:
1299         (WebCore::HTMLInputElement::updateType): Force calling setInnerTextValue when input type changes.
1300         (WebCore::HTMLInputElement::updateInnerTextValue): Extracted from RenderTextControlSingleLine's
1301         updateElement.
1302         (WebCore::HTMLInputElement::parseMappedAttribute): Calls updateInnerTextValue; force calling
1303         setInnerTextValue when -webkit-speech attribute changes. In the theory, we should be able to call it less
1304         frequently but there are too many cases to consider at the moment.
1305         (WebCore::HTMLInputElement::setValue): Calls updateInnerTextValue when the value actually changed.
1306         Note we need to call it before we set or restore selection.
1307         * html/HTMLInputElement.h:
1308         * html/HTMLTextAreaElement.cpp:
1309         (WebCore::HTMLTextAreaElement::childrenChanged): Calls updateInnerTextValue when textarea's descendants
1310         nodes are changed by parser or scripts.
1311         (WebCore::HTMLTextAreaElement::setValueCommon): Calls updateInnerTextValue when the value changes.
1312         * html/HTMLTextFormControlElement.h:
1313         * html/NumberInputType.cpp:
1314         (WebCore::NumberInputType::willBlur): Calls updateInnerTextValue because input[type=number] forces
1315         the value to be valid on blur.
1316         * rendering/RenderTextControlMultiLine.cpp: Removed RenderTextControlMultiLine::updateFromElement.
1317         * rendering/RenderTextControlMultiLine.h: Ditto.
1318         * rendering/RenderTextControlSingleLine.cpp:
1319         (WebCore::RenderTextControlSingleLine::updateFromElement):
1320
1321 2011-08-31  Tom Zakrajsek  <tomz@codeaurora.org>
1322
1323         Fix snow-leopard regression caused by r93982
1324         https://bugs.webkit.org/show_bug.cgi?id=67301
1325
1326         Reviewed by Kenneth Russell.
1327
1328         Test: canvas/philip/tests/2d.path.stroke.prune.arc.html
1329
1330         * html/canvas/CanvasRenderingContext2D.cpp:
1331         (WebCore::CanvasRenderingContext2D::arc):
1332
1333 2011-08-31  Keishi Hattori  <keishi@webkit.org>
1334
1335         Rename closeColorChooser to cleanupColorChooser
1336         https://bugs.webkit.org/show_bug.cgi?id=67270
1337
1338         Reviewed by Kent Tamura.
1339
1340         * html/ColorInputType.cpp:
1341         (WebCore::ColorInputType::~ColorInputType):
1342         (WebCore::ColorInputType::detach):
1343         (WebCore::ColorInputType::cleanupColorChooserIfCurrentClient): NSColorPanel shouldn't be closed but the color
1344         chooser listeners need to be taken care of. Therefore closeColorChooser will be renamed to cleanupColorChooser.
1345         This will close the color chooser on platforms where appropriate.
1346         * html/ColorInputType.h:
1347         * loader/EmptyClients.h:
1348         (WebCore::EmptyChromeClient::cleanupColorChooser): Rename.
1349         * page/Chrome.cpp:
1350         (WebCore::Chrome::cleanupColorChooser): Rename.
1351         * page/Chrome.h:
1352         * page/ChromeClient.h:
1353
1354 2011-08-31  Kent Tamura  <tkent@chromium.org>
1355
1356         REGRESSION(r88115): "Choose File" button doesn't respect font-size property for the <input>
1357         https://bugs.webkit.org/show_bug.cgi?id=67181
1358
1359         Reviewed by Dimitri Glazkov.
1360
1361         r88115 removed the code to make inherited style of the owner input
1362         element, and html.css contains "font: -webkit-small-control" for
1363         input element. So -webkit-file-upload-button always had
1364         -webkit-small-control font.
1365
1366         Test: fast/forms/file/file-style-inheritance.html
1367
1368         * css/html.css:
1369         (input[type="file"]::-webkit-file-upload-button):
1370         Specify font-size:inherit explicitly.
1371
1372 2011-08-31  Chris Rogers  <crogers@google.com>
1373
1374         Do more rigorous bounds checking in AudioBufferSourceNode::renderFromBuffer()
1375         https://bugs.webkit.org/show_bug.cgi?id=67351
1376
1377         Reviewed by Dirk Pranke.
1378
1379         No new tests since this does not change JavaScript API.
1380
1381         * webaudio/AudioBufferSourceNode.cpp:
1382         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1383
1384 2011-08-31  Keishi Hattori  <keishi@webkit.org>
1385
1386         Remove closeColorChooser call from FrameLoader::transitionToCommitted
1387         https://bugs.webkit.org/show_bug.cgi?id=67267
1388
1389         Reviewed by Darin Adler.
1390
1391         * html/ColorInputType.cpp:
1392         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Moved order to match header.
1393         * html/ColorInputType.h:
1394         * loader/FrameLoader.cpp:
1395         (WebCore::FrameLoader::transitionToCommitted): Remove ColorInputType::closeColorChooserIfCurrentClient call.
1396         It wasn't the right place to directly manipulate the UI.
1397
1398 2011-08-31  Chris Rogers  <crogers@google.com>
1399
1400         Add defensive bounds checking for AudioNode methods
1401         https://bugs.webkit.org/show_bug.cgi?id=67346
1402
1403         Reviewed by Anders Carlsson.
1404
1405         No new tests since this does not change JavaScript API.
1406
1407         * webaudio/AudioNode.cpp:
1408         (WebCore::AudioNode::input):
1409         (WebCore::AudioNode::output):
1410
1411 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
1412
1413         TransformState.move() should be negated in the unapply code path
1414         https://bugs.webkit.org/show_bug.cgi?id=66246
1415
1416         Reviewed by Chris Marrin.
1417
1418         Code using TransformState was confused about when to negate the arguments
1419         to move() in the "UnapplyInverseTransform" direction (used by mapAbsoluteToLocal).
1420         
1421         Made the move() path equivalent to the applyTransform() path by not requiring
1422         the caller to negate, and instead negating inside move().
1423         
1424         Fixed the erroneous negation in TransformState::move() when accumulating;
1425         that negation will happen later via matrix inversion.
1426
1427         No behavior change.
1428
1429         * platform/graphics/ca/GraphicsLayerCA.cpp:
1430         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1431         * platform/graphics/transforms/TransformState.cpp:
1432         (WebCore::TransformState::move):
1433         * rendering/RenderBox.cpp:
1434         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
1435         * rendering/RenderInline.cpp:
1436         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
1437
1438 2011-08-31  Pratik Solanki  <psolanki@apple.com>
1439
1440         Fix compile issues when enabling HAVE(CFNETWORK_DATA_ARRAY_CALLBACK)
1441         https://bugs.webkit.org/show_bug.cgi?id=67332
1442
1443         Reviewed by Darin Adler.
1444
1445         * loader/mac/ResourceLoaderMac.mm:
1446         (WebCore::ResourceLoader::didReceiveDataArray):
1447         * platform/network/cf/ResourceHandleCFNet.cpp:
1448
1449 2011-08-31  Dan Bernstein  <mitz@apple.com>
1450
1451         Refined the heuristic introduced to fix <rdar://problem/10002140> Text gets clipped in
1452         multi-column layouts when overflow:auto is used.
1453         https://bugs.webkit.org/show_bug.cgi?id=67212
1454
1455         Reviewed by Dave Hyatt.
1456
1457         Test: fast/multicol/overflow-across-columns-percent-height.html
1458
1459         * rendering/RenderBox.cpp:
1460         (WebCore::percentageLogicalHeightIsResolvable): Added. This follows logic similar to the one
1461         in computePercentageLogicalHeight() to determine whether percentage values for height properties
1462         are resolved or treated as "auto".
1463         (WebCore::RenderBox::hasUnsplittableScrollingOverflow): If min-height or max-height are specified
1464         as a percentage but actually resolve to "auto", don’t let that prevent splitting.
1465
1466 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
1467
1468         Move text() and textWithHardLineBreaks() from RenderTextControl to HTMLTextFormControlElement
1469         https://bugs.webkit.org/show_bug.cgi?id=67320
1470
1471         Reviewed by Darin Adler.
1472
1473         Moved and renamed RenderText::text and RenderText::textWithHardLineBreaks to
1474         HTMLTextFormControlElement::innerTextValue and HTMLTextFormControlElement::valueWithHardLineBreaks.
1475
1476         * accessibility/AccessibilityRenderObject.cpp:
1477         (WebCore::AccessibilityRenderObject::text):
1478         * html/HTMLInputElement.cpp:
1479         (WebCore::HTMLInputElement::subtreeHasChanged):
1480         * html/HTMLTextAreaElement.cpp:
1481         (WebCore::HTMLTextAreaElement::appendFormData): Calls valueWithHardLineBreaks. It doesn't have to check
1482         the existence of renderer anymore because valueWithHardLineBreaks returns value() when renderer do not
1483         exist unlike RenderText::textWithHardLineBreaks returned emptyString() in such cases. This is the only place
1484         valueWithHardLineBreaks is ever called; but we can't move valueWithHardLineBreaks because it calls
1485         finishText.
1486         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
1487         (WebCore::HTMLTextAreaElement::updateValue):
1488         * html/HTMLTextFormControlElement.cpp:
1489         (WebCore::HTMLTextFormControlElement::selectedText):
1490         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1491         (WebCore::finishText): Moved from RenderText.cpp
1492         (WebCore::HTMLTextFormControlElement::innerTextValue): Ditto.
1493         (WebCore::getNextSoftBreak): Ditto.
1494         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): Ditto; this function returns value()
1495         when there are no renderers or root inline boxes instead of emptyString().
1496         * html/HTMLTextFormControlElement.h:
1497         * html/NumberInputType.cpp:
1498         (WebCore::NumberInputType::hasUnacceptableValue):
1499         * html/SearchInputType.cpp:
1500         (WebCore::SearchInputType::startSearchEventTimer):
1501         * html/TextFieldInputType.cpp:
1502         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
1503         * rendering/RenderTextControl.cpp:
1504         * rendering/RenderTextControl.h:
1505
1506 2011-08-31  Jeff Miller  <jeffm@apple.com>
1507
1508         REGRESSION(92210): AVFoundation media engine is disabled on OS X
1509         https://bugs.webkit.org/show_bug.cgi?id=67316
1510         
1511         Move the definition of WTF_USE_AVFOUNDATION on the Mac back to JavaScriptCore/wtf/Platform.h,
1512         since WebKit2 doesn't have access to WebCore/config.h on this platform. This reverts the
1513         changes that were made in r92210.
1514
1515         Reviewed by Darin Adler.
1516
1517         No new tests, covered by existing media tests.
1518
1519         * config.h: Removed definition of WTF_USE_AVFOUNDATION on the Mac, add a comment about fixing this on Windows in the future.
1520
1521 2011-08-31  Sailesh Agrawal  <sail@chromium.org>
1522
1523         [Chromium] Switching between overlay and opaque scrollbars causes glitches
1524         https://bugs.webkit.org/show_bug.cgi?id=62686
1525
1526         Reviewed by Beth Dakin.
1527
1528         When switching from opaque scrollbars to overlay scrollbars the page content size wouldn't change leaving a empty region under the overlay scrollbar.
1529
1530         The problem was that we were relying on ScrollView::updateScrollbars() to kick off a layout. Unfortunately this doesn't happen because updateScrollbars doesn't distinguish between overlay and opaque scrollbars.
1531
1532         To fix this I'm explicitly invalidating the layout when ScrollView::scrollbarStyleChanged() is called.
1533
1534         No tests because there are no Mac 10.7 chromium bots yet. Bug 66504 will track the work to add these tests once the bots are in place.
1535
1536         * platform/ScrollView.cpp:
1537         (WebCore::ScrollView::scrollbarStyleChanged):
1538
1539 2011-08-31  Alexey Proskuryakov  <ap@apple.com>
1540
1541         http/tests/eventsource/workers/eventsource-simple.html is a flaky crash because of
1542         eventsource-status-error-iframe-crash.html
1543         https://bugs.webkit.org/show_bug.cgi?id=61523
1544
1545         Reviewed by Nate Chapin.
1546
1547         The problem here was that canceling EventSource during frame removal erroneously resulted
1548         in event dispatch, and event handler re-entered frame destruction code.
1549
1550         * page/EventSource.h: Renamed endRequest() to networkRequestEnded(), because this method
1551         doesn't end request. It implements "reestablish the connection" or "fail the connection"
1552         algotithms from the spec, depending on current state.
1553         Removed m_failSilently, since we can make this decision with existing data, and want to
1554         fail silently by default (e.g. when detaching a frame cancels all loads).
1555
1556         * page/EventSource.cpp:
1557         (WebCore::EventSource::EventSource): Don't initialize m_failSilently.
1558         (WebCore::EventSource::~EventSource): Assert taht we are in a correct state.
1559         (WebCore::EventSource::connect): Ditto.
1560         (WebCore::EventSource::networkRequestEnded): Moved errorevent dispatch elsewhere.
1561         (WebCore::EventSource::scheduleReconnect): Error event should always be queued when
1562         reconnecting; firing it synchronously after starting m_reconnectTimer implements that.
1563         (WebCore::EventSource::reconnectTimerFired): Assert that state is correct (the timer is
1564         stopped if EventSource is stopped while waiting on the timer).
1565         (WebCore::EventSource::close): Don't set m_state before calling cancel() - it will indirectly
1566         call didFail(), which asserts that EventSource is not stopped yet.
1567         (WebCore::EventSource::didReceiveResponse): Explicitly dispatch an error event, since it
1568         is no longer dispatched when canceling, and canceling is the only way to stop a ThreadableLoader.
1569         Removed a special case for 2xx responses, since it's no longer in the spec.
1570         (WebCore::EventSource::didReceiveData): Assert that state is correct.
1571         (WebCore::EventSource::didFinishLoading): Don't set state to CONNECTING after parsing remaining
1572         response bytes - that may well result in dispatching an event whose handler calls close().
1573         (WebCore::EventSource::didFail): It's simple now - we always reconnect unless the request
1574         got canceled.
1575         (WebCore::EventSource::didFailRedirectCheck): Dispatch error event explicitly, as we are
1576         not going to attempt reconnecting.
1577
1578 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1579
1580         Unreviewed, rolling out r94116.
1581         http://trac.webkit.org/changeset/94116
1582         https://bugs.webkit.org/show_bug.cgi?id=67323
1583
1584         caused a lot of tests failures (Requested by thorton on
1585         #webkit).
1586
1587         * platform/graphics/cg/PathCG.cpp:
1588         (WebCore::Path::boundingRect):
1589
1590 2011-08-31  Alexei Svitkine  <asvitkine@chromium.org>
1591
1592         Chromium Mac: Tweak rubber banding overhang shadows. Add a drop shadow from the browser's toolbar.
1593         https://bugs.webkit.org/show_bug.cgi?id=67289
1594
1595         Chromium bug: http://crbug.com/93228
1596
1597         Reviewed by Dimitri Glazkov.
1598
1599         No new tests, since this merely tweaks Chromium overhang area appearance.
1600
1601         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1602         (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
1603         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1604
1605 2011-08-31  Tony Chang  <tony@chromium.org>
1606
1607         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
1608         https://bugs.webkit.org/show_bug.cgi?id=67168
1609
1610         Reviewed by Adam Barth.
1611
1612         webcore_bindings_sources, debugger_script_source, injected_script_source, and
1613         inspector_protocol_sources generates various files (e.g., CSSPropertyNames,
1614         DerivedSources, HTMLNames, etc).  webcore_bindings depends on *_sources and compiles
1615         these files.  Previously, the other webcore libs (webcore_svg, webcore_html,
1616         webcore_remaining, etc) depended on webcore_bindings.  This moves the *_sources
1617         dependencies from webcore_bindings to the other webcore libs so the build can
1618         parallelize the compile of webcore_bindings and the other webcore_* libs.
1619
1620         Also copy over the include dirs that we used to get from webcore_bindings'
1621         direct_dependent_settings.
1622
1623         No new tests, just changing the build dependencies.
1624
1625         * WebCore.gyp/WebCore.gyp:
1626
1627 2011-08-31  Tony Gentilcore  <tonyg@chromium.org>
1628
1629         Minor cleanup: remove inScriptExecution()
1630         https://bugs.webkit.org/show_bug.cgi?id=67276
1631
1632         Reviewed by Adam Barth.
1633
1634         At one point inScriptExecution() existed as a non-virtual duplicate of isExecutingScript()
1635         to avoid virtual method calls from a tight loop. Now we aren't calling it anywhere perf
1636         sensitive, so remove the duplication.
1637
1638         No new tests because no change in functionality.
1639
1640         * html/parser/HTMLDocumentParser.cpp:
1641         (WebCore::HTMLDocumentParser::isExecutingScript):
1642         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1643         (WebCore::HTMLDocumentParser::notifyFinished):
1644         * html/parser/HTMLDocumentParser.h:
1645         (WebCore::HTMLDocumentParser::shouldDelayEnd):
1646
1647 2011-08-31  Tom Sepez  <tsepez@chromium.org>
1648
1649         Fix XSS filter bypass by multiply decoding both the URL and the body
1650         snippet until they are in the most minimal form before comparison.
1651         https://bugs.webkit.org/show_bug.cgi?id=66585
1652
1653         Reviewed by Adam Barth.
1654
1655         * html/parser/XSSAuditor.cpp:
1656         (WebCore::fullyDecodeString):
1657         (WebCore::XSSAuditor::init):
1658         (WebCore::XSSAuditor::filterToken):
1659         (WebCore::XSSAuditor::isContainedInRequest):
1660
1661 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
1662
1663         Crash with -webkit-radial-gradient(top) gradient
1664         https://bugs.webkit.org/show_bug.cgi?id=66686
1665
1666         Reviewed by Darin Adler.
1667         
1668         Null-check the current value after calling parseFillPosition(),
1669         since it may be null for gradients with degenerate arguments.
1670
1671         Test: fast/gradients/css3-radial-gradient-crash.html
1672
1673         * css/CSSParser.cpp:
1674         (WebCore::CSSParser::parseRadialGradient):
1675
1676 2011-08-31  Nico Weber  <thakis@chromium.org>
1677
1678         Make ScrollAnimator(Chromium)?Mac check scrollAnimatorEnabled()
1679         https://bugs.webkit.org/show_bug.cgi?id=67297
1680
1681         Reviewed by Tony Chang.
1682
1683         I need this to disable smooth scrolling in chromium tests. I'm making
1684         the change to ScrollAnimatorMac to make unforking the file easier. I
1685         changed scrollAnimatorEnabled() to default to true so that this change
1686         is a no-op for Safari; in chromium the flag is set explicitly to true
1687         or false anyway.
1688
1689         * page/Settings.cpp:
1690         (WebCore::Settings::Settings):
1691         * platform/chromium/ScrollAnimatorChromiumMac.mm:
1692         (WebCore::ScrollAnimatorChromiumMac::scroll):
1693         * platform/mac/ScrollAnimatorMac.mm:
1694         (WebCore::ScrollAnimatorMac::scroll):
1695
1696 2011-08-31  Nate Chapin  <japhet@chromium.org>
1697
1698         Don't load resources with empty urls, since this
1699         will resolve to the current document.
1700         https://bugs.webkit.org/show_bug.cgi?id=30303
1701
1702         Reviewed by Darin Adler.
1703
1704         Test: http/tests/loading/empty-urls.html
1705
1706         * dom/ScriptElement.cpp:
1707         (WebCore::ScriptElement::requestScript): If src="", fail through
1708             to the error event case.
1709         * html/HTMLLinkElement.cpp:
1710         (WebCore::HTMLLinkElement::parseMappedAttribute): Ensure the url
1711             stays empty if we try to resolve an empty href.
1712         * loader/ImageLoader.cpp:
1713         (WebCore::ImageLoader::updateFromElement): Throw an error instead of
1714             loading if the src is empty in all cases, not just local files.
1715
1716 2011-08-28  Robert Hogan  <robert@webkit.org>
1717
1718         CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin for table captions
1719         https://bugs.webkit.org/show_bug.cgi?id=34763
1720
1721         Reviewed by Simon Fraser.
1722
1723         * rendering/RenderTable.cpp:
1724         (WebCore::RenderTable::adjustLogicalHeightForCaption): Added the caption's margin to the position calculation.
1725
1726 2011-08-30  Oliver Hunt  <oliver@apple.com>
1727
1728         Add support for checked arithmetic
1729         https://bugs.webkit.org/show_bug.cgi?id=67095
1730
1731         Reviewed by Sam Weinig.
1732
1733         Add a forwarding header for CheckedArithmetic.h
1734
1735         * ForwardingHeaders/wtf/CheckedArithmetic.h: Added.
1736
1737 2011-08-31  David Hyatt  <hyatt@apple.com>
1738
1739         https://bugs.webkit.org/show_bug.cgi?id=67300
1740         
1741         Add the new border-image-source property (and its corresponding analogue for masks, mask-box-image-source).
1742         Change the border-image parsing code to no longer consider "none" to represent the entire border-image
1743         expression, but instead to just mean "none" for the image component of the expression.
1744         
1745         Change the pending image code for border-image and mask-box-image to use the new *-source properties when
1746         loading the image so that they're considered the same.
1747         
1748         This is the first step towards eliminating the border-image parsing code in favor of just parsing it as
1749         a shorthand instead, but for now I'm implementing each property one by one, and once they're all there,
1750         we can cut over to border-image as a true shorthand.
1751
1752         Reviewed by Beth Dakin.
1753
1754         Added fast/borders/border-image-source.html.
1755
1756         * css/CSSComputedStyleDeclaration.cpp:
1757         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1758         * css/CSSParser.cpp:
1759         (WebCore::CSSParser::parseValue):
1760         (WebCore::CSSParser::parseBorderImage):
1761         * css/CSSPropertyNames.in:
1762         * css/CSSStyleSelector.cpp:
1763         (WebCore::CSSStyleSelector::applyProperty):
1764         (WebCore::CSSStyleSelector::mapNinePieceImage):
1765         (WebCore::CSSStyleSelector::loadPendingImages):
1766         * rendering/style/NinePieceImage.h:
1767         (WebCore::NinePieceImage::setImage):
1768         * rendering/style/RenderStyle.h:
1769         (WebCore::InheritedFlags::borderImageSource):
1770         (WebCore::InheritedFlags::maskBoxImageSource):
1771         (WebCore::InheritedFlags::setBorderImageSource):
1772         (WebCore::InheritedFlags::setMaskBoxImageSource):
1773         (WebCore::InheritedFlags::initialBorderImageSource):
1774         (WebCore::InheritedFlags::initialMaskBoxImageSource):
1775
1776 2011-08-31  Stephen White  <senorblanco@chromium.org>
1777
1778         [chromium] Set the GrContext before SkGpuDevice is destroyed.
1779         https://bugs.webkit.org/show_bug.cgi?id=67296
1780
1781         When SkGpuDevice is destroyed, it frees the FBO used for accelerated
1782         rendering.  If the wrong context is set (e.g., compositor context),
1783         a crash may result.
1784
1785         Reviewed by Kenneth Russell.
1786
1787         No new tests.  (Unfortunately, wrong-context bugs are difficult to
1788         express in a layout test).
1789
1790         * platform/graphics/skia/ImageBufferSkia.cpp:
1791         (WebCore::ImageBuffer::~ImageBuffer):
1792
1793 2011-08-31  Eric Carlson  <eric.carlson@apple.com>
1794
1795         Clean up HTMLMediaElement behavior restrictions
1796         https://bugs.webkit.org/show_bug.cgi?id=67231
1797
1798         Reviewed by Darin Adler.
1799
1800         No new tests, cleanup only.
1801
1802         * html/HTMLMediaElement.cpp:
1803         (WebCore::HTMLMediaElement::HTMLMediaElement): Deal with enum and function renaming.
1804         (WebCore::HTMLMediaElement::load): Call userGestureRequiredForLoad() instead of testing bits
1805             directly.
1806         (WebCore::HTMLMediaElement::loadInternal): Deal with enum and function renaming.
1807         (WebCore::HTMLMediaElement::play): Call userGestureRequiredForRateChange() instead of testing bits
1808             directly.
1809         (WebCore::HTMLMediaElement::pause): Ditto.
1810         * html/HTMLMediaElement.h:
1811         (WebCore::HTMLMediaElement::userGestureRequiredForLoad): Renamed.
1812         (WebCore::HTMLMediaElement::userGestureRequiredForRateChange):
1813         (WebCore::HTMLMediaElement::userGestureRequiredForFullscreen):
1814         (WebCore::HTMLMediaElement::pageConsentRequiredForLoad):
1815         (WebCore::HTMLMediaElement::addBehaviorRestriction):
1816         (WebCore::HTMLMediaElement::removeBehaviorRestriction):
1817
1818         * html/HTMLVideoElement.cpp:
1819         (WebCore::HTMLVideoElement::webkitEnterFullscreen): requireUserGestureForFullScreen renamed to
1820             userGestureRequiredForFullscreen.
1821
1822 2011-08-31  Andrei Popescu  <andreip@google.com>
1823
1824         Investigate current uses of OS(ANDROID)
1825         https://bugs.webkit.org/show_bug.cgi?id=66761
1826
1827         Reviewed by Darin Adler.
1828
1829         Remove the last legacy Android code.
1830
1831         No new tests needed as the code wasn't tested in the first place.
1832
1833         * bridge/jni/JNIUtility.cpp:
1834         (JSC::Bindings::getJNIEnv):
1835
1836 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1837
1838         Unreviewed, rolling out r94082.
1839         http://trac.webkit.org/changeset/94082
1840         https://bugs.webkit.org/show_bug.cgi?id=67291
1841
1842         Breaks trunk (not canary) Chromium Mac builders upon WebKit
1843         roll (Requested by apavlov on #webkit).
1844
1845         * WebCore.gyp/WebCore.gyp:
1846
1847 2011-08-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
1848
1849         [Qt] Add a convenience function to cast a QTransform to TransformationMatrix
1850         https://bugs.webkit.org/show_bug.cgi?id=67246
1851
1852         Reviewed by Andreas Kling.
1853
1854         No new functionality so no new tests.
1855
1856         * platform/graphics/qt/TransformationMatrixQt.cpp:
1857         (WebCore::TransformationMatrix::TransformationMatrix):
1858         * platform/graphics/transforms/TransformationMatrix.h:
1859
1860 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1861
1862         Unreviewed, rolling out r94176.
1863         http://trac.webkit.org/changeset/94176
1864         https://bugs.webkit.org/show_bug.cgi?id=67290
1865
1866         This does not fix the build failure on Macs (Requested by
1867         apavlov on #webkit).
1868
1869         * WebCore.gyp/WebCore.gyp:
1870
1871 2011-08-31  Mike Reed  <reed@google.com>
1872
1873         [skia] antialias images if we're rotated
1874         https://bugs.webkit.org/show_bug.cgi?id=67207
1875
1876         Reviewed by Stephen White.
1877
1878         * platform/graphics/skia/ImageSkia.cpp:
1879         (WebCore::hasNon90rotation):
1880         (WebCore::paintSkBitmap):
1881
1882 2011-08-31  Alexander Pavlov  <apavlov@chromium.org>
1883
1884         Web Inspector: Having the "Metrics" pane open affects the node highlight display
1885         https://bugs.webkit.org/show_bug.cgi?id=67278
1886
1887         Reviewed by Yury Semikhatsky.
1888
1889         * inspector/front-end/MetricsSidebarPane.js:
1890         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
1891
1892 2011-08-31  Ilya Tikhonovsky  <loislo@chromium.org>
1893
1894         Web Inspector: console view does a style recalculation per each addMessage call.
1895         https://bugs.webkit.org/show_bug.cgi?id=67198
1896
1897         It is bad from the performance point of view.
1898
1899         Reviewed by Yury Semikhatsky.
1900
1901         * inspector/front-end/ConsoleView.js:
1902         (WebInspector.ConsoleView.prototype._isScrollIntoViewScheduled):
1903         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
1904
1905 2011-08-31  Alexander Pavlov  <apavlov@chromium.org>
1906
1907         [Chromium] Unreviewed build fix. Restore debugger_script_source target dependency
1908         broken in http://trac.webkit.org/changeset/94082.
1909
1910         * WebCore.gyp/WebCore.gyp:
1911
1912 2011-08-30  Alexander Pavlov  <apavlov@chromium.org>
1913
1914         Early return in CSSPrimitiveValue::getDoubleValueInternal() omits additional invalid enums
1915         https://bugs.webkit.org/show_bug.cgi?id=67139
1916
1917         Reviewed by Darin Adler.
1918
1919         * css/CSSPrimitiveValue.cpp:
1920         (WebCore::isValidCSSUnitTypeForDoubleConversion): Check if a given unit type can be converted to a double.
1921         (WebCore::CSSPrimitiveValue::getDoubleValueInternal): Make use of the new method that explicitly lists all unit types.
1922
1923 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
1924
1925         Web Inspector: rename sourceFile to uiSourceCode and get rid of sourceFileId where possible.
1926         https://bugs.webkit.org/show_bug.cgi?id=67136
1927
1928         Reviewed by Yury Semikhatsky.
1929
1930         * inspector/front-end/BreakpointManager.js:
1931         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1932         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
1933         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1934         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
1935         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
1936         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1937         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
1938         (WebInspector.BreakpointManager.prototype.set reset):
1939         (WebInspector.BreakpointManager.prototype.debuggerReset):
1940         * inspector/front-end/BreakpointsSidebarPane.js:
1941         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
1942         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
1943         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
1944         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
1945         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
1946         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
1947         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
1948         * inspector/front-end/CallStackSidebarPane.js:
1949         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
1950         (WebInspector.CallStackSidebarPane.prototype.update):
1951         * inspector/front-end/DebuggerPresentationModel.js:
1952         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
1953         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
1954         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1955         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
1956         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1957         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
1958         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1959         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
1960         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1961         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
1962         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
1963         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1964         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
1965         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
1966         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
1967         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
1968         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
1969         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
1970         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1971         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1972         (WebInspector.PresentationBreakpoint):
1973         (WebInspector.PresentationBreakpoint.prototype.get url):
1974         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
1975         (WebInspector.PresenationCallFrame):
1976         (WebInspector.PresenationCallFrame.prototype.get url):
1977         (WebInspector.PresenationCallFrame.prototype.select):
1978         (WebInspector.PresenationCallFrame.prototype.sourceLine):
1979         * inspector/front-end/ScriptsPanel.js:
1980         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1981         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
1982         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
1983         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1984         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
1985         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
1986         (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
1987         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1988         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
1989         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
1990         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1991         (WebInspector.ScriptsPanel.prototype.reset):
1992         (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
1993         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1994         (WebInspector.ScriptsPanel.prototype._showSourceLine):
1995         (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
1996         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1997         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1998         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1999         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2000         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2001         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2002         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
2003         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2004         (WebInspector.SourceFrameDelegateForScriptsPanel):
2005         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2006         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
2007         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
2008         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
2009         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
2010         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
2011         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
2012         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
2013         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2014         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
2015
2016 2011-08-31  Yuta Kitamura  <yutak@chromium.org>
2017
2018         WebSocket: Load Blob in WebSocketChannel
2019         https://bugs.webkit.org/show_bug.cgi?id=67013
2020
2021         Reviewed by Kent Tamura.
2022
2023         Add WebSocketChannel::enqueueBlobFrame(). It makes WebSocketChannel start loading a Blob
2024         and send a WebSocket frame after the Blob is loaded.
2025
2026         While a Blob is being loaded, subsequent send() requests cannot be processed and are blocked.
2027         Pending requests are stored in m_outgoingFrameQueue. When we have finished loading a Blob,
2028         requests in the queue are allowed to get processed.
2029
2030         No new tests are added, because nobody uses enqueueBlobFrame() yet. New tests will be added
2031         when WebSocket.send(Blob) is implemented, and they will cover this code change.
2032
2033         * websockets/WebSocketChannel.cpp:
2034         ref() is called when m_blobLoader is allocated, and deref() is called in didFinishLoading()
2035         or didFail(). This is necessary because WebSocketChannel must be able to receive callbacks
2036         from FileReaderLoader even if the channel is referred from no other objects.
2037         (WebCore::WebSocketChannel::WebSocketChannel):
2038         (WebCore::WebSocketChannel::didStartLoading):
2039         (WebCore::WebSocketChannel::didReceiveData):
2040         (WebCore::WebSocketChannel::didFinishLoading):
2041         (WebCore::WebSocketChannel::didFail):
2042         When we have failed to load a Blob, fail() is called, and eventually didCloseSocketStream()
2043         will be called. It will clean up the pending requests in the queue.
2044         (WebCore::WebSocketChannel::enqueueBlobFrame):
2045         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
2046         (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
2047         Cancel the Blob loader when the outgoing request queue is about to be aborted. The loader
2048         will not invoke didFail() callback once it is canceled, thus we need to call didFail()
2049         manually so that we can free up the loader and decrement the reference count.
2050
2051 2011-08-31  Yuta Kitamura  <yutak@chromium.org>
2052
2053         WebSocket: Receive binary message as ArrayBuffer
2054         https://bugs.webkit.org/show_bug.cgi?id=67180
2055
2056         Reviewed by Kent Tamura.
2057
2058         Tests: http/tests/websocket/tests/hybi/receive-arraybuffer.html
2059                http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html
2060
2061         * bindings/js/JSMessageEventCustom.cpp:
2062         (WebCore::JSMessageEvent::data): Convert ArrayBuffer to JSValue.
2063         * bindings/v8/custom/V8MessageEventCustom.cpp:
2064         (WebCore::V8MessageEvent::dataAccessorGetter): Convert ArrayBuffer to v8::Value.
2065         * dom/MessageEvent.cpp:
2066         (WebCore::MessageEvent::MessageEvent):
2067         * dom/MessageEvent.h:
2068         Added DataTypeArrayBuffer and ArrayBuffer-related functions.
2069         (WebCore::MessageEvent::create):
2070         (WebCore::MessageEvent::dataAsArrayBuffer):
2071         * websockets/WebSocket.cpp:
2072         (WebCore::WebSocket::didReceiveBinaryData):
2073         Construct an ArrayBuffer from binaryData and raise MessageEvent.
2074
2075 2011-08-31  Keishi Hattori  <keishi@webkit.org>
2076
2077         input color: onchange event is not fired when changing color from color chooser
2078         https://bugs.webkit.org/show_bug.cgi?id=66848
2079
2080         Reviewed by Kent Tamura.
2081
2082         Test: fast/forms/color/input-color-onchange-event.html
2083
2084         * WebCore.exp.in: Added calls used in Internals.cpp.
2085         * html/ColorInputType.cpp:
2086         (WebCore::ColorInputType::colorSelected): Dispatch change event.
2087         * html/HTMLInputElement.cpp:
2088         (WebCore::HTMLInputElement::connectToColorChooser): Added. Called from Internals::connectColorChooserClient.
2089         * html/HTMLInputElement.h:
2090         * testing/Internals.cpp:
2091         (WebCore::Internals::connectColorChooserClient): Added. Connects element as client to color chooser.
2092         (WebCore::Internals::selectColorInColorChooser): Added. Simulate color selection in color chooser.
2093         * testing/Internals.h:
2094         * testing/Internals.idl:
2095
2096 2011-08-31  Kentaro Hara  <haraken@google.com>
2097
2098         Implement Web IDL Constructor extended attribute in IDLParser.pm and CodeGeneratorV8.pm.
2099         https://bugs.webkit.org/show_bug.cgi?id=66536
2100
2101         Reviewed by Adam Barth.
2102
2103         The spec is here: http://www.w3.org/TR/WebIDL/#Constructor
2104
2105         [1] Introduced Web IDL 'Constructor' extended attribute.
2106
2107         [2] Added 'ConstructorWith=ScriptExecutionContext' extended attribute.
2108         - The constructor passes ScriptExecutionContext to a XXX::create() method,
2109         like XXX::create(..., context, ...).
2110
2111         [3] Added 'V8ConstructorSetsActiveDOMWrapper' extended attribute.
2112         - The constructor calls V8DOMWrapper::setJSWrapperForActiveDOMObject()
2113         instead of V8DOMWrapper::setJSWrapperForDOMObject().
2114
2115         [4] Added 'ConstructorRaisesException' extended attribute.
2116         - A placeholder for ExceptionCode is passed to a XXX::create() method,
2117         like XXX::create(..., ec).
2118         - We can use 'ConstructorRaisesException' and 'ConstructorWith=ScriptExecutionContext' together.
2119
2120         Note:
2121         - Constructor overloading is not yet implemented.
2122         - We cannot yet specify [Optional] without CallWithDefaultValue.
2123
2124         Test: Source/WebCore/bindings/scripts/test/TestInterface.idl
2125               Source/WebCore/bindings/scripts/test/TestObj.idl
2126
2127         * bindings/scripts/CodeGeneratorV8.pm:
2128         (GenerateHeader): Generates constructorCallback() header, if 'Constructor' is specified.
2129         (GenerateFunctionCallback): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
2130         (GenerateArgumentsCountCheck): Splits out of GenerateFunctionCallback() for reuse.
2131         (GenerateParametersCheck): Ditto.
2132         (GenerateConstructorCallback): Generates constructorCallback() definition.
2133         (GenerateImplementation):
2134         * bindings/scripts/IDLParser.pm:
2135         (parseExtendedAttributes): Previously, only a string in the "A=B, C, D, E=F" format can be parsed. This patch enables to parse a string in the "A=B, C, D, E=F, G(in DOMString s, in [H, I, J] DOMString t)" format.
2136         (parseParameters): Splits out of ParseInterface() for reuse.
2137         (ParseInterface): Uses parseParameters().
2138         * bindings/scripts/IDLStructure.pm: Added domClass{constructor}. Changed the regular expression to extract the list of extended attributes.
2139         * bindings/scripts/test/TestInterface.idl: Added all the extended attributes that this patch is going to introduce.
2140         * bindings/scripts/test/TestObj.idl: Added 'Constructor'.
2141         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the test result.
2142         (WebCore::V8TestInterface::constructorCallback):
2143         (WebCore::ConfigureV8TestInterfaceTemplate):
2144         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
2145         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2146         (WebCore::V8TestObj::constructorCallback):
2147         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
2148
2149 2011-08-30  Philippe Normand  <pnormand@igalia.com>
2150
2151         [GTK] gstreamer/ files directly related to the MediaPlayer need VIDEO guards
2152         https://bugs.webkit.org/show_bug.cgi?id=67196
2153
2154         Reviewed by Martin Robinson.
2155
2156         Guard those files with ENABLE(VIDEO) so other features using
2157         GStreamer can be built even with VIDEO disabled.
2158
2159         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2160         * platform/graphics/gstreamer/GStreamerGWorld.h:
2161         * platform/graphics/gstreamer/ImageGStreamer.h:
2162         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
2163         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2164         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
2165         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2166         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2167         * platform/graphics/gstreamer/PlatformVideoWindow.h:
2168         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
2169         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2170         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
2171         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2172         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
2173
2174 2011-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2175
2176         Unreviewed, rolling out r94142, r94144, r94145, and r94148.
2177         http://trac.webkit.org/changeset/94142
2178         http://trac.webkit.org/changeset/94144
2179         http://trac.webkit.org/changeset/94145
2180         http://trac.webkit.org/changeset/94148
2181         https://bugs.webkit.org/show_bug.cgi?id=67262
2182
2183         Broke isindex element (Requested by rniwa on #webkit).
2184
2185         * WebCore.order:
2186         * accessibility/AXObjectCache.cpp:
2187         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2188         * accessibility/AccessibilityRenderObject.cpp:
2189         (WebCore::AccessibilityRenderObject::isPasswordField):
2190         (WebCore::AccessibilityRenderObject::isIndeterminate):
2191         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
2192         (WebCore::AccessibilityRenderObject::isChecked):
2193         * css/CSSStyleSelector.cpp:
2194         (WebCore::CSSStyleSelector::canShareStyleWithControl):
2195         (WebCore::CSSStyleSelector::adjustRenderStyle):
2196         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2197         (WebCore::CSSStyleSelector::applyProperty):
2198         * dom/CheckedRadioButtons.cpp:
2199         (WebCore::CheckedRadioButtons::addButton):
2200         (WebCore::CheckedRadioButtons::removeButton):
2201         * dom/Node.cpp:
2202         (WebCore::Node::toInputElement):
2203         * dom/Node.h:
2204         * editing/FrameSelection.cpp:
2205         (WebCore::FrameSelection::isInPasswordField):
2206         * html/HTMLInputElement.h:
2207         (WebCore::HTMLInputElement::toInputElement):
2208         * html/shadow/SliderThumbElement.cpp:
2209         (WebCore::sliderThumbElementOf):
2210         (WebCore::RenderSliderThumb::layout):
2211         (WebCore::RenderSliderContainer::layout):
2212         (WebCore::SliderThumbElement::hostInput):
2213         (WebCore::trackLimiterElementOf):
2214         * html/shadow/TextControlInnerElements.cpp:
2215         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
2216         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2217         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2218         (WebCore::SpinButtonElement::defaultEventHandler):
2219         (WebCore::SpinButtonElement::repeatingTimerFired):
2220         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2221         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2222         * page/DragController.cpp:
2223         (WebCore::asFileInput):
2224         * platform/efl/RenderThemeEfl.cpp:
2225         (WebCore::RenderThemeEfl::paintThemePart):
2226         * rendering/RenderTextControlSingleLine.cpp:
2227         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2228         (WebCore::RenderTextControlSingleLine::inputElement):
2229         * rendering/RenderTheme.cpp:
2230         (WebCore::RenderTheme::isChecked):
2231         (WebCore::RenderTheme::isIndeterminate):
2232
2233 2011-08-30  David Levin  <levin@chromium.org>
2234
2235         Quick fix for crashing tests caused by r94142.
2236
2237         Tests:
2238           editing/execCommand/remove-format-elements.html
2239           fast/block/child-not-removed-from-parent-lineboxes-crash.html
2240           fast/forms/implicit-submission.html
2241
2242         * rendering/RenderTextControlSingleLine.cpp:
2243         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): Allow
2244         for isIndex element which is derived from HTMLInputElement.
2245
2246 2011-08-30  Sam Weinig  <sam@webkit.org>
2247
2248         Add constructor for CustomEvent
2249         https://bugs.webkit.org/show_bug.cgi?id=67248
2250
2251         Reviewed by Dan Bernstein.
2252
2253         Test: fast/events/constructors/custom-event-constructor.html
2254
2255         * bindings/generic/EventConstructors.h:
2256         Add definition for CustomEvent constructor.
2257
2258         * bindings/js/JSEventConstructors.cpp:
2259         Add CustomEvent #includes.
2260
2261         * dom/CustomEvent.cpp:
2262         (WebCore::CustomEventInit::CustomEventInit):
2263         (WebCore::CustomEvent::CustomEvent):
2264         * dom/CustomEvent.h:
2265         (WebCore::CustomEvent::create):
2266         Add Initializer./
2267
2268         * dom/CustomEvent.idl:
2269         Make constructible.
2270
2271         * page/DOMWindow.idl:
2272         Add CustomEvent attribute.
2273
2274 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
2275
2276         Get rid of toInputElement()
2277         https://bugs.webkit.org/show_bug.cgi?id=67175
2278
2279         Reviewed by Darin Adler.
2280
2281         Got rid of Node::toInputElement and HTMLInputElement::toInputElement and replaced them by
2282         a global toHTMLInputElement.
2283
2284         * WebCore.order:
2285         * accessibility/AXObjectCache.cpp:
2286         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2287         * accessibility/AccessibilityRenderObject.cpp:
2288         (WebCore::AccessibilityRenderObject::isPasswordField):
2289         (WebCore::AccessibilityRenderObject::isIndeterminate):
2290         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
2291         (WebCore::AccessibilityRenderObject::isChecked):
2292         * css/CSSStyleSelector.cpp:
2293         (WebCore::CSSStyleSelector::canShareStyleWithControl):
2294         (WebCore::CSSStyleSelector::adjustRenderStyle):
2295         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2296         (WebCore::CSSStyleSelector::applyProperty):
2297         * dom/CheckedRadioButtons.cpp:
2298         (WebCore::CheckedRadioButtons::addButton):
2299         (WebCore::CheckedRadioButtons::removeButton):
2300         * dom/Node.cpp:
2301         * dom/Node.h:
2302         * editing/FrameSelection.cpp:
2303         (WebCore::FrameSelection::isInPasswordField):
2304         * html/HTMLInputElement.h:
2305         (WebCore::toHTMLInputElement):
2306         * html/shadow/SliderThumbElement.cpp:
2307         (WebCore::sliderThumbElementOf):
2308         (WebCore::RenderSliderThumb::layout):
2309         (WebCore::RenderSliderContainer::layout):
2310         (WebCore::SliderThumbElement::hostInput):
2311         (WebCore::trackLimiterElementOf):
2312         * html/shadow/TextControlInnerElements.cpp:
2313         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
2314         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2315         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2316         (WebCore::SpinButtonElement::defaultEventHandler):
2317         (WebCore::SpinButtonElement::repeatingTimerFired):
2318         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2319         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2320         * page/DragController.cpp:
2321         (WebCore::asFileInput):
2322         * platform/efl/RenderThemeEfl.cpp:
2323         (WebCore::RenderThemeEfl::paintThemePart):
2324         * rendering/RenderTextControlSingleLine.cpp:
2325         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2326         (WebCore::RenderTextControlSingleLine::inputElement):
2327         * rendering/RenderTheme.cpp:
2328         (WebCore::RenderTheme::isChecked):
2329         (WebCore::RenderTheme::isIndeterminate):
2330
2331 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
2332
2333         Speculative WinCairo build fix after r94093.
2334
2335         * platform/network/ResourceHandle.h:
2336
2337 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
2338
2339         Mac build fix after r94128.
2340
2341         * WebCore.xcodeproj/project.pbxproj:
2342
2343 2011-08-30  Alice Boxhall  <aboxhall@chromium.org>
2344
2345         Correctly report selected text range for accessibility APIs for role=textbox
2346         https://bugs.webkit.org/show_bug.cgi?id=65900
2347
2348         Reviewed by Chris Fleizach.
2349
2350         Test: accessibility/textbox-role-reports-selection.html
2351
2352         * accessibility/AccessibilityRenderObject.cpp:
2353         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2354         (WebCore::AccessibilityRenderObject::rootEditableElementForPosition):
2355         (WebCore::AccessibilityRenderObject::nodeIsTextControl):
2356         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
2357         * accessibility/AccessibilityRenderObject.h:
2358
2359 2011-08-30  Rachel Blum  <groby@chromium.org>
2360
2361         The "port" property of an <a> whose href does not specify a port returns the wrong value
2362         https://bugs.webkit.org/show_bug.cgi?id=66081
2363
2364         HTMLAnchorElement now returns "" instead of "0" for unset port
2365         Fixed KURLGoogle.cpp to have same behavior as KURL.cpp when setting port 0
2366         Fixed Location.cpp to have same behavior as KURL.cpp when setting port 0
2367         
2368         Reviewed by Adam Barth.
2369
2370         Tests: fast/dom/HTMLAnchorElement/get-href-attribute-port.html
2371                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
2372                fast/loader/location-port.html
2373                fast/url/segments-from-data-url.html
2374                fast/url/segments.html
2375                fast/url/trivial-segments.html
2376                platform/chromium/fast/dom/HTMLAnchorElement/set-href-attribute-port.html
2377                
2378         * html/HTMLAnchorElement.cpp:
2379         (WebCore::HTMLAnchorElement::port):
2380         * page/Location.cpp:
2381         (WebCore::Location::host):
2382         (WebCore::Location::port):
2383         (WebCore::Location::setPort):
2384         * platform/KURLGoogle.cpp:
2385         (WebCore::KURL::setPort):
2386
2387 2011-08-30  Scott Byer  <scottbyer@chromium.org>
2388
2389         Fix pan scrolling on Windows to be clamped
2390         https://bugs.webkit.org/show_bug.cgi?id=66910
2391
2392         With the recent change to support rubberband scrolling on the Mac, pan
2393         scrolling of overflow divs became unclamped and would scroll infinitely
2394         and along an axis without a scrollbar.
2395
2396         Reviewed by Simon Fraser
2397
2398         Test: platform/win/fast/events/panScroll-correct-direction.html
2399
2400         * rendering/RenderLayer.cpp:
2401         (WebCore::RenderLayer::panScrollFromPoint):
2402         (WebCore::RenderLayer::scrollByRecursively):
2403         * rendering/RenderLayer.h:
2404
2405 2011-08-30  Bill Budge  <bbudge@chromium.org>
2406
2407         This patch makes the XMLHttpRequest method/header validation logic available as
2408         static methods so URL loaders can perform the same checks for untrusted HTTP requests
2409         coming from plugins. 
2410         https://bugs.webkit.org/show_bug.cgi?id=66909
2411
2412         Reviewed by David Levin.
2413
2414         No new tests. Exposes no new functionality.
2415
2416         * CMakeLists.txt:
2417         * GNUmakefile.list.am:
2418         * WebCore.gypi:
2419         * WebCore.pro:
2420         * WebCore.vcproj/WebCore.vcproj:
2421         * platform/network/HTTPValidation.cpp: Added.
2422         (WebCore::isValidHTTPToken):
2423         (WebCore::isValidHTTPHeaderValue):
2424         * platform/network/HTTPValidation.h: Added.
2425         * xml/XMLHttpRequest.cpp:
2426         (WebCore::XMLHttpRequest::isAllowedHTTPMethod):
2427         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
2428         (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
2429         (WebCore::XMLHttpRequest::open):
2430         (WebCore::XMLHttpRequest::setRequestHeader):
2431         * xml/XMLHttpRequest.h:
2432
2433 2011-08-30  Chris Rogers  <crogers@google.com>
2434
2435         Don't allow nodes of one context to be connected to nodes of another context
2436         https://bugs.webkit.org/show_bug.cgi?id=67245
2437
2438         Reviewed by Dimitri Glazkov.
2439         
2440         Tests: updated webaudio/audionode.html
2441
2442         * webaudio/AudioNode.cpp:
2443         (WebCore::AudioNode::connect):
2444         
2445 2011-08-30  Dan Bernstein  <mitz@apple.com>
2446
2447         WebCore part of <rdar://problem/9281695> Add text search API for getting the DOM range of a text match
2448         https://bugs.webkit.org/show_bug.cgi?id=67230
2449
2450         Reviewed by Darin Adler.
2451
2452         Test: TestWebKitAPI/Tests/mac/DOMRangeOfString.
2453
2454         * WebCore.exp.in: Export Page::rangeOfString().
2455         * dom/Range.h: Added a default ASSERT_NO_EXCEPTION to a few more member functions.
2456         * editing/Editor.cpp:
2457         (WebCore::Editor::findString): Moved most of the logic into rangeOfString(), which this function
2458         now calls, passing in the current selection as the reference range and setting the selection to
2459         the returned range.
2460         (WebCore::Editor::rangeOfString): Added. Contains the find logic from findString().
2461         * editing/Editor.h:
2462         * page/Page.cpp:
2463         (WebCore::Page::rangeOfString): Added. This function is similar to findString(), but it takes an optional
2464         reference range and returns a Range, rather than using the current selection as the reference range and setting the
2465         selection to the next match.
2466         * page/Page.h:
2467
2468 2011-08-30  Sam Weinig  <sam@webkit.org>
2469
2470         Add additional convertValue overloads to JSDictionary
2471         https://bugs.webkit.org/show_bug.cgi?id=67244
2472
2473         Reviewed by Darin Adler.
2474
2475         Add overloads for convertValue that will be needed for Event
2476         constructors.
2477
2478         * bindings/js/JSDictionary.cpp:
2479         (WebCore::JSDictionary::convertValue):
2480         * bindings/js/JSDictionary.h:
2481         Add overloads.  Remove #include of <runtime/Error.h> and just include
2482         <interpreter/CallFrame.h>
2483
2484         * bindings/js/JSEventConstructors.cpp:
2485         Add now necessary #include of <runtime/Error.h>.
2486
2487 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
2488
2489         Add MediaSource API to HTMLMediaElement
2490         https://bugs.webkit.org/show_bug.cgi?id=64731
2491
2492         Reviewed by Eric Carlson.
2493
2494         Tests: http/tests/media/media-source/webm/video-media-source-errors.html
2495                http/tests/media/media-source/webm/video-media-source-play.html
2496                http/tests/media/media-source/webm/video-media-source-seek.html
2497                http/tests/media/media-source/webm/video-media-source-state-changes.html
2498
2499         * Configurations/FeatureDefines.xcconfig:
2500         * GNUmakefile.am:
2501         * dom/EventNames.h:
2502         * features.pri:
2503         * html/HTMLMediaElement.cpp:
2504         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initializers for new member variables.
2505         (WebCore::HTMLMediaElement::prepareForLoad): Close the media source before starting a new load.
2506         (WebCore::HTMLMediaElement::loadResource):
2507             Fail loading if the media source url from another media element is used.
2508         (WebCore::HTMLMediaElement::mediaEngineError):
2509             Make sure the source is in the closed state before firing an emptied event.
2510         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
2511             New method called by WebCore::MediaPlayer to signal when the source is open.
2512         (WebCore::HTMLMediaElement::mediaPlayerSourceURL):
2513             New method called by the WebCore::MediaPlayer to determine what the media source URL is for this
2514             HTMLMediaElement instance.
2515         (WebCore::HTMLMediaElement::seek):
2516             Disabled noSeekRequired optimization if a media source is open and resets the source state to SOURCE_OPEN if
2517             it was in the SOURCE_ENDED state when seek() was called.
2518         (WebCore::HTMLMediaElement::webkitSourceAppend):
2519             New method for passing media data from JavaScript to the WebCore::MediaPlayer.
2520         (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
2521             New method that allows JavaScript to signal the end of the stream.
2522         (WebCore::HTMLMediaElement::webkitSourceState): New method allowing JavaScript to read the current source state.
2523         (WebCore::HTMLMediaElement::setSourceState): New method for updating the current source state.
2524         (WebCore::HTMLMediaElement::userCancelledLoad):
2525             Transitions an open source to the closed state before firing an emptied event.
2526         * html/HTMLMediaElement.h:
2527         (WebCore::HTMLMediaElement::webkitMediaSourceURL):
2528             New method providing the media source URL to JavaScript for this HTMLMediaElement instance.
2529         * html/HTMLMediaElement.idl: Added new methods, attributes, and constants for the media source api.
2530         * platform/graphics/MediaPlayer.cpp:
2531         (WebCore::NullMediaPlayerPrivate::sourceAppend):
2532             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceAppend.
2533         (WebCore::NullMediaPlayerPrivate::sourceEndOfStream):
2534             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceEndOfStream.
2535         (WebCore::MediaPlayer::sourceAppend): New method for receiving media data from WebCore::HTMLMediaElement.
2536         (WebCore::MediaPlayer::sourceEndOfStream): New method for receiving end of stream from WebCore::HTMLMediaElement.
2537         (WebCore::MediaPlayer::sourceOpened):
2538             New method called by the MediaPlayerPrivate object to notify the MediaPlayer when the source has opened.
2539         (WebCore::MediaPlayer::sourceURL):
2540             New method called by the MediaPlayerPrivate implementation to get the media source URL from the MediaPlayer.
2541         * platform/graphics/MediaPlayer.h:
2542         (WebCore::MediaPlayerClient::mediaPlayerSourceOpened):
2543             Interface method used by the MediaPlayer to tell the HTMLMediaElement when the media source has been opened.
2544         (WebCore::MediaPlayerClient::mediaPlayerSourceURL):
2545             Interface method used by the MediaPlayer to get the media source URL from the HTMLMediaElement.
2546         * platform/graphics/MediaPlayerPrivate.h:
2547         (WebCore::MediaPlayerPrivateInterface::sourceAppend):
2548             Interface method used by the MediaPlayer to pass media data to the MediaPlayerPrivate object.
2549         (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream):
2550             Interface method used by the MediaPlayer to pass end of stream information to the MediaPlayerPrivate object.
2551
2552 2011-08-30  Sam Weinig  <sam@webkit.org>
2553
2554         Refactor JS dictionary code into helper class and covert geolocation code to use it
2555         https://bugs.webkit.org/show_bug.cgi?id=67213
2556
2557         Reviewed by Darin Adler.
2558
2559         * GNUmakefile.list.am:
2560         * UseJSC.cmake:
2561         * WebCore.gypi:
2562         * WebCore.pro:
2563         * WebCore.vcproj/WebCore.vcproj:
2564         * WebCore.xcodeproj/project.pbxproj:
2565         * bindings/js/JSBindingsAllInOne.cpp:
2566         Add new files.
2567
2568         * bindings/js/JSDictionary.cpp: Added.
2569         (WebCore::JSDictionary::convertValue):
2570         * bindings/js/JSDictionary.h: Added.
2571         (WebCore::JSDictionary::JSDictionary):
2572         (WebCore::JSDictionary::tryGetProperty):
2573         Encapsulate dictionary initialization code into JSDictionary class.
2574
2575         * bindings/js/JSEventConstructors.cpp:
2576         (WebCore::constructJSEventWithInitializer):
2577         Use JSDictionary.
2578
2579         * bindings/js/JSGeolocationCustom.cpp:
2580         (WebCore::setEnableHighAccuracy):
2581         (WebCore::setTimeout):
2582         (WebCore::setMaximumAge):
2583         (WebCore::createPositionOptions):
2584         Use JSDictionary.
2585
2586 2011-08-30  Scott Byer  <scottbyer@chromium.org>
2587
2588         Switch chromium to use ScrollAnimatorNone on Windows.
2589         https://bugs.webkit.org/show_bug.cgi?id=67000
2590
2591         Reviewed by Adam Barth.
2592
2593         Testing covered by Chromium webkit_unit_tests ScrollAnimatorNoneTest.*
2594
2595         * WebCore.gyp/WebCore.gyp:
2596         * WebCore.gypi:
2597
2598 2011-08-30  Tony Chang  <tony@chromium.org>
2599
2600         refactor and cleanup RenderFlexibleBox
2601         https://bugs.webkit.org/show_bug.cgi?id=67165
2602
2603         Reviewed by Ojan Vafai.
2604
2605         No new tests, just refactoring code.
2606
2607         * rendering/RenderFlexibleBox.cpp:
2608         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
2609         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal): Make childSizes a param so we can pass the results to layoutAndPlaceChildrenHorizontal.
2610         (WebCore::hasPackingSpace): Move closer to where it's used.
2611         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
2612             Pull this code out into its own function because it's not part of running the free space allocation algorithm.
2613         * rendering/RenderFlexibleBox.h:
2614
2615 2011-08-30  Tim Horton  <timothy_horton@apple.com>
2616
2617         getBBox() on a SVGPathElement with curves incorrectly includes control points
2618         https://bugs.webkit.org/show_bug.cgi?id=53512
2619         <rdar://problem/9861154>
2620
2621         Reviewed by Dirk Schulze.
2622
2623         The CoreGraphics implementation of Path::boundingRect() called
2624         CGPathGetBoundingBox, which includes the path's control points in its
2625         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
2626         finds the bounding box of only points within the path, and does not
2627         include control points. On Snow Leopard and above, we now use the latter.
2628
2629         Test: svg/custom/getBBox-path.svg
2630
2631         * platform/graphics/cg/PathCG.cpp:
2632         (WebCore::Path::boundingRect):
2633
2634 2011-08-30  Tim Horton  <timothy_horton@apple.com>
2635
2636         SVG panning y-axis is flipped in WebKit2
2637         https://bugs.webkit.org/show_bug.cgi?id=65800
2638         <rdar://problem/9908012>
2639
2640         Reviewed by Darin Adler.
2641
2642         We previously were not transforming the pointer coordinates passed
2643         to SVGDocument's panning implementation into the coordinate space of
2644         the contents, so on different platforms, the drag direction was different.
2645
2646         Test: svg/custom/pan-direction.svg
2647
2648         * page/EventHandler.cpp:
2649         (WebCore::EventHandler::handleMousePressEvent):
2650         (WebCore::EventHandler::handleMouseMoveEvent):
2651         (WebCore::EventHandler::handleMouseReleaseEvent):
2652         * svg/SVGDocument.cpp:
2653         (WebCore::SVGDocument::startPan):
2654         (WebCore::SVGDocument::updatePan):
2655
2656 2011-08-30  Adam Barth  <abarth@webkit.org>
2657
2658         Flaky crash with JavaScript URLs
2659         https://bugs.webkit.org/show_bug.cgi?id=66360
2660
2661         Reviewed by Nate Chapin.
2662
2663         This patch teaches DocumentWriter::begin to make a copy of the URL
2664         before beginning a new document to avoid a crash.
2665
2666         Test: fast/loader/javascript-url-iframe-crash.html
2667
2668         * loader/DocumentWriter.cpp:
2669         (WebCore::DocumentWriter::begin):
2670
2671 2011-08-30  Tony Gentilcore  <tonyg@chromium.org>
2672
2673         PreloadScanner shouldn't load images inside noscript via doc.write
2674         https://bugs.webkit.org/show_bug.cgi?id=67214
2675
2676         Reviewed by Adam Barth.
2677
2678         The problem was that the tokenizer state was lost between each call to document.write.
2679         This works around that bug by making all document.write()s in the same script block share
2680         the same tokenizer state.
2681
2682         Test: fast/preloader/document-write-noscript.html
2683
2684         * html/parser/HTMLDocumentParser.cpp:
2685         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
2686         (WebCore::HTMLDocumentParser::detach):
2687         (WebCore::HTMLDocumentParser::insert):
2688         * html/parser/HTMLDocumentParser.h:
2689
2690 2011-08-30  Dmitry Titov  <dimich@chromium.org>
2691
2692         https://bugs.webkit.org/show_bug.cgi?id=67210
2693         [Chromium] Use after free in ScheduledAction::execute(WebCore::V8Proxy*)
2694
2695         Reviewed by David Levin.
2696
2697         * bindings/v8/ScheduledAction.cpp:
2698         (WebCore::ScheduledAction::execute):
2699         Removed usage of V8Proxy instance after it could have been deleted.
2700
2701         * bindings/v8/V8Proxy.cpp:
2702         (WebCore::V8Proxy::V8Proxy):
2703         * bindings/v8/V8Proxy.h:
2704         Removed unused timerCallback() and setTimerCallback().
2705
2706 2011-08-30  Abhishek Arya  <inferno@chromium.org>
2707
2708         Style not updated for table parts in :before, :after content.
2709         https://bugs.webkit.org/show_bug.cgi?id=66141        
2710
2711         Reviewed by Dave Hyatt.
2712
2713         Tests: fast/table/table-before-child-style-update.html
2714                fast/table/table-row-before-child-style-update.html
2715
2716         * rendering/RenderObjectChildList.cpp:
2717         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2718
2719 2011-08-30  Tony Chang  <tony@chromium.org>
2720
2721         refactor box-ordinal-group handling so we don't timeout on large values
2722         https://bugs.webkit.org/show_bug.cgi?id=65783
2723
2724         Reviewed by David Hyatt.
2725
2726         The old code walked from 1 to the last box-ordinal-group while
2727         iterating over each flex item.  The new code collects ordinals as
2728         we do the first walk and sorts them.  Each additional iteration
2729         through the flex items gets the next oridnal from the sorted list.
2730
2731         This maintains the single pass for the common case of no
2732         box-ordinal-groups specified.  If there are ordinal groups,
2733         the runtime is O(n*m + m lg m) where n is the # of flex items and
2734         m is the number of unique box-ordinal-group values.  The memory
2735         usage is O(2m).
2736
2737         Test: fast/flexbox/box-ordinal-group.html
2738
2739         * rendering/RenderDeprecatedFlexibleBox.cpp:
2740         (WebCore::FlexBoxIterator::FlexBoxIterator):
2741         (WebCore::FlexBoxIterator::reset):
2742         (WebCore::FlexBoxIterator::next):
2743         (WebCore::FlexBoxIterator::compareFlexOrder):
2744
2745 2011-08-30  Abhishek Arya  <inferno@chromium.org>
2746
2747         Removed m_owner accessed in custom scrollbars.
2748         https://bugs.webkit.org/show_bug.cgi?id=64737
2749
2750         Reviewed by David Hyatt.
2751
2752         Problem does not reproduce in DRT, even with Eventhandler tricks
2753         and gc(). So, adding a manual test.
2754
2755         * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added.
2756         * page/FrameView.cpp:
2757         (WebCore::FrameView::clearOwningRendererForCustomScrollbars):
2758         * page/FrameView.h:
2759         * rendering/RenderBox.cpp:
2760         (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting
2761         destroyed, clear the custom scrollbar in this frameview having this renderbox
2762         as its owning renderer.
2763         * rendering/RenderScrollbar.cpp:
2764         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check.
2765
2766 2011-08-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2767
2768         Emit last progress notification before calling dispatchDidFinishLoad
2769         https://bugs.webkit.org/show_bug.cgi?id=28851
2770
2771         Reviewed by Adam Barth.
2772
2773         Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in
2774         a more natural sequence.
2775
2776         Test: http/tests/loading/progress-finished-callback.html
2777
2778         * loader/FrameLoader.cpp:
2779         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2780
2781 2011-08-30  Ojan Vafai  <ojan@chromium.org>
2782
2783         CSS parsing for -webkit-flex-flow
2784         https://bugs.webkit.org/show_bug.cgi?id=67224
2785
2786         Reviewed by Tony Chang.
2787         
2788         Adds support for the first value of -webkit-flex-flow.
2789         Later we'll need to add support for the second "wrap" value,
2790         but that can wait until we are ready to implement multiline
2791         flex and the spec has stabilized a bit.
2792
2793         * css/CSSComputedStyleDeclaration.cpp:
2794         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2795         * css/CSSParser.cpp:
2796         (WebCore::CSSParser::parseValue):
2797         * css/CSSPrimitiveValueMappings.h:
2798         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2799         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
2800         * css/CSSPropertyNames.in:
2801         * css/CSSStyleApplyProperty.cpp:
2802         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2803         * css/CSSStyleSelector.cpp:
2804         (WebCore::CSSStyleSelector::applyProperty):
2805         * css/CSSValueKeywords.in:
2806         * rendering/style/RenderStyle.h:
2807         (WebCore::InheritedFlags::flexFlow):
2808         (WebCore::InheritedFlags::setFlexFlow):
2809         (WebCore::InheritedFlags::initialFlexFlow):
2810         * rendering/style/RenderStyleConstants.h:
2811         * rendering/style/StyleFlexibleBoxData.cpp:
2812         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2813         (WebCore::StyleFlexibleBoxData::operator==):
2814         * rendering/style/StyleFlexibleBoxData.h:
2815
2816 2011-08-30  Dawit Alemayehu  <adawit@kde.org>
2817
2818         [Qt] Replace QLibrary("libgtk-x11-2.0.so.0") with QLibrary("libgtk-x11-2.0", 0)
2819         https://bugs.webkit.org/show_bug.cgi?id=66627
2820
2821         Reviewed by Simon Hausmann.
2822
2823         * plugins/qt/PluginPackageQt.cpp:
2824         (WebCore::initializeGtk):
2825
2826 2011-08-29  Oliver Hunt  <oliver@apple.com>
2827
2828         TypedArrays don't ensure that denormalised values are normalised
2829         https://bugs.webkit.org/show_bug.cgi?id=67178
2830
2831         Reviewed by Gavin Barraclough.
2832
2833         Ensure that we convert singaling nans to silent nans when loading
2834         from a typed array. 
2835
2836         * bindings/scripts/CodeGeneratorJS.pm:
2837         (GenerateImplementation):
2838
2839 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
2840
2841         DumpRenderTree should begin each test with an empty cookie store
2842         https://bugs.webkit.org/show_bug.cgi?id=63545
2843         <rdar://problem/5666907>
2844
2845         Reviewed by Darin Adler.
2846
2847         Use a clean CFURLStorageSession when this functionality is available.
2848
2849         * WebCore.exp.in: Added exports.
2850
2851         * WebCore.xcodeproj/project.pbxproj: Made CookieStorageCFNet.h private, as currentCFHTTPCookieStorage
2852         is used in WebKit.
2853
2854         * platform/mac/CookieJar.mm:
2855         (WebCore::cookies):
2856         (WebCore::cookieRequestHeaderFieldValue):
2857         (WebCore::setCookies):
2858         (WebCore::cookiesEnabled):
2859         (WebCore::getRawCookies):
2860         (WebCore::deleteCookie):
2861         Updated to use currentCFHTTPCookieStorage().
2862
2863         * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
2864
2865         * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
2866
2867         * platform/network/ResourceHandle.h: Exposed default session support on Mac, too. Made
2868         privateBrowsingStorageSession() private, as callers shouldn't be concerned about where the
2869         current sssion came from.
2870
2871         * platform/network/cf/CookieJarCFNet.cpp:
2872         (WebCore::setCookies):
2873         (WebCore::cookies):
2874         (WebCore::cookieRequestHeaderFieldValue):
2875         (WebCore::cookiesEnabled):
2876         (WebCore::getRawCookies):
2877         (WebCore::deleteCookie):
2878         (WebCore::getHostnamesWithCookies):
2879         (WebCore::deleteCookiesForHostname):
2880         (WebCore::deleteAllCookies):
2881         Updated to use currentCFHTTPCookieStorage().
2882
2883         * platform/network/cf/CookieStorageCFNet.cpp:
2884         (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
2885         (WebCore::overrideCookieStorage): Ditto.
2886         (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
2887         unless it has been overridden on Windows. We can always get it from a session.
2888         (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
2889         use private session's storage. Note that Mac has a separate code path for OS versions that
2890         don't support sessions.
2891         (WebCore::startObservingCookieChanges): Updated to use currentCFHTTPCookieStorage().
2892         (WebCore::stopObservingCookieChanges): Ditto.
2893
2894         * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
2895
2896         * platform/network/cf/ResourceHandleCFNet.cpp:
2897         (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
2898         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
2899         as this function is also used with NSURLConnection when sessions are enabled.
2900         (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
2901         is now supported on Mac, too.
2902         (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
2903         (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
2904         adopt the session, because nothing in method name says that it will steal a reference from
2905         the caller.
2906         (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
2907         (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
2908         (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
2909         (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
2910         (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
2911         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
2912         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
2913
2914         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
2915         We no longer store a reference to cookie storage in a static variable, so nothing to do here.
2916         On older OS versiosn, we still need to enable legacy private browsing mode.
2917
2918         * platform/network/mac/ResourceHandleMac.mm:
2919         (WebCore::shouldRelaxThirdPartyCookiePolicy): Updated to use the new currentCFHTTPCookieStorage function.
2920         (WebCore::ResourceHandle::createNSURLConnection): Updated to use currentStorageSession()
2921         instead of privateBrowsingStorageSession().
2922         (WebCore::ResourceHandle::willSendRequest): Ditto.
2923
2924 2011-08-30  David Hyatt  <hyatt@apple.com>
2925
2926         <rdar://problem/10002140> 9A309: Text gets clipped in book because of overflow:auto
2927         
2928         https://bugs.webkit.org/show_bug.cgi?id=67212 - Text gets clipped in multi-column layouts when overflow:auto
2929         is used.
2930         
2931         Revise our overflow:auto pagination behavior. If the overflow block doesn't specify any logical height
2932         information, then we'll just assume the plan is for it to enclose its contents, and we will be willing
2933         to paginate in those circumstances.
2934
2935         Reviewed by Dan Bernstein.
2936
2937         Added overflow-across-columns.html and overflow-unsplittable.html
2938
2939         * rendering/LayoutState.cpp:
2940         (WebCore::LayoutState::LayoutState):
2941         * rendering/RenderBlock.cpp:
2942         (WebCore::RenderBlock::adjustForUnsplittableChild):
2943         * rendering/RenderBox.cpp:
2944         (WebCore::RenderBox::hasUnsplittableScrollingOverflow):
2945         * rendering/RenderBox.h:
2946
2947 2011-08-30  Antti Koivisto  <antti@apple.com>
2948
2949         querySelector/querySelectorAll should use selector checker fast path 
2950         https://bugs.webkit.org/show_bug.cgi?id=67161
2951
2952         Reviewed by Sam Weinig.
2953
2954         Descendant and child selectors can be matches substantially faster using
2955         SelectorChecker::fastCheckSelector() path. Currently it is used for style matching only.  
2956         
2957         Add SelectorQuery class that can do both querySelector and querySelectorAll efficiently using
2958         fast path. Use inlined loop for DOM traversal.
2959         
2960         The patch is ~25% speedup in the overall native score of http://www.webkit.org/perf/slickspeed/.
2961         Some individual subtests (using child or descendant selectors) execute twice as fast.
2962
2963         * CMakeLists.txt:
2964         * GNUmakefile.list.am:
2965         * WebCore.gypi:
2966         * WebCore.pro:
2967         * WebCore.vcproj/WebCore.vcproj:
2968         * WebCore.xcodeproj/project.pbxproj:
2969         * css/CSSStyleSelector.cpp:
2970         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2971         (WebCore::CSSStyleSelector::SelectorChecker::isFastCheckableSelector):
2972         (WebCore::RuleData::RuleData):
2973         * css/CSSStyleSelector.h:
2974         
2975             Make fast path checking available outside CSSStyleSelector.
2976             
2977         * dom/DOMAllInOne.cpp:
2978         * dom/Node.cpp:
2979         (WebCore::Node::querySelector):
2980         (WebCore::Node::querySelectorAll):
2981         
2982             Switch to SelectorQuery.
2983         
2984         * dom/SelectorNodeList.cpp: Removed.
2985         * dom/SelectorNodeList.h: Removed.
2986         
2987             SelectorQuery makes these obsolete.
2988
2989         * dom/SelectorQuery.cpp: Added.
2990         (WebCore::SelectorQuery::SelectorQuery):
2991         (WebCore::SelectorQuery::queryAll):
2992         (WebCore::SelectorQuery::queryFirst):
2993         (WebCore::SelectorQuery::canUseIdLookup):
2994         (WebCore::SelectorQuery::execute):
2995         * dom/SelectorQuery.h: Added.
2996         
2997             Class for selector matching in tree.
2998     
2999 2011-08-30  Dmitry Titov  <dimich@chromium.org>
3000
3001         REGRESSION (r93913): Failures in fast/replaced/frame-removed-during-resize.html and scrollbars/scrollable-iframe-remove-crash.html
3002         https://bugs.webkit.org/show_bug.cgi?id=67074
3003
3004         Reviewed by Darin Adler.
3005
3006         Added flag m_isClosed to prevent events that cause Frame to be destroyed
3007         from posting more events into EventQueue of a dying Document.
3008
3009         The tests mentioned above should now pass.
3010
3011         * dom/Document.cpp:
3012         (WebCore::Document::detach):
3013         * dom/EventQueue.cpp:
3014         (WebCore::EventQueue::EventQueue):
3015         (WebCore::EventQueue::enqueueEvent):
3016         (WebCore::EventQueue::close): Renamed method to reflect better what it does.
3017         * dom/EventQueue.h:
3018
3019 2011-08-30  Tony Chang  <tony@chromium.org>
3020
3021         Fix compile warning on clang:
3022         error: 'WebKit::ChromeClientImpl::scrollRectIntoView' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
3023             virtual void scrollRectIntoView(
3024                              ^
3025         ../../WebCore/page/ChromeClient.h:171:22: note: hidden overloaded virtual function 'WebCore::ChromeClient::scrollRectIntoView' declared here
3026             virtual void scrollRectIntoView(const IntRect&) { }; // Currently only Mac has a non empty implementation.
3027
3028         * page/ChromeClient.h:
3029         (WebCore::ChromeClient::scrollRectIntoView):
3030
3031 2011-08-30  David Hyatt  <hyatt@apple.com>
3032
3033         <rdar://problem/8832814> With large line-height, column break can happen anywhere in the
3034         inter-line gap, causing staggered lines.
3035         
3036         https://bugs.webkit.org/show_bug.cgi?id=67202 Handle positive leading when paginating lines.
3037         
3038         Technically we should paginate lines based solely off their line top and line bottom with
3039         leading included. However there are two issues with always doing so. The first is that overflow
3040         can cause lines to overlap, and the second is that negative leading can cause lines to overlap.
3041
3042         Since we're incapable of dealing with overlap until we stop clipping column boxes and allow them
3043         to have a form of specialized overflow, we still have to at least factor in overflow and ignore
3044         negative leading for now. However we can at least honor positive leading when the lines don't
3045         overlap. This patch provides basic support for paginating when positive leading is involved.
3046
3047         Reviewed by Dan Bernstein.
3048
3049         Added fast/multicol/positive-leading.html.
3050
3051         * rendering/RenderBlock.cpp:
3052         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
3053         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
3054
3055         (WebCore::RenderBlock::adjustLinePositionForPagination):
3056         Grow the top and extent of the line to include our leading when deciding how to paginate
3057         the line.
3058
3059         * rendering/RenderBlockLineLayout.cpp:
3060         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
3061         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3062         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3063         (WebCore::RenderBlock::checkFloatsInCleanLine):
3064         (WebCore::RenderBlock::determineStartPosition):
3065         (WebCore::RenderBlock::determineEndPosition):
3066         (WebCore::RenderBlock::matchedEndLine):
3067         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
3068
3069         * rendering/RootInlineBox.cpp:
3070         (WebCore::RootInlineBox::RootInlineBox):
3071         (WebCore::RootInlineBox::adjustPosition):
3072         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3073         * rendering/RootInlineBox.h:
3074         (WebCore::RootInlineBox::lineTopWithLeading):
3075         (WebCore::RootInlineBox::lineBottomWithLeading):
3076         (WebCore::RootInlineBox::setLineTopBottomPositions):
3077         Instead of one member variable, blockLogicalHeight(), RootInlineBoxes now know both their top and
3078         bottom including leading. These values are obtainable using lineTopWithLeading() and lineBottomWithLeading().
3079         Add these two values to the setLineTopBottomPositions setter and remove setBlockLogicalHeight.
3080
3081         * rendering/svg/SVGRootInlineBox.cpp:
3082         (WebCore::SVGRootInlineBox::layoutRootBox):
3083         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
3084
3085 2011-08-29  Chris Marrin  <cmarrin@apple.com>
3086
3087         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
3088         https://bugs.webkit.org/show_bug.cgi?id=67172
3089
3090         Reviewed by Kenneth Russell.
3091
3092         * GNUmakefile.list.am:
3093         * platform/graphics/GraphicsContext3D.h:
3094         * platform/graphics/chromium/Extensions3DChromium.h:
3095         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
3096         (WebCore::GraphicsContext3D::create):
3097         (WebCore::GraphicsContext3D::GraphicsContext3D):
3098         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3099         (WebCore::GraphicsContext3D::makeContextCurrent):
3100         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
3101         * platform/graphics/gtk/GraphicsContext3DInternal.h: Removed.
3102         * platform/graphics/gtk/GraphicsContext3DPrivate.h: Copied from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.h.
3103         * platform/graphics/mac/GraphicsContext3DMac.mm:
3104         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
3105         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3106         (WebCore::GraphicsContext3D::GraphicsContext3D):
3107         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3108         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
3109         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3110         (WebCore::GraphicsContext3DPrivate::getViewportGLWidget):
3111         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3112         (WebCore::GraphicsContext3DPrivate::boundingRect):
3113         (WebCore::GraphicsContext3DPrivate::paint):
3114         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
3115         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
3116         (WebCore::GraphicsContext3D::create):
3117         (WebCore::GraphicsContext3D::GraphicsContext3D):
3118         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3119         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
3120         (WebCore::GraphicsContext3D::platformLayer):
3121         (WebCore::GraphicsContext3D::makeContextCurrent):
3122         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3123         (WebCore::GraphicsContext3D::reshape):
3124         (WebCore::GraphicsContext3D::activeTexture):
3125         (WebCore::GraphicsContext3D::attachShader):
3126         (WebCore::GraphicsContext3D::getAttachedShaders):
3127         (WebCore::GraphicsContext3D::bindAttribLocation):
3128         (WebCore::GraphicsContext3D::bindBuffer):
3129         (WebCore::GraphicsContext3D::bindFramebuffer):
3130         (WebCore::GraphicsContext3D::bindRenderbuffer):
3131         (WebCore::GraphicsContext3D::bindTexture):
3132         (WebCore::GraphicsContext3D::blendColor):
3133         (WebCore::GraphicsContext3D::blendEquation):
3134         (WebCore::GraphicsContext3D::blendEquationSeparate):
3135         (WebCore::GraphicsContext3D::blendFunc):
3136         (WebCore::GraphicsContext3D::blendFuncSeparate):
3137         (WebCore::GraphicsContext3D::bufferData):
3138         (WebCore::GraphicsContext3D::bufferSubData):
3139         (WebCore::GraphicsContext3D::checkFramebufferStatus):
3140         (WebCore::GraphicsContext3D::clearColor):
3141         (WebCore::GraphicsContext3D::clear):
3142         (WebCore::GraphicsContext3D::clearDepth):
3143         (WebCore::GraphicsContext3D::clearStencil):
3144         (WebCore::GraphicsContext3D::colorMask):
3145         (WebCore::GraphicsContext3D::compileShader):
3146         (WebCore::GraphicsContext3D::copyTexImage2D):
3147         (WebCore::GraphicsContext3D::copyTexSubImage2D):
3148         (WebCore::GraphicsContext3D::cullFace):
3149         (WebCore::GraphicsContext3D::depthFunc):
3150         (WebCore::GraphicsContext3D::depthMask):
3151         (WebCore::GraphicsContext3D::depthRange):
3152         (WebCore::GraphicsContext3D::detachShader):
3153         (WebCore::GraphicsContext3D::disable):
3154         (WebCore::GraphicsContext3D::disableVertexAttribArray):
3155         (WebCore::GraphicsContext3D::drawArrays):
3156         (WebCore::GraphicsContext3D::drawElements):
3157         (WebCore::GraphicsContext3D::enable):
3158         (WebCore::GraphicsContext3D::enableVertexAttribArray):
3159         (WebCore::GraphicsContext3D::finish):
3160         (WebCore::GraphicsContext3D::flush):
3161         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3162         (WebCore::GraphicsContext3D::framebufferTexture2D):
3163         (WebCore::GraphicsContext3D::frontFace):
3164         (WebCore::GraphicsContext3D::generateMipmap):
3165         (WebCore::GraphicsContext3D::getActiveAttrib):
3166         (WebCore::GraphicsContext3D::getActiveUniform):
3167         (WebCore::GraphicsContext3D::getAttribLocation):
3168         (WebCore::GraphicsContext3D::getError):
3169         (WebCore::GraphicsContext3D::getString):
3170         (WebCore::GraphicsContext3D::hint):
3171         (WebCore::GraphicsContext3D::isBuffer):
3172         (WebCore::GraphicsContext3D::isEnabled):
3173         (WebCore::GraphicsContext3D::isFramebuffer):
3174         (WebCore::GraphicsContext3D::isProgram):
3175         (WebCore::GraphicsContext3D::isRenderbuffer):
3176         (WebCore::GraphicsContext3D::isShader):
3177         (WebCore::GraphicsContext3D::isTexture):
3178         (WebCore::GraphicsContext3D::lineWidth):
3179         (WebCore::GraphicsContext3D::linkProgram):
3180         (WebCore::GraphicsContext3D::pixelStorei):
3181         (WebCore::GraphicsContext3D::polygonOffset):
3182         (WebCore::GraphicsContext3D::readPixels):
3183         (WebCore::GraphicsContext3D::releaseShaderCompiler):
3184         (WebCore::GraphicsContext3D::renderbufferStorage):
3185         (WebCore::GraphicsContext3D::sampleCoverage):
3186         (WebCore::GraphicsContext3D::scissor):
3187         (WebCore::GraphicsContext3D::shaderSource):
3188         (WebCore::GraphicsContext3D::stencilFunc):
3189         (WebCore::GraphicsContext3D::stencilFuncSeparate):
3190         (WebCore::GraphicsContext3D::stencilMask):
3191         (WebCore::GraphicsContext3D::stencilMaskSeparate):
3192         (WebCore::GraphicsContext3D::stencilOp):
3193         (WebCore::GraphicsContext3D::stencilOpSeparate):
3194         (WebCore::GraphicsContext3D::texParameterf):
3195         (WebCore::GraphicsContext3D::texParameteri):
3196         (WebCore::GraphicsContext3D::uniform1f):
3197         (WebCore::GraphicsContext3D::uniform1fv):
3198         (WebCore::GraphicsContext3D::uniform2f):
3199         (WebCore::GraphicsContext3D::uniform2fv):
3200         (WebCore::GraphicsContext3D::uniform3f):
3201         (WebCore::GraphicsContext3D::uniform3fv):
3202         (WebCore::GraphicsContext3D::uniform4f):
3203         (WebCore::GraphicsContext3D::uniform4fv):
3204         (WebCore::GraphicsContext3D::uniform1i):
3205         (WebCore::GraphicsContext3D::uniform1iv):
3206         (WebCore::GraphicsContext3D::uniform2i):
3207         (WebCore::GraphicsContext3D::uniform2iv):
3208         (WebCore::GraphicsContext3D::uniform3i):
3209         (WebCore::GraphicsContext3D::uniform3iv):
3210         (WebCore::GraphicsContext3D::uniform4i):
3211         (WebCore::GraphicsContext3D::uniform4iv):
3212         (WebCore::GraphicsContext3D::uniformMatrix2fv):
3213         (WebCore::GraphicsContext3D::uniformMatrix3fv):
3214         (WebCore::GraphicsContext3D::uniformMatrix4fv):
3215         (WebCore::GraphicsContext3D::useProgram):
3216         (WebCore::GraphicsContext3D::validateProgram):
3217         (WebCore::GraphicsContext3D::vertexAttrib1f):
3218         (WebCore::GraphicsContext3D::vertexAttrib1fv):
3219         (WebCore::GraphicsContext3D::vertexAttrib2f):
3220         (WebCore::GraphicsContext3D::vertexAttrib2fv):
3221         (WebCore::GraphicsContext3D::vertexAttrib3f):
3222         (WebCore::GraphicsContext3D::vertexAttrib3fv):
3223         (WebCore::GraphicsContext3D::vertexAttrib4f):
3224         (WebCore::GraphicsContext3D::vertexAttrib4fv):
3225         (WebCore::GraphicsContext3D::vertexAttribPointer):
3226         (WebCore::GraphicsContext3D::viewport):
3227         (WebCore::GraphicsContext3D::getBooleanv):
3228         (WebCore::GraphicsContext3D::getBufferParameteriv):
3229         (WebCore::GraphicsContext3D::getFloatv):
3230         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3231         (WebCore::GraphicsContext3D::getIntegerv):
3232         (WebCore::GraphicsContext3D::getProgramiv):
3233         (WebCore::GraphicsContext3D::getProgramInfoLog):
3234         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
3235         (WebCore::GraphicsContext3D::getShaderiv):
3236         (WebCore::GraphicsContext3D::getShaderInfoLog):
3237         (WebCore::GraphicsContext3D::getShaderSource):
3238         (WebCore::GraphicsContext3D::getTexParameterfv):
3239         (WebCore::GraphicsContext3D::getTexParameteriv):
3240         (WebCore::GraphicsContext3D::getUniformfv):
3241         (WebCore::GraphicsContext3D::getUniformiv):
3242         (WebCore::GraphicsContext3D::getUniformLocation):
3243         (WebCore::GraphicsContext3D::getVertexAttribfv):
3244         (WebCore::GraphicsContext3D::getVertexAttribiv):
3245         (WebCore::GraphicsContext3D::getVertexAttribOffset):
3246         (WebCore::GraphicsContext3D::texImage2D):
3247         (WebCore::GraphicsContext3D::texSubImage2D):
3248         (WebCore::GraphicsContext3D::createBuffer):
3249         (WebCore::GraphicsContext3D::createFramebuffer):
3250         (WebCore::GraphicsContext3D::createProgram):
3251         (WebCore::GraphicsContext3D::createRenderbuffer):
3252         (WebCore::GraphicsContext3D::createShader):
3253         (WebCore::GraphicsContext3D::createTexture):
3254         (WebCore::GraphicsContext3D::deleteBuffer):
3255         (WebCore::GraphicsContext3D::deleteFramebuffer):
3256         (WebCore::GraphicsContext3D::deleteProgram):
3257         (WebCore::GraphicsContext3D::deleteRenderbuffer):
3258         (WebCore::GraphicsContext3D::deleteShader):
3259         (WebCore::GraphicsContext3D::deleteTexture):
3260
3261 2011-08-30  Tony Chang  <tony@chromium.org>
3262
3263         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
3264         https://bugs.webkit.org/show_bug.cgi?id=67168
3265
3266         Reviewed by Adam Barth.
3267
3268         webcore_bindings_sources generates various files (e.g., CSSPropertyNames,
3269         DerivedSources, HTMLNames, etc).  webcore_bindings depends on webcore_bindings_sources
3270         and compiles these files.  Previously, the other webcore libs (webcore_svg,
3271         webcore_html, webcore_remaining, etc) depended on webcore_bindings.  This changes the
3272         dependency on webocre_bindings_sources so the build can parallelize the compile of
3273         webcore_bindings and the other webcore_* libs.
3274
3275         No new tests, just changing the build dependencies.  Manually copy over the
3276         include dirs that we used to get from webcore_bindings' direct_dependent_settings.
3277
3278         * WebCore.gyp/WebCore.gyp:
3279
3280 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3281
3282         The unused ScrollView* argument can and should be removed from
3283         scrollRectIntoView.
3284         https://bugs.webkit.org/show_bug.cgi?id=67117
3285
3286         Reviewed by Darin Adler.
3287
3288         * loader/EmptyClients.h:
3289         (WebCore::EmptyChromeClient::scrollRectIntoView):
3290         * page/Chrome.cpp:
3291         (WebCore::Chrome::scrollRectIntoView):
3292         * page/ChromeClient.h:
3293         (WebCore::ChromeClient::scrollRectIntoView):
3294
3295 2011-08-30  Ben Wells  <benwells@chromium.org>
3296
3297         Update registerProtocolHandler scheme whitelist to match spec
3298         https://bugs.webkit.org/show_bug.cgi?id=67104
3299
3300         Reviewed by Darin Adler.
3301
3302         * page/Navigator.cpp:
3303         (WebCore::initProtocolHandlerWhitelist):
3304
3305 2011-08-30  Vsevolod Vlasov  <vsevik@chromium.org>
3306
3307         Web Inspector: Inspected page sometimes crashes in InspectorResourceAgent::didFailLoading
3308         https://bugs.webkit.org/show_bug.cgi?id=67193
3309
3310         Reviewed by Pavel Feldman.
3311
3312         * inspector/InspectorResourceAgent.cpp:
3313         (WebCore::InspectorResourceAgent::didFailLoading):
3314
3315 2011-08-30  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
3316
3317         [Qt] Do not unconditionally use pkg-config in .pro files
3318         https://bugs.webkit.org/show_bug.cgi?id=67055
3319
3320         Reviewed by Andreas Kling.
3321
3322         Original patch from Rohan McGovern <rohan.mcgovern@nokia.com>
3323
3324         Using the first pkg-config in PATH is prone to errors when cross
3325         compiling inside the Qt repository (using Qt's build-system).
3326
3327         This patch protect calls for pkg-config with
3328         !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to
3329         QT_CONFIG by Qt's 'configure' when cross-compiling on systems
3330         without pkg-config.
3331
3332         The respective change in Qt's configure has been submited already.
3333
3334         No new tests as this is just a build change.
3335
3336         * features.pri: protect pkg-config calls
3337
3338 2011-08-30  Andreas Kling  <kling@webkit.org>
3339
3340         HTMLImageElement: Don't cache "ismap" and "usemap" attributes.
3341         https://bugs.webkit.org/show_bug.cgi?id=66784
3342
3343         Reviewed by Darin Adler.
3344
3345         * html/HTMLImageElement.h: Remove the "ismap" and "usemap" members,
3346         shrinking HTMLImageElement by 16 bytes (on 64-bit.)
3347         * html/HTMLImageElement.cpp:
3348         (WebCore::HTMLImageElement::HTMLImageElement):
3349         (WebCore::HTMLImageElement::parseMappedAttribute): Most of the logic
3350         for "ismap" and "usemap" moved into isServerMap().
3351         (WebCore::HTMLImageElement::isServerMap): Out-of-lined and implemented
3352         using fast*Attribute().
3353
3354 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
3355
3356         lastChangeWasUserEdit continues to return true when innerText or textContent is modified
3357         https://bugs.webkit.org/show_bug.cgi?id=67183
3358
3359         Reviewed by Kent Tamura.
3360
3361         Fixed the bug by calling setLastChangeWasNotUserEdit in HTMLTextAreaElement::childrenChanged.
3362
3363         Also got rid of HTMLTextFormControlElement::subtreeHasChanged because it was a needless indirection.
3364
3365         * html/HTMLInputElement.cpp:
3366         (WebCore::HTMLInputElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
3367         * html/HTMLTextAreaElement.cpp:
3368         (WebCore::HTMLTextAreaElement::childrenChanged): Calls setLastChangeWasNotUserEdit.
3369         (WebCore::HTMLTextAreaElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
3370         * html/HTMLTextFormControlElement.cpp:
3371         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Merged subtreeHasChanged.
3372         (WebCore::HTMLTextFormControlElement::setInnerTextValue): No longer set m_lastChangeWasUserEdit to false
3373         since this is now done when renderers are set dirty.
3374         * html/HTMLTextFormControlElement.h: Made subtreeHasChanged a pure virtual function.
3375
3376 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
3377
3378         Web Inspector: wrong script display name when there is a slash in its URL query parameters
3379         https://bugs.webkit.org/show_bug.cgi?id=67120
3380
3381         Fixed folder name computation in ScriptsPanel. Now search query is ignored
3382         when searching for the script folder name.
3383
3384         Reviewed by Pavel Feldman.
3385
3386         * inspector/front-end/ScriptsPanel.js:
3387         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
3388
3389 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
3390
3391         Return value of window.onerror has inverted semantics
3392         https://bugs.webkit.org/show_bug.cgi?id=67119
3393
3394         Error is now treated as handled only when window.onerror function returns true.
3395
3396         Reviewed by Darin Adler.
3397
3398         Test: fast/events/window-onerror13.html
3399
3400         * bindings/js/JSErrorHandler.cpp:
3401         (WebCore::JSErrorHandler::handleEvent):
3402         * bindings/v8/V8WindowErrorHandler.cpp:
3403         (WebCore::V8WindowErrorHandler::callListenerFunction):
3404         * bindings/v8/V8WorkerContextErrorHandler.cpp:
3405         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
3406
3407 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
3408
3409         Touch Internals.cpp in an attempt to fix GTK+ build.
3410
3411         * testing/Internals.cpp:
3412
3413 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
3414
3415         Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
3416         https://bugs.webkit.org/show_bug.cgi?id=67152
3417
3418         Reviewed by Darin Adler.
3419
3420         Moved setInnerTextValue from RenderTextControl to HTMLTextFormControlElement.
3421
3422         Also moved m_lastChangeWasUserEdit from RenderTextControl to HTMLTextFormControlElement
3423         and related inline functions from RenderTextControl to HTMLTextFormControlElement.
3424         Because m_lastChangeWasUserEdit is no longer reset when RenderTextControl is recreated,
3425         added explicit calls to setLastChangeWasNotUserEdit in setValue functions of HTMLInputElement
3426         and HTMLTextAreaElement.
3427
3428         This patch also fixes the bug that lastChangeWasUserEdit() incorrectly returns false
3429         when input or textarea don't have renderer (e.g. invisible).
3430
3431         Unfortunately, there is no way to test this behavioral change from layout tests.
3432
3433         * WebCore.exp.in: Exports lastChangeWasUserEdit in HTMLTextFormControlElement instead of
3434         that of HTMLInputElement and HTMLTextAreaElement.
3435         * html/HTMLInputElement.cpp:
3436         (WebCore::HTMLInputElement::setValue): Explicitly calls setLastChangeWasNotUserEdit.
3437         * html/HTMLInputElement.h:
3438         * html/HTMLTextAreaElement.cpp:
3439         (WebCore::HTMLTextAreaElement::setValueCommon): Ditto.
3440         * html/HTMLTextAreaElement.h:
3441         * html/HTMLTextFormControlElement.cpp:
3442         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
3443         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Sets m_lastChangeWasUserEdit true
3444         as it used to