7ddd75b7df97996054d57136a5cfc7dd04db0a60
[WebKit-https.git] / WebCore / ChangeLog
1 2010-06-09  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Adele Peterson.
4
5         <rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.
6
7         A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
8         BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.
9
10         * history/BackForwardList.cpp:
11         (WebCore::BackForwardList::addItem): Null-check m_page.
12         (WebCore::BackForwardList::goBack): Ditto.
13         (WebCore::BackForwardList::goForward): Ditto.
14         (WebCore::BackForwardList::goToItem): Ditto.
15         (WebCore::BackForwardList::setCapacity): Ditto.
16
17 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
18
19         Reviewed by Kent Tamura.
20
21         [BREWMP] Add dummy Context Menu implementation
22         https://bugs.webkit.org/show_bug.cgi?id=40223
23
24         Brew MP does not use Context Menu. Add dummy implementation.
25
26         * platform/brew/ContextMenuBrew.cpp: Added.
27         (WebCore::ContextMenu::ContextMenu):
28         (WebCore::ContextMenu::~ContextMenu):
29         (WebCore::ContextMenu::itemCount):
30         (WebCore::ContextMenu::insertItem):
31         (WebCore::ContextMenu::appendItem):
32         (WebCore::ContextMenu::itemWithAction):
33         (WebCore::ContextMenu::itemAtIndex):
34         (WebCore::ContextMenu::setPlatformDescription):
35         (WebCore::ContextMenu::platformDescription):
36         (WebCore::ContextMenu::releasePlatformDescription):
37         * platform/brew/ContextMenuItemBrew.cpp: Added.
38         (WebCore::ContextMenuItem::ContextMenuItem):
39         (WebCore::ContextMenuItem::~ContextMenuItem):
40         (WebCore::ContextMenuItem::releasePlatformDescription):
41         (WebCore::ContextMenuItem::type):
42         (WebCore::ContextMenuItem::action):
43         (WebCore::ContextMenuItem::title):
44         (WebCore::ContextMenuItem::platformSubMenu):
45         (WebCore::ContextMenuItem::setType):
46         (WebCore::ContextMenuItem::setAction):
47         (WebCore::ContextMenuItem::setTitle):
48         (WebCore::ContextMenuItem::setSubMenu):
49         (WebCore::ContextMenuItem::setChecked):
50         (WebCore::ContextMenuItem::setEnabled):
51         (WebCore::ContextMenuItem::enabled):
52
53 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
54
55         Reviewed by Kent Tamura.
56
57         [BREWMP] Port Clipboard
58         https://bugs.webkit.org/show_bug.cgi?id=35734
59
60         Add dummy Clipboard.
61
62         * platform/brew/ClipboardBrew.cpp: Added.
63         (WebCore::ClipboardBrew::ClipboardBrew):
64         (WebCore::ClipboardBrew::~ClipboardBrew):
65         (WebCore::ClipboardBrew::clearData):
66         (WebCore::ClipboardBrew::clearAllData):
67         (WebCore::ClipboardBrew::getData):
68         (WebCore::ClipboardBrew::setData):
69         (WebCore::ClipboardBrew::types):
70         (WebCore::ClipboardBrew::files):
71         (WebCore::ClipboardBrew::setDragImage):
72         (WebCore::ClipboardBrew::setDragImageElement):
73         (WebCore::ClipboardBrew::createDragImage):
74         (WebCore::ClipboardBrew::declareAndWriteDragImage):
75         (WebCore::ClipboardBrew::writeURL):
76         (WebCore::ClipboardBrew::writeRange):
77         (WebCore::ClipboardBrew::writePlainText):
78         (WebCore::ClipboardBrew::hasData):
79         * platform/brew/ClipboardBrew.h: Added.
80
81 2010-06-09  Anders Bakken  <agbakken@gmail.com>
82
83         Reviewed by David Levin.
84
85         [Qt] ClipboardQt.cpp has coding-style errors
86         https://bugs.webkit.org/show_bug.cgi?id=39781
87
88         * platform/qt/ClipboardQt.cpp:
89         (WebCore::ClipboardQt::declareAndWriteDragImage):
90
91 2010-06-09  Kenneth Russell  <kbr@google.com>
92
93         Reviewed by Dimitri Glazkov.
94
95         Rename FloatArray to Float32Array
96         https://bugs.webkit.org/show_bug.cgi?id=40323
97
98         Used do-webcore-rename to perform renaming. Manually undid
99         incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
100         WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
101         ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
102         all layout tests on Safari; built Chromium and ran selected WebGL
103         tests.
104
105         * CMakeLists.txt:
106         * DerivedSources.make:
107         * GNUmakefile.am:
108         * WebCore.gypi:
109         * WebCore.pri:
110         * WebCore.pro:
111         * WebCore.xcodeproj/project.pbxproj:
112         * bindings/generic/RuntimeEnabledFeatures.h:
113         (WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
114         * bindings/js/JSArrayBufferViewCustom.cpp:
115         (WebCore::toJS):
116         * bindings/js/JSDOMWindowCustom.cpp:
117         (WebCore::JSDOMWindow::float32Array):
118         (WebCore::JSDOMWindow::webGLFloatArray):
119         * bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
120         (WebCore::):
121         (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
122         (WebCore::constructCanvasFloatArray):
123         (WebCore::JSFloat32ArrayConstructor::getConstructData):
124         * bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
125         * bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
126         (WebCore::JSFloat32Array::indexSetter):
127         (WebCore::toJS):
128         (WebCore::JSFloat32Array::set):
129         * bindings/js/JSFloatArrayConstructor.cpp: Removed.
130         * bindings/js/JSFloatArrayConstructor.h: Removed.
131         * bindings/js/JSFloatArrayCustom.cpp: Removed.
132         * bindings/js/JSWebGLRenderingContextCustom.cpp:
133         (WebCore::dataFunctionf):
134         (WebCore::dataFunctionMatrix):
135         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
136         (WebCore::toV8):
137         * bindings/v8/custom/V8DOMWindowCustom.cpp:
138         (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
139         * bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
140         (WebCore::V8Float32Array::constructorCallback):
141         (WebCore::V8Float32Array::setCallback):
142         (WebCore::toV8):
143         * bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
144         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
145         (WebCore::vertexAttribAndUniformHelperf):
146         (WebCore::uniformMatrixHelper):
147         * html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
148         (WebCore::Float32Array::create):
149         (WebCore::Float32Array::Float32Array):
150         (WebCore::Float32Array::slice):
151         * html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
152         * html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
153         * html/canvas/FloatArray.cpp: Removed.
154         * html/canvas/FloatArray.h: Removed.
155         * html/canvas/FloatArray.idl: Removed.
156         * html/canvas/WebGLGetInfo.cpp:
157         (WebCore::WebGLGetInfo::WebGLGetInfo):
158         (WebCore::WebGLGetInfo::getWebGLFloatArray):
159         * html/canvas/WebGLGetInfo.h:
160         * html/canvas/WebGLRenderingContext.cpp:
161         (WebCore::WebGLRenderingContext::getUniform):
162         (WebCore::WebGLRenderingContext::getVertexAttrib):
163         (WebCore::WebGLRenderingContext::uniform1fv):
164         (WebCore::WebGLRenderingContext::uniform2fv):
165         (WebCore::WebGLRenderingContext::uniform3fv):
166         (WebCore::WebGLRenderingContext::uniform4fv):
167         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
168         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
169         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
170         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
171         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
172         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
173         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
174         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
175         * html/canvas/WebGLRenderingContext.h:
176         * html/canvas/WebGLRenderingContext.idl:
177         * page/DOMWindow.idl:
178         * platform/graphics/GraphicsContext3D.h:
179         * platform/graphics/mac/GraphicsContext3DMac.cpp:
180         * platform/graphics/qt/GraphicsContext3DQt.cpp:
181
182 2010-06-09  Eric Seidel  <eric@webkit.org>
183
184         Reviewed by Adam Barth.
185
186         HTML5 Parser needs to integrate with the XSSAuditor
187         https://bugs.webkit.org/show_bug.cgi?id=40287
188
189         This fixes most of the XSSAuditor tests, except for the ones
190         which rely on the srcValue "context".  The previous HTMLTokenizer
191         implementation was both Lexer and ScriptRunner and thus could
192         provide the XSSAuditor with the un-modified attribute source.
193         This naive implementation will fail the context-sensitive tests
194         but Adam Barth says he'll just have to find a new way to provide
195         the required information to the XSSAuditor in a later patch.
196
197         Covered by numerous http/tests/security/xssAuditor tests.
198
199         * html/HTML5ScriptRunner.cpp:
200         (WebCore::HTML5ScriptRunner::requestScript):
201          - Ask the HTML5ScriptRunner host before running any scripts.
202         * html/HTML5ScriptRunnerHost.h:
203          - Add a shouldLoadExternalScriptFromSrc declaration.
204         * html/HTML5Tokenizer.cpp:
205         (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
206          - Ask the XSSAuditor if we're allowed to run the passed script.
207         * html/HTML5Tokenizer.h:
208
209 2010-06-09  Tony Gentilcore  <tonyg@chromium.org>
210
211         Reviewed by Adam Barth.
212
213         Fix script-after-frameset test in HTML5 parser
214         https://bugs.webkit.org/show_bug.cgi?id=40274
215
216         The old HTMLTokenizer enforced this in scriptHandler(). We don't use
217         that code anymore, so it needs to be implemented. The spec does this
218         as a part of "insertion mode"->"after frameset", so this adds an
219         InsertionMode enum instead of a one-off boolean.
220
221         No new tests because covered by fast/tokenizer/script-after-frameset.html
222
223         * html/HTML5TreeBuilder.cpp:
224         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
225         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
226         * html/HTML5TreeBuilder.h:
227         (WebCore::HTML5TreeBuilder::):
228         (WebCore::HTML5TreeBuilder::setInsertionMode):
229         (WebCore::HTML5TreeBuilder::insertionMode):
230
231 2010-06-09  Kwang Yul Seo  <skyul@company100.net>
232
233         Reviewed by Kent Tamura.
234
235         [BREWMP] Add EventLoop
236         https://bugs.webkit.org/show_bug.cgi?id=39401
237
238         BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.
239
240         * platform/brew/EventLoopBrew.cpp: Added.
241         (WebCore::EventLoop::cycle):
242
243 2010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
244
245         Unreviewed, rolling out r60889.
246         http://trac.webkit.org/changeset/60889
247         https://bugs.webkit.org/show_bug.cgi?id=40365
248
249         gtk bot has some kind of memory corruption (Requested by
250         loislo on #webkit).
251
252         * inspector/InspectorClient.h:
253         * inspector/InspectorController.cpp:
254         (WebCore::InspectorController::setFrontend):
255         * inspector/InspectorController.h:
256         * inspector/InspectorFrontend.cpp:
257         (WebCore::InspectorFrontend::InspectorFrontend):
258         * inspector/InspectorFrontend.h:
259         * inspector/InspectorFrontendClientLocal.cpp:
260         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
261         * inspector/InspectorValues.cpp:
262         (WebCore::InspectorObject::writeJSON):
263         * inspector/front-end/inspector.js:
264         * loader/EmptyClients.h:
265
266 2010-06-09  Kent Tamura  <tkent@chromium.org>
267
268         Reviewed by Eric Carlson.
269
270         [Windows] Build fix on Japanese Windows
271         https://bugs.webkit.org/show_bug.cgi?id=40358
272
273         cl.exe on Japanese Windows assumes files with invalid CP932
274         sequences broken and doesn't build them at all.
275
276         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
277         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
278         * platform/graphics/win/WKCAImageQueue.cpp: ditto.
279         * platform/graphics/win/WKCAImageQueue.h: ditto.
280
281 2010-06-09  Pavel Podivilov  <podivilov@chromium.org>
282
283         Reviewed by Yury Semikhatsky.
284
285         Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
286         This method returns true if debugger should always be enabled when
287         frontend is attached.
288         https://bugs.webkit.org/show_bug.cgi?id=40289
289
290         * bindings/js/ScriptDebugServer.cpp:
291         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
292         * bindings/js/ScriptDebugServer.h:
293         * bindings/v8/ScriptDebugServer.cpp:
294         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
295         * bindings/v8/ScriptDebugServer.h:
296         * inspector/InspectorController.cpp:
297         (WebCore::InspectorController::setFrontend):
298
299 2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
300
301         Reviewed by Pavel Feldman.
302
303         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
304         data from inspected page to WebInspector as JSON string via http. The native
305         serialization to JSON string is supported by InspectorValue's classes. This patch
306         has the implementation of sendMessageToFrontend function. WebKit version of it still
307         uses ScriptFunctionCall and will be switched to another transport a little bit later.
308         https://bugs.webkit.org/show_bug.cgi?id=40134
309
310         * inspector/InspectorClient.h:
311         * inspector/InspectorController.cpp:
312         (WebCore::InspectorController::connectFrontend):
313         (WebCore::InspectorController::disconnectFrontend):
314         * inspector/InspectorController.h:
315         * inspector/InspectorFrontend.cpp:
316         (WebCore::InspectorFrontend::InspectorFrontend):
317         * inspector/InspectorFrontend.h:
318         * inspector/InspectorFrontendClientLocal.cpp:
319         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
320         * inspector/InspectorValues.cpp:
321         (WebCore::InspectorObject::writeJSON):
322         * inspector/front-end/inspector.js:
323         (WebInspector.dispatchMessageToFrontend):
324         * loader/EmptyClients.h:
325         (WebCore::EmptyInspectorClient::sendMessageToFrontend):
326
327 2010-06-09  Csaba Osztrogonác  <ossy@webkit.org>
328
329         Reviewed by Dirk Schulze.
330
331         [Qt] Imperfect dependency for generated SVGNames.cpp
332         https://bugs.webkit.org/show_bug.cgi?id=40359
333
334         * WebCore.pri: Missing dependency added.
335
336 2010-06-08  Dirk Schulze  <krit@webkit.org>
337
338         Reviewed by Nikolas Zimmermann.
339
340         Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
341         https://bugs.webkit.org/show_bug.cgi?id=31438
342         
343         This is the implementation of the SVG property vector-effect according
344         to the specification of SVG Tiny 1.2.
345         getScreenCTM() was not able to calculate the transformation matrix in
346         comparison to the host coordinate system for objects, that get refereced
347         by a use element. This is fixed and covered by the the new test as well.
348         This patch is based upon a patch of Jeff Schiller.
349
350         Test: svg/custom/non-scaling-stroke.svg
351
352         * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
353         (WebCore::):
354         * css/CSSPrimitiveValueMappings.h:
355         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
356         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
357         * css/SVGCSSComputedStyleDeclaration.cpp:
358         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
359         * css/SVGCSSParser.cpp:
360         (WebCore::CSSParser::parseSVGValue):
361         * css/SVGCSSPropertyNames.in:
362         * css/SVGCSSStyleSelector.cpp:
363         (WebCore::CSSStyleSelector::applySVGProperty):
364         * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
365         * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
366         (WebCore::fillAndStrokePath):
367         * rendering/RenderSVGResourceContainer.h:
368         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
369         * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
370         (WebCore::RenderSVGResourceGradient::applyResource):
371         * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
372         (WebCore::RenderSVGResourcePattern::applyResource):
373         * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
374         (WebCore::SVGRenderStyle::NonInheritedFlags::):
375         (WebCore::SVGRenderStyle::setBitDefaults):
376         * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
377         (WebCore::):
378         * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
379         (WebCore::SVGLocatable::computeCTM):
380         * svg/SVGStyledElement.cpp:
381         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
382         * svg/svgattrs.in:
383
384 2010-06-08  Mark Rowe  <mrowe@apple.com>
385
386         Reviewed by Adele Peterson.
387
388         <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
389
390         Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
391         explanation and broke a reliance that WebKit has on the presence of a separator before the
392         Inspect Element menu item. This also restores the context menu item to the correct location
393         at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.
394
395         * platform/ContextMenu.cpp:
396         (WebCore::ContextMenu::addInspectElementItem):
397
398 2010-06-08  Roland Steiner  <rolandsteiner@chromium.org>
399
400         Unreviewed build fix
401
402         Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
403         https://bugs.webkit.org/show_bug.cgi?id=38145
404         https://bugs.webkit.org/show_bug.cgi?id=40346
405
406         Fix for 38145 broke the build ('log2 not found' on Windows),
407         the fix from 40346 also didn't catch ('log ambiguous').
408
409         2nd quick fix: add explicit casts to double and use double constants.
410
411         No new tests.
412
413         * html/canvas/WebGLRenderingContext.cpp:
414         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
415
416 2010-05-18  Yuzo Fujishima  <yuzo@google.com>
417
418         Reviewed by Shinichiro Hamaji.
419
420         Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
421         Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
422         Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
423         https://bugs.webkit.org/show_bug.cgi?id=34529
424
425         Test: fast/css/selector-text-escape.html
426
427         * Android.mk:
428         * CMakeLists.txt:
429         * GNUmakefile.am:
430         * WebCore.gypi:
431         * WebCore.pro:
432         * WebCore.vcproj/WebCore.vcproj:
433         * WebCore.xcodeproj/project.pbxproj:
434         * css/CSSOMUtils.cpp: Added.
435         (WebCore::appendCharacter):
436         (WebCore::serializeCharacter):
437         (WebCore::serializeCharacterAsCodePoint):
438         (WebCore::serializeIdentifier):
439         (WebCore::serializeString):
440         * css/CSSOMUtils.h: Added.
441         * css/CSSSelector.cpp:
442         (WebCore::CSSSelector::selectorText):
443
444 2010-06-08  Ryosuke Niwa  <rniwa@webkit.org>
445
446         Reviewed by Justin Garcia
447
448         InsertListCommand needs cleanup
449         https://bugs.webkit.org/show_bug.cgi?id=36430
450
451         Separated code for listifying and unlistifying paragraphs.
452         Also isolated the dependency on the selection in doApply.
453
454         No test is added since this is a cleanup.
455
456         * editing/InsertListCommand.cpp:
457         (WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
458         (WebCore::InsertListCommand::unlistifyParagraph): ditto
459         (WebCore::InsertListCommand::listifyParagraph): ditto
460         * editing/InsertListCommand.h:
461
462 2010-06-08  Kenneth Russell  <kbr@google.com>
463
464         Unreviewed, build fix.
465
466         Fix build breakage from 38145
467         https://bugs.webkit.org/show_bug.cgi?id=40346
468
469         The fix for bug 38145 broke the Chromium Win build because
470         Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
471         change log2(x) to log(x) / log(2). Built and ran WebGL layout
472         tests in Safari on Mac OS X. Changed download mirrors for
473         python-irclib to working ones.
474
475         * html/canvas/WebGLRenderingContext.cpp:
476         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
477
478 2010-06-08  Zhenyao Mo  <zmo@google.com>
479
480         Reviewed by Dimitri Glazkov.
481
482         Validate *tex* functions input parameters according to ES2 conformance
483         https://bugs.webkit.org/show_bug.cgi?id=38145
484
485         Test: fast/canvas/webgl/tex-input-validation.html
486
487         * html/canvas/WebGLFramebuffer.cpp:
488         (WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
489         * html/canvas/WebGLFramebuffer.h: Ditto.
490         * html/canvas/WebGLRenderingContext.cpp:
491         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
492         (WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
493         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
494         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
495         (WebCore::WebGLRenderingContext::texParameterf): Ditto.
496         (WebCore::WebGLRenderingContext::texParameteri): Ditto.
497         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
498         (WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
499         (WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
500         (WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
501         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
502         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
503         (WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
504         * html/canvas/WebGLRenderingContext.h: Deal with max tex units.
505         * html/canvas/WebGLTexture.cpp:
506         (WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
507         * html/canvas/WebGLTexture.h: Ditto.
508         (WebCore::WebGLTexture::setInternalformat):
509         (WebCore::WebGLTexture::getInternalformat):
510         * platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
511         (WebCore::GraphicsContext3D::extractImageData):
512
513 2010-06-08  Erik Arvidsson  <arv@chromium.org>
514
515         Reviewed by Ojan Vafai.
516
517         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
518         https://bugs.webkit.org/show_bug.cgi?id=38548
519
520         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
521
522         * page/FocusController.cpp:
523         (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
524                                            returns false.
525
526 2010-06-08  Enrico Ros  <eros@codeaurora.org>
527
528         Reviewed by Ariya Hidayat.
529
530         [Qt] Crashfix on Path::contains
531         https://bugs.webkit.org/show_bug.cgi?id=40253
532
533         Fix accessing the first item of an empty vector, that happens when
534         CanvasRenderingContext2D::isPointInPath is invoked over a borderless
535         path (e.g. a path made of just a MoveTo operation).
536
537         * platform/graphics/qt/PathQt.cpp:
538         (WebCore::isPointOnPathBorder):
539
540 2010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
541
542         Unreviewed, rolling out r60859.
543         http://trac.webkit.org/changeset/60859
544         https://bugs.webkit.org/show_bug.cgi?id=40334
545
546         Included debugging statements. Caused a test to fail.
547         (Requested by ojan on #webkit).
548
549         * page/FocusController.cpp:
550         (WebCore::clearSelectionIfNeeded):
551
552 2010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
553
554         Unreviewed, rolling out r60858.
555         http://trac.webkit.org/changeset/60858
556         https://bugs.webkit.org/show_bug.cgi?id=40325
557
558         Qt needs a clean build. Rolling out the patch for now and fix
559         it tomorrow (Requested by krit on #webkit).
560
561         * css/CSSComputedStyleDeclaration.cpp:
562         (WebCore::):
563         * css/CSSPrimitiveValueMappings.h:
564         * css/SVGCSSComputedStyleDeclaration.cpp:
565         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
566         * css/SVGCSSParser.cpp:
567         (WebCore::CSSParser::parseSVGValue):
568         * css/SVGCSSPropertyNames.in:
569         * css/SVGCSSStyleSelector.cpp:
570         (WebCore::CSSStyleSelector::applySVGProperty):
571         * css/SVGCSSValueKeywords.in:
572         * rendering/RenderPath.cpp:
573         (WebCore::fillAndStrokePath):
574         * rendering/RenderSVGResourceContainer.h:
575         * rendering/RenderSVGResourceGradient.cpp:
576         (WebCore::RenderSVGResourceGradient::applyResource):
577         * rendering/RenderSVGResourcePattern.cpp:
578         (WebCore::RenderSVGResourcePattern::applyResource):
579         * rendering/style/SVGRenderStyle.h:
580         (WebCore::SVGRenderStyle::NonInheritedFlags::):
581         (WebCore::SVGRenderStyle::setBitDefaults):
582         * rendering/style/SVGRenderStyleDefs.h:
583         (WebCore::):
584         * svg/SVGLocatable.cpp:
585         (WebCore::SVGLocatable::computeCTM):
586         * svg/SVGStyledElement.cpp:
587         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
588         * svg/svgattrs.in:
589
590 2010-06-08  Daniel Bates  <dbates@rim.com>
591
592         Unreviewed, fix Xcode project file after change-set 60841.
593
594         Xcode is not happy about the entries for files EditingBehavior.h and
595         EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
596         Lets make Xcode happy.
597
598         Also, lets place these entries in alphabetic order.
599
600         * WebCore.xcodeproj/project.pbxproj:
601
602 2010-06-08  Erik Arvidsson  <arv@chromium.org>
603
604         Reviewed by ojan@chromium.org.
605
606         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
607         https://bugs.webkit.org/show_bug.cgi?id=38548
608
609         We should not clear the selection when canStartSelection returns false.
610
611         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
612
613         * page/FocusController.cpp:
614         (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
615                                            returns false.
616
617 2010-06-08  Dirk Schulze  <krit@webkit.org>
618
619         Reviewed by Nikolas Zimmermann.
620
621         Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
622         https://bugs.webkit.org/show_bug.cgi?id=31438
623         
624         This is the implementation of the SVG property vector-effect according
625         to the specification of SVG Tiny 1.2.
626         getScreenCTM() was not able to calculate the transformation matrix in
627         comparison to the host coordinate system for objects, that get refereced
628         by a use element. This is fixed and covered by the the new test as well.
629         This patch is based upon a patch of Jeff Schiller.
630
631         Test: svg/custom/non-scaling-stroke.svg
632
633         * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
634         (WebCore::):
635         * css/CSSPrimitiveValueMappings.h:
636         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
637         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
638         * css/SVGCSSComputedStyleDeclaration.cpp:
639         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
640         * css/SVGCSSParser.cpp:
641         (WebCore::CSSParser::parseSVGValue):
642         * css/SVGCSSPropertyNames.in:
643         * css/SVGCSSStyleSelector.cpp:
644         (WebCore::CSSStyleSelector::applySVGProperty):
645         * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
646         * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
647         (WebCore::fillAndStrokePath):
648         * rendering/RenderSVGResourceContainer.h:
649         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
650         * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
651         (WebCore::RenderSVGResourceGradient::applyResource):
652         * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
653         (WebCore::RenderSVGResourcePattern::applyResource):
654         * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
655         (WebCore::SVGRenderStyle::NonInheritedFlags::):
656         (WebCore::SVGRenderStyle::setBitDefaults):
657         * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
658         (WebCore::):
659         * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
660         (WebCore::SVGLocatable::computeCTM):
661         * svg/SVGStyledElement.cpp:
662         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
663         * svg/svgattrs.in:
664
665 2010-06-08  Alexey Proskuryakov  <ap@apple.com>
666
667         * GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.
668
669 2010-06-08  Csaba Osztrogonác  <ossy@webkit.org>
670
671         [Qt] Unreviewed buildfix after r60849.
672
673         * WebCore.pro: platform/Cursor.cpp is added to Qt build system.
674
675 2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
676
677         Unreviewed Buildbot fix.
678
679         Reset the Qt TextBreakIterator when reusing it.
680
681         * platform/text/qt/TextBreakIteratorQt.cpp:
682         (WebCore::setUpIterator):
683
684 2010-06-04  Alexey Proskuryakov  <ap@apple.com>
685
686         Reviewed by John Sullivan.
687
688         https://bugs.webkit.org/show_bug.cgi?id=15779
689         <rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored
690
691         Test: manual-tests/cur-hotspot.html
692
693         Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
694         to implement getting hot spot information from .cur files.
695
696         * WebCore.vcproj/WebCore.vcproj:
697         * WebCore.xcodeproj/project.pbxproj:
698         Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.
699
700         * css/CSSCursorImageValue.cpp:
701         (WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
702         other code.
703         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
704         incorrect code for resolving differences with CSS specified hotspot.
705
706         * css/CSSCursorImageValue.h:
707         (WebCore::CSSCursorImageValue::create):
708         (WebCore::CSSCursorImageValue::hotSpot):
709         Renamed "hotspot" to "hotSpot" to match other code.
710
711         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
712         spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
713         invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.
714
715         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
716         "hotSpot" to match other code.
717
718         * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
719         invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
720         (and IE doesn't support CSS3 cursor declarations).
721
722         * platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
723         where hot spot is, provided an image and a possible out of band coordinate specification.
724
725         * platform/Cursor.h: Added determineHotSpot().
726
727         * platform/graphics/BitmapImage.cpp:
728         (WebCore::BitmapImage::getHotSpot):
729         * platform/graphics/BitmapImage.h:
730         * platform/graphics/Image.h:
731         (WebCore::Image::getHotSpot):
732         * platform/graphics/ImageSource.cpp:
733         (WebCore::ImageSource::getHotSpot):
734         * platform/graphics/ImageSource.h:
735         Added plumbing to get hot spot data from an image provider.
736
737         * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.
738
739         * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to 
740         determine where hot spot should be.
741         (WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.
742
743         * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
744         where hot spot should be.
745
746         * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
747         this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
748         check for out of bounds hot spots in EventHandler::selectCursor().
749
750         * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.
751
752 2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
753
754         Reviewed by Antti Koivisto.
755
756         [Qt] TextBreakIterator Qt performance
757         https://bugs.webkit.org/show_bug.cgi?id=39958
758
759         Rework TextBreakIteratorQt to be more in line with the ICU version.
760
761         We now reuse iterators where ever possible. The string data is compared
762         with memcmp, which should be faster than using a hash, as you need
763         to traverse the full buffer in the case the strings don't match,
764         where as the compare would fail quickly.
765
766         * platform/text/qt/TextBreakIteratorQt.cpp:
767         (WebCore::TextBreakIterator::TextBreakIterator):
768         (WebCore::setUpIterator):
769         (WebCore::wordBreakIterator):
770         (WebCore::characterBreakIterator):
771         (WebCore::lineBreakIterator):
772         (WebCore::sentenceBreakIterator):
773
774 2010-06-08  Andras Becsi  <abecsi@webkit.org>
775
776         Unreviewed build fix after r60785.
777
778         [GTK] Add missing GtkVersioning.h include to fix the build
779         on older GTK+ versions.
780
781         No new tests needed.
782
783         * platform/gtk/WidgetGtk.cpp:
784
785 2010-06-08  Yury Semikhatsky  <yurys@chromium.org>
786
787         Reviewed by Pavel Feldman.
788
789         Web Inspector: extend ScriptDebugServer to support script source editing
790         https://bugs.webkit.org/show_bug.cgi?id=40297
791
792         * bindings/js/ScriptDebugServer.cpp:
793         (WebCore::ScriptDebugServer::editScriptSource):
794         * bindings/js/ScriptDebugServer.h:
795         * bindings/v8/ScriptDebugServer.cpp:
796         (WebCore::ScriptDebugServer::editScriptSource):
797         * bindings/v8/ScriptDebugServer.h:
798         * inspector/InspectorBackend.cpp:
799         (WebCore::InspectorBackend::editScriptSource):
800         * inspector/InspectorBackend.h:
801         * inspector/InspectorBackend.idl:
802         * inspector/InspectorController.cpp:
803         (WebCore::InspectorController::InspectorController):
804         (WebCore::InspectorController::disableDebugger):
805         (WebCore::InspectorController::editScriptSource):
806         (WebCore::InspectorController::currentCallFrames):
807         (WebCore::InspectorController::didPause):
808         (WebCore::InspectorController::didContinue):
809         * inspector/InspectorController.h:
810         * inspector/InspectorFrontend.cpp:
811         (WebCore::InspectorFrontend::didEditScriptSource):
812         * inspector/InspectorFrontend.h:
813         * inspector/front-end/Script.js:
814         * inspector/front-end/ScriptsPanel.js:
815         (WebInspector.ScriptsPanel.prototype.canEditScripts):
816         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
817         (WebInspector.ScriptsPanel.prototype.editScriptSource):
818         * inspector/front-end/Settings.js:
819         * inspector/front-end/SourceView.js:
820         (WebInspector.SourceView.prototype._editLine):
821         * inspector/front-end/TextViewer.js:
822         (WebInspector.TextViewer.prototype._handleDoubleClick):
823         (WebInspector.TextViewer.prototype._commitEditingLine):
824         * inspector/front-end/inspector.css:
825         (#scripts-files option.extension-script):
826
827 2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
828
829         Reviewed by Ojan Vafai and Darin Adler.
830
831         Refactor platform dependent editing behavior code out of Settings
832         https://bugs.webkit.org/show_bug.cgi?id=39854
833
834         As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
835         I think we to add functions to translate the overall behavior policy into specific behaviors rather than
836         directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
837         rules in plain language.". Patch addresses this request.
838
839         No behavior change, so no new tests.
840
841         * GNUmakefile.am:
842         * WebCore.pro:
843         * WebCore/WebCore.vcproj/WebCore.vcproj
844         * WebCore/WebCore.xcodeproj/project.pbxproj
845         * page/Settings.cpp:
846         (WebCore::Settings::Settings):
847         * page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
848         and renamed to EditingBehaviorTypes.
849         (WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
850         (WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
851         * editing/EditingBehavior.h: Added.
852         (WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
853         editing behavior that might have to be handled differently in the different platforms/ports.
854         Class should be not used or instantiated directly, but rather implicitly constructed
855         through the Editor class.
856         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
857         (WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
858         (WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
859         * editing/EditingBehaviorTypes.h: Added.
860         (WebCore::):
861         * editing/Editor.cpp:
862         (WebCore::Editor::behavior): Getter for EditingBehavior class.
863         * editing/Editor.h:
864         * editing/EditorCommand.cpp:
865         (WebCore::executeToggleStyle):
866         * editing/SelectionController.cpp:
867         (WebCore::SelectionController::setSelection):
868         (WebCore::SelectionController::setIsDirectional):
869         (WebCore::SelectionController::positionForPlatform):
870         (WebCore::SelectionController::modify):
871         * page/EventHandler.cpp:
872         (WebCore::EventHandler::handleMousePressEventSingleClick):
873         * rendering/RenderBlock.cpp:
874         (WebCore::RenderBlock::positionForPointWithInlineChildren):
875
876         - Call sites will look like:
877         if (frame->editor()->behavior().shouldThisIfThat()))
878            // do something
879
880 2010-06-08  Steve Block  <steveblock@google.com>
881
882         Reviewed by Jeremy Orlow.
883
884         Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
885         https://bugs.webkit.org/show_bug.cgi?id=40162
886
887         Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
888         To achieve this, the callbacks inherit from ActiveDOMObject.
889
890         The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
891         it is disconnected from its frame. Making the callback currently involves accessing the
892         Frame, so an additional check for the Frame is required.
893
894         This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.
895
896         Test: fast/dom/Geolocation/callback-to-deleted-context.html
897
898         * bindings/js/JSCallbackData.cpp:
899         (WebCore::JSCallbackData::invokeCallback):
900         * bindings/js/JSCustomPositionCallback.cpp:
901         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
902         (WebCore::JSCustomPositionCallback::handleEvent):
903         * bindings/js/JSCustomPositionErrorCallback.cpp:
904         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
905         (WebCore::JSCustomPositionErrorCallback::handleEvent):
906         * bindings/v8/custom/V8CustomPositionCallback.cpp:
907         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
908         (WebCore::V8CustomPositionCallback::handleEvent):
909         * bindings/v8/custom/V8CustomPositionCallback.h:
910         (WebCore::V8CustomPositionCallback::create):
911         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
912         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
913         (WebCore::V8CustomPositionErrorCallback::handleEvent):
914         * bindings/v8/custom/V8CustomPositionErrorCallback.h:
915         (WebCore::V8CustomPositionErrorCallback::create):
916         * bindings/v8/custom/V8GeolocationCustom.cpp:
917         (WebCore::createPositionCallback):
918         (WebCore::createPositionErrorCallback):
919         * page/PositionCallback.h:
920         (WebCore::PositionCallback::PositionCallback):
921         * page/PositionErrorCallback.h:
922         (WebCore::PositionErrorCallback::PositionErrorCallback):
923
924 2010-06-08  Xan Lopez  <xlopez@igalia.com>
925
926         Reviewed by Gustavo Noronha.
927
928         [GTK] Avoid duplicated signals in DOM bindings
929         https://bugs.webkit.org/show_bug.cgi?id=40170
930
931         Do not create duplicated event signals between a class and its
932         ancestor.
933
934         * bindings/scripts/CodeGeneratorGObject.pm:
935
936 2010-06-08  MORITA Hajime  <morrita@google.com>
937
938         Unreviewd. Touched the file to force rebuild.
939
940         * html/HTMLMeterElement.idl:
941
942 2010-06-08  Vangelis Kokkevis  <vangelis@chromium.org>
943
944         Reviewed by Dimitri Glazkov.
945
946         [Chromium] Fix the math for transform matrices of composited layers. There
947         were problems both with how content layers were setting their position and
948         how the overal matrix stack was computed when the layer anchor isn't at the
949         center of the layer.
950         https://bugs.webkit.org/post_bug.cgi
951
952         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
953         (WebCore::GraphicsLayerChromium::updateContentsRect):
954         * platform/graphics/chromium/LayerRendererChromium.cpp:
955         (WebCore::LayerRendererChromium::updateLayersRecursive):
956         (WebCore::LayerRendererChromium::drawLayer):
957
958 2010-06-07  Eric Seidel  <eric@webkit.org>
959
960         Reviewed by Adam Barth.
961
962         HTML5Lexer does not handle <div FOO ><img><img></div> correctly
963         https://bugs.webkit.org/show_bug.cgi?id=40283
964
965         Fix a typo in the AfterAttributeNameState.
966         The compiler really should have caught this since the typo
967         resulted in unreachable code.
968
969         Tests:
970          10 tables/mozilla/marvin/colgroup* tests.
971          Also added a new sub-test in html5lib/resources/webkit01.dat
972
973         * html/HTML5Lexer.cpp:
974         (WebCore::HTML5Lexer::nextToken):
975          - Fix typo of = instead of >
976
977 2010-06-08  Adam Barth  <abarth@webkit.org>
978
979         Reviewed by Eric Seidel.
980
981         Implement HTML5's forceQuirks flag
982         https://bugs.webkit.org/show_bug.cgi?id=40284
983
984         I didn't implement this before because I didn't know how to test it,
985         but now I do.
986         
987         Tests:
988           * fast/doctypes/doctype-parsing.html.
989
990         When we actually implement the quirks mode handling in the tree
991         builder, we'll probably want to add to this test.
992
993         * html/HTML5Lexer.cpp:
994         (WebCore::HTML5Lexer::nextToken):
995         * html/HTML5Token.h:
996         (WebCore::HTML5Token::forceQuirks):
997         (WebCore::HTML5Token::setForceQuirks):
998         * html/HTML5TreeBuilder.cpp:
999         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
1000         * html/HTMLParser.cpp:
1001         (WebCore::HTMLParser::parseDoctypeToken):
1002         * html/HTMLTokenizer.h:
1003         (WebCore::DoctypeToken::reset):
1004
1005 2010-06-08  Adam Barth  <abarth@webkit.org>
1006
1007         Reviewed by Eric Seidel.
1008
1009         Remove ASSERT in ~HTML5Tokenizer
1010         https://bugs.webkit.org/show_bug.cgi?id=40282
1011
1012         We thought this ASSERT would be a good idea, but the problem is that
1013         this object is deleted without warning in some circumstances, so
1014         there's no way to know whether it has reached the end of its state
1015         machine.
1016
1017         * html/HTML5Tokenizer.cpp:
1018         (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
1019
1020 2010-06-07  MORITA Hajime  <morrita@google.com>
1021
1022         Reviewed by Kent Tamura.
1023
1024         [Mac] <meter> elements should be rendered as level indicators.        
1025         https://bugs.webkit.org/show_bug.cgi?id=40217
1026
1027         Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
1028         
1029         This change also added new -webkit-appearance values to select the
1030         style of level indicators:
1031         
1032         - relevancy-level-indicator,
1033         - continuous-capacity-level-indicator,
1034         - discrete-capacity-level-indicator, and 
1035         - rating-level-indicator.
1036         
1037         The size of elements are adjusted based on the bounds of the indicator
1038         to make room for painting whole indicator cells.
1039
1040         Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
1041                fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
1042                fast/dom/HTMLMeterElement/meter-optimums.html
1043
1044         * css/CSSPrimitiveValueMappings.h:
1045         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1046         * css/CSSValueKeywords.in:
1047         * html/HTMLMeterElement.cpp:
1048         (WebCore::HTMLMeterElement::gaugeRegion):
1049         * html/HTMLMeterElement.h:
1050         (WebCore::HTMLMeterElement::):
1051         * platform/ThemeTypes.h:
1052         (WebCore::):
1053         * rendering/RenderMeter.cpp:
1054         (WebCore::RenderMeter::calcWidth):
1055         (WebCore::RenderMeter::calcHeight):
1056         * rendering/RenderMeter.h:
1057         * rendering/RenderTheme.cpp:
1058         (WebCore::RenderTheme::adjustStyle):
1059         (WebCore::RenderTheme::paint):
1060         (WebCore::RenderTheme::paintBorderOnly):
1061         (WebCore::RenderTheme::paintDecorations):
1062         (WebCore::RenderTheme::meterSizeForBounds):
1063         * rendering/RenderTheme.h:
1064         * rendering/RenderThemeMac.h:
1065         * rendering/RenderThemeMac.mm:
1066         (WebCore::RenderThemeMac::meterSizeForBounds):
1067         (WebCore::RenderThemeMac::paintMeter):
1068         (WebCore::RenderThemeMac::levelIndicatorStyleFor):
1069         (WebCore::RenderThemeMac::levelIndicatorFor):
1070
1071 2010-06-07  MORITA Hajime  <morrita@google.com>
1072         
1073         Reviewed by Kent Tamura.
1074         
1075         [Mac] ENABLE_METER_TAG should be enabled.
1076         https://bugs.webkit.org/show_bug.cgi?id=40219
1077         
1078         * Configurations/FeatureDefines.xcconfig:
1079         * WebCore.xcodeproj/project.pbxproj:
1080         
1081 2010-06-07  Eric Seidel  <eric@webkit.org>
1082
1083         Unreviewed.  Just commit an edit XCode keeps making automatically.
1084
1085         It appears someone hand-edited the file, XCode no-like.
1086
1087         * WebCore.xcodeproj/project.pbxproj:
1088
1089 2010-06-07  Eric Seidel  <eric@webkit.org>
1090
1091         Reviewed by Adam Barth.
1092
1093         HTML5 Parser fails script-tests which use document.write
1094         https://bugs.webkit.org/show_bug.cgi?id=40276
1095
1096         We were leaving the TreeBuilder paused when executing the scripts
1097         resulting in document.write() calls being ignored.
1098
1099         I don't see a good way to ASSERT this correct behavior, since
1100         the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
1101         each other.  We should never have document.write() called while
1102         the HTML5TreeBuilder is paused, however both document.write and
1103         the network call the same HTML5Tokenizer::write method.  It's OK
1104         to be paused when the network writes, but during document.write
1105         (or any other script execution).
1106
1107         Tested by all of fast/url and numerous other tests.
1108
1109         * html/HTML5Tokenizer.cpp:
1110         (WebCore::HTML5Tokenizer::notifyFinished):
1111          - Unpause the treebuilder before executing scripts.
1112         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
1113          - Unpause the treebuilder before executing scripts.
1114
1115 2010-06-07  Eric Seidel  <eric@webkit.org>
1116
1117         Reviewed by Adam Barth.
1118
1119         HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
1120         https://bugs.webkit.org/show_bug.cgi?id=40268
1121
1122         Teach HTML5Tokenizer about m_parserStopped.
1123
1124         While tracking down how m_parserStopped was used, I found
1125         several useless implementations of stopParsing() which I removed.
1126
1127         I also found a comment in HTMLTokenizer which still talks about the
1128         "part" (an old class now split into Frame, Page, FrameLoader, etc.)
1129         and an nearly empty FrameLoader::tokenizerProcessedData which I just
1130         inlined into its one caller.
1131
1132         Tests:
1133          fast/events/stop-load-in-unload-handler-using-document-write.html
1134          http/tests/security/xssAuditor/full-block-base-href.html
1135
1136         * html/HTML5Tokenizer.cpp:
1137         (WebCore::HTML5Tokenizer::pumpLexerIfPossible):
1138          - New method used instead of direct calls to pumpLexer for when
1139            callers would like to pump the lexer if possible, but don't want
1140            to check if the parser is stopped, etc.
1141         (WebCore::HTML5Tokenizer::pumpLexer):
1142          - Added an ASSERT that the parser is not stopped.
1143          - Stop pumping if the parser is stopped.
1144         (WebCore::HTML5Tokenizer::write):
1145          - Ignore the write if the parser is already stopped.
1146         (WebCore::HTML5Tokenizer::end):
1147         (WebCore::HTML5Tokenizer::attemptToEnd):
1148          - Move comment back to finish() which was incorrectly moved here.
1149         (WebCore::HTML5Tokenizer::endIfDelayed):
1150         (WebCore::HTML5Tokenizer::finish):
1151          - Move comment back here from attemptToEnd()
1152         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
1153          - Remove a bogus ASSERT.  The lexer will stop when it needs
1154            more data, which may not necessarily mean m_source.isEmpty().
1155         * html/HTML5Tokenizer.h:
1156          - Add pumpLexerIfPossible().
1157         * html/HTMLTokenizer.cpp:
1158         (WebCore::HTMLTokenizer::stopParsing):
1159          - Add a FIXME about if we really should call checkCompleted() here.
1160          - Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
1161         * loader/FrameLoader.cpp:
1162          - Remove tokenizerProcessedData()
1163         * loader/FrameLoader.h:
1164          - Remove tokenizerProcessedData()
1165         * loader/MediaDocument.cpp:
1166          - Remove unneeded Tokenizer::stopParsing() override.
1167         * loader/PluginDocument.cpp:
1168          - Remove unneeded Tokenizer::stopParsing() override.
1169         * loader/SinkDocument.cpp:
1170          - Remove unneeded Tokenizer::stopParsing() override.
1171
1172 2010-06-07  Adam Barth  <abarth@webkit.org>
1173
1174         Reviewed by Eric Seidel.
1175
1176         Fix XFrameOptions and xssAuditor crashes in HTML5 parser
1177         https://bugs.webkit.org/show_bug.cgi?id=40265
1178
1179         We're not supposed to call end() while the tokenizer's write() method.
1180         This causes a bunch of LayoutTests to crash.  In particular, this patch
1181         fixes crashes in the following tests:
1182
1183         Tests:
1184           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
1185           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
1186           * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
1187           * http/tests/security/xssAuditor/full-block-base-href.html
1188           * http/tests/security/xssAuditor/full-block-get-from-iframe.html
1189           * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
1190           * http/tests/security/xssAuditor/full-block-link-onclick.html
1191           * http/tests/security/xssAuditor/full-block-post-from-iframe.html
1192           * http/tests/security/xssAuditor/full-block-script-tag.html
1193           * http/tests/security/xssAuditor/xss-protection-parsing-01.html
1194
1195         * html/HTML5Tokenizer.cpp:
1196         (WebCore::):
1197         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
1198         (WebCore::HTML5Tokenizer::write):
1199         (WebCore::HTML5Tokenizer::attemptToEnd):
1200         (WebCore::HTML5Tokenizer::endIfDelayed):
1201         (WebCore::HTML5Tokenizer::finish):
1202         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
1203         * html/HTML5Tokenizer.h:
1204         (WebCore::HTML5Tokenizer::inWrite):
1205
1206 2010-06-07  Eric Seidel  <eric@webkit.org>
1207
1208         Reviewed by Adam Barth.
1209
1210         HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
1211         https://bugs.webkit.org/show_bug.cgi?id=40264
1212
1213         * html/HTML5Tokenizer.cpp:
1214         (WebCore::HTML5Tokenizer::executeScript):
1215
1216 2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
1217
1218         Unreviewed.
1219
1220         Avoid "warning: no previous prototype for" in Snow Leopard compilation.
1221
1222         * platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().
1223
1224 2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
1225
1226         Reviewed by Jian Li.
1227
1228         Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
1229         https://bugs.webkit.org/show_bug.cgi?id=39083
1230
1231         - Introduces a new class BlobItem as a basic component of Blob and FormDataList.
1232         - File would become a special type of Blob that contains only one FileBlobItem.
1233         - Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.
1234
1235         The patch doesn't support the latest File API changes (e.g. type,
1236         url and slice's type parameters) and should not change any of its
1237         existing behaviors.
1238
1239         The existing tests should be able to be used for regression.
1240
1241         * CMakeLists.txt:
1242         * GNUmakefile.am:
1243         * WebCore.gypi:
1244         * WebCore.pro:
1245         * WebCore.vcproj/WebCore.vcproj:
1246         * WebCore.xcodeproj/project.pbxproj:
1247         * html/Blob.cpp:
1248         (WebCore::Blob::Blob):
1249         (WebCore::Blob::size):
1250         (WebCore::Blob::path):
1251         (WebCore::Blob::append):
1252         (WebCore::Blob::slice):
1253         * html/Blob.h:
1254         (WebCore::Blob::create):
1255         (WebCore::Blob::type):
1256         (WebCore::Blob::items):
1257         (WebCore::Blob::Blob):
1258         * html/File.cpp:
1259         (WebCore::File::File):
1260         (WebCore::File::name):
1261         * html/File.h:
1262         (WebCore::File::fileName):
1263         * html/FileReader.cpp:
1264         (WebCore::FileReader::readAsBinaryString):
1265         (WebCore::FileReader::readAsText):
1266         * html/FileStream.cpp:
1267         (WebCore::FileStream::openForRead):
1268         * html/FormDataList.cpp:
1269         (WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
1270         (WebCore::FormDataList::appendBlob):
1271         * html/FormDataList.h:
1272         (WebCore::FormDataList::items):
1273         * html/HTMLFormElement.cpp:
1274         (WebCore::HTMLFormElement::createFormData):
1275         * html/HTMLProgressElement.cpp:
1276         * platform/BlobItem.cpp: Added.
1277         * platform/BlobItem.h: Added.
1278         * platform/network/FormData.cpp:
1279         (WebCore::FormDataElement::FormDataElement):
1280         (WebCore::FormData::create):
1281         (WebCore::FormData::createMultiPart):
1282         (WebCore::FormData::deepCopy):
1283         (WebCore::FormData::appendData):
1284         (WebCore::FormData::appendString):
1285         (WebCore::FormData::appendFile):
1286         (WebCore::FormData::appendFileRange):
1287         (WebCore::FormData::appendItems):
1288         (WebCore::FormData::appendItem):
1289         (WebCore::FormData::appendKeyValuePairItems):
1290         * platform/network/FormData.h:
1291         (WebCore::operator!=):
1292         * platform/network/mac/FormDataStreamMac.mm:
1293         (WebCore::closeCurrentStream):
1294         (WebCore::advanceCurrentStream):
1295         (WebCore::formCreate):
1296         (WebCore::formRead):
1297         (WebCore::setHTTPBody):
1298         * xml/XMLHttpRequest.cpp:
1299         (WebCore::XMLHttpRequest::send):
1300
1301 2010-06-07  Vangelis Kokkevis  <vangelis@chromium.org>
1302
1303         Reviewed by Dimitri Glazkov.
1304
1305         [chromium] Decoupled transform matrix update of composited layers from
1306         drawing and interposed a sorting step so that the layers are now composited
1307         back to front to get transparency working correctly. Also added missing code
1308         for the preserves3D CSS property.
1309
1310         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1311         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1312         * platform/graphics/chromium/LayerChromium.h:
1313         (WebCore::LayerChromium::setDrawTransform):
1314         (WebCore::LayerChromium::drawTransform):
1315         (WebCore::LayerChromium::setDrawOpacity):
1316         (WebCore::LayerChromium::drawOpacity):
1317         (WebCore::LayerChromium::preserves3D):
1318         * platform/graphics/chromium/LayerRendererChromium.cpp:
1319         (WebCore::compareLayerZ):
1320         (WebCore::LayerRendererChromium::drawLayers):
1321         (WebCore::LayerRendererChromium::updateLayersRecursive):
1322         (WebCore::LayerRendererChromium::drawLayer):
1323         * platform/graphics/chromium/LayerRendererChromium.h:
1324
1325 2010-06-07  Anton Muhin  <antonm@chromium.org>
1326
1327         Reviewed by Nate Chapin.
1328
1329         [Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
1330         https://bugs.webkit.org/show_bug.cgi?id=40238
1331
1332         Comparison to "length" below could be performed faster in this (major) case
1333         as it would only require direct pointer comparison (cf. to full text
1334         comparison if key is converted to WebCore::String.)
1335
1336         * bindings/v8/custom/V8NodeListCustom.cpp:
1337         (WebCore::V8NodeList::namedPropertyGetter):
1338
1339 2010-06-07  Ariya Hidayat  <ariya.hidayat@codeaurora.org>
1340
1341         Reviewed by Kenneth Rohde Christiansen.
1342
1343         [Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.
1344
1345         * platform/graphics/qt/GraphicsContextQt.cpp:
1346         (WebCore::GraphicsContext::clipOut):
1347
1348 2010-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1349
1350         Reviewed by Xan Lopez.
1351
1352         [gtk] web fonts not loaded properly in scribd html5 reader
1353         https://bugs.webkit.org/show_bug.cgi?id=38758
1354
1355         Avoid always giving a positive reply in createFontPlatformData. We
1356         do not want every non-existing family name to be considered a hit,
1357         or weird usage of local sources in @font-face rules will make
1358         WebKitGTK+ never consider the online fonts.
1359
1360         * GNUmakefile.am:
1361         * platform/graphics/cairo/FontCacheCairo.cpp:
1362         (WebCore::isWellKnownFontName):
1363         (WebCore::FontCache::createFontPlatformData):
1364         * platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
1365         (WTF::FcPattern):
1366         (WTF::FcObjectSet):
1367         (WTF::FcFontSet):
1368         * platform/graphics/cairo/GOwnPtrCairo.h: Added.
1369
1370 2010-06-07  Adam Barth  <abarth@webkit.org>
1371
1372         Reviewed by Eric Seidel.
1373
1374         "Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
1375         https://bugs.webkit.org/show_bug.cgi?id=40200
1376
1377         The proper handling of null characters is to replace them with U+FFFD.
1378         This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
1379         that it makes it give the proper output w.r.t. HTML5.  However, that
1380         doesn't match the behavior of the old parser, which just stripped the
1381         nulls.
1382
1383         * html/HTML5Lexer.h:
1384         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
1385
1386 2010-06-07  Adam Barth  <abarth@webkit.org>
1387
1388         Reviewed by Eric Seidel.
1389
1390         HTML5 parser should normalize line endings
1391         https://bugs.webkit.org/show_bug.cgi?id=40199
1392
1393         When reading characters from the source, we need to normalize line
1394         endings, which means treating \r as \n and folding \r\n sequences into
1395         a single \n.  Doing this requires a slightly tighter pattern for
1396         advancing the source (to make sure we update our state machine
1397         correctly).
1398
1399         Fixes fast/css/first-child-pseudo-class.html and hundreds of other
1400         LayoutTests in the HTML5 parser.
1401
1402         * html/HTML5Lexer.cpp:
1403         (WebCore::HTML5Lexer::nextToken):
1404         * html/HTML5Lexer.h:
1405         (WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
1406             - Introduced InputStreamPreprocessor to keep track of our line
1407               endings state machine.  This class will grow to eventually do
1408               all the input stream preprocessing required by the HTML5 spec.
1409         (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
1410             - We need to be careful not to read *source more than
1411               once because we need to know whether we've transformed the
1412               character.  Keeping the next input character in this state
1413               machine requires some careful coding, but seems advantageous.
1414         (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
1415         (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
1416
1417 2010-06-07  Andrei Popescu  <andreip@google.com>
1418
1419         Reviewed by Jeremy Orlow.
1420
1421         run-bindings-tests results broken by Changeset 60776
1422         https://bugs.webkit.org/show_bug.cgi?id=40230
1423
1424         The change to CodeGeneratorJS.pm in 
1425         http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
1426         added the possibility to use [CallWith=ScriptExecutionContext] in idl files.
1427
1428         Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
1429         functions return EncodedJSValue instead of JSValues. This was done in
1430         http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
1431
1432         This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
1433         where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.
1434
1435         No new tests, just fixing run-bindings-tests.
1436
1437         * bindings/scripts/CodeGeneratorJS.pm:
1438         * bindings/scripts/test/JS/JSTestObj.cpp:
1439         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1440         * bindings/scripts/test/JS/JSTestObj.h:
1441
1442 2010-06-07  Kwang Yul Seo  <skyul@company100.net>
1443
1444         Reviewed by Eric Seidel.
1445
1446         [BREWMP] Add dummy SearchPopupMenu implementation
1447         https://bugs.webkit.org/show_bug.cgi?id=40224
1448
1449         Add dummy implementation of SearchPopupMenu.
1450
1451         * platform/brew/SearchPopupMenuBrew.cpp: Added.
1452         (WebCore::SearchPopupMenu::saveRecentSearches):
1453         (WebCore::SearchPopupMenu::loadRecentSearches):
1454         (WebCore::SearchPopupMenu::SearchPopupMenu):
1455         (WebCore::SearchPopupMenu::enabled):
1456
1457 2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
1458
1459         Unreviewed, reverting my HTML comment parsing change as it
1460         breaks Gtk and Qt.
1461
1462         * html/HTMLTokenizer.cpp:
1463         (WebCore::HTMLTokenizer::parseComment):
1464         (WebCore::HTMLTokenizer::parseTag):
1465         * html/HTMLTokenizer.h:
1466
1467 2010-06-07  Martin Robinson  <mrobinson@igalia.com>
1468
1469         Reviewed by Oliver Hunt.
1470
1471         [GTK] HTML5 input type=range is not drawn
1472         https://bugs.webkit.org/show_bug.cgi?id=39561
1473
1474         Support HTML5 range widgets. They are now drawn using the standard
1475         GTK+ theme drawing mechanism.
1476
1477         * platform/gtk/RenderThemeGtk.cpp:
1478         (WebCore::supportsFocus): Add focus support for parts of sliders.
1479         (WebCore::setMozillaState):
1480         Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
1481         (WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
1482         (WebCore::RenderThemeGtk::paintSliderTrack): Added.
1483         (WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
1484         (WebCore::RenderThemeGtk::paintSliderThumb): Added.
1485         (WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
1486         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
1487         * platform/gtk/RenderThemeGtk.h: Added new method declarations.
1488
1489 2010-06-07  Martin Robinson  <mrobinson@igalia.com>
1490
1491         Reviewed by Xan Lopez.
1492
1493         [GTK] gtk_widget_get_window should replace widget->window
1494         https://bugs.webkit.org/show_bug.cgi?id=40180
1495
1496         Replace all uses of widget->window with gtk_widget_get_window. For older
1497         GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.
1498
1499         No tests necessary as functionality has not changed.
1500
1501         * platform/gtk/GtkPluginWidget.cpp:
1502         (WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
1503         * platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
1504         * platform/gtk/PlatformScreenGtk.cpp: 
1505         (WebCore::getVisual): Replace widget->window use.
1506         (WebCore::screenRect): Ditto.
1507         * platform/gtk/PopupMenuGtk.cpp:
1508         (WebCore::PopupMenu::show): Ditto.
1509         * platform/gtk/WidgetGtk.cpp:
1510         (WebCore::gdkDrawable): Ditto.
1511         (WebCore::Widget::setCursor): Ditto.
1512
1513 2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
1514
1515         Reviewed by Sam Weinig.
1516
1517         Add CPP bindings generator
1518         https://bugs.webkit.org/show_bug.cgi?id=38279
1519
1520         Add CPP bindings generator used in Olympia platform.
1521         We can succesfully generate cpp bindings for all IDLs except:
1522         - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
1523         - inspector/ (not needed for us at all)
1524         - svg/ (needs custom handling, related to animated attributes)
1525
1526         All generated files are free of style issues: "Total errors found: 0 in 510 files"
1527         Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.
1528
1529         * bindings/cpp: Added.
1530         * bindings/cpp/WebDOMCString.cpp: Added.
1531         (WebDOMCString::reset):
1532         (WebDOMCString::assign):
1533         (WebDOMCString::length):
1534         (WebDOMCString::data):
1535         (WebDOMCString::utf16):
1536         (WebDOMCString::fromUTF16):
1537         (WebDOMCString::WebDOMCString):
1538         (WebDOMCString::operator=):
1539         (WebDOMCString::operator WTF::CString):
1540         * bindings/cpp/WebDOMCString.h: Added.
1541         (WebDOMCString::~WebDOMCString):
1542         (WebDOMCString::WebDOMCString):
1543         (WebDOMCString::operator=):
1544         (WebDOMCString::isEmpty):
1545         (WebDOMCString::isNull):
1546         * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
1547         (WebDOMEventListener::handleEvent):
1548         (toWebKit):
1549         * bindings/cpp/WebDOMEventTarget.cpp: Added.
1550         (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
1551         (WebDOMEventTarget::WebDOMEventTarget):
1552         (WebDOMEventTarget::~WebDOMEventTarget):
1553         (WebDOMEventTarget::impl):
1554         (toWebCore):
1555         (toWebKit):
1556         * bindings/cpp/WebDOMEventTarget.h: Added.
1557         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
1558         (documentWrite):
1559         (WebDOMHTMLDocument::write):
1560         (WebDOMHTMLDocument::writeln):
1561         * bindings/cpp/WebDOMNodeCustom.cpp: Added.
1562         (WebDOMNode::insertBefore):
1563         (WebDOMNode::replaceChild):
1564         (WebDOMNode::removeChild):
1565         (WebDOMNode::appendChild):
1566         (WebDOMNode::addEventListener):
1567         (WebDOMNode::removeEventListener):
1568         * bindings/cpp/WebDOMObject.h: Added.
1569         (WebDOMObject::WebDOMObject):
1570         (WebDOMObject::~WebDOMObject):
1571         * bindings/cpp/WebDOMString.cpp: Added.
1572         (WebDOMString::reset):
1573         (WebDOMString::assign):
1574         (WebDOMString::length):
1575         (WebDOMString::data):
1576         (WebDOMString::utf8):
1577         (WebDOMString::fromUTF8):
1578         (WebDOMString::WebDOMString):
1579         (WebDOMString::operator=):
1580         (WebDOMString::operator WebCore::String):
1581         (WebDOMString::operator WebCore::AtomicString):
1582         (WebDOMString::equals):
1583         * bindings/cpp/WebDOMString.h: Added.
1584         (WebDOMString::~WebDOMString):
1585         (WebDOMString::WebDOMString):
1586         (WebDOMString::operator=):
1587         (WebDOMString::isEmpty):
1588         (WebDOMString::isNull):
1589         * bindings/cpp/WebExceptionHandler.cpp: Added.
1590         (globalExceptionHandler):
1591         (webInstallExceptionHandler):
1592         (webRaiseDOMException):
1593         * bindings/cpp/WebExceptionHandler.h: Added.
1594         (webDOMRaiseError):
1595         * bindings/cpp/WebNativeEventListener.cpp: Added.
1596         (WebNativeEventListener::WebNativeEventListener):
1597         (WebNativeEventListener::~WebNativeEventListener):
1598         (WebNativeEventListener::handleEvent):
1599         (WebNativeEventListener::reportError):
1600         (WebNativeEventListener::operator==):
1601         * bindings/cpp/WebNativeEventListener.h: Added.
1602         (WebNativeEventListener::create):
1603         (WebNativeEventListener::cast):
1604         * bindings/scripts/CodeGeneratorCPP.pm: Added.
1605         * bindings/scripts/test/CPP: Added.
1606         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
1607         (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
1608         (WebDOMTestCallback::WebDOMTestCallback):
1609         (WebDOMTestCallback::impl):
1610         (WebDOMTestCallback::~WebDOMTestCallback):
1611         (WebDOMTestCallback::callbackWithClass1Param):
1612         (WebDOMTestCallback::callbackWithClass2Param):
1613         (WebDOMTestCallback::callbackWithNonBoolReturnType):
1614         (toWebCore):
1615         (toWebKit):
1616         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
1617         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
1618         (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
1619         (WebDOMTestInterface::WebDOMTestInterface):
1620         (WebDOMTestInterface::impl):
1621         (WebDOMTestInterface::~WebDOMTestInterface):
1622         (toWebCore):
1623         (toWebKit):
1624         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
1625         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
1626         (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
1627         (WebDOMTestObj::WebDOMTestObj):
1628         (WebDOMTestObj::impl):
1629         (WebDOMTestObj::~WebDOMTestObj):
1630         (WebDOMTestObj::readOnlyIntAttr):
1631         (WebDOMTestObj::readOnlyStringAttr):
1632         (WebDOMTestObj::readOnlyTestObjAttr):
1633         (WebDOMTestObj::intAttr):
1634         (WebDOMTestObj::setIntAttr):
1635         (WebDOMTestObj::longLongAttr):
1636         (WebDOMTestObj::setLongLongAttr):
1637         (WebDOMTestObj::unsignedLongLongAttr):
1638         (WebDOMTestObj::setUnsignedLongLongAttr):
1639         (WebDOMTestObj::stringAttr):
1640         (WebDOMTestObj::setStringAttr):
1641         (WebDOMTestObj::testObjAttr):
1642         (WebDOMTestObj::setTestObjAttr):
1643         (WebDOMTestObj::attrWithException):
1644         (WebDOMTestObj::setAttrWithException):
1645         (WebDOMTestObj::attrWithSetterException):
1646         (WebDOMTestObj::setAttrWithSetterException):
1647         (WebDOMTestObj::attrWithGetterException):
1648         (WebDOMTestObj::setAttrWithGetterException):
1649         (WebDOMTestObj::scriptStringAttr):
1650         (WebDOMTestObj::voidMethod):
1651         (WebDOMTestObj::voidMethodWithArgs):
1652         (WebDOMTestObj::intMethod):
1653         (WebDOMTestObj::intMethodWithArgs):
1654         (WebDOMTestObj::objMethod):
1655         (WebDOMTestObj::objMethodWithArgs):
1656         (WebDOMTestObj::methodThatRequiresAllArgs):
1657         (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
1658         (WebDOMTestObj::serializedValue):
1659         (WebDOMTestObj::methodWithException):
1660         (WebDOMTestObj::addEventListener):
1661         (WebDOMTestObj::removeEventListener):
1662         (WebDOMTestObj::withDynamicFrame):
1663         (WebDOMTestObj::withDynamicFrameAndArg):
1664         (WebDOMTestObj::withDynamicFrameAndOptionalArg):
1665         (WebDOMTestObj::withScriptStateVoid):
1666         (WebDOMTestObj::withScriptStateObj):
1667         (WebDOMTestObj::withScriptStateVoidException):
1668         (WebDOMTestObj::withScriptStateObjException):
1669         (WebDOMTestObj::methodWithOptionalArg):
1670         (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
1671         (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
1672         (toWebCore):
1673         (toWebKit):
1674         * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
1675         * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
1676         * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
1677         * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
1678         * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
1679         * dom/EventListener.h: Add CPPEventListenerType.
1680         * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
1681         * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
1682         * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
1683         * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
1684         * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
1685         * html/TextMetrics.h: Add missing PassRefPtr.h include.
1686         * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
1687         * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
1688         * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
1689         * page/WebKitPoint.h: Add missing PassRefPtr.h include.
1690         * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
1691         * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
1692         * workers/WorkerContext.idl: Hide constructors from cpp bindings.
1693
1694 2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
1695
1696         Reviewed by Alexey Proskuryakov.
1697
1698         Space should be allowed between -- and > in comment end
1699         https://bugs.webkit.org/show_bug.cgi?id=21945
1700
1701         Implemented the HTML comment parsing algorithm so that we match HTML5 and
1702         FF when parsing comments. Missing from this patch is
1703         the parser errors, which will be added in a follow up patch.
1704
1705         Added tests cases for broken comments.
1706
1707         Tests: fast/parser/broken-comment-1.html
1708                fast/parser/broken-comment-2.html
1709                fast/parser/broken-comment-3.html
1710                fast/parser/broken-comment-4.html
1711                fast/parser/broken-comment-5.html
1712                fast/parser/broken-comment-6.html
1713                fast/parser/broken-comment-in-head-1.html
1714                fast/parser/broken-comment-in-head-2.html
1715                fast/parser/broken-comment-in-head-3.html
1716                fast/parser/broken-comment-in-head-4.html
1717                fast/parser/broken-comment-in-head-5.html
1718
1719         * html/HTMLTokenizer.cpp:
1720         (WebCore::HTMLTokenizer::parseComment): Now we use a state machine
1721         that matches the HTML5 specification.
1722         (WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
1723         and keep some of the original behavior as parseComment is called in wrong
1724         context (inside a <title> for example). Added a more explicit comment about
1725         this.
1726         (WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
1727         HTML5 specifies that we should accept this in strict mode too.
1728         * html/HTMLTokenizer.h:
1729         (WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.
1730
1731 2010-06-07  Mahesh Kulakrni  <mahesh.kulkarni@nokia.com>
1732
1733         Reviewed by Simon Hausmann.
1734
1735         [QT] QT_BEARER flag is not enabled on S60 properly
1736         https://bugs.webkit.org/show_bug.cgi?id=39357
1737
1738         enable QT_BEARER for all platform based on qtmobility + 
1739         bearer module availability or for qt 4.7+
1740
1741         * WebCore.pri: 
1742
1743 2010-06-07  Leon Clarke  <leonclarke@google.com>
1744
1745         Reviewed by Jeremy Orlow.
1746
1747         Fix indexeddb idls in android makefile
1748         https://bugs.webkit.org/show_bug.cgi?id=40169
1749
1750         No new tests. Android-specific build fix.
1751
1752         * Android.derived.v8bindings.mk:
1753
1754 2010-06-07  Andrei Popescu  <andreip@google.com>
1755
1756         Reviewed by Jeremy Orlow.
1757
1758         [indexedDB] It is impossible to create object stores
1759         https://bugs.webkit.org/show_bug.cgi?id=40054
1760
1761         No new tests. Layout tests will be added separately.
1762
1763         * Android.mk:
1764         * CMakeLists.txt:
1765         * GNUmakefile.am:
1766         * WebCore.gypi:
1767         * WebCore.pro:
1768         * WebCore.vcproj/WebCore.vcproj:
1769         * WebCore.xcodeproj/project.pbxproj:
1770         * bindings/scripts/CodeGeneratorJS.pm:
1771         * bindings/scripts/CodeGeneratorV8.pm:
1772         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1773         (webkit_dom_test_obj_with_script_execution_context):
1774         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1775         * bindings/scripts/test/JS/JSTestObj.cpp:
1776         (WebCore::):
1777         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1778         * bindings/scripts/test/JS/JSTestObj.h:
1779         * bindings/scripts/test/ObjC/DOMTestObj.h:
1780         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1781         (-[DOMTestObj withScriptExecutionContext]):
1782         * bindings/scripts/test/TestObj.idl:
1783         * bindings/scripts/test/V8/V8TestObj.cpp:
1784         (WebCore::TestObjInternal::withScriptExecutionContextCallback):
1785         (WebCore::):
1786         * page/DOMWindow.cpp:
1787         (WebCore::DOMWindow::clear):
1788         (WebCore::DOMWindow::indexedDB):
1789         * storage/IDBCallbacks.h:
1790         * storage/IDBDatabase.h:
1791         * storage/IDBDatabaseImpl.cpp:
1792         (WebCore::IDBDatabaseImpl::createObjectStore):
1793         * storage/IDBDatabaseImpl.h:
1794         * storage/IDBDatabaseRequest.cpp:
1795         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
1796         (WebCore::IDBDatabaseRequest::createObjectStore):
1797         * storage/IDBDatabaseRequest.h:
1798         * storage/IDBDatabaseRequest.idl:
1799         * storage/IDBObjectStore.cpp: Removed.
1800         * storage/IDBObjectStore.h:
1801         (WebCore::IDBObjectStore::~IDBObjectStore):
1802         * storage/IDBObjectStoreImpl.cpp: Added.
1803         (WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
1804         (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
1805         (WebCore::IDBObjectStoreImpl::indexNames):
1806         (WebCore::IDBObjectStoreImpl::createIndex):
1807         (WebCore::IDBObjectStoreImpl::index):
1808         (WebCore::IDBObjectStoreImpl::removeIndex):
1809         * storage/IDBObjectStoreImpl.h: Added.
1810         (WebCore::IDBObjectStoreImpl::create):
1811         (WebCore::IDBObjectStoreImpl::name):
1812         (WebCore::IDBObjectStoreImpl::keyPath):
1813         * storage/IDBObjectStoreRequest.cpp:
1814         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
1815         * storage/IDBObjectStoreRequest.h:
1816         (WebCore::IDBObjectStoreRequest::create):
1817         * storage/IDBRequest.cpp:
1818         (WebCore::IDBRequest::onSuccess):
1819         * storage/IDBRequest.h:
1820         * storage/IndexedDatabaseRequest.cpp:
1821         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
1822         (WebCore::IndexedDatabaseRequest::open):
1823         * storage/IndexedDatabaseRequest.h:
1824         (WebCore::IndexedDatabaseRequest::create):
1825         * storage/IndexedDatabaseRequest.idl:
1826
1827 2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
1828
1829         Not reviewed. Updated run-bindings-tests results.
1830
1831         * bindings/scripts/test/JS/JSTestInterface.cpp:
1832         (WebCore::JSTestInterfaceConstructor::constructTestInterface):
1833         * bindings/scripts/test/JS/JSTestObj.cpp:
1834         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1835         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1836         (WebCore::jsTestObjPrototypeFunctionIntMethod):
1837         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
1838         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1839         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1840         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
1841         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1842         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1843         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1844         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
1845         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
1846         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
1847         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1848         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1849         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
1850         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
1851         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
1852         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
1853         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
1854         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1855         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1856         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1857         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1858         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1859         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1860         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1861         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1862         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1863         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1864         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1865         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1866         * bindings/scripts/test/JS/JSTestObj.h:
1867
1868 2010-06-07  Pavel Podivilov  <podivilov@chromium.org>
1869
1870         Reviewed by Pavel Feldman.
1871
1872         Web Inspector: Implement JSON parsing for InspectorValue.
1873         https://bugs.webkit.org/show_bug.cgi?id=40064
1874
1875         * inspector/InspectorValues.cpp:
1876         (WebCore::):
1877         (WebCore::InspectorValue::asBool):
1878         (WebCore::InspectorValue::asNumber):
1879         (WebCore::InspectorValue::asString):
1880         (WebCore::InspectorValue::asObject):
1881         (WebCore::InspectorValue::asArray):
1882         (WebCore::InspectorValue::readJSON):
1883         (WebCore::InspectorValue::writeJSON):
1884         (WebCore::InspectorBasicValue::asBool):
1885         (WebCore::InspectorBasicValue::asNumber):
1886         (WebCore::InspectorBasicValue::writeJSON):
1887         (WebCore::InspectorString::asString):
1888         (WebCore::InspectorObject::asObject):
1889         (WebCore::InspectorObject::getBool):
1890         (WebCore::InspectorObject::getNumber):
1891         (WebCore::InspectorObject::getString):
1892         (WebCore::InspectorObject::getObject):
1893         (WebCore::InspectorObject::getArray):
1894         (WebCore::InspectorObject::get):
1895         (WebCore::InspectorArray::asArray):
1896         * inspector/InspectorValues.h:
1897         (WebCore::InspectorObject::begin):
1898         (WebCore::InspectorObject::end):
1899
1900 2010-06-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1901
1902         Reviewed by Simon Hausmann.
1903
1904         [Qt] Fix text selection drawing.
1905         https://bugs.webkit.org/show_bug.cgi?id=40221
1906
1907         The regression was introduced in r60169.
1908
1909         * platform/graphics/qt/FontQt.cpp:
1910         (WebCore::drawTextCommon):
1911
1912 2010-06-07  Yury Semikhatsky  <yurys@chromium.org>
1913
1914         Reviewed by Pavel Feldman.
1915
1916         Web Inspector: should be possible to distinguish extension scripts from main world scripts
1917         https://bugs.webkit.org/show_bug.cgi?id=40220
1918
1919         * bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
1920         (WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
1921         (WebCore::currentWorldType):
1922         (WebCore::ScriptDebugServer::sourceParsed):
1923         * bindings/js/ScriptDebugServer.h:
1924         * bindings/v8/ScriptDebugServer.cpp:
1925         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1926         * inspector/InspectorController.cpp:
1927         (WebCore::InspectorController::didParseSource):
1928         * inspector/InspectorController.h:
1929         * inspector/InspectorFrontend.cpp:
1930         (WebCore::InspectorFrontend::parsedScriptSource):
1931         * inspector/InspectorFrontend.h:
1932         * inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
1933         (WebCore::):
1934         * inspector/front-end/InjectedScript.js:
1935         (injectedScriptConstructor):
1936         * inspector/front-end/Script.js:
1937         (WebInspector.Script):
1938         * inspector/front-end/ScriptsPanel.js:
1939         (WebInspector.ScriptsPanel.prototype.addScript):
1940         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
1941         * inspector/front-end/inspector.css:
1942         (#scripts-files option.extension-script):
1943         * inspector/front-end/inspector.js:
1944         (WebInspector.parsedScriptSource):
1945
1946 2010-06-06  MORITA Hajime  <morrita@google.com>
1947
1948         Unreviewd, Chromium windows build fix.
1949
1950         * rendering/RenderThemeChromiumWin.cpp:
1951         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1952
1953 2010-06-06  MORITA Hajime  <morrita@google.com>
1954
1955         Reviewed by Kent Tamura.
1956
1957         ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
1958         https://bugs.webkit.org/show_bug.cgi?id=40158
1959
1960         paintProgressBar() and paintMeter() assumed given RenderObject is
1961         RenderProgress or RenderMeter respectively, but arbitrary elements
1962         can have -webkit-appearance: progress-bar and such elements
1963         violates that assumption. So this change added type check before
1964         downcasting the RenderObject.
1965
1966         * platform/qt/RenderThemeQt.cpp:
1967         (WebCore::RenderThemeQt::paintProgressBar):
1968         * rendering/RenderTheme.cpp:
1969         (WebCore::RenderTheme::paintMeter):
1970         * rendering/RenderThemeChromiumSkia.cpp:
1971         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
1972         * rendering/RenderThemeChromiumWin.cpp:
1973         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1974         * rendering/RenderThemeMac.mm:
1975         (WebCore::RenderThemeMac::paintProgressBar):
1976
1977 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
1978
1979         Reviewed by NOBODY (Qt build fix pt 2).
1980
1981         * bridge/qt/qt_runtime.cpp:
1982         (JSC::Bindings::findMethodIndex):
1983         (JSC::Bindings::QtRuntimeMetaMethod::call):
1984         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1985
1986 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
1987
1988         Reviewed by NOBODY (Qt build fix).
1989
1990         * bridge/qt/qt_runtime.cpp:
1991         (JSC::Bindings::findMethodIndex):
1992         (JSC::Bindings::QtRuntimeMetaMethod::call):
1993         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1994
1995 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
1996
1997         Reviewed by Sam Weinig.
1998
1999         Bug 40214 - Clean up error construction / throwing in JSC.
2000         
2001         The one egregious insanity here is that creating an error requires
2002         a VM-entry-esqe-host call (the string argument is wrapped as a JS
2003         object & pushed on the RegisterFile, then unwrapped back to a
2004         UString).  Changing this also means you only require a global
2005         object, not an ExecState, to create an error.
2006
2007         The methods to create error objects are also parameterized
2008         requiring a switch on the type, which can be made cleaner and
2009         faster by moving to a separate method per error type.  Code to add
2010         divot information to error had been duplicated, and is coalesced
2011         back into a single function.
2012
2013         Convenience methods added to create & throw type & syntax error
2014         with a default error message, since this is a common case.
2015
2016         Also, errors are currently thrown either using
2017         "throwError(exec, error)" or "exec->setException(error)" - unify
2018         on the former, since this is more commonly used.  Add
2019         "throwVMError(exec, error)" equivalents, as a convenience for
2020         cases where the result was being wrapped in "JSValue::encode(...)".
2021
2022         * WebCore.xcodeproj/project.pbxproj:
2023         * bindings/js/JSArrayBufferConstructor.h:
2024         (WebCore::construct):
2025         * bindings/js/JSArrayBufferViewHelper.h:
2026         (WebCore::setWebGLArrayHelper):
2027         * bindings/js/JSAudioConstructor.cpp:
2028         (WebCore::constructAudio):
2029         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2030         (WebCore::JSCanvasRenderingContext2D::setFillColor):
2031         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2032         (WebCore::JSCanvasRenderingContext2D::drawImage):
2033         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2034         (WebCore::JSCanvasRenderingContext2D::setShadow):
2035         (WebCore::JSCanvasRenderingContext2D::createPattern):
2036         (WebCore::JSCanvasRenderingContext2D::fillText):
2037         (WebCore::JSCanvasRenderingContext2D::strokeText):
2038         * bindings/js/JSClipboardCustom.cpp:
2039         (WebCore::JSClipboard::clearData):
2040         (WebCore::JSClipboard::getData):
2041         (WebCore::JSClipboard::setDragImage):
2042         * bindings/js/JSDOMBinding.cpp:
2043         (WebCore::setDOMException):
2044         (WebCore::toJSSequence):
2045         * bindings/js/JSDOMWrapper.cpp:
2046         (WebCore::DOMObject::defineOwnProperty):
2047         * bindings/js/JSDesktopNotificationsCustom.cpp:
2048         (WebCore::JSNotificationCenter::requestPermission):
2049         * bindings/js/JSEventSourceConstructor.cpp:
2050         (WebCore::constructEventSource):
2051         * bindings/js/JSHTMLDocumentCustom.cpp:
2052         (WebCore::JSHTMLDocument::open):
2053         * bindings/js/JSHTMLInputElementCustom.cpp:
2054         (WebCore::JSHTMLInputElement::selectionStart):
2055         (WebCore::JSHTMLInputElement::setSelectionStart):
2056         (WebCore::JSHTMLInputElement::selectionEnd):
2057         (WebCore::JSHTMLInputElement::setSelectionEnd):
2058         (WebCore::JSHTMLInputElement::setSelectionRange):
2059         * bindings/js/JSImageConstructor.cpp:
2060         (WebCore::constructImage):
2061         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2062         (WebCore::JSJavaScriptCallFrame::evaluate):
2063         * bindings/js/JSMessageChannelConstructor.cpp:
2064         (WebCore::JSMessageChannelConstructor::construct):
2065         * bindings/js/JSMessagePortCustom.cpp:
2066         (WebCore::fillMessagePortArray):
2067         * bindings/js/JSOptionConstructor.cpp:
2068         (WebCore::constructHTMLOptionElement):
2069         * bindings/js/JSSVGMatrixCustom.cpp:
2070         (WebCore::JSSVGMatrix::multiply):
2071         * bindings/js/JSSharedWorkerConstructor.cpp:
2072         (WebCore::constructSharedWorker):
2073         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2074         (WebCore::JSWebGLRenderingContext::bufferData):
2075         (WebCore::JSWebGLRenderingContext::bufferSubData):
2076         (WebCore::getObjectParameter):
2077         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
2078         (WebCore::JSWebGLRenderingContext::getParameter):
2079         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2080         (WebCore::JSWebGLRenderingContext::getShaderParameter):
2081         (WebCore::JSWebGLRenderingContext::getUniform):
2082         (WebCore::JSWebGLRenderingContext::texImage2D):
2083         (WebCore::JSWebGLRenderingContext::texSubImage2D):
2084         (WebCore::dataFunctionf):
2085         (WebCore::dataFunctioni):
2086         (WebCore::dataFunctionMatrix):
2087         * bindings/js/JSWebSocketConstructor.cpp:
2088         (WebCore::constructWebSocket):
2089         * bindings/js/JSWebSocketCustom.cpp:
2090         (WebCore::JSWebSocket::send):
2091         * bindings/js/JSWorkerConstructor.cpp:
2092         (WebCore::constructWorker):
2093         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2094         (WebCore::constructXMLHttpRequest):
2095         * bindings/js/JSXMLHttpRequestCustom.cpp:
2096         (WebCore::JSXMLHttpRequest::open):
2097         * bindings/js/SerializedScriptValue.cpp:
2098         (WebCore::BaseWalker::throwStackOverflow):
2099         (WebCore::BaseWalker::throwInterruptedException):
2100         (WebCore::SerializingTreeWalker::startArray):
2101         (WebCore::SerializingTreeWalker::startObject):
2102         * bindings/js/WorkerScriptController.cpp:
2103         (WebCore::WorkerScriptController::setException):
2104         * bindings/scripts/CodeGeneratorJS.pm:
2105         * bridge/c/c_instance.cpp:
2106         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
2107         (JSC::Bindings::CInstance::invokeMethod):
2108         (JSC::Bindings::CInstance::invokeDefaultMethod):
2109         (JSC::Bindings::CInstance::invokeConstruct):
2110         * bridge/jni/jsc/JNIBridgeJSC.cpp:
2111         (JavaField::dispatchValueFromInstance):
2112         (JavaField::dispatchSetValueToInstance):
2113         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2114         (JavaInstance::invokeMethod):
2115         * bridge/objc/objc_instance.mm:
2116         (ObjcInstance::moveGlobalExceptionToExecState):
2117         (ObjcInstance::invokeMethod):
2118         * bridge/objc/objc_runtime.mm:
2119         (JSC::Bindings::ObjcField::valueFromInstance):
2120         (JSC::Bindings::ObjcField::setValueToInstance):
2121         (JSC::Bindings::ObjcArray::setValueAt):
2122         (JSC::Bindings::ObjcArray::valueAt):
2123         (JSC::Bindings::callObjCFallbackObject):
2124         * bridge/objc/objc_utility.h:
2125         * bridge/objc/objc_utility.mm:
2126         (JSC::Bindings::throwError):
2127         * bridge/runtime_array.cpp:
2128         (JSC::RuntimeArray::put):
2129         * bridge/runtime_method.cpp:
2130         (JSC::callRuntimeMethod):
2131         * bridge/runtime_object.cpp:
2132         (JSC::Bindings::RuntimeObject::throwInvalidAccessError):
2133
2134 2010-06-06  Dirk Schulze  <krit@webkit.org>
2135
2136         Reviewed by Nikolas Zimmermann.
2137
2138         hit testing does not respect clip paths
2139         https://bugs.webkit.org/show_bug.cgi?id=15162
2140
2141         Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
2142         
2143         Added a check, if a float point is not only in the shape/object boundaries
2144         but also is not in the clipped away area of a clipPath.
2145
2146         * rendering/HitTestRequest.h:
2147         (WebCore::HitTestRequest::):
2148         (WebCore::HitTestRequest::svgClipContent):
2149         * rendering/RenderPath.cpp:
2150         (WebCore::RenderPath::fillContains):
2151         (WebCore::RenderPath::nodeAtFloatPoint):
2152         * rendering/RenderPath.h:
2153         * rendering/RenderSVGContainer.cpp:
2154         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
2155         * rendering/RenderSVGImage.cpp:
2156         (WebCore::RenderSVGImage::nodeAtFloatPoint):
2157         * rendering/RenderSVGResourceClipper.cpp:
2158         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
2159         * rendering/RenderSVGResourceClipper.h:
2160         * rendering/RenderSVGText.cpp:
2161         (WebCore::RenderSVGText::nodeAtFloatPoint):
2162         * rendering/SVGRenderSupport.cpp:
2163         (WebCore::pointInClippingArea):
2164         * rendering/SVGRenderSupport.h:
2165
2166 2010-06-06  Dirk Schulze  <krit@webkit.org>
2167
2168         Reviewed by Nikolas Zimmermann.
2169
2170         SVG Pattern/Gradient clean-up
2171         https://bugs.webkit.org/show_bug.cgi?id=40205
2172
2173         Transformations of SVG Patterns and Gradients can be bundeled.
2174         This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
2175         but a clean-up and preparation for new features like vectorEffects and others.
2176         Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
2177         to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
2178         gradients after they were created.
2179         
2180         This patch doesn't change functionality, so no new tests added.
2181
2182         * platform/graphics/Gradient.cpp:
2183         * platform/graphics/cairo/GradientCairo.cpp:
2184         (WebCore::Gradient::setPlatformGradientSpaceTransform):
2185         * rendering/RenderSVGResourceGradient.cpp:
2186         (WebCore::RenderSVGResourceGradient::applyResource):
2187         * rendering/RenderSVGResourceGradient.h:
2188         * rendering/RenderSVGResourcePattern.cpp:
2189         (WebCore::RenderSVGResourcePattern::applyResource):
2190         (WebCore::RenderSVGResourcePattern::createTileImage):
2191         (WebCore::RenderSVGResourcePattern::buildPattern):
2192         * rendering/RenderSVGResourcePattern.h:
2193
2194 2010-06-05  Dumitru Daniliuc  <dumi@chromium.org>
2195
2196         Unreviewed, typo/build fix.
2197
2198         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2199         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2200
2201 2010-05-28  Dumitru Daniliuc  <dumi@chromium.org>
2202
2203         Reviewed by Adam Barth.
2204
2205         Do not pass empty handles to v8.
2206         https://bugs.webkit.org/show_bug.cgi?id=39896
2207
2208         Passing an empty handle to v8 results in a crash with a stack
2209         trace that doesn't give us much information about the cause of the
2210         crash. Instead, if we check the handles we pass to v8 and crash
2211         when they are empty, we do not make things worse, and should get a
2212         more informative stack trace.
2213
2214         * bindings/scripts/CodeGeneratorV8.pm:
2215         * bindings/scripts/test/V8/V8TestCallback.cpp:
2216         (WebCore::V8TestCallback::callbackWithClass1Param):
2217         (WebCore::V8TestCallback::callbackWithClass2Param):
2218         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2219         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2220
2221 2010-05-30  Antonio Gomes  <tonikitoo@webkit.org>
2222
2223         Reviewed by Darin Adler.
2224
2225         Add a convenient helper getter for Frame* to RenderObject
2226         https://bugs.webkit.org/show_bug.cgi?id=39928
2227
2228         document()->frame() is being called enough from RenderObject derivated classes
2229         that it worth adding a helper Frame getter as a shortcut.
2230
2231         No behavior change, so no new tests.
2232
2233         * accessibility/AccessibilityRenderObject.cpp:
2234         (WebCore::AccessibilityRenderObject::isOffScreen):
2235         (WebCore::AccessibilityRenderObject::stringValue):
2236         (WebCore::AccessibilityRenderObject::selection):
2237         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
2238         * page/EventHandler.cpp:
2239         (WebCore::canAutoscroll):
2240         * rendering/InlineTextBox.cpp:
2241         (WebCore::InlineTextBox::paint):
2242         (WebCore::InlineTextBox::paintCustomHighlight):
2243         (WebCore::InlineTextBox::paintTextMatchMarker):
2244         * rendering/RenderBlock.cpp:
2245         (WebCore::RenderBlock::paintCaret):
2246         * rendering/RenderBox.cpp:
2247         (WebCore::RenderBox::paintCustomHighlight):
2248         * rendering/RenderDataGrid.cpp:
2249         (WebCore::RenderDataGrid::isActive):
2250         * rendering/RenderFrameSet.cpp:
2251         (WebCore::RenderFrameSet::flattenFrameSet):
2252         * rendering/RenderImage.cpp:
2253         (WebCore::RenderImage::paintFocusRings):
2254         * rendering/RenderInline.cpp:
2255         (WebCore::RenderInline::addDashboardRegions):
2256         * rendering/RenderLayer.cpp:
2257         (WebCore::RenderLayer::~RenderLayer):
2258         (WebCore::RenderLayer::panScrollFromPoint):
2259         (WebCore::RenderLayer::scrollByRecursively):
2260         (WebCore::RenderLayer::scrollToOffset):
2261         (WebCore::RenderLayer::autoscroll):
2262         (WebCore::RenderLayer::isActive):
2263         (showLayerTree):
2264         * rendering/RenderLayerBacking.cpp:
2265         (WebCore::inspectorTimelineAgent):
2266         * rendering/RenderListBox.cpp:
2267         (WebCore::RenderListBox::paintItemForeground):
2268         (WebCore::RenderListBox::paintItemBackground):
2269         (WebCore::RenderListBox::panScroll):
2270         (WebCore::RenderListBox::autoscroll):
2271         (WebCore::RenderListBox::isActive):
2272         * rendering/RenderObject.cpp:
2273         (WebCore::RenderObject::~RenderObject):
2274         (WebCore::RenderObject::selectionBackgroundColor):
2275         (WebCore::RenderObject::selectionForegroundColor):
2276         (WebCore::RenderObject::destroy):
2277         (WebCore::RenderObject::addDashboardRegions):
2278         (WebCore::RenderObject::animation):
2279         * rendering/RenderObject.h:
2280         (WebCore::RenderObject::document):
2281         (WebCore::RenderObject::frame):
2282
2283 2010-06-05  Jonathan Kliegman  <kliegs@chromium.org>
2284
2285         Reviewed by Dirk Schulze.
2286
2287         SVG doesn't support rgba colors
2288         https://bugs.webkit.org/show_bug.cgi?id=16183
2289
2290         Enabled processing of rgba, hsl and hsla color specifications
2291         for SVG files.  SVG spec calls for CSS2 but common usage and
2292         other browsers suppor CSS3 colors being used in SVG files
2293
2294         Removed unused svg paramater from CSSParser::parseColorFromValue
2295
2296         Tests: svg/custom/fill-opacity-hsl.svg
2297                svg/custom/fill-opacity-rgba.svg
2298
2299         * css/CSSParser.cpp:
2300         (WebCore::CSSParser::parseColorFromValue):
2301         * css/CSSParser.h:
2302         * css/SVGCSSParser.cpp:
2303         (WebCore::CSSParser::parseSVGValue):
2304         (WebCore::CSSParser::parseSVGPaint):
2305         (WebCore::CSSParser::parseSVGColor):
2306         * svg/SVGColor.cpp:
2307         (WebCore::SVGColor::colorFromRGBColorString):
2308
2309 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2310
2311         Reviewed by Eric Seidel.
2312
2313         [Qt] ContextMenuItemQt.cpp has coding-style errors
2314         https://bugs.webkit.org/show_bug.cgi?id=39780
2315
2316         * platform/qt/ContextMenuItemQt.cpp:
2317
2318 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2319
2320         Reviewed by Eric Seidel.
2321
2322         [Qt] ContextMenuQt.cpp has coding-style errors
2323         https://bugs.webkit.org/show_bug.cgi?id=39779
2324
2325         * platform/qt/ContextMenuQt.cpp:
2326
2327 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2328
2329         Reviewed by Eric Seidel.
2330
2331         [Qt] DragDataQt.cpp has coding-style errors
2332         https://bugs.webkit.org/show_bug.cgi?id=39777
2333
2334         * platform/qt/DragDataQt.cpp:
2335
2336 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2337
2338         Reviewed by Eric Seidel.
2339
2340         [Qt] FileChooserQt.cpp has coding-style errors
2341         https://bugs.webkit.org/show_bug.cgi?id=39776
2342
2343         * platform/qt/FileChooserQt.cpp:
2344
2345 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2346
2347         Reviewed by Eric Seidel.
2348
2349         [Qt] FileSystemQt.cpp has coding-style errors
2350         https://bugs.webkit.org/show_bug.cgi?id=39775
2351
2352         * platform/qt/FileSystemQt.cpp:
2353
2354 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2355
2356         Reviewed by Eric Seidel.
2357
2358         [Qt] KURLQt.cpp has coding-style errors
2359         https://bugs.webkit.org/show_bug.cgi?id=39774
2360
2361         * platform/qt/KURLQt.cpp:
2362
2363 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2364
2365         Reviewed by Eric Seidel.
2366
2367         [Qt] LoggingQt.cpp has coding-style errors
2368         https://bugs.webkit.org/show_bug.cgi?id=39772
2369
2370         * platform/qt/LoggingQt.cpp:
2371
2372 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2373
2374         Reviewed by Eric Seidel.
2375
2376         [Qt] PlatformKeyboardEventQt.cpp has coding-style errors
2377         https://bugs.webkit.org/show_bug.cgi?id=39770
2378
2379         * platform/qt/PlatformKeyboardEventQt.cpp:
2380         (WebCore::keyIdentifierForQtKeyCode):
2381         (WebCore::windowsKeyCodeForKeyEvent):
2382         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2383
2384 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2385
2386         Reviewed by Eric Seidel.
2387
2388         [Qt] PlatformScreenQt.cpp has coding-style errors
2389         https://bugs.webkit.org/show_bug.cgi?id=39768
2390
2391         * platform/qt/PlatformMouseEventQt.cpp:
2392         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2393
2394 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2395
2396         Reviewed by Eric Seidel.
2397
2398         [Qt] RenderThemeQt.cpp has coding-style errors
2399         https://bugs.webkit.org/show_bug.cgi?id=39767
2400
2401         * platform/qt/RenderThemeQt.cpp:
2402
2403 2010-06-05  Anders Bakken  <agbakken@gmail.com>
2404
2405         Reviewed by Eric Seidel.
2406
2407         [Qt] ScrollbarQt.cpp has coding-style errors
2408         https://bugs.webkit.org/show_bug.cgi?id=39765
2409
2410         * platform/qt/ScrollbarQt.cpp:
2411
2412 2010-06-04  Adam Barth  <abarth@webkit.org>
2413
2414         Reviewed by Eric Seidel.
2415
2416         Make HTML5Lexer go fast
2417         https://bugs.webkit.org/show_bug.cgi?id=40048
2418
2419         This patch changes us from using a jump table for each character to
2420         using absolute jumps between parser states.  This appears to be about a
2421         1% improvement on the parser bench mark (which is 1/10th of what we
2422         need to catch the old parser).
2423
2424         I've kept the underlying logic as close to the old logic as possible.
2425         This new form will make it easier to handle the input stream part of
2426         the spec and to make further performance improvements.
2427
2428         * html/HTML5Lexer.cpp:
2429         (WebCore::HTML5Lexer::reset):
2430         (WebCore::HTML5Lexer::nextToken):
2431         (WebCore::HTML5Lexer::emitCurrentToken):
2432         * html/HTML5Lexer.h:
2433
2434 2010-06-04  Adam Barth  <abarth@webkit.org>
2435
2436         Reviewed by Darin Adler.
2437
2438         HTML5 parser should be within 1% of old parser performance
2439         https://bugs.webkit.org/show_bug.cgi?id=40172
2440
2441         Stop using adopt().  I think this function is cause us to do extra
2442         mallocs that are hurting performance.  Instead of caching AtomicString
2443         on HTML5Token, just use the AtomicString on the old token.  Also,
2444         reserve inline capacity for 10 attributes.
2445
2446         * html/HTML5Lexer.cpp:
2447         (WebCore::HTML5Lexer::isAppropriateEndTag):
2448         * html/HTML5Lexer.h:
2449         * html/HTML5Token.h:
2450         (WebCore::HTML5Token::beginStartTag):
2451         (WebCore::HTML5Token::beginEndTag):
2452         (WebCore::HTML5Token::beginCharacter):
2453         (WebCore::HTML5Token::beginComment):
2454         (WebCore::HTML5Token::beginDOCTYPE):
2455         (WebCore::HTML5Token::name):
2456         (WebCore::HTML5Token::characters):
2457         (WebCore::HTML5Token::comment):
2458         * html/HTML5TreeBuilder.cpp:
2459         (WebCore::convertToOldStyle):
2460         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2461
2462 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2463
2464         Reviewed by Eric Seidel.
2465
2466         [Qt] ScrollbarThemeQt.cpp has coding-style errors
2467         https://bugs.webkit.org/show_bug.cgi?id=39764
2468
2469         * platform/qt/ScrollbarThemeQt.cpp:
2470         (WebCore::scPart):
2471         (WebCore::scrollbarPart):
2472         (WebCore::styleOptionSlider):
2473
2474 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2475
2476         Reviewed by Eric Seidel.
2477
2478         [Qt] SharedTimerQt.cpp has coding-style errors
2479         https://bugs.webkit.org/show_bug.cgi?id=39763
2480
2481         * platform/qt/SharedTimerQt.cpp:
2482
2483 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2484
2485         Reviewed by Eric Seidel.
2486
2487         WidgetQt.cpp has coding-style errors
2488         https://bugs.webkit.org/show_bug.cgi?id=39759
2489
2490         * platform/qt/WidgetQt.cpp:
2491
2492 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2493
2494         Reviewed by Eric Seidel.
2495
2496         TemporaryLinkStubsQt.cpp has coding-style errors
2497         https://bugs.webkit.org/show_bug.cgi?id=39761
2498
2499         * platform/qt/TemporaryLinkStubsQt.cpp:
2500
2501 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2502
2503         Reviewed by Eric Seidel.
2504
2505         [Qt] SoundQt.cpp has coding-style errors
2506         https://bugs.webkit.org/show_bug.cgi?id=39762
2507
2508         * platform/qt/SoundQt.cpp:
2509
2510 2010-06-04  Andreas Kling  <andreas.kling@nokia.com>
2511
2512         Reviewed by Dirk Schulze.
2513
2514         Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
2515         https://bugs.webkit.org/show_bug.cgi?id=40166
2516
2517         Spec link:
2518         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern
2519
2520         Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)
2521
2522         * html/canvas/CanvasRenderingContext2D.cpp:
2523         (WebCore::CanvasRenderingContext2D::createPattern):
2524
2525 2010-06-04  Anders Bakken  <agbakken@gmail.com>
2526
2527         Reviewed by David Levin.
2528
2529         [Qt] Localizations.cpp has coding-style errors
2530         https://bugs.webkit.org/show_bug.cgi?id=39773
2531
2532         * platform/qt/Localizations.cpp:
2533         (WebCore::localizedMediaTimeDescription):
2534
2535 2010-06-04  Lyon Chen  <liachen@rim.com>
2536
2537         Reviewed by Darin Adler.
2538
2539         ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
2540         https://bugs.webkit.org/show_bug.cgi?id=40074
2541
2542         Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
2543         openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.
2544
2545         * loader/appcache/ApplicationCacheStorage.cpp:
2546         (WebCore::ApplicationCacheStorage::store):
2547         (WebCore::ApplicationCacheStorage::storeNewestCache):
2548
2549 2010-06-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2550
2551         Unreviewed, rolling out r60684.
2552         http://trac.webkit.org/changeset/60684
2553         https://bugs.webkit.org/show_bug.cgi?id=40196
2554
2555         This patch broke chromium reliability tests (Requested by
2556         tonyg-cr on #webkit).
2557
2558         * bindings/v8/ScriptSourceCode.h:
2559         (WebCore::ScriptSourceCode::ScriptSourceCode):
2560         * bindings/v8/V8Proxy.cpp:
2561         (WebCore::V8Proxy::compileScript):
2562         (WebCore::V8Proxy::evaluate):
2563         * bindings/v8/V8Proxy.h:
2564
2565 2010-06-04  Chris Fleizach  <cfleizach@apple.com>
2566
2567         Reviewed by David Kilzer.
2568
2569         AX: need an aria-help
2570         https://bugs.webkit.org/show_bug.cgi?id=40010
2571
2572         Test: accessibility/aria-help.html
2573
2574         * accessibility/AccessibilityRenderObject.cpp:
2575         (WebCore::AccessibilityRenderObject::helpText):
2576         * html/HTMLAttributeNames.in:
2577
2578 2010-06-04  Andreas Kling  <andreas.kling@nokia.com>
2579
2580         Reviewed by Tor Arne Vestbø.
2581
2582         [Qt] Canvas arc() with zero radius should draw a line to the start point
2583         https://bugs.webkit.org/show_bug.cgi?id=40164
2584
2585         Spec link:
2586         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
2587
2588         * platform/graphics/qt/PathQt.cpp:
2589         (WebCore::Path::addArc):
2590
2591 2010-06-04  Martin Robinson  <mrobinson@igalia.com>
2592
2593         Reviewed by Xan Lopez.
2594
2595         [GTK] RenderThemeGtk leaks memory
2596         https://bugs.webkit.org/show_bug.cgi?id=40168
2597
2598         Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
2599         up all widget resources when a theme is destroyed.
2600
2601         No new tests, because functionality has not changed.
2602
2603         * platform/gtk/RenderThemeGtk.cpp:
2604         (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.
2605
2606 2010-06-04  Martin Robinson  <mrobinson@igalia.com>
2607
2608         Reviewed by Xan Lopez.
2609
2610         [GTK] RenderThemeGtk leaks memory
2611         https://bugs.webkit.org/show_bug.cgi?id=40168
2612
2613         Remove the use of releaseRef to assign a value to a RefPtr. This results in
2614         the original pointer taking an extra reference.
2615
2616         * platform/gtk/RenderThemeGtk.cpp:
2617         (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.
2618
2619 2010-06-04  Adam Barth  <abarth@webkit.org>
2620
2621         Reviewed by Gavin Barraclough.
2622
2623         Try to fix the windows build
2624         https://bugs.webkit.org/show_bug.cgi?id=40189
2625
2626         Suppress the "unreachable code" warning because we want to assert that
2627         we don't reach certain code points.
2628
2629         * html/HTML5Lexer.cpp:
2630
2631 2010-06-04  Adam Barth  <abarth@webkit.org>
2632
2633         Reviewed by Eric Seidel.
2634
2635         Make HTML5Lexer go fast
2636         https://bugs.webkit.org/show_bug.cgi?id=40048
2637
2638         A couple more cases like the previous patch that I missed.
2639
2640         * html/HTML5Lexer.cpp:
2641         (WebCore::HTML5Lexer::nextToken):
2642
2643 2010-06-04  Adam Barth  <abarth@webkit.org>
2644
2645         Reviewed by Eric Seidel.
2646
2647         Make HTML5Lexer go fast
2648         https://bugs.webkit.org/show_bug.cgi?id=40048
2649
2650         Make all the state transitions in the machine explicit.  This allows us
2651         to remove all the break statements, which won't work correctly after we
2652         change the macro definitions.
2653
2654         Also, while I was looking at every line of code, I fixed a bunch of the
2655         one-line-if style errors introduces in my previous patches.
2656
2657         * html/HTML5Lexer.cpp:
2658         (WebCore::HTML5Lexer::nextToken):
2659
2660 2010-06-04  Gavin Barraclough  <barraclough@apple.com>
2661
2662         Reviewed by Oliver Hunt.
2663
2664         Bug 40187 - Change function signature of NativeConstructor to match NativeFunction
2665
2666         Mostly for consistency, but constructor & args arguments are redundant,
2667         and this will help if we wish to be able to JIT calls to more constructors.
2668
2669         * bindings/js/JSArrayBufferConstructor.cpp:
2670         (WebCore::constructCanvasArrayBuffer):
2671         * bindings/js/JSAudioConstructor.cpp:
2672         (WebCore::constructAudio):
2673         * bindings/js/JSEventSourceConstructor.cpp:
2674         (WebCore::constructEventSource):
2675         * bindings/js/JSFloatArrayConstructor.cpp:
2676         (WebCore::constructCanvasFloatArray):
2677         * bindings/js/JSImageConstructor.cpp:
2678         (WebCore::constructImage):
2679         * bindings/js/JSInt16ArrayConstructor.cpp:
2680         (WebCore::constructCanvasShortArray):
2681         * bindings/js/JSInt32ArrayConstructor.cpp:
2682         (WebCore::constructCanvasIntArray):
2683         * bindings/js/JSInt8ArrayConstructor.cpp:
2684         (WebCore::constructCanvasByteArray):
2685         * bindings/js/JSMessageChannelConstructor.cpp:
2686         (WebCore::JSMessageChannelConstructor::construct):
2687         * bindings/js/JSMessageChannelConstructor.h:
2688         * bindings/js/JSOptionConstructor.cpp:
2689         (WebCore::constructHTMLOptionElement):
2690         * bindings/js/JSSharedWorkerConstructor.cpp:
2691         (WebCore::constructSharedWorker):
2692         * bindings/js/JSUint16ArrayConstructor.cpp:
2693         (WebCore::constructCanvasUnsignedShortArray):
2694         * bindings/js/JSUint32ArrayConstructor.cpp:
2695         (WebCore::constructCanvasUnsignedIntArray):
2696         * bindings/js/JSUint8ArrayConstructor.cpp:
2697         (WebCore::constructCanvasUnsignedByteArray):
2698         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2699         (WebCore::constructWebKitCSSMatrix):
2700         * bindings/js/JSWebKitPointConstructor.cpp:
2701         (WebCore::constructWebKitPoint):
2702         * bindings/js/JSWebSocketConstructor.cpp:
2703         (WebCore::constructWebSocket):
2704         * bindings/js/JSWorkerConstructor.cpp:
2705         (WebCore::constructWorker):
2706         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2707         (WebCore::constructXMLHttpRequest):
2708         * bindings/js/JSXSLTProcessorConstructor.cpp:
2709         (WebCore::constructXSLTProcessor):
2710         * bindings/scripts/CodeGeneratorJS.pm:
2711         * bridge/runtime_object.cpp:
2712         (JSC::Bindings::callRuntimeConstructor):
2713
2714 2010-06-04  Adam Barth  <abarth@webkit.org>
2715
2716         Reviewed by Eric Seidel.
2717
2718         Make HTML5Lexer go fast
2719         https://bugs.webkit.org/show_bug.cgi?id=40048
2720
2721         Change the intent of the loop to match what it's going to be once we
2722         remove the loop.  This is a whitespace only change that will make the
2723         final diff much, much smaller.  Sorry for the transient ugly style.
2724
2725         * html/HTML5Lexer.cpp:
2726         (WebCore::HTML5Lexer::nextToken):
2727
2728 2010-06-04  Adam Barth  <abarth@webkit.org>
2729
2730         Reviewed by Eric Seidel.
2731
2732         Make HTML5Lexer go fast
2733         https://bugs.webkit.org/show_bug.cgi?id=40048
2734
2735         Introduce ADVANCE_TO macro.  This is the last macro we need to
2736         introduce.
2737
2738         * html/HTML5Lexer.cpp:
2739         (WebCore::HTML5Lexer::nextToken):
2740
2741 2010-06-04  Adam Barth  <abarth@webkit.org>
2742
2743         Reviewed by Eric Seidel.
2744
2745         Make HTML5Lexer go fast
2746         https://bugs.webkit.org/show_bug.cgi?id=40048
2747
2748         Fix the rest of the RECONSUME_IN cases that were missed by our script.
2749         Also, reorder some assigment to prepare for the ADVANCE_TO patch.
2750
2751         * html/HTML5Lexer.cpp:
2752         (WebCore::HTML5Lexer::nextToken):
2753
2754 2010-06-04  Adam Barth  <abarth@webkit.org>
2755
2756         Reviewed by Eric Seidel.
2757
2758         Make HTML5Lexer go fast
2759         https://bugs.webkit.org/show_bug.cgi?id=40048
2760
2761         This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
2762         introduces style errors that will be fixed shortly.
2763
2764         * html/HTML5Lexer.cpp:
2765         (WebCore::HTML5Lexer::nextToken):
2766
2767 2010-06-04  Adam Barth  <abarth@webkit.org>
2768
2769         Reviewed by Eric Seidel.
2770
2771         Make HTML5Lexer go fast
2772         https://bugs.webkit.org/show_bug.cgi?id=40048
2773
2774         This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
2775         introduces some bad style w.r.t. one-line if statements, but we'll fix
2776         them all automatically in cleanup patch when we're done.
2777
2778         * html/HTML5Lexer.cpp:
2779         (WebCore::HTML5Lexer::nextToken):
2780
2781 2010-06-04  Adam Barth  <abarth@webkit.org>
2782
2783         Reviewed by Eric Seidel.
2784
2785         Make HTML5Lexer go fast
2786         https://bugs.webkit.org/show_bug.cgi?id=40048
2787
2788         More small steps.  This patch deals with emitting tokens.
2789
2790         * html/HTML5Lexer.cpp:
2791         (WebCore::HTML5Lexer::nextToken):
2792
2793 2010-06-04  Adam Barth  <abarth@webkit.org>
2794
2795         Reviewed by Eric Seidel.
2796
2797         Make HTML5Lexer go fast
2798         https://bugs.webkit.org/show_bug.cgi?id=40048
2799
2800         The next step: using macros to delimit each state.  Evetually, we're
2801         going to change what these macros expand to.
2802
2803         * html/HTML5Lexer.cpp:
2804         (WebCore::HTML5Lexer::nextToken):
2805
2806 2010-06-04  Adam Barth  <abarth@webkit.org>
2807
2808         Reviewed by Eric Seidel.
2809
2810         Make HTML5Lexer go fast
2811         https://bugs.webkit.org/show_bug.cgi?id=40048
2812
2813         We're going to do this patch in small steps to make it easier to verify correctness.
2814
2815         * html/HTML5Lexer.cpp:
2816         (WebCore::HTML5Lexer::nextToken):
2817
2818 2010-06-04  Jay Civelli  <jcivelli@chromium.org>
2819
2820         Reviewed by David Levin.
2821
2822         [chromium] Adding support for the left and right Windows keys to the
2823                    NativeWebKeyboardEvent.
2824         https://bugs.webkit.org/show_bug.cgi?id=39752
2825
2826         * platform/chromium/KeyCodeConversionGtk.cpp:
2827         (WebCore::windowsKeyCodeForKeyEvent):
2828
2829 2010-06-04  Dirk Schulze  <krit@webkit.org>
2830
2831         Reviewed by Nikolas Zimmermann.
2832
2833         SVG filter on filter don't work
2834         https://bugs.webkit.org/show_bug.cgi?id=32708
2835         
2836         Any child of <text> was not allowed to use the same filter as the text root. 
2837         I couldn't found any reason in the SVG specification that legimitate this.
2838         Only batik also doesn't allow the same filter on the text root as on it's childs,
2839         while any other effect is still allowed.
2840         I removed this limitation so that the result looks like the result on Firefox.
2841
2842         Test: svg/filters/filter-on-filter-for-text.svg
2843
2844         * rendering/SVGRenderSupport.cpp:
2845         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2846         * rendering/SVGRenderSupport.h:
2847         * rendering/SVGRootInlineBox.cpp:
2848         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
2849         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
2850         (WebCore::SVGRootInlineBox::paint):
2851
2852 2010-06-04  Nate Chapin  <japhet@chromium.org>
2853
2854         Reviewed by Adam Barth.
2855
2856         Factor PageCache functionality out of FrameLoader and into
2857         PageCache itself.
2858
2859         https://bugs.webkit.org/show_bug.cgi?id=39382
2860
2861         Refactor only, so no new tests.
2862
2863         * history/PageCache.cpp:
2864         (WebCore::pageCacheLogPrefix):
2865         (WebCore::pageCacheLog):
2866         (WebCore::logCanCacheFrameDecision):
2867         (WebCore::logCanCachePageDecision):
2868         (WebCore::PageCache::canCachePageContainingThisFrame):
2869         (WebCore::PageCache::canCache):
2870         (WebCore::PageCache::add):
2871         (WebCore::PageCache::get):
2872         * history/PageCache.h:
2873         * loader/DocumentLoader.cpp:
2874         (WebCore::DocumentLoader::commitIfReady):
2875         * loader/FrameLoader.cpp:
2876         (WebCore::FrameLoader::commitProvisionalLoad):
2877         (WebCore::FrameLoader::prepareForCachedPageRestore):
2878         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2879         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
2880         (WebCore::FrameLoader::navigateToDifferentDocument):
2881         * loader/FrameLoader.h:
2882         (WebCore::FrameLoader::quickRedirectComing):
2883         * svg/graphics/SVGImage.cpp:
2884         (WebCore::SVGImage::dataChanged):
2885
2886 2010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>
2887
2888         Reviewed by Pavel Feldman.
2889
2890         WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
2891         https://bugs.webkit.org/show_bug.cgi?id=40140
2892
2893         * inspector/InspectorValues.cpp:
2894         (WebCore::InspectorObject::writeJSON):
2895         * inspector/InspectorValues.h:
2896         (WebCore::InspectorObject::setBool):
2897         (WebCore::InspectorObject::setNumber):
2898         (WebCore::InspectorObject::setString):
2899         (WebCore::InspectorObject::set):
2900
2901 2010-06-04  Tony Gentilcore  <tonyg@chromium.org>
2902
2903         Reviewed by Adam Barth.
2904
2905         Persist V8's ScriptData to the memory cache.
2906         https://bugs.webkit.org/show_bug.cgi?id=38661
2907
2908         This stores V8's ScriptData in the memory cache and also causes the
2909         network platform layer to be notified of the available cacheable
2910         metadata.
2911
2912         Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.
2913
2914         No new tests because no new functionality.
2915
2916         * bindings/v8/ScriptSourceCode.h:
2917         (WebCore::ScriptSourceCode::ScriptSourceCode):
2918         (WebCore::ScriptSourceCode::cachedScript):
2919         * bindings/v8/V8Proxy.cpp:
2920         (WebCore::V8Proxy::compileScript):
2921         (WebCore::V8Proxy::precompileScript):
2922         (WebCore::V8Proxy::evaluate):
2923         * bindings/v8/V8Proxy.h:
2924
2925 2010-06-04  Tony Gentilcore  <tonyg@chromium.org>
2926
2927         Reviewed by Adam Barth.
2928
2929         Utilize new takeFirst() method where appropriate.
2930         https://bugs.webkit.org/show_bug.cgi?id=40089
2931
2932         No new tests because no new functionality.
2933
2934         * css/CSSStyleSheet.cpp:
2935         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2936         * dom/XMLTokenizerLibxml2.cpp:
2937         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
2938         * html/HTMLTokenizer.cpp:
2939         (WebCore::HTMLTokenizer::reset):
2940         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2941         * platform/text/SegmentedString.cpp:
2942         (WebCore::SegmentedString::advanceSubstring):
2943         * storage/Database.cpp:
2944         (WebCore::Database::scheduleTransaction):
2945         * storage/SQLTransaction.cpp:
2946         (WebCore::SQLTransaction::getNextStatement):
2947         * storage/SQLTransactionCoordinator.cpp:
2948         (WebCore::SQLTransactionCoordinator::processPendingTransactions):
2949
2950 2010-06-04  Nikita Vasilyev  <me@elv1s.ru>
2951
2952         Reviewed by Pavel Feldman.
2953
2954         Web Inspector: better Function.prototype.bind for the internal code.
2955
2956         In the "Event Listeners" pane show handler function instead of Function.prototype.bind.
2957
2958         https://bugs.webkit.org/show_bug.cgi?id=40080
2959
2960         * inspector/front-end/utilities.js:
2961         (Function.prototype.bind.bound):
2962         (Function.prototype.bind.bound.toString):
2963         (Function.prototype.bind):
2964
2965 2010-06-04  Alexander Pavlov  <apavlov@chromium.org>
2966
2967         Unreviewed, fix Qt build.
2968
2969         Add references to a new file.
2970
2971         * WebCore.gypi:
2972         * WebCore.vcproj/WebCore.vcproj:
2973         * inspector/front-end/WebKit.qrc:
2974
2975 2010-06-04  Alexander Pavlov  <apavlov@chromium.org>
2976
2977         Reviewed by Pavel Feldman.
2978
2979         Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
2980         https://bugs.webkit.org/show_bug.cgi?id=40069
2981
2982         No new tests are needed, as this is a refactoring.
2983
2984         * inspector/front-end/CSSStyleModel.js: Added.
2985         (WebInspector.CSSStyleModel):
2986         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2987         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
2988         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2989         (WebInspector.CSSStyleModel.prototype.addRule):
2990         (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
2991         (WebInspector.CSSStyleModel.prototype.setCSSText):
2992         (WebInspector.CSSStyleModel.prototype.applyStyleText):
2993         * inspector/front-end/StylesSidebarPane.js:
2994         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
2995         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
2996         (WebInspector.StylesSidebarPane.prototype.update):
2997         (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
2998         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2999         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3000         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3001         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
3002         (WebInspector.StylePropertyTreeElement.prototype.):
3003         (WebInspector.StylePropertyTreeElement.prototype):
3004         * inspector/front-end/inspector.html:
3005         * inspector/front-end/inspector.js:
3006         (WebInspector.loaded):
3007
3008 2010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>
3009
3010         Reviewed by Tor Arne Vestbø.
3011
3012         [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
3013         https://bugs.webkit.org/show_bug.cgi?id=40116
3014
3015         CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
3016         with Qt 4.7's bearer managenent includes and break the build.
3017
3018         * WebCore.pro:
3019
3020 2010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>
3021
3022         Reviewed by Dimitri Glazkov.
3023
3024         [chromium] Fix scrolling bug with pages using accelerated compositing.
3025         https://bugs.webkit.org/show_bug.cgi?id=40037
3026
3027         * platform/graphics/chromium/LayerRendererChromium.cpp:
3028         (WebCore::LayerRendererChromium::LayerRendererChromium):
3029         (WebCore::LayerRendererChromium::drawLayers):
3030
3031 2010-06-04  Matthew Delaney  <mdelaney@apple.com>
3032
3033         Reviewed by Darin Adler.
3034
3035         CG implementation needed for compression quality in canvas.toDataURL
3036         https://bugs.webkit.org/show_bug.cgi?id=38492
3037
3038         Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.
3039
3040         Went the route of avoiding in-band signaling to flag the use of a quality 
3041         parameter or not. So, instead of simply passing the quality down as a
3042         double, instead I pass a reference to the quality parameter from where
3043         it comes in just after the JS bindings. Thus, no need for any global
3044         constants to signify when the quality is not specified. Updated the other 
3045         platforms to support this (qt was on the only one currently with any
3046         implementation). 
3047
3048         * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
3049         call to toDataURL to use double* instead of just passing the quality directly.
3050         (WebCore::JSHTMLCanvasElement::toDataURL):
3051         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
3052         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
3053         * dom/CanvasSurface.cpp: Updated method prototype.
3054         (WebCore::CanvasSurface::toDataURL):
3055         * dom/CanvasSurface.h: Updated method prototype.
3056         (WebCore::CanvasSurface::toDataURL):
3057         * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
3058         * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
3059         (WebCore::ImageBuffer::toDataURL):
3060         * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
3061         (WebCore::jpegUTI):
3062         (WebCore::utiFromMIMEType):
3063         (WebCore::ImageBuffer::toDataURL):
3064         * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
3065         (WebCore::ImageBuffer::toDataURL):
3066         * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
3067         (WebCore::ImageBuffer::toDataURL):
3068         * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
3069         (WebCore::ImageBuffer::toDataURL):
3070         * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
3071         (WebCore::ImageBuffer::toDataURL):
3072         * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
3073         (WebCore::ImageBuffer::toDataURL):
3074
3075 2010-06-04  Alejandro G. Castro  <alex@igalia.com>
3076
3077         Reviewed by Xan Lopez.
3078
3079         Leaks in listDirectory
3080         https://bugs.webkit.org/show_bug.cgi?id=40008
3081
3082         Fixed both leaks.
3083
3084         * platform/gtk/FileSystemGtk.cpp:
3085         (WebCore::listDirectory):
3086
3087 2010-06-04  Anton Muhin  <antonm@chromium.org>
3088
3089         Reviewed by Nate Chapin.
3090
3091         [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
3092         https://bugs.webkit.org/show_bug.cgi?id=39877
3093
3094         This patch makes callbacks invoked on named items addition/removal
3095         install API accessors and thus there is no more need in
3096         named and indexed interceptors on HTMLDocument which
3097         speeds up invocation of methods on document.
3098
3099         * bindings/scripts/CodeGeneratorV8.pm:
3100         * bindings/v8/ScriptController.cpp:
3101         (WebCore::ScriptController::namedItemAdded):
3102         (WebCore::ScriptController::namedItemRemoved):
3103         * bindings/v8/V8DOMWindowShell.cpp:
3104         (WebCore::checkDocumentWrapper):
3105         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
3106         (WebCore::getter):
3107         (WebCore::V8DOMWindowShell::namedItemAdded):
3108         (WebCore::V8DOMWindowShell::namedItemRemoved):
3109         * bindings/v8/V8DOMWindowShell.h:
3110         * bindings/v8/V8DOMWrapper.cpp:
3111         (WebCore::V8DOMWrapper::instantiateV8Object):
3112         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3113         (WebCore::V8HTMLDocument::WrapInShadowObject):
3114         (WebCore::V8HTMLDocument::GetNamedProperty):
3115         (WebCore::V8HTMLDocument::allAccessorSetter):
3116         (WebCore::toV8):
3117
3118 2010-06-04  Kwang Yul Seo  <skyul@company100.net>
3119
3120         Reviewed by Kent Tamura.
3121
3122         Change filenameFromString to return CString
3123         https://bugs.webkit.org/show_bug.cgi?id=39494
3124
3125         filenameFromString returns a newly allocated string and the caller must
3126         free the string. GTK and EFL ports use g_free while all others ports use
3127         fastFree. This is confusing because the same function behaves
3128         differently with respect to ports. Change filenameFromString to return
3129         CString.
3130
3131         * platform/FileSystem.cpp:
3132         (WebCore::filenameFromString):
3133         * platform/FileSystem.h:
3134         * platform/efl/FileSystemEfl.cpp:
3135         (WebCore::filenameFromString):
3136         * platform/gtk/FileChooserGtk.cpp:
3137         (WebCore::FileChooser::basenameForWidth):
3138         * platform/gtk/FileSystemGtk.cpp:
3139         (WebCore::filenameFromString):
3140         (WebCore::filenameForDisplay):
3141         (WebCore::fileExists):
3142         (WebCore::deleteFile):
3143         (WebCore::deleteEmptyDirectory):
3144         (WebCore::getFileSize):
3145         (WebCore::getFileModificationTime):
3146         (WebCore::makeAllDirectories):
3147         (WebCore::pathGetFileName):
3148         (WebCore::directoryName):
3149         (WebCore::listDirectory):
3150         * platform/gtk/SharedBufferGtk.cpp:
3151         (WebCore::SharedBuffer::createWithContentsOfFile):
3152         * platform/network/soup/ResourceHandleSoup.cpp:
3153         (WebCore::startHttp):
3154         * platform/posix/SharedBufferPOSIX.cpp:
3155         (WebCore::SharedBuffer::createWithContentsOfFile):
3156
3157 2010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
3158
3159         Reviewed by Kenneth Rohde Christiansen.
3160
3161         [Qt] Fix compilation with QT_NO_FEATURE
3162         https://bugs.webkit.org/show_bug.cgi?id=38324
3163
3164         The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
3165         made AC not work at all.
3166
3167         No new tests.
3168
3169         * platform/graphics/qt/GraphicsLayerQt.cpp:
3170         (WebCore::GraphicsLayerQtImpl::flushChanges):
3171
3172 2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
3173
3174         Reviewed by Laszlo Gombos.
3175
3176         [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
3177         https://bugs.webkit.org/show_bug.cgi?id=38645
3178
3179         Path arcto function need to ensure there is subpath before it.
3180
3181         * platform/graphics/qt/PathQt.cpp:
3182         (WebCore::Path::addArcTo):
3183
3184 2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
3185
3186         Reviewed by Laszlo Gombos.
3187
3188         [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
3189         https://bugs.webkit.org/show_bug.cgi?id=38537
3190
3191         For path.arc function handle span > 2PI
3192
3193         * platform/graphics/qt/PathQt.cpp:
3194         (WebCore::Path::addArc):
3195
3196 2010-06-04  Zhenyao Mo  <zmo@google.com>
3197
3198         Reviewed by Dimitri Glazkov.
3199
3200         Set attributes.stencil to false by default at context creation
3201         https://bugs.webkit.org/show_bug.cgi?id=40090
3202
3203         * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
3204         (WebCore::GraphicsContext3D::Attributes::Attributes):
3205
3206 2010-06-03  Abhishek Arya  <inferno@chromium.org>
3207
3208         Reviewed by Eric Carlson.
3209
3210         Fix a crash when trying to use an invalid media src url by
3211         moving the isValid url checks to a central location in
3212         isSafeToLoadURL function. Also added an empty string check
3213         in DocumentLoader::didTellClientAboutLoad.
3214
3215         Test: media/invalid-media-url-crash.html
3216
3217         * html/HTMLMediaElement.cpp:
3218         (WebCore::HTMLMediaElement::isSafeToLoadURL):
3219         (WebCore::HTMLMediaElement::selectNextSourceChild):
3220         (WebCore::HTMLMediaElement::getPluginProxyParams):
3221         * loader/DocumentLoader.h:
3222         (WebCore::DocumentLoader::didTellClientAboutLoad):
3223
3224 2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3225
3226         Unreviewed, rolling out r60642.
3227         http://trac.webkit.org/changeset/60642
3228         https://bugs.webkit.org/show_bug.cgi?id=40151
3229
3230         Broke rendering of border images on rotated elements
3231         (Requested by jamesr on #webkit).
3232
3233         * platform/graphics/GraphicsContext.cpp:
3234         (WebCore::GraphicsContext::drawImage):
3235         (WebCore::GraphicsContext::drawTiledImage):
3236         * platform/graphics/GraphicsContext.h:
3237         * rendering/RenderBoxModelObject.cpp:
3238         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3239
3240 2010-06-03  Damian Kaleta  <dkaleta@apple.com>
3241
3242         Reviewed by Beth Dakin.
3243
3244         Pixel cracks in border images when drawing with a scale factor > 1
3245         <rdar://problem/7994266>pixel cracks in border images
3246         https://bugs.webkit.org/show_bug.cgi?id=15720
3247         
3248         * platform/graphics/GraphicsContext.cpp:
3249         (WebCore::GraphicsContext::drawImage):
3250         (WebCore::GraphicsContext::drawTiledImage):
3251         * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
3252         If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
3253         * rendering/RenderBoxModelObject.cpp:
3254         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3255
3256 2010-06-03  James Robinson  <jamesr@chromium.org>
3257
3258         Reviewed by Dan Bernstein.
3259
3260         Take container's scroll offset and clip into account when initializing LayoutState
3261         https://bugs.webkit.org/show_bug.cgi?id=38506
3262
3263         When doing a subtree layout, the initial LayoutState creation needs to
3264         take the layout root container's offset and its scroll offset into account
3265         to create the initial offset.  Otherwise if a subtree layout occurs
3266         for a layout root whose container has a non-zero scroll offset
3267         the LayoutState's offset and clip are wrong, resulting in a mispaint.
3268         See the test cases for examples.
3269
3270         Tests: fast/repaint/layout-state-scrolloffset.html
3271                fast/repaint/layout-state-scrolloffset2.html
3272                fast/repaint/layout-state-scrolloffset3.html
3273
3274         * rendering/LayoutState.cpp:
3275         (WebCore::LayoutState::LayoutState):
3276
3277 2010-06-03  Gavin Barraclough  <barraclough@apple.com>
3278
3279         Reviewed by NOBODY (speculative Qt build fix II).
3280
3281         * bridge/qt/qt_runtime.cpp:
3282         (JSC::Bindings::QtRuntimeMetaMethod::call):
3283         (JSC::Bindings::QtRuntimeConnectionMethod::call):
3284
3285 2010-06-03  Gavin Barraclough  <barraclough@apple.com>
3286
3287         Reviewed by NOBODY (speculative Qt build fix).
3288
3289         * bridge/qt/qt_runtime.cpp:
3290         (JSC::Bindings::QtRuntimeMetaMethod::call):
3291         (JSC::Bindings::QtRuntimeConnectionMethod::call):
3292
3293 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
3294
3295         Reviewed by Oliver Hunt.
3296
3297         Bug 40094 - The return type of NativeFunction should be EncodedJSValue
3298         On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
3299
3300         * bindings/js/JSCallbackData.cpp:
3301         (WebCore::JSCallbackData::invokeCallback):
3302         * bindings/js/JSCustomXPathNSResolver.cpp:
3303         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3304         * bindings/js/JSEventListener.cpp:
3305         (WebCore::JSEventListener::handleEvent):
3306         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3307         (WebCore::callHTMLAllCollection):
3308         * bindings/js/JSHTMLCollectionCustom.cpp:
3309         (WebCore::callHTMLCollection):
3310         * bindings/js/JSHTMLDocumentCustom.cpp:
3311         (WebCore::JSHTMLDocument::open):
3312         * bindings/js/JSInjectedScriptHostCustom.cpp:
3313         (WebCore::InjectedScriptHost::createInjectedScript):
3314         * bindings/js/JSNodeFilterCondition.cpp:
3315         (WebCore::JSNodeFilterCondition::acceptNode):
3316         * bindings/js/JSNodeListCustom.cpp:
3317         (WebCore::callNodeList):
3318         * bindings/js/JSPluginElementFunctions.cpp:
3319         (WebCore::callPlugin):
3320         * bindings/js/ScheduledAction.cpp:
3321         (WebCore::ScheduledAction::create):
3322         (WebCore::ScheduledAction::executeFunctionInContext):
3323         * bindings/js/ScriptFunctionCall.cpp:
3324         (WebCore::ScriptFunctionCall::call):
3325         * bindings/js/SerializedScriptValue.cpp:
3326         (WebCore::SerializingTreeWalker::convertIfTerminal):
3327         * bindings/objc/WebScriptObject.mm:
3328         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3329         * bindings/scripts/CodeGeneratorJS.pm:
3330         * bridge/NP_jsobject.cpp:
3331         (_NPN_InvokeDefault):
3332         (_NPN_Invoke):
3333         (_NPN_Construct):
3334         * bridge/jni/jni_jsobject.mm:
3335         (JavaJSObject::call):
3336         * bridge/objc/objc_runtime.mm:
3337         (JSC::Bindings::callObjCFallbackObject):
3338         * bridge/runtime_method.cpp:
3339         (JSC::callRuntimeMethod):
3340         * bridge/runtime_object.cpp:
3341         (JSC::Bindings::callRuntimeObject):
3342
3343 2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3344
3345         Unreviewed, rolling out r60614.
3346         http://trac.webkit.org/changeset/60614
3347         https://bugs.webkit.org/show_bug.cgi?id=40123
3348
3349         It made fast/dom/Window/window-postmessage-clone.html fail on
3350         Mac bots (Requested by Ossy on #webkit).
3351
3352         * Android.derived.jscbindings.mk:
3353         * Android.derived.v8bindings.mk:
3354         * Android.mk:
3355         * CMakeLists.txt:
3356         * DerivedSources.cpp:
3357         * DerivedSources.make:
3358         * GNUmakefile.am:
3359         * WebCore.gypi:
3360         * WebCore.pri:
3361         * WebCore.pro:
3362         * bindings/generic/RuntimeEnabledFeatures.cpp:
3363         * bindings/generic/RuntimeEnabledFeatures.h:
3364         * bindings/js/JSEventCustom.cpp:
3365         (WebCore::toJS):
3366         * bindings/v8/custom/V8EventCustom.cpp:
3367         (WebCore::toV8):
3368         * dom/Document.cpp:
3369         (WebCore::Document::createEvent):
3370         (WebCore::Document::addListenerTypeIfNeeded):
3371         * dom/Document.h:
3372         (WebCore::Document::):
3373         * dom/Document.idl:
3374         * dom/Element.h:
3375         * dom/Element.idl:
3376         * dom/Event.cpp:
3377         (WebCore::Event::fromUserGesture):
3378         * dom/Event.h:
3379         * dom/EventNames.h:
3380         * dom/TransformActionEvent.cpp: Removed.
3381         * dom/TransformActionEvent.h: Removed.
3382         * dom/TransformActionEvent.idl: Removed.
3383         * html/HTMLAttributeNames.in:
3384         * html/HTMLElement.cpp:
3385         (WebCore::HTMLElement::parseMappedAttribute):
3386         * page/DOMWindow.h:
3387         * page/DOMWindow.idl:
3388
3389 2010-06-03  Yury Semikhatsky  <yurys@chromium.org>
3390
3391         Reviewed by Pavel Feldman.
3392
3393         [v8] Web Inspector: show "Object" as description for values with anonymous constructor
3394         https://bugs.webkit.org/show_bug.cgi?id=40121
3395
3396         * inspector/front-end/InjectedScript.js:
3397         (injectedScriptConstructor):
3398
3399 2010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3400
3401         Reviewed by Simon Hausmann.
3402
3403         [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
3404
3405         qt_mac_window_for() returns a NSWindow on Cocoa, so we were
3406         passing in a NSWindow instead of a WindowRef as part of the
3407         NP_CGContext.
3408
3409         https://bugs.webkit.org/show_bug.cgi?id=38762
3410
3411         * WebCore.gypi: Reflect rename
3412         * WebCore.pro: Reflect rename
3413         * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
3414         and fix bug by getting the Carbon windowRef from the NSWindow.
3415         * wscript: Reflect rename
3416
3417 2010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>
3418
3419         Reviewed by Simon Hausmann.
3420
3421         Add TransformActionEvent support
3422         https://bugs.webkit.org/show_bug.cgi?id=39757
3423
3424         Added only the necessary TransformAction event interfaces and not e.g.
3425         any eventhandler hooks that generate and dispatch them.
3426
3427         Test: fast/events/transformaction/create-transformaction-event.html
3428         More tests will be added with the machinery that generates and
3429         dispatches these events.
3430
3431         * Android.derived.jscbindings.mk:
3432         * Android.derived.v8bindings.mk:
3433         * Android.mk:
3434         * CMakeLists.txt:
3435         * DerivedSources.cpp:
3436         * DerivedSources.make:
3437         * GNUmakefile.am:
3438         * WebCore.gypi:
3439         * WebCore.pri:
3440         * WebCore.pro:
3441         * bindings/generic/RuntimeEnabledFeatures.cpp:
3442         * bindings/generic/RuntimeEnabledFeatures.h:
3443         (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
3444         (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
3445         (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
3446         (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
3447         (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
3448         * bindings/js/JSEventCustom.cpp:
3449         (WebCore::toJS):
3450         * bindings/v8/custom/V8EventCustom.cpp:
3451         (WebCore::toV8):
3452         * dom/Document.cpp:
3453         (WebCore::Document::createEvent):
3454         (WebCore::Document::addListenerTypeIfNeeded):
3455         * dom/Document.h:
3456         (WebCore::Document::):
3457         * dom/Document.idl:
3458         * dom/Element.h:
3459         * dom/Element.idl:
3460         * dom/Event.cpp:
3461         (WebCore::Event::isTransformActionEvent):
3462         (WebCore::Event::fromUserGesture):
3463         * dom/Event.h:
3464         * dom/EventNames.h:
3465         * dom/TransformActionEvent.cpp: Added.
3466         (WebCore::TransformActionEvent::TransformActionEvent):
3467         (WebCore::TransformActionEvent::initTransformActionEvent):
3468         * dom/TransformActionEvent.h: Added.
3469         (WebCore::TransformActionEvent::create):
3470         (WebCore::TransformActionEvent::translateX):
3471         (WebCore::TransformActionEvent::translateY):
3472         (WebCore::TransformActionEvent::translateSpeedX):
3473         (WebCore::TransformActionEvent::translateSpeedY):
3474         (WebCore::TransformActionEvent::scale):
3475         (WebCore::TransformActionEvent::scaleSpeed):
3476         (WebCore::TransformActionEvent::rotate):
3477         (WebCore::TransformActionEvent::rotateSpeed):
3478         (WebCore::TransformActionEvent::TransformActionEvent):
3479         (WebCore::TransformActionEvent::isTransformActionEvent):
3480         * dom/TransformActionEvent.idl: Added.
3481         * html/HTMLAttributeNames.in:
3482         * html/HTMLElement.cpp:
3483         (WebCore::HTMLElement::parseMappedAttribute):
3484         * page/DOMWindow.h:
3485         * page/DOMWindow.idl:
3486
3487 2010-06-03  Pavel Feldman  <pfeldman@chromium.org>
3488
3489         Reviewed by Yury Semikhatsky.
3490
3491         Web Inspector: a number of fixes that make InspectorController
3492         happy with null redirects.
3493
3494         https://bugs.webkit.org/show_bug.cgi?id=40109
3495
3496         * inspector/InspectorController.cpp:
3497         (WebCore::InspectorController::willSendRequest):
3498         (WebCore::InspectorController::didReceiveResponse):
3499         (WebCore::InspectorController::didReceiveContentLength):
3500         (WebCore::InspectorController::didFinishLoading):
3501         (WebCore::InspectorController::didFailLoading):
3502
3503 2010-06-03  Pavel Feldman  <pfeldman@chromium.org>
3504
3505         Not reviewed. Rolling out aggressive cache part of the r60391
3506         described in the bug below. It was orthogonal to the rest of
3507         the patch and caused regression.
3508
3509         https://bugs.webkit.org/show_bug.cgi?id=37364
3510
3511         * platform/graphics/skia/ImageSkia.cpp:
3512         (WebCore::drawResampledBitmap):
3513
3514 2010-06-02  Darin Fisher  <darin@chromium.org>
3515
3516         Reviewed by Brady Eidson.
3517
3518         location.href and outgoing referrer not updated properly by
3519         pushState/replaceState
3520         https://bugs.webkit.org/show_bug.cgi?id=40027
3521
3522         Tests: fast/loader/stateobjects/pushstate-updates-location.html
3523                fast/loader/stateobjects/replacestate-updates-location.html
3524                http/tests/navigation/pushstate-updates-referrer.html
3525                http/tests/navigation/replacestate-updates-referrer.html
3526
3527         * dom/Document.cpp:
3528         (WebCore::Document::updateURLForPushOrReplaceState):
3529         Update the FrameLoader's notion of the current URL as well!
3530
3531         * loader/FrameLoader.cpp:
3532         (WebCore::FrameLoader::loadInSameDocument):
3533         Use the 'url' parameter instead of m_URL since m_URL might have
3534         changed during the handling of the PopState event.  Eventually,
3535         this will become irrelevant since the PopState event should be
3536         dispatched asynchronously, but just in case we patch HashChange
3537         to be asynchronous before PopState, this change would be needed.
3538
3539 2010-06-02  Eric Seidel  <eric@webkit.org>
3540
3541         Reviewed by Adam Barth.
3542
3543         REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
3544         https://bugs.webkit.org/show_bug.cgi?id=40047
3545
3546         The HTML5 spec states that we should "spin the event loop" while
3547         waiting for stylesheets to load.  Currently we do that by yielding
3548         out of the parser when stylesheets are loading.  Because it was easy
3549         we made inline <scripts> yield for stylesheet loads as well.  However,
3550         this caused document.write() to return after encountering the first
3551         inline <script> tag in many cases which is incorrect.  document.write
3552         is supposed to block until the entire document is parsed (including)
3553         executing inline script tags.  To match the exiting parser, we'll just
3554         make inline <script> tags not block on stylesheets for now.
3555
3556         This is tested by WebCore/benchmarks/html-parser.html as well
3557         as likely several other tests in LayoutTests which we haven't
3558         triaged yet.
3559
3560         * html/HTML5ScriptRunner.cpp:
3561         (WebCore::HTML5ScriptRunner::executeScript):
3562          - ASSERT that either stylesheets have loaded or we're executing an
3563            inline <script> tag.
3564         (WebCore::HTML5ScriptRunner::runScript):
3565          - Remove the code to block inline <script> tags on stylesheet loads.
3566
3567 2010-06-02  MORITA Hajime  <morrita@google.com>
3568
3569         Unreviewd, Chromium windows build fix.
3570
3571         * rendering/RenderThemeChromiumWin.cpp:
3572         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3573
3574 2010-06-02  MORITA Hajime  <morrita@google.com>
3575
3576         Reviewed by Kent Tamura.
3577         
3578         [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
3579         https://bugs.webkit.org/show_bug.cgi?id=40045
3580
3581         computeResamplingMode(), used by Image::drawPattern() and
3582         BitmapImage::draw(), chooses an image resampling mode based on the
3583         size of given image and the destination rectangle. But when
3584         painting single component (i.e. a progress bar) from multiple
3585         images, it can choose different resampling modes for images of
3586         same component. That difference creates unexpected visual artifacts
3587         like seams between images of single component.
3588         
3589         This change introduced "image resampling hint" to allow callers to
3590         control the resampling mode. Using the hint,
3591         RenderThemeChromiumSkia now able to hold same resampling mode
3592         during draw a progress bar.
3593         
3594         No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
3595         enabled on chromium.
3596         
3597         * platform/graphics/skia/ImageSkia.cpp:
3598         (WebCore::computeResamplingMode):
3599         * platform/graphics/skia/PlatformContextSkia.cpp:
3600         (PlatformContextSkia::save):        
3601         (PlatformContextSkia::setImageResamplingHint): Added
3602         (PlatformContextSkia::clearImageResamplingHint): Added
3603         (PlatformContextSkia::hasImageResamplingHint): Added
3604         (PlatformContextSkia::imageResamplingHint): Added
3605         * platform/graphics/skia/PlatformContextSkia.h:
3606         * rendering/RenderThemeChromiumSkia.cpp:
3607         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
3608
3609 2010-06-03  MORITA Hajime  <morrita@google.com>
3610
3611         Reviewed by Kent Tamura.
3612
3613         [Chromium] Support HTML5 <progress> element on Linux.
3614         https://bugs.webkit.org/show_bug.cgi?id=37310
3615         
3616         Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
3617         determinateProgressValueRectFor() from RenderThemeChromiumWin to
3618         RenderThemeChromiumSkia
3619         
3620         No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
3621         enabled on chromium.
3622
3623         * rendering/RenderThemeChromiumSkia.cpp:
3624         (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
3625         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
3626         (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
3627         (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
3628         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
3629         (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
3630         * rendering/RenderThemeChromiumSkia.h:
3631         * rendering/RenderThemeChromiumWin.cpp:
3632         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3633
3634 2010-06-02  Nico Weber  <thakis@chromium.org>
3635
3636         Reviewed by Simon Fraser.
3637
3638         Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
3639         https://bugs.webkit.org/show_bug.cgi?id=39918
3640
3641         This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
3642         that patch.
3643
3644         Test: editing/input/page-up-down-scrolls.html
3645
3646         * page/FrameView.cpp:
3647         (WebCore::FrameView::scrollPositionChanged):
3648         * page/FrameView.h:
3649         * platform/ScrollView.cpp:
3650         (WebCore::ScrollView::valueChanged):
3651         * platform/ScrollView.h:
3652         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
3653
3654 2010-06-02  Andrey Kosyakov  <caseq@chromium.org>
3655
3656         Reviewed by Pavel Feldman.
3657
3658         Web Inspector: use platform-specific key designations in shortcuts help for mac
3659         https://bugs.webkit.org/show_bug.cgi?id=39158
3660
3661         * inspector/front-end/KeyboardShortcut.js:
3662         (WebInspector.KeyboardShortcut.shortcutToString):
3663         (WebInspector.KeyboardShortcut._keyName):
3664         (WebInspector.KeyboardShortcut._modifiersToString):
3665         * inspector/front-end/inspector.js:
3666         (WebInspector._registerShortcuts):
3667
3668 2010-06-02  Kenneth Russell  <kbr@google.com>
3669
3670         Reviewed by Darin Fisher.
3671
3672         Enable WebGL on more platforms even if accelerated compositing is disabled
3673         https://bugs.webkit.org/show_bug.cgi?id=40085
3674
3675         Conditionalize the code which prevents a WebGL rendering context
3676         from being created if accelerated compositing is disabled.
3677         Currently Chromium is the only port which will create a context if
3678         accelerated compositing is disabled; other ports may opt in to
3679         this code path if desired.
3680
3681         Tested with existing WebGL layout tests in Safari and Chromium on
3682         Mac OS X.
3683
3684         * html/HTMLCanvasElement.cpp:
3685         (WebCore::HTMLCanvasElement::getContext):
3686
3687 2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3688
3689         Unreviewed, rolling out r60580.
3690         http://trac.webkit.org/changeset/60580
3691         https://bugs.webkit.org/show_bug.cgi?id=40087
3692
3693         This broke dragging links if the selection was in a
3694         contentEditable element. (Requested by arv on #webkit).
3695
3696         * page/FocusController.cpp:
3697         (WebCore::clearSelectionIfNeeded):
3698
3699 2010-06-02  Erik Arvidsson  <arv@chromium.org>
3700
3701         Reviewed by ojan@chromium.org.
3702
3703         REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
3704         https://bugs.webkit.org/show_bug.cgi?id=38548
3705
3706         Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
3707
3708         * page/FocusController.cpp:
3709         (WebCore::clearSelectionIfNeeded):
3710
3711 2010-06-02  David Hyatt  <hyatt@apple.com>
3712
3713         Reviewed by Anders Carlsson.
3714
3715         Just disable the current version of multi-column layout completely when the new
3716         pagination model is in effect.
3717
3718         * rendering/RenderBlock.cpp:
3719         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
3720
3721 2010-06-02  David Hyatt  <hyatt@apple.com>
3722
3723         Reviewed by Anders Carlsson.
3724
3725         Turn off unforced page breaking at paint time when the new page breaking model is being used.
3726
3727         * rendering/RenderLineBoxList.cpp:
3728         (WebCore::RenderLineBoxList::paint):
3729
3730 2010-06-02  David Hyatt  <hyatt@apple.com>
3731
3732         Reviewed by Anders Carlsson.
3733
3734         Don't check page break properties at paint time if we're using the new page breaking model.
3735
3736         * rendering/RenderBlock.cpp:
3737         (WebCore::RenderBlock::paintChildren):
3738
3739 2010-06-02  Nate Chapin  <japhet@chromium.org>
3740
3741         Reviewed by Dimitri Glazkov.
3742
3743         [V8] Fix an infinite recursion crash when trying to wrap
3744         media elements without a media player.
3745
3746         No test because there isn't a good way to ensure the media player
3747         is off.
3748
3749         * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
3750           instead of toV8(HTMLElement*).
3751
3752 2010-06-02  Yael Aharon  <yael.aharon@nokia.com>
3753
3754         Reviewed by Darin Adler.
3755
3756         Notification object ref counting is not correct.
3757         https://bugs.webkit.org/show_bug.cgi?id=39998
3758
3759         Return PassRefPtr<Notification> instead of a raw pointer from the create methods
3760         for Web Notifications. 
3761
3762         No new tests are needed, as existing tests show the problem when sending the 
3763         "display" event asynchronously.
3764
3765         * notifications/Notification.h:
3766         (WebCore::Notification::create):
3767         * notifications/NotificationCenter.h:
3768         (WebCore::NotificationCenter::createHTMLNotification):
3769         (WebCore::NotificationCenter::createNotification):
3770
3771 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
3772
3773         Reviewed by Yury Semikhatsky.
3774
3775         Web Inspector: add Console API for retrieving memory stats
3776
3777         Add 'console.memory' property which returns an object. Currently
3778         it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
3779         extended for reporting total browser's memory consumption.
3780
3781         https://bugs.webkit.org/show_bug.cgi?id=39646
3782
3783         * CMakeLists.txt:
3784         * DerivedSources.cpp:
3785         * DerivedSources.make:
3786         * GNUmakefile.am:
3787         * WebCore.gypi:
3788         * WebCore.pri:
3789         * WebCore.pro:
3790         * WebCore.vcproj/WebCore.vcproj:
3791         * WebCore.xcodeproj/project.pbxproj:
3792         * bindings/js/JSBindingsAllInOne.cpp:
3793         * bindings/js/JSConsoleCustom.cpp:
3794         (WebCore::JSConsole::memory):
3795         * bindings/v8/custom/V8ConsoleCustom.cpp:
3796         (WebCore::V8Console::memoryAccessorGetter):
3797         * page/Console.h:
3798         * page/Console.idl:
3799         * page/MemoryInfo.cpp: Added.
3800         (WebCore::MemoryInfo::MemoryInfo):
3801         * page/MemoryInfo.h: Added.
3802         (WebCore::MemoryInfo::create):
3803         (WebCore::MemoryInfo::totalJSHeapSize):
3804         (WebCore::MemoryInfo::usedJSHeapSize):
3805         * page/MemoryInfo.idl: Added.
3806
3807 2010-06-02  Yury Semikhatsky  <yurys@chromium.org>
3808
3809         Reviewed by Pavel Feldman.
3810
3811         Web Inspector: support "Continue to Here" in debugger
3812         https://bugs.webkit.org/show_bug.cgi?id=39953
3813
3814         * English.lproj/localizedStrings.js:
3815         * inspector/front-end/BreakpointManager.js:
3816         (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
3817         (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
3818         (WebInspector.BreakpointManager.prototype.addBreakpoint):
3819         * inspector/front-end/ScriptView.js:
3820         (WebInspector.ScriptView):
3821         (WebInspector.ScriptView.prototype._continueToLine):
3822         * inspector/front-end/ScriptsPanel.js:
3823         (WebInspector.ScriptsPanel.prototype.continueToLine):
3824         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
3825         * inspector/front-end/SourceFrame.js:
3826         (WebInspector.SourceFrame):
3827         * inspector/front-end/SourceView.js:
3828         (WebInspector.SourceView):
3829         (WebInspector.SourceView.prototype._continueToLine):
3830         (WebInspector.SourceView.prototype.updateLocalContent):
3831
3832 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
3833
3834         Unreviewed, rolling out r60563.
3835         http://trac.webkit.org/changeset/60563
3836         https://bugs.webkit.org/show_bug.cgi?id=39646
3837
3838         windows build failed
3839
3840         * CMakeLists.txt:
3841         * DerivedSources.cpp:
3842         * DerivedSources.make:
3843         * GNUmakefile.am:
3844         * WebCore.gypi:
3845         * WebCore.pri:
3846         * WebCore.pro:
3847         * WebCore.vcproj/WebCore.vcproj:
3848         * WebCore.xcodeproj/project.pbxproj:
3849         * bindings/js/JSConsoleCustom.cpp:
3850         * bindings/v8/custom/V8ConsoleCustom.cpp:
3851         * page/Console.h:
3852         * page/Console.idl:
3853         * page/MemoryInfo.cpp: Removed.
3854         * page/MemoryInfo.h: Removed.
3855         * page/MemoryInfo.idl: Removed.
3856
3857 2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
3858
3859         Reviewed by Yury Semikhatsky.
3860
3861         Web Inspector: add Console API for retrieving memory stats
3862
3863         Add 'console.memory' property which returns an object. Currently
3864         it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
3865         extended for reporting total browser's memory consumption.
3866
3867         https://bugs.webkit.org/show_bug.cgi?id=39646
3868
3869         * CMakeLists.txt:
3870         * DerivedSources.cpp:
3871         * DerivedSources.make:
3872         * GNUmakefile.am:
3873         * WebCore.gypi:
3874         * WebCore.pri:
3875         * WebCore.pro:
3876         * WebCore.vcproj/WebCore.vcproj:
3877         * WebCore.xcodeproj/project.pbxproj:
3878         * bindings/js/JSConsoleCustom.cpp:
3879         (WebCore::JSConsole::memory):
3880         * bindings/v8/custom/V8ConsoleCustom.cpp:
3881         (WebCore::V8Console::memoryAccessorGetter):
3882         * page/Console.h:
3883         * page/Console.idl:
3884         * page/MemoryInfo.cpp: Added.
3885         (WebCore::MemoryInfo::MemoryInfo):
3886         * page/MemoryInfo.h: Added.
3887         (WebCore::MemoryInfo::create):
3888         (WebCore::MemoryInfo::totalJSHeapSize):
3889         (WebCore::MemoryInfo::usedJSHeapSize):
3890         * page/MemoryInfo.idl: Added.
3891
3892 2010-06-02  Pavel Feldman  <pfeldman@chromium.org>
3893
3894         Reviewed by Yury Semikhatsky.
3895
3896         Web Inspector: add test for resource parameters.
3897
3898         https://bugs.webkit.org/show_bug.cgi?id=40026
3899         
3900         Test: http/tests/inspector/resource-parameters.html
3901
3902         * inspector/front-end/HAREntry.js:
3903         (WebInspector.HAREntry.prototype._buildParameters):
3904         * inspector/front-end/Resource.js:
3905         (WebInspector.Resource.prototype._parseParameters):
3906         * inspector/front-end/ResourceView.js:
3907         (WebInspector.ResourceView.prototype._refreshParms):
3908
3909 2010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3910
3911         Reviewed by Simon Hausmann.
3912
3913         [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
3914
3915         First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
3916         overwrote it with the $$INSTALL_HEADERS variant without checking if the
3917         variable was set.
3918
3919         Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
3920
3921         * WebCore.pro:
3922
3923 2010-06-02  Xan Lopez  <xlopez@igalia.com>
3924
3925         Reviewed by Gustavo Noronha.
3926
3927         [GTK] Style fixes for the generated code in DOM bindings
3928         https://bugs.webkit.org/show_bug.cgi?id=39949
3929
3930         Get rid of extra spaces and wrong indentation in the generated
3931         code.
3932
3933         * bindings/scripts/CodeGeneratorGObject.pm:
3934         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3935         (webkit_dom_test_callback_callback_with_class1param):
3936         (webkit_dom_test_callback_callback_with_class2param):
3937         (webkit_dom_test_callback_callback_with_non_bool_return_type):
3938         (webkit_dom_test_callback_set_property):
3939         (webkit_dom_test_callback_get_property):
3940         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3941         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3942         (webkit_dom_test_interface_set_property):
3943         (webkit_dom_test_interface_get_property):
3944         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3945         (webkit_dom_test_obj_void_method):
3946         (webkit_dom_test_obj_void_method_with_args):
3947         (webkit_dom_test_obj_int_method):
3948         (webkit_dom_test_obj_int_method_with_args):
3949         (webkit_dom_test_obj_obj_method):
3950         (webkit_dom_test_obj_obj_method_with_args):
3951         (webkit_dom_test_obj_method_that_requires_all_args):
3952         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
3953         (webkit_dom_test_obj_serialized_value):
3954         (webkit_dom_test_obj_method_with_exception):
3955         (webkit_dom_test_obj_with_dynamic_frame):
3956         (webkit_dom_test_obj_with_dynamic_frame_and_arg):
3957         (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
3958         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
3959         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
3960         (webkit_dom_test_obj_with_script_state_void):
3961         (webkit_dom_test_obj_with_script_state_obj):
3962         (webkit_dom_test_obj_with_script_state_void_exception):
3963         (webkit_dom_test_obj_with_script_state_obj_exception):
3964         (webkit_dom_test_obj_method_with_optional_arg):
3965         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
3966         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
3967         (webkit_dom_test_obj_get_read_only_int_attr):
3968         (webkit_dom_test_obj_get_read_only_string_attr):
3969         (webkit_dom_test_obj_get_read_only_test_obj_attr):
3970         (webkit_dom_test_obj_get_int_attr):
3971         (webkit_dom_test_obj_set_int_attr):
3972         (webkit_dom_test_obj_get_long_long_attr):
3973         (webkit_dom_test_obj_set_long_long_attr):
3974         (webkit_dom_test_obj_get_unsigned_long_long_attr):
3975         (webkit_dom_test_obj_set_unsigned_long_long_attr):
3976         (webkit_dom_test_obj_get_string_attr):
3977         (webkit_dom_test_obj_set_string_attr):
3978         (webkit_dom_test_obj_get_test_obj_attr):
3979         (webkit_dom_test_obj_set_test_obj_attr):
3980         (webkit_dom_test_obj_get_attr_with_exception):
3981         (webkit_dom_test_obj_set_attr_with_exception):
3982         (webkit_dom_test_obj_get_attr_with_setter_exception):
3983         (webkit_dom_test_obj_set_attr_with_setter_exception):
3984         (webkit_dom_test_obj_get_attr_with_getter_exception):
3985         (webkit_dom_test_obj_set_attr_with_getter_exception):
3986         (webkit_dom_test_obj_get_script_string_attr):
3987         (webkit_dom_test_obj_set_property):
3988         (webkit_dom_test_obj_get_property):
3989         (webkit_dom_test_obj_class_init):
3990         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3991
3992 2010-06-02  Andrey Kosyakov  <caseq@chromium.org>
3993
3994         Reviewed by Pavel Feldman.
3995
3996         WebInspector: Added conversion of inspector's resource representation into HAR.
3997         Moved common resource accessors from ResourceView to Resource.
3998         https://bugs.webkit.org/show_bug.cgi?id=30567
3999
4000         Test: http/tests/inspector/resource-har-conversion.html
4001
4002         * WebCore.gypi:
4003         * WebCore.vcproj/WebCore.vcproj:
4004         * inspector/front-end/HAREntry.js: Added.
4005         (WebInspector.HAREntry):
4006         (WebInspector.HAREntry.prototype.build):
4007         (WebInspector.HAREntry.prototype._buildRequest):
4008         (WebInspector.HAREntry.prototype._buildResponse):
4009         (WebInspector.HAREntry.prototype._buildContent):
4010         (WebInspector.HAREntry.prototype._buildTimings):
4011         (WebInspector.HAREntry.prototype._buildHeaders):
4012         (WebInspector.HAREntry.prototype._buildPostData):
4013         (WebInspector.HAREntry.prototype._buildParameters):
4014         (WebInspector.HAREntry.prototype._buildParameter):
4015         (WebInspector.HAREntry.prototype._toMilliseconds):
4016         * inspector/front-end/Resource.js:
4017         (WebInspector.Resource):
4018         (WebInspector.Resource.prototype.set url):
4019         (WebInspector.Resource.prototype.get receiveDuration):
4020         (WebInspector.Resource.prototype.requestHeaderValue):
4021         (WebInspector.Resource.prototype.get requestFormData):
4022         (WebInspector.Resource.prototype.set requestFormData):
4023         (WebInspector.Resource.prototype.responseHeaderValue):
4024         (WebInspector.Resource.prototype.get queryParameters):
4025         (WebInspector.Resource.prototype.get formParameters):
4026         (WebInspector.Resource.prototype._parseParameters):
4027         (WebInspector.Resource.prototype._headerValue):
4028         * inspector/front-end/ResourceView.js:
4029         (WebInspector.ResourceView.prototype._refreshQueryString):
4030         (WebInspector.ResourceView.prototype._refreshFormData):
4031         (WebInspector.ResourceView.prototype._refreshParms):
4032         * inspector/front-end/WebKit.qrc:
4033         * inspector/front-end/inspector.html:
4034
4035 2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
4036
4037         Unreviewed, rolling out r60547.
4038         http://trac.webkit.org/changeset/60547
4039         https://bugs.webkit.org/show_bug.cgi?id=40051
4040
4041         It made fast/overflow/overflow-with-local-background-
4042         attachment.html crash (Requested by Ossy on #webkit).
4043
4044         * notifications/Notification.h:
4045         (WebCore::Notification::create):
4046         * notifications/NotificationCenter.h:
4047         (WebCore::NotificationCenter::createHTMLNotification):
4048         (WebCore::NotificationCenter::createNotification):
4049
4050 2010-06-02  Eric Seidel  <eric@webkit.org>
4051
4052         Reviewed by Adam Barth.
4053
4054         HTML5 parser does not track line numbers
4055         https://bugs.webkit.org/show_bug.cgi?id=39984
4056
4057         This adds rudimentary line-number tracking to the HTML5Lexer.
4058         We'll still need to handle \r\n cases eventually, but this
4059         fixes the vast majority of our line-number related failures.
4060
4061         Fixes 268 layout tests. :)
4062
4063         * html/HTML5Lexer.cpp:
4064         (WebCore::HTML5Lexer::reset):
4065          - Reset m_lineNumber to 0.
4066         (WebCore::HTML5Lexer::consumeEntity):
4067          - Pass m_lineNumber to advance().
4068         (WebCore::HTML5Lexer::nextToken):
4069          - Pass m_lineNumber to advance().
4070         * html/HTML5Lexer.h:
4071         (WebCore::HTML5Lexer::lineNumber):
4072          - Expose m_lineNumber for HTML5Tokenizer.
4073         (WebCore::HTML5Lexer::columnNumber):
4074          - Mirrors the implementation in the old HTMLTokenizer.
4075            we might some day support column number tracking in
4076            the Lexer.  It certainly would be possible.
4077         * html/HTML5ScriptRunner.cpp:
4078         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
4079          - ASSERT we're passed a host.
4080         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
4081          - Use PendingScript.startingLineNumber when PendingScript is an inline script.
4082         (WebCore::HTML5ScriptRunner::execute):
4083          - Now expects a start line number passed from the TreeBuilder.
4084         (WebCore::HTML5ScriptRunner::runScript):
4085          - Now expects a start line number.
4086         * html/HTML5ScriptRunner.h:
4087         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
4088          - Track startingLineNumber for any inline script.
4089         * html/HTML5Tokenizer.cpp:
4090         (WebCore::HTML5Tokenizer::begin):
4091          - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
4092         (WebCore::HTML5Tokenizer::pumpLexer):
4093          - Pass scriptStartLine to the HTML5ScriptRunner
4094         (WebCore::HTML5Tokenizer::lineNumber):
4095          - Implementation for Tokenizer.h
4096         (WebCore::HTML5Tokenizer::columnNumber):
4097          - Implementation for Tokenizer.h
4098         * html/HTML5Tokenizer.h:
4099         * html/HTML5TreeBuilder.cpp:
4100         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
4101          - Initialize the new line number tracking variables.
4102         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
4103          - Save off the line number from the start tag to pass to the ScriptRunner.
4104         (WebCore::HTML5TreeBuilder::takeScriptToProcess):
4105          - Return the line number from the start tag.
4106         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
4107          - Save off the line number of ever script start tag we see.
4108         * html/HTML5TreeBuilder.h:
4109          - Keep both the line number of the last start tag, and the
4110            line number of the script we know we're expecting our caller to
4111            run before resuming parsing.  These are separate to keep the code
4112            clean, especially since the last script start tag line number is
4113            a hack specific to using the old HTMLParser.
4114
4115 2010-06-02  Joseph Pecoraro  <joepeck@webkit.org>
4116
4117         Reviewed by Pavel Feldman.
4118
4119         Web Inspector: Timeline should nicely format the Timer timeout
4120         https://bugs.webkit.org/show_bug.cgi?id=40040
4121
4122         * inspector/front-end/TimelinePanel.js:
4123         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.
4124
4125 2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
4126
4127         Reviewed by Dimitri Glazkov.
4128
4129         [Chromium] Clamp dirtyRect updates of composited layer contents to the size
4130         of the layer to avoid writing outside texture bounds.
4131         https://bugs.webkit.org/show_bug.cgi?id=40030
4132
4133         * platform/graphics/chromium/LayerChromium.cpp:
4134         (WebCore::LayerChromium::updateTextureContents):
4135
4136 2010-06-02  Yael Aharon  <yael.aharon@nokia.com>
4137
4138         Reviewed by Darin Adler.
4139
4140         Notification object ref counting is not correct.
4141         https://bugs.webkit.org/show_bug.cgi?id=39998
4142
4143         Return PassRefPtr<Notification> instead of a raw pointer from the create methods
4144         for Web Notifications. 
4145
4146         No new tests are needed, as existing tests show the problem when sending the 
4147         "display" event asynchronously.
4148
4149         * notifications/Notification.h:
4150         (WebCore::Notification::create):
4151         * notifications/NotificationCenter.h:
4152         (WebCore::NotificationCenter::createHTMLNotification):
4153         (WebCore::NotificationCenter::createNotification):
4154
4155 2010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>
4156
4157         Reviewed by Dirk Schulze.
4158
4159         [Qt] Image shadow doesn't work
4160         https://bugs.webkit.org/show_bug.cgi?id=37804
4161
4162         Implement the code for image shadow
4163
4164         * platform/graphics/qt/ImageQt.cpp:
4165         (WebCore::BitmapImage::draw):
4166
4167 2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
4168
4169         Reviewed by Darin Fisher.
4170
4171         Adding the precision qualifier to fragment shaders used by the GL
4172         compositor in chromium to turn them into valid GLSL ES.
4173         https://bugs.webkit.org/show_bug.cgi?id=40022
4174
4175         * platform/graphics/chromium/LayerRendererChromium.cpp:
4176         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
4177
4178 2010-06-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4179
4180         Reviewed by David Levin.
4181
4182         Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
4183         https://bugs.webkit.org/show_bug.cgi?id=40015
4184
4185         No new tests as there is no new functionality.
4186
4187         Remove const from the cast type.
4188
4189         * svg/SVGFEColorMatrixElement.cpp:
4190         (WebCore::SVGFEColorMatrixElement::build):
4191
4192 2010-06-02  Sterling Swigart  <sswigart@google.com>
4193
4194         Reviewed by David Levin.
4195
4196         Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
4197         https://bugs.webkit.org/show_bug.cgi?id=39906
4198
4199         * Configurations/FeatureDefines.xcconfig:
4200         * GNUmakefile.am:
4201         * WebCore.pri:
4202
4203 2010-06-01  Dirk Schulze  <krit@webkit.org>
4204
4205         Reviewed by Nikolas Zimmermann.
4206
4207         SVG repaintRect should be empty if content got clipped away
4208         https://bugs.webkit.org/show_bug.cgi?id=39965
4209         
4210         The SVG repaintRect of the renderer was not empty, if the content got clipped away.
4211         The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
4212         relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
4213         We apply the object to the resource on painting at the moment.
4214         With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
4215         This can cause problems, if the resource get changed by animations or scripts.
4216         On a change, the resource tells all it's callers to relayout.
4217         If the reference to the caller (our RenderObject) is missing, the object won't ever update
4218         and therefore won't get drawn.
4219         We already have LayoutTests that cover this problem. The complete repaintRect calculation
4220         (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
4221         This eliminates redundant code.
4222
4223         * rendering/RenderPath.cpp:
4224         (WebCore::RenderPath::updateCachedBoundaries):
4225         * rendering/RenderSVGContainer.cpp:
4226         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
4227         * rendering/RenderSVGImage.cpp:
4228         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
4229         * rendering/RenderSVGResource.h:
4230         * rendering/RenderSVGResourceClipper.cpp:
4231         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
4232         * rendering/RenderSVGResourceClipper.h:
4233         * rendering/RenderSVGResourceFilter.cpp:
4234         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
4235         * rendering/RenderSVGResourceFilter.h:
4236         * rendering