b95f5b2e0b6185535106d37aa4a0c4933a9e23ac
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-08  Yuzo Fujishima  <yuzo@google.com>
2
3         Reviewed by Darin Adler.
4
5         Skip invalid blocks in CSS property declarations.
6         https://bugs.webkit.org/show_bug.cgi?id=31231
7         https://bugs.webkit.org/show_bug.cgi?id=26619
8
9         This patch makes the CSS parser skip property declarations containing invalid blocks.
10
11         Test: fast/css/parsing-error-recovery.html
12
13         * css/CSSGrammar.y:
14
15 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
16
17         Reviewed by Beth Dakin.
18
19         AX: CSS content not returned correctly in AX
20         https://bugs.webkit.org/show_bug.cgi?id=33308
21
22         Test: platform/mac/accessibility/css-content-attribute.html
23
24         * accessibility/AccessibilityRenderObject.cpp:
25         (WebCore::AccessibilityRenderObject::textUnderElement):
26
27 2010-01-08  Chris Marrin  <cmarrin@apple.com>
28
29         Reviewed by Adam Roben.
30
31         Implement full-screen video for Windows
32         https://bugs.webkit.org/show_bug.cgi?id=31318
33         
34         This is mostly support logic for taking video
35         into and out of full-screen. It also contains the
36         QTMovieWin piece which adds support for the actual
37         full-screen window itself. Events from the window
38         are sent to the FullscreenVideosController for handling.
39
40         * loader/FrameLoader.cpp:
41         (WebCore::FrameLoader::addData):
42         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
43         (WebCore::MediaPlayerPrivate::supportsFullscreen):
44         (WebCore::MediaPlayerPrivate::platformMedia):
45         * platform/graphics/win/QTMovieWin.cpp:
46         (QTMovieWinPrivate::QTMovieWinPrivate):
47         (QTMovieWin::initializeQuickTime):
48         (QTMovieWin::_handleMessages):
49         (QTMovieWin::enterFullscreen):
50         (QTMovieWin::exitFullscreen):
51         * platform/graphics/win/QTMovieWin.h:
52
53 2010-01-08  Matt Perry  <mpcomplete@chromium.org>
54
55         Reviewed by Adam Barth.
56
57         Fix a regression that removed a call to
58         FrameLoaderClient::didDestroyScriptContextForFrame.
59         https://bugs.webkit.org/show_bug.cgi?id=33347
60
61         * bindings/v8/V8DOMWindowShell.cpp:
62         (WebCore::V8DOMWindowShell::disposeContextHandles):
63
64 2010-01-08  Brent Fulgham  <bfulgham@webkit.org>
65
66         Reviewed by Adam Roben.
67
68         WebKit plugins are not rendered during printing.
69         https://bugs.webkit.org/show_bug.cgi?id=33022.
70
71         * plugins/win/PluginViewWin.cpp:
72         (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
73           cairo printing surface to flush so that blank regions do
74           not write over the plugin's paint operations.
75         * rendering/RenderLayer.cpp: Build fix.
76         (WebCore::RenderLayer::beginTransparencyLayers): Correct
77           method signature missing for ColorSpace.
78
79 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
80
81         Reviewed by Eric Seidel.
82
83         REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
84         https://bugs.webkit.org/show_bug.cgi?id=33300
85
86         * accessibility/mac/AccessibilityObjectWrapper.mm:
87         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
88         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
89
90 2010-01-08  Pavel Feldman  <pfeldman@chromium.org>
91
92         Reviewed by Timothy Hatcher.
93
94         Web Inspector: Regex-based syntax highlighting is slow.
95
96         https://bugs.webkit.org/show_bug.cgi?id=33330
97
98         * WebCore.gypi:
99         * WebCore.vcproj/WebCore.vcproj:
100         * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
101         * inspector/front-end/JavaScriptTokenizer.js: Added.
102         (WebInspector.JavaScriptTokenizer):
103         (WebInspector.JavaScriptTokenizer.prototype.set line):
104         (WebInspector.JavaScriptTokenizer.prototype.getCondition):
105         (WebInspector.JavaScriptTokenizer.prototype.setCondition):
106         (WebInspector.JavaScriptTokenizer.prototype._charAt):
107         (WebInspector.JavaScriptTokenizer.prototype.nextToken):
108         * inspector/front-end/JavaScriptTokenizer.re2js: Added.
109         * inspector/front-end/TextEditorHighlighter.js:
110         (WebInspector.TextEditorHighlighter):
111         (WebInspector.TextEditorHighlighter.prototype.highlight):
112         (WebInspector.TextEditorHighlighter.prototype._lex):
113         * inspector/front-end/WebKit.qrc:
114         * inspector/front-end/inspector.html:
115
116 2010-01-07  Mike Belshe  <mbelshe@chromium.org>
117
118         Reviewed by Darin Adler.
119
120         Fix Spdy casing to match style guide.
121
122         https://bugs.webkit.org/show_bug.cgi?id=33326
123
124         * platform/network/chromium/ResourceResponse.h:
125         (WebCore::ResourceResponse::ResourceResponse):
126         (WebCore::ResourceResponse::wasFetchedViaSPDY):
127         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
128
129 2010-01-07  Daniel Bates  <dbates@rim.com>
130
131         Reviewed by Eric Seidel.
132
133         https://bugs.webkit.org/show_bug.cgi?id=32987
134
135         Added ENABLE_XHTMLMP flag. Disabled by default.
136
137         * Configurations/FeatureDefines.xcconfig:
138         * GNUmakefile.am:
139         * WebCore.pro:
140         * WebCore.xcodeproj/project.pbxproj:
141         * config.h:
142
143 2010-01-07  Stephanie Lewis  <slewis@apple.com>
144
145         Rolled out http://trac.webkit.org/changeset/52778 due to rolling
146         out http://trac.webkit.org/changeset/52756
147
148         * dom/Document.cpp:
149         (WebCore::Document::recalcStyle):
150         * editing/SelectionController.cpp:
151         (WebCore::SelectionController::layout):
152         (WebCore::SelectionController::recomputeCaretRect):
153         (WebCore::SelectionController::invalidateCaretRect):
154         (WebCore::SelectionController::paintCaret):
155         * html/HTMLFormControlElement.cpp:
156         (WebCore::HTMLFormControlElement::attach):
157         * html/HTMLInputElement.cpp:
158         (WebCore::HTMLInputElement::attach):
159         * page/Frame.cpp:
160         (WebCore::Frame::revealSelection):
161
162 2010-01-07  Stephanie Lewis  <slewis@apple.com>
163
164         Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
165
166         * dom/Document.cpp:
167         (WebCore::Document::updateLayout):
168         * editing/SelectionController.cpp:
169         (WebCore::SelectionController::SelectionController):
170         (WebCore::SelectionController::setSelection):
171         * editing/SelectionController.h:
172         * page/Frame.cpp:
173         (WebCore::Frame::setCaretVisible):
174         (WebCore::Frame::selectionLayoutChanged):
175         (WebCore::Frame::caretBlinkTimerFired):
176         (WebCore::Frame::selectionBounds):
177         * page/FrameView.cpp:
178         (WebCore::FrameView::needsLayout):
179
180 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
181
182         Reviewed by Sam Weinig.
183
184         Fix a crash seen on the buildbots.
185
186         * bindings/js/JSDOMWindowBase.cpp:
187         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
188         function tracking here; it's too late, as some specific functions
189         may already have been tracked in the base class constructor.
190
191 2010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
192
193         Reviewed by Dirk Schulze.
194
195         SVGTextElement & friends need to implement svgAttributeChanged
196         https://bugs.webkit.org/show_bug.cgi?id=33284
197
198         Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
199         childrenChanged() has to be implemented as well for SVGTextElement.
200
201         Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
202         and on error case, after parsing - previously the calling site had to take care of that.
203
204         Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
205                svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
206                svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
207
208         * svg/SVGGradientElement.cpp:
209         (WebCore::SVGGradientElement::parseMappedAttribute):
210         * svg/SVGPatternElement.cpp:
211         (WebCore::SVGPatternElement::parseMappedAttribute):
212         * svg/SVGStyledTransformableElement.cpp:
213         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
214         * svg/SVGTRefElement.cpp:
215         (WebCore::SVGTRefElement::svgAttributeChanged):
216         * svg/SVGTRefElement.h:
217         * svg/SVGTextElement.cpp:
218         (WebCore::SVGTextElement::parseMappedAttribute):
219         (WebCore::SVGTextElement::svgAttributeChanged):
220         (WebCore::SVGTextElement::childrenChanged):
221         * svg/SVGTextElement.h:
222         * svg/SVGTextPositioningElement.cpp:
223         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
224         * svg/SVGTextPositioningElement.h:
225         * svg/SVGTransformable.cpp:
226         (WebCore::SVGTransformable::parseTransformAttribute):
227         * svg/SVGTransformable.h:
228
229 2010-01-07  Brian Weinstein  <bweinstein@apple.com>
230
231         Reviewed by Adele Peterson.
232
233         Padding in popup menu gets lost with styled <select> in Windows.
234         Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
235
236         [Win] Support padding-right on selects when webkit-appearance is off. Added a test
237         case for narrow selects with -webkit-appearance: none, and padding left and right to
238         show that both types of padding are honored.
239
240         * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
241         * platform/win/PopupMenuWin.cpp:
242         (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
243         * rendering/RenderMenuList.cpp:
244         (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
245         the hardcoded constant.
246
247 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
248
249         Reviewed by Geoffrey Garen.
250
251         https://bugs.webkit.org/show_bug.cgi?id=33057
252         REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
253
254         <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
255
256         * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
257         possible clients, but keeping the current design for now.
258
259 2010-01-07  Brent Fulgham  <bfulgham@webkit.org>
260
261         Reviewed by Jon Honeycutt.
262
263         Account for scale and current context position (as well as page
264         position) in the device context world transform passed to
265         plugins.  This is especially important for print surface DPI.
266         http://bugs.webkit.org/show_bug.cgi?id=32909.
267
268         * plugins/win/PluginViewWin.cpp:
269         (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
270           world context handling to include scaling and translation
271           already set for the CTM.
272
273 2010-01-07  Nate Chapin  <japhet@chromium.org>
274
275         Reviewed by Dimitri Glazkov.
276
277         Generate V8 bindings header declarations for named and indexed accessors.
278
279         * bindings/scripts/CodeGeneratorV8.pm:
280         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
281         * bindings/v8/custom/V8CustomBinding.h:
282         * bindings/v8/custom/V8DOMWindowCustom.cpp:
283         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
284         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
285         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
286         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
287         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
288         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
289         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
290         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
291         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
292         * bindings/v8/custom/V8NodeListCustom.cpp:
293         * bindings/v8/custom/V8StorageCustom.cpp:
294         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
295         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
296         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
297         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
298         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
299         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
300         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
301         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
302
303 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
304
305         Better build fix: use 'this->structure()', since 'structure' is a
306         PassRefPtr, and therefore null.
307
308         * bindings/js/JSDOMWindowBase.cpp:
309         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
310
311 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
312
313         Build fix: avoid a name conflict by using the local 'structure' instead
314         of the member 'structure()'.
315
316         * bindings/js/JSDOMWindowBase.cpp:
317         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
318
319 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
320
321         Build fix.
322
323         Add RenderEmbeddedObject.h/cpp to all the build systems.
324
325         * Android.mk:
326         * GNUmakefile.am:
327         * WebCore.gypi:
328         * WebCore.pro:
329         * WebCore.vcproj/WebCore.vcproj:
330         * WebCoreSources.bkl:
331
332 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
333
334         Reviewed by Sam Weinig.
335
336         Safari memory usage skyrockets using new Google AdWords interface
337         https://bugs.webkit.org/show_bug.cgi?id=33343
338
339         * bindings/js/JSDOMWindowBase.cpp:
340         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
341         tracking for the window object, since there's no way to do direct
342         method calls on the window object; they all go through the window shell.
343
344 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
345
346         Reviewed by Kevin Decker, Darin Adler.
347
348         https://bugs.webkit.org/show_bug.cgi?id=33338
349         Create a renderer for <object> and <embed>
350         
351         Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
352         Instances of RenderPartObject are now only allocated for iframes.
353         
354         Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
355
356         * WebCore.xcodeproj/project.pbxproj:
357         Add RenderEmbeddedObject.h/cpp
358         
359         * html/HTMLEmbedElement.cpp:
360         (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
361         (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
362
363         * html/HTMLMediaElement.cpp:
364         (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
365         (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
366
367         * html/HTMLObjectElement.cpp:
368         (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
369         (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
370
371         * page/FrameView.h:
372         * page/FrameView.cpp:
373         (WebCore::FrameView::addWidgetToUpdate):
374         (WebCore::FrameView::removeWidgetToUpdate):
375         (WebCore::FrameView::updateWidgets):
376         Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
377         
378         * rendering/RenderEmbeddedObject.cpp: Added.
379         * rendering/RenderEmbeddedObject.h: Added.
380         Most of the code moved from RenderPartObject.
381         
382         * rendering/RenderObject.h:
383         (WebCore::RenderObject::isEmbeddedObject): New method.
384
385         * rendering/RenderPart.cpp:
386         (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
387         * rendering/RenderPart.h: Comments.
388         
389         * rendering/RenderPartObject.h:
390         * rendering/RenderPartObject.cpp:
391         (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
392         (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
393
394 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
395
396         Reviewed by Darin Adler.
397
398         https://bugs.webkit.org/show_bug.cgi?id=33338
399         Create a renderer for <object> and <embed>
400
401         First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
402         so we don't need to call it here, and can thus remove the attach() override entirely.
403
404         * html/HTMLIFrameElement.cpp:
405         * html/HTMLIFrameElement.h:
406
407 2009-01-07  Pavel Feldman  <pfeldman@chromium.org>
408
409         Reviewed by Timothy Hatcher.
410
411         Web Inspector: Migrate to canvas-based text viewer / editor that scales.
412
413         https://bugs.webkit.org/show_bug.cgi?id=33001
414
415         * WebCore.gypi:
416         * WebCore.vcproj/WebCore.vcproj:
417         * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
418         (WebInspector.JavaScriptHighlighterScheme):
419         * inspector/front-end/KeyboardShortcut.js:
420         * inspector/front-end/TextEditor.js: Added.
421         (WebInspector.TextEditor):
422         (WebInspector.TextSelectionModel):
423         (WebInspector.TextCursor):
424         * inspector/front-end/TextEditorHighlighter.js: Added.
425         (WebInspector.TextEditorHighlighter):
426         (WebInspector.TextEditorHighlighter.prototype.highlight):
427         (WebInspector.TextEditorHighlighter.prototype._lex):
428         * inspector/front-end/TextEditorModel.js: Added.
429         (WebInspector.TextRange):
430         (WebInspector.TextRange.prototype.clone):
431         (WebInspector.TextEditorModel):
432         * inspector/front-end/WebKit.qrc:
433         * inspector/front-end/inspector.css:
434         * inspector/front-end/inspector.html:
435
436 2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
437
438         Reviewed by Darin Adler.
439
440         document.title does not replace or remove space characters
441         https://bugs.webkit.org/show_bug.cgi?id=27032
442
443         Test: fast/dom/Document/document-title-get.html
444
445         * dom/Document.cpp: 
446         (WebCore::Document::Document): 
447         Initialization of m_rawTitle
448         (WebCore::canonicalizedTitle): 
449         Moved from DocumentLoader.cpp with minor edits
450         (WebCore::Document::updateTitle): 
451         Ensures the title is canonicalized
452         (WebCore::Document::setTitle): 
453         Uses m_rawTitle instaed of m_title 
454         (WebCore::Document::removeTitle): 
455         Uses m_rawTitle instead of m_title
456         
457         * dom/Document.h: 
458         Added m_rawTitle that stores the passed in title, m_title now stores the 
459         canonicalized title
460         
461         * loader/DocumentLoader.cpp:
462         (WebCore::DocumentLoader::setTitle): 
463         The title passed in is now canonicalized in Document.cpp
464
465 2010-01-07  Yuzo Fujishima  <yuzo@google.com>
466
467         Reviewed by Darin Adler.
468
469         Allow leading/trailing space for CSS nth-*() and lang().
470         https://bugs.webkit.org/show_bug.cgi?id=17248
471
472         For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
473         See the bug comments for why we don't allow space at other places.
474
475         * css/CSSGrammar.y:
476
477 2010-01-07  Chris Fleizach  <cfleizach@apple.com>
478
479         Reviewed by Beth Dakin.
480
481         AX: contentEditable DIVs are not AX accessible
482         https://bugs.webkit.org/show_bug.cgi?id=33325
483
484         Test: accessibility/contenteditable-hidden-div.html
485
486         * accessibility/AccessibilityRenderObject.cpp:
487         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
488         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
489
490 2010-01-07  Adam Barth  <abarth@webkit.org>
491
492         Unreviewed.  Resolve merge conflict.
493
494         * bindings/v8/V8Proxy.cpp:
495         (WebCore::V8Proxy::setContextDebugId):
496
497 2010-01-07  Adam Barth  <abarth@webkit.org>
498
499         No review, rolling out r52847.
500         http://trac.webkit.org/changeset/52847
501         https://bugs.webkit.org/show_bug.cgi?id=33232
502
503         Might have caused a perf regression.  I'm rolling this out to see if it
504         heals the perf bot.
505
506         * bindings/v8/ScriptController.cpp:
507         (WebCore::ScriptController::ScriptController):
508         (WebCore::ScriptController::~ScriptController):
509         (WebCore::ScriptController::updateSecurityOrigin):
510         (WebCore::ScriptController::evaluateInIsolatedWorld):
511         (WebCore::ScriptController::haveInterpreter):
512         (WebCore::ScriptController::clearWindowShell):
513         (WebCore::ScriptController::updateDocument):
514         * bindings/v8/ScriptController.h:
515         * bindings/v8/V8DOMWindowShell.cpp:
516         * bindings/v8/V8DOMWindowShell.h:
517         * bindings/v8/V8DOMWrapper.cpp:
518         (WebCore::V8DOMWrapper::instantiateV8Object):
519         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
520         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
521         * bindings/v8/V8IsolatedContext.cpp:
522         (WebCore::V8IsolatedContext::V8IsolatedContext):
523         * bindings/v8/V8Proxy.cpp:
524         (WebCore::V8Proxy::V8Proxy):
525         (WebCore::V8Proxy::~V8Proxy):
526         (WebCore::V8Proxy::handleOutOfMemory):
527         (WebCore::V8Proxy::evaluateInIsolatedWorld):
528         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
529         (WebCore::V8Proxy::clearForClose):
530         (WebCore::V8Proxy::clearForNavigation):
531         (WebCore::V8Proxy::context):
532         (WebCore::V8Proxy::mainWorldContext):
533         (WebCore::V8Proxy::currentContext):
534         (WebCore::V8Proxy::setContextDebugId):
535         * bindings/v8/V8Proxy.h:
536         (WebCore::V8Proxy::windowShell):
537         * bindings/v8/WorldContextHandle.cpp:
538         (WebCore::WorldContextHandle::adjustedContext):
539
540 2010-01-07  Dan Bernstein  <mitz@apple.com>
541
542         Build fix
543
544         * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
545
546 2010-01-07  Dan Bernstein  <mitz@apple.com>
547
548         Reviewed by Sam Weinig.
549
550         Added Font::typesettingFeatures() and deployed it
551
552         No change in funcitonality
553
554         * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
555         * platform/graphics/Font.h:
556         (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
557             features from the text redndering mode.
558         * platform/graphics/FontFastPath.cpp:
559         (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
560         * platform/graphics/SimpleFontData.h:
561         * platform/graphics/TypesettingFeatures.h: Added.
562         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
563         (WebCore::disableLigatures): Take TypesettingFeatures instead of
564             TextRenderingMode.
565         (WebCore::initializeATSUStyle): Ditto.
566         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
567             Use typesettingFeatures().
568         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
569         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
570             Ditto.
571         * platform/graphics/mac/SimpleFontDataMac.mm:
572         (WebCore::SimpleFontData::getCFStringAttributes): Take
573             TypesettingFeatures instead of TextRenderingMode.
574         * rendering/RenderBlockLineLayout.cpp:
575         (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
576
577 2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
578
579         No review, rolling out r52900.
580         http://trac.webkit.org/changeset/52900
581         https://bugs.webkit.org/show_bug.cgi?id=30055
582
583         Broke over 30 SVG pixel tests.
584
585         * rendering/RenderPath.cpp:
586         (WebCore::RenderPath::paint):
587
588 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
589
590         Rubber-stamped by Kenneth Rohde Christiansen.
591
592         [Qt] The library version number of the first package release is 4.7.0.
593
594         * WebCore.pro:
595
596 2010-01-07  Yael Aharon  <yael.aharon@nokia.com>
597
598         Reviewed by Kenneth Rohde Christiansen.
599
600         [Qt] Allow the application to override online/offline network status
601         https://bugs.webkit.org/show_bug.cgi?id=32684
602
603         Added API to NetworkStateNotifier for forcing network status.
604
605         * platform/network/NetworkStateNotifier.h:
606         * platform/network/qt/NetworkStateNotifierPrivate.h:
607         * platform/network/qt/NetworkStateNotifierQt.cpp:
608         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
609         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
610         (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
611         (WebCore::NetworkStateNotifier::updateState):
612         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
613         (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
614
615 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
616
617         Reviewed by Tor Arne Vestbø.
618
619         [Qt] Fix linkage against Qt mobility API bearer management module
620
621         Use the documented .pro file syntax to link against the correct
622         library and (more importantly) get the include paths correct.
623
624         * WebCore.pro:
625
626 2010-01-07  Eric Carlson  <eric.carlson@apple.com>
627
628         Reviewed by Maciej Stachowiak.
629
630         https://bugs.webkit.org/show_bug.cgi?id=33272
631         'abort' event still fired as a progress event
632
633         rdar://6710625
634         Test media/video-error-abort.html doesn't work
635
636         Test: http/tests/media/video-error-abort.html
637
638         * html/HTMLMediaElement.cpp:
639         (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
640         (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
641         in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
642         to match spec wording.
643         * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
644
645 2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
646
647         Reviewed by Antti Koivisto.
648
649         Wrong state and TouchLists in TouchEvents
650         https://bugs.webkit.org/show_bug.cgi?id=32878
651
652         Touch events changed to match the API and semantics of iPhone and
653         Android. Each new touch point press dispatches a touchstart event with
654         the pressed touch point(s) in the changedTouches list, and a release
655         dispatches a touchend event with the released touch point(s) in
656         changedTouches. Moved points dispatch a touchmove event, with the moved
657         points in changedTouches. Old behaviour emitted only one touchstart when
658         the first point was pressed and one touchend when the last point was
659         released, and any events in between were touchmoves. New presses or
660         releases could only be detected by comparing the lists touches and
661         changedTouches.
662
663         * page/EventHandler.cpp:
664         (WebCore::EventHandler::handleTouchEvent):
665         * page/EventHandler.h:
666
667 2010-01-07  Kent Tamura  <tkent@chromium.org>
668
669         Reviewed by Maciej Stachowiak.
670
671         Remove COM code generation stuff.
672         https://bugs.webkit.org/show_bug.cgi?id=32854
673
674         Remove the followings:
675         - CodeGeenratorCOM.pm, COM code generator,
676         - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
677         - UUID attributes in IDL files.
678
679         * bindings/scripts/CodeGeneratorCOM.pm: Removed.
680         * css/CSSCharsetRule.idl:
681         * css/CSSFontFaceRule.idl:
682         * css/CSSImportRule.idl:
683         * css/CSSMediaRule.idl:
684         * css/CSSPageRule.idl:
685         * css/CSSPrimitiveValue.idl:
686         * css/CSSRule.idl:
687         * css/CSSRuleList.idl:
688         * css/CSSStyleDeclaration.idl:
689         * css/CSSStyleRule.idl:
690         * css/CSSStyleSheet.idl:
691         * css/CSSUnknownRule.idl:
692         * css/CSSValue.idl:
693         * css/CSSValueList.idl:
694         * css/Counter.idl:
695         * css/MediaList.idl:
696         * css/RGBColor.idl:
697         * css/Rect.idl:
698         * css/StyleSheet.idl:
699         * css/StyleSheetList.idl:
700         * css/WebKitCSSKeyframeRule.idl:
701         * css/WebKitCSSKeyframesRule.idl:
702         * css/WebKitCSSTransformValue.idl:
703         * dom/Attr.idl:
704         * dom/CDATASection.idl:
705         * dom/CharacterData.idl:
706         * dom/Comment.idl:
707         * dom/DOMImplementation.idl:
708         * dom/Document.idl:
709         * dom/DocumentFragment.idl:
710         * dom/DocumentType.idl:
711         * dom/Element.idl:
712         * dom/Entity.idl:
713         * dom/EntityReference.idl:
714         * dom/Event.idl:
715         * dom/EventListener.idl:
716         * dom/EventTarget.idl:
717         * dom/NamedNodeMap.idl:
718         * dom/Node.idl:
719         * dom/NodeList.idl:
720         * dom/Notation.idl:
721         * dom/ProcessingInstruction.idl:
722         * dom/Text.idl:
723         * html/HTMLAnchorElement.idl:
724         * html/HTMLAppletElement.idl:
725         * html/HTMLAreaElement.idl:
726         * html/HTMLBRElement.idl:
727         * html/HTMLBaseElement.idl:
728         * html/HTMLBaseFontElement.idl:
729         * html/HTMLBlockquoteElement.idl:
730         * html/HTMLBodyElement.idl:
731         * html/HTMLButtonElement.idl:
732         * html/HTMLCanvasElement.idl:
733         * html/HTMLCollection.idl:
734         * html/HTMLDListElement.idl:
735         * html/HTMLDirectoryElement.idl:
736         * html/HTMLDivElement.idl:
737         * html/HTMLDocument.idl:
738         * html/HTMLElement.idl:
739         * html/HTMLEmbedElement.idl:
740         * html/HTMLFieldSetElement.idl:
741         * html/HTMLFontElement.idl:
742         * html/HTMLFormElement.idl:
743         * html/HTMLFrameElement.idl:
744         * html/HTMLFrameSetElement.idl:
745         * html/HTMLHRElement.idl:
746         * html/HTMLHeadElement.idl:
747         * html/HTMLHeadingElement.idl:
748         * html/HTMLHtmlElement.idl:
749         * html/HTMLIFrameElement.idl:
750         * html/HTMLImageElement.idl:
751         * html/HTMLInputElement.idl:
752         * html/HTMLIsIndexElement.idl:
753         * html/HTMLLIElement.idl:
754         * html/HTMLLabelElement.idl:
755         * html/HTMLLegendElement.idl:
756         * html/HTMLLinkElement.idl:
757         * html/HTMLMapElement.idl:
758         * html/HTMLMarqueeElement.idl:
759         * html/HTMLMenuElement.idl:
760         * html/HTMLMetaElement.idl:
761         * html/HTMLModElement.idl:
762         * html/HTMLOListElement.idl:
763         * html/HTMLObjectElement.idl:
764         * html/HTMLOptGroupElement.idl:
765         * html/HTMLOptionElement.idl:
766         * html/HTMLOptionsCollection.idl:
767         * html/HTMLParagraphElement.idl:
768         * html/HTMLParamElement.idl:
769         * html/HTMLPreElement.idl:
770         * html/HTMLQuoteElement.idl:
771         * html/HTMLScriptElement.idl:
772         * html/HTMLSelectElement.idl:
773         * html/HTMLStyleElement.idl:
774         * html/HTMLTableCaptionElement.idl:
775         * html/HTMLTableCellElement.idl:
776         * html/HTMLTableColElement.idl:
777         * html/HTMLTableElement.idl:
778         * html/HTMLTableRowElement.idl:
779         * html/HTMLTableSectionElement.idl:
780         * html/HTMLTextAreaElement.idl:
781         * html/HTMLTitleElement.idl:
782         * html/HTMLUListElement.idl:
783
784 2010-01-07  Steve Block  <steveblock@google.com>
785
786         Reviewed by Darin Adler.
787
788         Adds the ability to increase the delay used when scheduling layout.
789         https://bugs.webkit.org/show_bug.cgi?id=32875
790
791         No new tests possible.
792
793         * dom/Document.cpp: Modified.
794         (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
795         (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
796         * dom/Document.h: Modified.
797         (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
798
799 2010-01-07  Kent Tamura  <tkent@chromium.org>
800
801         Reviewed by Eric Seidel.
802
803         Some IDL files lack "," separators for extended attributes.
804         https://bugs.webkit.org/show_bug.cgi?id=33190
805
806         To find such mistakes, IDLParser.pm rejects whitespace characters in
807         extended attribute names.
808
809         * bindings/scripts/IDLParser.pm:
810           parseExtendedAttributes rejects whitespace in a name.
811         * css/WebKitCSSTransformValue.idl: Add missing ",".
812         * dom/EventTarget.idl: ditto.
813
814 2010-01-07  Kent Tamura  <tkent@chromium.org>
815
816         Reviewed by Adam Barth.
817
818         Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
819         WebKitCSSTransformValue.idl correctly.
820         https://bugs.webkit.org/show_bug.cgi?id=33193
821
822         CodeGeneratorV8.pm doesn't handle inheritance very well and it
823         tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
824         which does not exist. Because WebKitCSSTransformValue inherits
825         CSSValueList and CSSValueList already has HadIndexGetter, we don't
826         need to do anything for WebKitCSSTransformValue about HasIndexGetter.
827
828         * bindings/scripts/CodeGeneratorV8.pm:
829           Reset $hasGetter for WebKitCSSTransformValue.
830
831 2010-01-07  Anton Muhin  <antonm@chromium.org>
832
833         Reviewed by Adam Barth.
834
835         Do not return strings whose handles are in near death state (that means
836         they might be GCed) or just empty.
837         https://bugs.webkit.org/show_bug.cgi?id=31180
838
839         * bindings/v8/V8Binding.cpp:
840         (WebCore::v8ExternalString):
841
842 2010-01-06  MORITA Hajime  <morrita@gmail.com>
843
844         Reviewed by Nikolas Zimmermann.
845
846         SVG background color on selected text goes wrong when text has
847         gradient stroke.
848         https://bugs.webkit.org/show_bug.cgi?id=33069
849
850         Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
851         and paint background and foreground in separate subphase.
852         
853         Test: svg/text/selection-background-color.xhtml
854         
855         * rendering/SVGCharacterLayoutInfo.h:
856         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
857         Added m_setupBackgroundCallback, m_setupForegroundCallback
858         (WebCore::SVGTextChunkWalker::setupBackground):
859         (WebCore::SVGTextChunkWalker::setupForeground):
860         Added.
861         * rendering/SVGInlineTextBox.cpp:
862         (WebCore::SVGInlineTextBox::paintCharacters):
863         pass SVGTextPaintInfo instead of SVGPaintServer
864         * rendering/SVGInlineTextBox.h:
865         (WebCore::SVGTextPaintSubphase):
866         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
867         Added.
868         * rendering/SVGRootInlineBox.cpp:
869         (WebCore::SVGRootInlineBox::walkTextChunks):
870         Invoke setupBackground() and setupForeground()
871         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
872         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
873         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
874         Added.
875         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
876         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
877         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
878         (WebCore::SVGRootInlineBox::paint):
879         
880 2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
881
882         Reviewed by Eric Seidel.
883
884         Make windowsKeyCodeForKeyEvent() return correct key code for
885         numeric-pad arrow keys.
886         https://bugs.webkit.org/show_bug.cgi?id=33250
887
888         Test: fast/events/keydown-numpad-keys.html
889
890         * platform/qt/PlatformKeyboardEventQt.cpp:
891         (WebCore::windowsKeyCodeForKeyEvent):
892
893 2009-10-18 Patrick Gansterer <paroga@paroga.com>
894
895         Reviewed by Dirk Schulze.
896
897         Improve DOM performance in large SVG files.
898         Check the dirty area before painting a path, which prevents unnecessary
899         clipping and changes to the GraphicsContext.
900         https://bugs.webkit.org/show_bug.cgi?id=30055
901
902         * rendering/RenderPath.cpp:
903         (WebCore::RenderPath::paint):
904
905 2010-01-06  Kent Tamura  <tkent@chromium.org>
906
907         Reviewed by Darin Adler.
908
909         Use a static HashMap for HTMLElement::tagPriority().
910         https://bugs.webkit.org/show_bug.cgi?id=33269
911
912         The prior code compares AtomicStringImpl pointers 18 times at
913         worst. This change avoids it.
914
915         No new tests because this is just a refactoring.
916
917         * html/HTMLElement.cpp:
918         (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
919         (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
920         (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
921         * html/HTMLElement.h:
922         (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().
923
924 2010-01-06  Mike Belshe  <mike@belshe.com>
925
926         Add a flag to the ResourceResponse for tracking if a request was
927         fetched via SPDY.  This is plumbed through so that we can inform
928         a webpage via JavaScript if it was fecthed via the experimental
929         SPDY protocol.
930
931         https://bugs.webkit.org/show_bug.cgi?id=33186
932
933         * platform/network/chromium/ResourceResponse.h:
934         (WebCore::ResourceResponse::wasFetchedViaSpdy):
935         (WebCore::ResourceResponse::setWasFetchedViaSpdy):
936
937 2010-01-06  Jakub Wieczorek  <faw217@gmail.com>
938
939         Reviewed by Adam Treat.
940
941         [Qt] RenderTheme: Missing support for native sliders
942
943         https://bugs.webkit.org/show_bug.cgi?id=33122
944
945         Implement painting of native slider controls in RenderTheme
946         and unskip a couple of layout tests that are passing after
947         this change.
948
949         * platform/qt/RenderThemeQt.cpp:
950         (WebCore::RenderThemeQt::paintSliderTrack):
951         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
952         (WebCore::RenderThemeQt::paintSliderThumb):
953         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
954         (WebCore::RenderThemeQt::supportsFocus):
955         (WebCore::RenderThemeQt::adjustSliderThumbSize):
956         * platform/qt/RenderThemeQt.h:
957
958 2010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
959
960         Reviewed by Darin Adler.
961
962         Adjust incorrect comments after r40534.
963
964         * bindings/js/JSDOMBinding.cpp:
965         (WebCore::markActiveObjectsForContext):
966
967 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
968
969         Unreviewed build fix for chromium.
970         Add "bool V8WorkerContext::WebSocketEnabled()"
971
972         * bindings/v8/custom/V8WorkerContextCustom.cpp:
973         (WebCore::V8WorkerContext::WebSocketEnabled):
974
975 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
976
977         Unreviewed build fix.
978         remove wrong assertion
979
980         * websockets/WorkerThreadableWebSocketChannel.cpp:
981         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
982
983 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
984
985         Reviewed by David Levin.
986
987         Add WebSocket feature in Worker
988         https://bugs.webkit.org/show_bug.cgi?id=32214
989
990         Introduce ThreadableWebSocketChannel interface and add
991         WorkerThreadableWebSocketChannel for Worker.
992         WorkerThreadableWebSocketChannel uses WebSocketChannel in the
993         main thread, which is managed by Peer and communicated via Bridge.
994
995         Test: websocket/tests/workers/worker-simple.html
996
997         * GNUmakefile.am:
998         * WebCore.gypi:
999         * WebCore.pro:
1000         * WebCore.vcproj/WebCore.vcproj:
1001         * WebCore.xcodeproj/project.pbxproj:
1002         * bindings/js/JSWebSocketConstructor.h:
1003         * bindings/js/JSWorkerContextCustom.cpp:
1004         (WebCore::JSWorkerContext::webSocket):
1005         * bindings/v8/WorkerContextExecutionProxy.cpp:
1006         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1007         * bindings/v8/custom/V8WebSocketCustom.cpp:
1008         (WebCore::V8Custom::v8WebSocketConstructorCallback):
1009         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1010         * platform/CrossThreadCopier.cpp:
1011         (WebCore::::copy):
1012         * platform/CrossThreadCopier.h:
1013         (WebCore::):
1014         * websockets/ThreadableWebSocketChannel.cpp: Added.
1015         * websockets/ThreadableWebSocketChannel.h: Added.
1016         * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
1017         * websockets/WebSocket.cpp:
1018         (WebCore::WebSocket::connect):
1019         (WebCore::WebSocket::didReceiveMessage):
1020         * websockets/WebSocket.h:
1021         * websockets/WebSocketChannel.h:
1022         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
1023         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
1024         * websockets/WebSocketChannelClient.h:
1025         * websockets/WebSocketHandshake.h:
1026         * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
1027         * websockets/WorkerThreadableWebSocketChannel.h: Added.
1028         * workers/WorkerContext.idl:
1029
1030 2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
1031
1032         Reviewed by Darin Adler.
1033
1034         Modified EventSource event-stream parser to support a single CR as line ending.
1035         https://bugs.webkit.org/show_bug.cgi?id=33207
1036
1037         * page/EventSource.cpp:
1038         (WebCore::EventSource::EventSource):
1039         (WebCore::EventSource::parseEventStream):
1040         * page/EventSource.h:
1041
1042 2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1043
1044         Reviewed by Xan Lopez.
1045
1046         https://bugs.webkit.org/show_bug.cgi?id=30883
1047         [Gtk] Implement AtkText for HTML elements which contain text
1048
1049         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1050         (getInterfaceMaskFromObject):
1051         (getPangoLayoutForAtk):
1052         (webkit_accessible_text_get_text):
1053         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1054         (AccessibilityObject::accessibilityPlatformIncludesObject):
1055
1056 2010-01-06  Dan Bernstein  <mitz@apple.com>
1057
1058         Reviewed by Sam Weinig.
1059
1060         <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
1061         https://bugs.webkit.org/show_bug.cgi?id=32794
1062
1063         Test: platform/mac/fast/text/line-breaking-with-kerning.html
1064
1065         * rendering/RenderBlockLineLayout.cpp:
1066         (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
1067         the trailing space when measuring a word, then subtract its width. This
1068         accounts for kerning between the last glyph of the word and the following space.
1069
1070 2010-01-06  Kevin Decker  <kdecker@apple.com>
1071
1072         Reviewed by Simon Fraser
1073
1074         Second step of:
1075         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
1076
1077         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
1078         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1079         (-[WebHostedNetscapePluginView pluginLayer]): Added.
1080         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
1081         * Plugins/WebNetscapePluginView.mm:
1082         (-[WebNetscapePluginView pluginLayer]): Added.
1083
1084 2010-01-06  Adam Barth  <abarth@webkit.org>
1085
1086         No review, rolling out r52877.
1087         http://trac.webkit.org/changeset/52877
1088         https://bugs.webkit.org/show_bug.cgi?id=33243
1089
1090         I screwed up landing this patch and only partially applied the patch I
1091         was trying to land.
1092
1093         * bindings/ScriptControllerBase.cpp:
1094         * bindings/js/ScriptController.cpp:
1095         (WebCore::ScriptController::executeScriptInWorld):
1096         * bindings/v8/ScriptController.cpp:
1097         (WebCore::ScriptController::ScriptController):
1098         (WebCore::ScriptController::~ScriptController):
1099         (WebCore::ScriptController::updateSecurityOrigin):
1100         (WebCore::ScriptController::evaluateInIsolatedWorld):
1101         (WebCore::ScriptController::haveInterpreter):
1102         (WebCore::ScriptController::mainWorldWindowShell):
1103         (WebCore::ScriptController::clearWindowShell):
1104         (WebCore::ScriptController::clearForClose):
1105         (WebCore::ScriptController::destroyWindowShell):
1106         (WebCore::ScriptController::updateDocument):
1107         * bindings/v8/ScriptController.h:
1108         (WebCore::ScriptController::proxy):
1109         (WebCore::ScriptController::windowShell):
1110         (WebCore::ScriptController::existingWindowShell):
1111         (WebCore::ScriptController::evaluateInWorld):
1112         * bindings/v8/V8DOMWindowShell.cpp:
1113         (WebCore::V8DOMWindowShell::create):
1114         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
1115         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1116
1117 2010-01-06  Eric Seidel  <eric@webkit.org>
1118
1119         Unreviewed.  Rolling back in a change I should not have rolled out.
1120
1121         The original commit http://trac.webkit.org/changeset/52862
1122         was rolled out again in http://trac.webkit.org/changeset/52871
1123         but I now believe that rollout to be in error.
1124         My sincerest apologies for the churn.
1125
1126         Fix the bug in previous commit: we shouldn't finish
1127         decoding if "sizeOnly" is true.
1128         https://bugs.webkit.org/show_bug.cgi?id=33258
1129
1130         * platform/image-decoders/png/PNGImageDecoder.cpp:
1131         (WebCore::PNGImageReader::decode):
1132
1133 2010-01-06  Adam Barth  <abarth@webkit.org>
1134
1135         Reviewed by Eric Seidel.
1136
1137         [v8] Let ScriptController have more than one windowShell
1138         https://bugs.webkit.org/show_bug.cgi?id=33243
1139
1140         This patch lets ScriptController have more than one windowShell.  We're
1141         currently only using one of them (for the main world), but this patch
1142         lets us use other ones for isolated worlds soon.
1143
1144         * bindings/ScriptControllerBase.cpp:
1145         (WebCore::ScriptController::executeScriptInWorld):
1146         * bindings/js/ScriptController.cpp:
1147         * bindings/v8/ScriptController.cpp:
1148         (WebCore::ScriptController::createWorld):
1149         (WebCore::ScriptController::initScript):
1150         (WebCore::ScriptController::ScriptController):
1151         (WebCore::ScriptController::~ScriptController):
1152         (WebCore::ScriptController::updateSecurityOrigin):
1153         (WebCore::ScriptController::evaluateInIsolatedWorld):
1154         (WebCore::ScriptController::evaluateInWorld):
1155         (WebCore::ScriptController::mainWorldWindowShell):
1156         (WebCore::ScriptController::clearWindowShell):
1157         (WebCore::ScriptController::clearForClose):
1158         (WebCore::ScriptController::destroyWindowShell):
1159         (WebCore::ScriptController::updateDocument):
1160         * bindings/v8/ScriptController.h:
1161         (WebCore::ScriptController::windowShell):
1162         (WebCore::ScriptController::existingWindowShell):
1163         (WebCore::ScriptController::globalObject):
1164         (WebCore::ScriptController::proxy):
1165         * bindings/v8/V8DOMWindowShell.cpp:
1166         (WebCore::V8DOMWindowShell::create):
1167         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
1168         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1169         * bindings/v8/V8DOMWindowShell.h:
1170         * bindings/v8/V8DOMWrapper.cpp:
1171         (WebCore::V8DOMWrapper::instantiateV8Object):
1172         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
1173
1174 2010-01-06  Mark Rowe  <mrowe@apple.com>
1175
1176         Fix the Mac build.
1177
1178         * WebCore.base.exp: Export symbols WebKit would like to use.
1179         * plugins/PluginWidget.h:
1180         (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
1181
1182 2010-01-06  Kevin Decker  <kdecker@apple.com>
1183
1184         Reviewed by Eric Carlson.
1185         
1186         First step toward:
1187         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
1188         
1189         Small refactoring moving the PluginWidget class from WebKit to WebCore.          
1190         * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
1191         * platform/Widget.h: Added isPluginWidget(). 
1192         (WebCore::Widget::isPluginWidget):
1193         * plugins/PluginWidget.h: Added.
1194         (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
1195         * plugins/mac/PluginWidgetMac.mm: Added.
1196         (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
1197         
1198 2010-01-06  Eric Seidel  <eric@webkit.org>
1199
1200         No review, rolling out r52862.
1201         http://trac.webkit.org/changeset/52862
1202         https://bugs.webkit.org/show_bug.cgi?id=33258
1203
1204         Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
1205         Leopard Release builder.
1206
1207         * platform/image-decoders/png/PNGImageDecoder.cpp:
1208         (WebCore::PNGImageReader::decode):
1209
1210 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1211
1212         Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
1213
1214         * Configurations/Base.xcconfig:
1215
1216 2010-01-05  Nate Chapin  <japhet@chromium.org>
1217
1218         Reviewed by Dimitri Glazkov.
1219
1220         Generate header declarations for V8 binding security checks
1221         and delete V8CustomBinding.cpp
1222
1223         * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
1224         * WebCore.gypi: Removed V8CustomBinding.cpp.
1225         * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
1226         * bindings/v8/V8DOMWindowShell.cpp:
1227         (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
1228         (WebCore::reportUnsafeJavaScriptAccess):
1229         (WebCore::V8DOMWindowShell::createNewContext):
1230         (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
1231         * bindings/v8/V8DOMWindowShell.h:
1232         * bindings/v8/V8DOMWrapper.cpp:
1233         (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
1234         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
1235         (WebCore::V8DOMWrapper::getTemplate):
1236         * bindings/v8/custom/V8CustomBinding.cpp: Removed.
1237         * bindings/v8/custom/V8CustomBinding.h:
1238         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1239         (WebCore::V8DOMWindow::locationAccessorSetter):
1240         (WebCore::V8DOMWindow::namedSecurityCheck):
1241         (WebCore::V8DOMWindow::indexedSecurityCheck):
1242         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1243         (WebCore::V8Document::locationAccessorSetter):
1244         * bindings/v8/custom/V8HistoryCustom.cpp:
1245         (WebCore::V8History::indexedSecurityCheck):
1246         (WebCore::V8History::namedSecurityCheck):
1247         * bindings/v8/custom/V8LocationCustom.cpp:
1248         (WebCore::V8Location::indexedSecurityCheck):
1249         (WebCore::V8Location::namedSecurityCheck):
1250
1251 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1252
1253         Reviewed by Dirk Schulze.
1254
1255         Marker code is buggy: referencePoint translation is off
1256         https://bugs.webkit.org/show_bug.cgi?id=33012
1257
1258         Rewrite marker code, as it had many issues:
1259         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
1260         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
1261         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
1262         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
1263           can have three different resources of the same type (three markers, start/mid/end markers)
1264
1265         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
1266
1267         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
1268         Test: svg/custom/marker-referencePoint.svg
1269               svg/custom/marker-opacity.svg
1270               svg/custom/marker-strokeWidth-changes.svg
1271
1272         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
1273         * GNUmakefile.am: Ditto.
1274         * WebCore.gypi: Ditto.
1275         * WebCore.pro: Ditto.
1276         * WebCore.vcproj/WebCore.vcproj: Ditto.
1277         * WebCore.xcodeproj/project.pbxproj: Ditto.
1278         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
1279         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
1280         * rendering/RenderPath.cpp:
1281         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
1282         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
1283         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
1284         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
1285         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
1286         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
1287         (WebCore::RenderPath::path): Inline this accessor.
1288         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
1289         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
1290         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
1291         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
1292         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
1293         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
1294         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
1295         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
1296         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
1297         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
1298         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
1299         (WebCore::SVGMarkerData::updateOutslope): Ditto.
1300         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
1301         (WebCore::SVGMarkerData::updateInslope): Helper method.
1302         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
1303         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
1304         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
1305         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
1306         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
1307         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
1308         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
1309         * rendering/SVGMarkerLayoutInfo.h: Added.
1310         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
1311         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
1312         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
1313         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
1314         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
1315         (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
1316         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
1317         * svg/SVGSVGElement.cpp:
1318         (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
1319         * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
1320         (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
1321         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
1322                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
1323                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
1324                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
1325         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
1326         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
1327         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
1328         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
1329         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
1330         * svg/graphics/SVGResourceMarker.cpp:
1331         (WebCore::SVGResourceMarker::SVGResourceMarker):
1332         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
1333         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
1334         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
1335         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
1336         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
1337         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
1338         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
1339
1340 2010-01-06  Dirk Schulze  <krit@webkit.org>
1341
1342         Reviewed by Nikolas Zimmermann.
1343
1344         SVG feImage support
1345         https://bugs.webkit.org/show_bug.cgi?id=31905
1346
1347         This implements the SVG Filter effect feImage with support of fragment urls.
1348         It also includes a bug fix for feComposite. feComposite didn't cover values
1349         bigger than 255 correctly on composite oeprator arithmetic.
1350
1351         Tests: There are already many feImage tests in trunk. They just needed updated
1352                pixel test results.
1353                The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
1354                and depends on feImage.
1355
1356         * platform/graphics/filters/FEComposite.cpp:
1357         (WebCore::arithmetic):
1358         * rendering/RenderSVGImage.cpp:
1359         (WebCore::RenderSVGImage::paint):
1360         * rendering/RenderSVGImage.h:
1361         * svg/SVGFEImageElement.cpp:
1362         (WebCore::SVGFEImageElement::requestImageResource):
1363         (WebCore::SVGFEImageElement::parseMappedAttribute):
1364         (WebCore::SVGFEImageElement::notifyFinished):
1365         (WebCore::SVGFEImageElement::build):
1366         * svg/SVGFEImageElement.h:
1367         * svg/SVGFEImageElement.idl:
1368         * svg/SVGPreserveAspectRatio.cpp:
1369         (WebCore::SVGPreserveAspectRatio::transformRect):
1370         * svg/SVGPreserveAspectRatio.h:
1371         * svg/graphics/filters/SVGFEImage.cpp:
1372         (WebCore::FEImage::FEImage):
1373         (WebCore::FEImage::create):
1374         (WebCore::FEImage::apply):
1375         * svg/graphics/filters/SVGFEImage.h:
1376
1377 2010-01-06  Yong Li  <yoli@rim.com>
1378
1379         Reviewed by Darin Adler.
1380
1381         Fix the bug in previous commit: we shouldn't finish
1382         decoding if "sizeOnly" is true.
1383         https://bugs.webkit.org/show_bug.cgi?id=33258
1384
1385         * platform/image-decoders/png/PNGImageDecoder.cpp:
1386         (WebCore::PNGImageReader::decode):
1387
1388 2010-01-06  Eric Seidel  <eric@webkit.org>
1389
1390         No review, rolling out r52855.
1391         http://trac.webkit.org/changeset/52855
1392         https://bugs.webkit.org/show_bug.cgi?id=33222
1393
1394         Caused 6 layout tests to fail on Mac
1395
1396         * loader/DocumentLoader.cpp:
1397         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1398         * loader/MainResourceLoader.cpp:
1399         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1400         * loader/ResourceLoader.cpp:
1401         * loader/ResourceLoader.h:
1402
1403 2010-01-06  Yong Li  <yoli@rim.com>
1404
1405         Reviewed by Darin Adler.
1406
1407         Let ReourceLoader deliver segmented data
1408         when loading resource from a SharedBuffer object.
1409         https://bugs.webkit.org/show_bug.cgi?id=33222
1410
1411         * loader/DocumentLoader.cpp:
1412         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1413         * loader/MainResourceLoader.cpp:
1414         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1415         * loader/ResourceLoader.cpp:
1416         (WebCore::ResourceLoader::didReceiveData):
1417         * loader/ResourceLoader.h:
1418
1419 2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
1420
1421         Unreviewed trivial Qt build fix.
1422
1423         Prefix the phonon includes with phonon/ to avoid conflicts with the S60
1424         audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
1425
1426         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1427
1428 2010-01-05  Darin Fisher  <darin@chromium.org>
1429
1430         Reviewed by Adam Barth.
1431
1432         Moving v8::HandleScope up above declaration of v8::Local to fix a
1433         Chromium startup crash.
1434
1435         * bindings/v8/V8Proxy.cpp:
1436         (WebCore::V8Proxy::setContextDebugId):
1437
1438 2010-01-05  Adam Barth  <abarth@webkit.org>
1439
1440         Reviewed by Dimitri Glazkov.
1441
1442         [v8] Move V8DOMWindowShell to ScriptController
1443         https://bugs.webkit.org/show_bug.cgi?id=33232
1444
1445         This patch moves V8DOMWindow shell to ScriptController, where the
1446         window shells live in JSC land.  The next step will be to allow for
1447         more than one window shell per script controller.
1448
1449         * bindings/v8/ScriptController.cpp:
1450         (WebCore::ScriptController::ScriptController):
1451         (WebCore::ScriptController::~ScriptController):
1452         (WebCore::ScriptController::updateSecurityOrigin):
1453         (WebCore::ScriptController::evaluateInIsolatedWorld):
1454         (WebCore::ScriptController::haveInterpreter):
1455         (WebCore::ScriptController::mainWorldWindowShell):
1456         (WebCore::ScriptController::clearWindowShell):
1457         (WebCore::ScriptController::clearForClose):
1458         (WebCore::ScriptController::destroyWindowShell):
1459         (WebCore::ScriptController::updateDocument):
1460         * bindings/v8/ScriptController.h:
1461         * bindings/v8/V8DOMWindowShell.cpp:
1462         (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
1463         * bindings/v8/V8DOMWindowShell.h:
1464         (WebCore::V8DOMWindowShell::localHandleForContext):
1465         * bindings/v8/V8DOMWrapper.cpp:
1466         (WebCore::V8DOMWrapper::instantiateV8Object):
1467         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
1468         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
1469         * bindings/v8/V8IsolatedContext.cpp:
1470         (WebCore::V8IsolatedContext::V8IsolatedContext):
1471         * bindings/v8/V8Proxy.cpp:
1472         (WebCore::V8Proxy::V8Proxy):
1473         (WebCore::V8Proxy::~V8Proxy):
1474         (WebCore::V8Proxy::handleOutOfMemory):
1475         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1476         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1477         (WebCore::V8Proxy::context):
1478         (WebCore::V8Proxy::mainWorldContext):
1479         (WebCore::V8Proxy::currentContext):
1480         (WebCore::V8Proxy::setContextDebugId):
1481         * bindings/v8/V8Proxy.h:
1482         * bindings/v8/WorldContextHandle.cpp:
1483         (WebCore::WorldContextHandle::adjustedContext):
1484
1485 2010-01-05  Kent Tamura  <tkent@chromium.org>
1486
1487         Reviewed by Maciej Stachowiak.
1488
1489         Implement HTML5 <header> and <footer> elements.
1490         https://bugs.webkit.org/show_bug.cgi?id=32943
1491
1492         <header> and <footer> should behave the same as <nav>, <section>,
1493         <article>, and <aside>. The HTML parser doesn't need to restrict
1494         the nesting of header/footer elements.
1495
1496         Tests: fast/html/footer-element.html
1497                fast/html/header-element.html
1498
1499         * css/html.css: Add header/footer as block elements.
1500         * editing/htmlediting.cpp:
1501         (WebCore::validBlockTag): Add headerTag and footerTag.
1502         * html/HTMLElement.cpp:
1503         (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
1504         (WebCore::blockTagList): Add headerTag and footerTag.
1505         * html/HTMLParser.cpp:
1506         (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
1507         (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
1508         (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
1509         * html/HTMLParser.h:
1510           - Rename isHeaderTag() to isHeadingTag()
1511           - Remove non-existing popNestedHeaderTag().
1512         * html/HTMLTagNames.in: Add header and footer.
1513
1514 2010-01-05  Darin Adler  <darin@apple.com>
1515
1516         Reviewed by Dan Bernstein.
1517
1518         CDATA sections are merged into Text nodes when normalize() is used
1519         https://bugs.webkit.org/show_bug.cgi?id=33191
1520
1521         Test: fast/dom/Node/normalize-with-cdata.html
1522
1523         * dom/Node.cpp:
1524         (WebCore::Node::normalize): Use nodeType instead of isTextNode.
1525
1526 2010-01-05  James Robinson  <jamesr@google.com>
1527
1528         Reviewed by Eric Seidel.
1529
1530         Typing in Google Wave repaints the whole screen
1531         https://bugs.webkit.org/show_bug.cgi?id=32295
1532
1533         Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
1534         The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
1535         fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
1536         painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
1537         structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
1538
1539         Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
1540
1541         * rendering/RenderBlockLineLayout.cpp:
1542         (WebCore::RenderBlock::layoutInlineChildren):
1543
1544 2010-01-05  James Robinson  <jamesr@chromium.org>
1545
1546         Reviewed by David Hyatt.
1547
1548         Cleans up line box clearing when a RenderBlock loses its last child.
1549         https://bugs.webkit.org/show_bug.cgi?id=33228
1550
1551         The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
1552
1553
1554         No new tests.
1555
1556         * rendering/RenderBlock.cpp:
1557         (WebCore::RenderBlock::removeChild):
1558         * rendering/RenderBlockLineLayout.cpp:
1559         (WebCore::RenderBlock::layoutInlineChildren):
1560
1561 2010-01-05  Alexander Pavlov  <apavlov@chromium.org>
1562
1563         Reviewed by Pavel Feldman.
1564
1565         Provide the "documentURL" property for documents and frame owner elements
1566
1567         This is necessary to determine owner document URLs for nodes (all nodes have
1568         the top-level document set as ownerDocument).
1569         https://bugs.webkit.org/show_bug.cgi?id=33025
1570
1571         * inspector/InspectorDOMAgent.cpp:
1572         (WebCore::InspectorDOMAgent::buildObjectForNode):
1573         * inspector/front-end/DOMAgent.js:
1574         (WebInspector.DOMNode):
1575
1576 2010-01-05  Peter Kasting  <pkasting@google.com>
1577
1578         Reviewed by Adam Barth.
1579
1580         Public GIF decoder should stop decoding when allocation fails
1581         https://bugs.webkit.org/show_bug.cgi?id=33231
1582
1583         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1584         (WebCore::GIFImageDecoder::haveDecodedRow):
1585         * platform/image-decoders/gif/GIFImageDecoder.h:
1586         * platform/image-decoders/gif/GIFImageReader.cpp:
1587         (GIFImageReader::output_row):
1588         (GIFImageReader::do_lzw):
1589         (GIFImageReader::read):
1590         * platform/image-decoders/gif/GIFImageReader.h:
1591
1592 2010-01-05  Yong Li  <yoli@rim.com>
1593
1594         Reviewed by Darin Adler.
1595
1596         Make PNG image decoder work with segmented SharedBuffer
1597         https://bugs.webkit.org/show_bug.cgi?id=33213
1598
1599         * platform/image-decoders/ImageDecoder.cpp:
1600         (WebCore::ImageDecoder::create):
1601         * platform/image-decoders/ImageDecoder.h:
1602         (WebCore::ImageDecoder::ImageDecoder):
1603         (WebCore::ImageDecoder::isAllDataReceived):
1604         (WebCore::ImageDecoder::setData):
1605         * platform/image-decoders/png/PNGImageDecoder.cpp:
1606         (WebCore::PNGImageReader::PNGImageReader):
1607         (WebCore::PNGImageReader::close):
1608         (WebCore::PNGImageReader::currentBufferSize):
1609         (WebCore::PNGImageReader::setComplete):
1610         (WebCore::PNGImageReader::decode):
1611         (WebCore::PNGImageDecoder::decode):
1612         (WebCore::PNGImageDecoder::headerAvailable):
1613         (WebCore::PNGImageDecoder::pngComplete):
1614
1615 2010-01-05  Adam Barth  <abarth@webkit.org>
1616
1617         Rubber stamped by Dimitri Glazkov.
1618
1619         Fix namespace indent for ScriptController.
1620
1621         * bindings/v8/ScriptController.h:
1622         (WebCore::ScriptController::proxy):
1623         (WebCore::ScriptController::windowShell):
1624         (WebCore::ScriptController::existingWindowShell):
1625         (WebCore::ScriptController::xssAuditor):
1626         (WebCore::ScriptController::setProcessingTimerCallback):
1627         (WebCore::ScriptController::setPaused):
1628         (WebCore::ScriptController::isPaused):
1629         (WebCore::ScriptController::sourceURL):
1630         (WebCore::ScriptController::evaluateInWorld):
1631
1632 2010-01-05  Rachel Petterson  <rlp@google.com>
1633
1634         Reviewed by Simon Fraser.
1635
1636         Implement most cases of texImage2D and texSubImage2D
1637         https://bugs.webkit.org/show_bug.cgi?id=31562
1638         
1639         This fix is with Chris Marrin  <cmarrin@apple.com>.
1640         Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
1641
1642         From Chris:
1643         This implements all cases except HTMLVideoElement. It changes
1644         the bindings to accept all parameter forms of the call. Then
1645         it plumbs the calls through WebGLRenderingContext down to
1646         GraphicsContext3D for the actual implementation.
1647
1648         From Rachel:
1649         This implements texImage2D for chromium. It also implements the V8
1650         bindings for texSubImage2D and updates the V8 bindings for texImage2D.
1651
1652         Tests: fast/canvas/webgl/texImage2DImageDataTest.html
1653                   fast/canvas/webgl/texImageTest.html
1654
1655         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1656         (WebCore::JSWebGLRenderingContext::texImage2D):
1657         (WebCore::JSWebGLRenderingContext::texSubImage2D):
1658         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1659         (WebCore::CALLBACK_FUNC_DECL):
1660         * html/canvas/WebGLRenderingContext.cpp:
1661         (WebCore::WebGLRenderingContext::texImage2D):
1662         (WebCore::WebGLRenderingContext::texSubImage2D):
1663         * html/canvas/WebGLRenderingContext.h:
1664         * html/canvas/WebGLRenderingContext.idl:
1665         * platform/graphics/GraphicsContext3D.h:
1666         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1667         (WebCore::imageToTexture):
1668         (WebCore::GraphicsContext3D::texImage2D):
1669         (WebCore::GraphicsContext3D::texSubImage2D):
1670
1671 2010-01-04  Brian Weinstein  <bweinstein@apple.com>
1672
1673         Reviewed by Tim Hatcher.
1674
1675         Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
1676         Web Inspector: Context Menus should be used in more places.
1677         
1678         Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
1679         we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
1680         breakpoints), but this is hard to discover and behaves differently than Xcode.
1681         
1682         Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
1683         removes it if there is one.
1684         
1685         On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
1686         Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
1687         the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
1688
1689         * English.lproj/localizedStrings.js: Added localized context menu entries.
1690         * inspector/front-end/SourceFrame.js:
1691         (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
1692         (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
1693         (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
1694
1695 2010-01-05  Chris Fleizach  <cfleizach@apple.com>
1696
1697         Reviewed by Eric Seidel.
1698
1699         AX: need a way to get the progress of a webpage load
1700         https://bugs.webkit.org/show_bug.cgi?id=33221
1701
1702         Test: platform/mac/accessibility/estimated-progress.html
1703
1704         * accessibility/AccessibilityObject.h:
1705         (WebCore::AccessibilityObject::estimatedLoadingProgress):
1706         * accessibility/AccessibilityRenderObject.cpp:
1707         (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
1708         * accessibility/AccessibilityRenderObject.h:
1709         * accessibility/mac/AccessibilityObjectWrapper.mm:
1710         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1711         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1712
1713 2010-01-05  Yael Aharon  <yael.aharon@nokia.com>
1714
1715         Reviewed by Kenneth Rohde Christiansen.
1716
1717         [Qt] Drag & drop layout tests fail even when run manually
1718         https://bugs.webkit.org/show_bug.cgi?id=33055
1719
1720         No new tests. Fix 3 layout tests when run manually.
1721         fast/events/drag-and-drop.html
1722         fast/events/drag-and-drop-dataTransfer-types-nocrash.html
1723         fast/events/drag-and-drop-fire-drag-dragover.html
1724         Running these tests in DRT will be fixed in 31332.
1725
1726         * page/qt/DragControllerQt.cpp:
1727         (WebCore::DragController::cleanupAfterSystemDrag):
1728         Cleanup the drag operation if it failed to complete,
1729         Otherwise, new drag operations will not be possible.
1730
1731 2010-01-05  Gustavo Noronha Silva <gns@gnome.org>
1732
1733         Reviewed by Xan Lopez.
1734
1735         Based on idea and original patch by Evan Martin.
1736
1737         Remove libWebCore intermediate library, to improve link time.
1738
1739         [GTK] Build time must be reduced
1740         https://bugs.webkit.org/show_bug.cgi?id=32921
1741
1742         * GNUmakefile.am:
1743
1744 2010-01-05  Nate Chapin  <japhet@chromium.org>
1745
1746         Reviewed by Adam Barth.
1747
1748         Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
1749         remove the v8-specific pieces.
1750
1751         https://bugs.webkit.org/show_bug.cgi?id=33182
1752
1753         * bindings/BindingSecurity.h:
1754         (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
1755         (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
1756         * bindings/v8/custom/V8AttrCustom.cpp:
1757         (WebCore::V8Attr::valueAccessorSetter):
1758         * bindings/v8/custom/V8CustomBinding.cpp:
1759         * bindings/v8/custom/V8CustomBinding.h:
1760         * bindings/v8/custom/V8ElementCustom.cpp:
1761         (WebCore::V8Element::setAttributeCallback):
1762         (WebCore::V8Element::setAttributeNodeCallback):
1763         (WebCore::V8Element::setAttributeNSCallback):
1764         (WebCore::V8Element::setAttributeNodeNSCallback):
1765         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1766         (WebCore::V8HTMLFrameElement::srcAccessorSetter):
1767         (WebCore::V8HTMLFrameElement::locationAccessorSetter):
1768         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1769         (WebCore::V8HTMLIFrameElement::srcAccessorSetter):
1770
1771 2010-01-05  Adam Barth  <abarth@webkit.org>
1772
1773         Reviewed by Dimitri Glazkov.
1774
1775         [V8] Separate DOMWrapperWorld from V8IsolatedWorld
1776         https://bugs.webkit.org/show_bug.cgi?id=33087
1777
1778         This change separate DOMWrapperWorld and IsolatedWorld from
1779         V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
1780         V8IsolatedContext in preparation for having more than one context in a
1781         single isolated world.
1782
1783         This patch moves us closer to two goals:
1784         1) Matching the structure of the JSC implementation of isolated worlds.
1785         2) Letting scripts running in isolated contexts see into other iframes
1786            (which requires having more than one context in an isolated world.)
1787
1788         * WebCore.gypi:
1789         * bindings/v8/DOMWrapperWorld.cpp: Added.
1790         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1791         (WebCore::mainThreadNormalWorld):
1792         * bindings/v8/DOMWrapperWorld.h: Added.
1793         (WebCore::DOMWrapperWorld::create):
1794         * bindings/v8/IsolatedWorld.cpp: Added.
1795         (WebCore::IsolatedWorld::IsolatedWorld):
1796         (WebCore::IsolatedWorld::~IsolatedWorld):
1797         * bindings/v8/IsolatedWorld.h: Added.
1798         (WebCore::IsolatedWorld::create):
1799         (WebCore::IsolatedWorld::count):
1800         (WebCore::IsolatedWorld::domDataStore):
1801         * bindings/v8/MainThreadDOMData.cpp:
1802         (WebCore::MainThreadDOMData::getMainThreadStore):
1803         * bindings/v8/ScriptController.cpp:
1804         (WebCore::ScriptController::currentScriptState):
1805         * bindings/v8/ScriptState.cpp:
1806         * bindings/v8/ScriptState.h:
1807         * bindings/v8/V8DOMWindowShell.cpp:
1808         * bindings/v8/V8DOMWrapper.cpp:
1809         (WebCore::V8DOMWrapper::instantiateV8Object):
1810         * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
1811         (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
1812         (WebCore::V8IsolatedContext::V8IsolatedContext):
1813         (WebCore::V8IsolatedContext::destroy):
1814         (WebCore::V8IsolatedContext::~V8IsolatedContext):
1815         (WebCore::V8IsolatedContext::scriptState):
1816         * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
1817         (WebCore::V8IsolatedContext::getEntered):
1818         (WebCore::V8IsolatedContext::world):
1819         * bindings/v8/V8IsolatedWorld.cpp: Removed.
1820         * bindings/v8/V8IsolatedWorld.h: Removed.
1821         * bindings/v8/V8Proxy.cpp:
1822         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1823         (WebCore::V8Proxy::context):
1824         * bindings/v8/V8Proxy.h:
1825         * bindings/v8/WorldContextHandle.cpp:
1826         (WebCore::WorldContextHandle::WorldContextHandle):
1827
1828 2010-01-05  Adam Barth  <abarth@webkit.org>
1829
1830         Reviewed by Dimitri Glazkov.
1831
1832         [V8] Move createWindow into generic bindings so it can be shared with JSC
1833         https://bugs.webkit.org/show_bug.cgi?id=33201
1834
1835         This patch moves createWindow from V8-specific code into the generic
1836         bindings so that is can be re-used by the JavaScriptCore bindings.  I
1837         haven't actually moved the JSC bindings over to using this yet.
1838
1839         Also, I organized the generic bindings a bit more as it's becoming
1840         clearer how things are going to shape up.  There are still some
1841         question marks, but hopefully the answers will become clear as we
1842         progress.
1843
1844         * WebCore.gyp/WebCore.gyp:
1845         * WebCore.gypi:
1846         * bindings/generic/BindingDOMWindow.h: Added.
1847         (WebCore::::createWindow):
1848         * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
1849         (WebCore::BindingSecurity::BindingSecurity):
1850         (WebCore::::canAccessWindow):
1851         (WebCore::::canAccessFrame):
1852         (WebCore::::checkNodeSecurity):
1853         * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
1854         (WebCore::BindingSecurityBase::getDOMWindow):
1855         (WebCore::BindingSecurityBase::getFrame):
1856         (WebCore::BindingSecurityBase::canAccess):
1857         * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
1858         * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
1859         (WebCore::):
1860         * bindings/v8/V8Binding.h:
1861         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1862         (WebCore::V8DOMWindow::showModalDialogCallback):
1863         (WebCore::V8DOMWindow::openCallback):
1864         * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
1865         (WebCore::V8BindingDOMWindow::storeDialogArgs):
1866         * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
1867         (WebCore::::Only):
1868         (WebCore::::getActiveWindow):
1869         (WebCore::::immediatelyReportUnsafeAccessTo):
1870         * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
1871         (WebCore::):
1872
1873 2010-01-05  Dominic Mazzoni  <dmazzoni@google.com>
1874
1875         Reviewed by Darin Adler.
1876
1877         https://bugs.webkit.org/show_bug.cgi?id=32571
1878
1879         For an object with an aria role of "checkbox" or "radiobutton",
1880         Use the "aria-checked" attribute to determine if it's checked.
1881
1882         Test: accessibility/aria-checkbox-checked.html
1883
1884         * accessibility/AccessibilityRenderObject.cpp:
1885         (WebCore::AccessibilityRenderObject::isChecked):
1886
1887 2010-01-05  Yong Li  <yoli@rim.com>
1888
1889         Reviewed by Adam Roben.
1890
1891         Fix  build warnings blindly
1892         https://bugs.webkit.org/show_bug.cgi?id=33178
1893
1894         * platform/SharedBuffer.cpp:
1895         * platform/SharedBuffer.h:
1896         (WebCore::SharedBuffer::append):
1897
1898 2010-01-05  Dan Bernstein  <mitz@apple.com>
1899
1900         Build fix
1901
1902         * platform/SharedBuffer.cpp:
1903
1904 2010-01-05  Yong Li  <yong.li@torchmobile.com>
1905
1906         Reviewed by Darin Adler.
1907
1908         Fix an obvious bug and build errors in previous commit (r52795)
1909         https://bugs.webkit.org/show_bug.cgi?id=33178
1910
1911         * platform/SharedBuffer.h:
1912         (WebCore::SharedBuffer::isEmpty):
1913         * platform/cf/SharedBufferCF.cpp:
1914         (WebCore::SharedBuffer::maybeTransferPlatformData):
1915
1916 2010-01-04  Yong Li  <yoli@rim.com>
1917
1918         Reviewed by Darin Adler.
1919
1920         Let SharedBuffer use a group of memory segments internally.
1921         It will merge the segments into a flat consecutive buffer only when
1922         necessary.
1923         https://bugs.webkit.org/show_bug.cgi?id=33178
1924
1925         * platform/SharedBuffer.cpp:
1926         (WebCore::allocateSegment):
1927         (WebCore::freeSegment):
1928         (WebCore::SharedBuffer::SharedBuffer):
1929         (WebCore::SharedBuffer::~SharedBuffer):
1930         (WebCore::SharedBuffer::adoptVector):
1931         (WebCore::SharedBuffer::size):
1932         (WebCore::SharedBuffer::data):
1933         (WebCore::SharedBuffer::append):
1934         (WebCore::SharedBuffer::clear):
1935         (WebCore::SharedBuffer::copy):
1936         (WebCore::SharedBuffer::buffer):
1937         (WebCore::SharedBuffer::getSomeData):
1938         * platform/SharedBuffer.h:
1939         * platform/cf/SharedBufferCF.cpp:
1940         (WebCore::SharedBuffer::maybeTransferPlatformData):
1941         * platform/haiku/SharedBufferHaiku.cpp:
1942         (WebCore::SharedBuffer::createWithContentsOfFile):
1943         * platform/qt/SharedBufferQt.cpp:
1944         (WebCore::SharedBuffer::createWithContentsOfFile):
1945         * platform/win/SharedBufferWin.cpp:
1946         (WebCore::SharedBuffer::createWithContentsOfFile):
1947
1948 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
1949
1950         Unreviewed trivial Symbian build fix
1951
1952         * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion
1953
1954 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
1955
1956         Reviewed by Tor Arne Vestbø.
1957
1958         [Qt] Fix broken export macros in package builds.
1959
1960         https://bugs.webkit.org/show_bug.cgi?id=33202
1961
1962         Always define QT_MAKEDLL unless we're doing a static
1963         build or we're building inside of Qt. When building
1964         inside of Qt the correct define is pulled from qbase.pri.
1965
1966         * WebCore.pro:
1967
1968 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
1969
1970         Reviewed by Darin Fisher.
1971
1972         Reorganize, document and rename OS() platform macros.
1973         https://bugs.webkit.org/show_bug.cgi?id=33198
1974
1975         Adapt to name changes. Also fixed a few incorrect OS checks.
1976
1977         * accessibility/AccessibilityObject.h:
1978         * config.h:
1979         * dom/SelectElement.cpp:
1980         (WebCore::SelectElement::listBoxDefaultEventHandler):
1981         * inspector/InspectorFrontendHost.cpp:
1982         (WebCore::InspectorFrontendHost::platform):
1983         * loader/CachedFont.cpp:
1984         * loader/FTPDirectoryDocument.cpp:
1985         * loader/FTPDirectoryParser.cpp:
1986         * page/EventHandler.cpp:
1987         * page/Frame.cpp:
1988         (WebCore::Frame::setUseSecureKeyboardEntry):
1989         * page/NavigatorBase.cpp:
1990         (WebCore::NavigatorBase::platform):
1991         * page/Page.h:
1992         * page/Settings.cpp:
1993         (WebCore::Settings::Settings):
1994         * page/Settings.h:
1995         * page/chromium/DragControllerChromium.cpp:
1996         (WebCore::DragController::isCopyKeyDown):
1997         * page/chromium/EventHandlerChromium.cpp:
1998         (WebCore::EventHandler::accessKeyModifiers):
1999         * page/win/EventHandlerWin.cpp:
2000         (WebCore::EventHandler::createDraggingClipboard):
2001         * platform/FileSystem.h:
2002         * platform/KeyboardCodes.h:
2003         * platform/PurgeableBuffer.h:
2004         * platform/chromium/ChromiumBridge.h:
2005         * platform/chromium/ClipboardChromium.cpp:
2006         (WebCore::ClipboardChromium::writeRange):
2007         * platform/chromium/ClipboardUtilitiesChromium.cpp:
2008         * platform/chromium/ClipboardUtilitiesChromium.h:
2009         * platform/chromium/PasteboardChromium.cpp:
2010         (WebCore::Pasteboard::writeSelection):
2011         (WebCore::Pasteboard::writePlainText):
2012         (WebCore::Pasteboard::documentFragment):
2013         * platform/chromium/PlatformKeyboardEventChromium.cpp:
2014         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2015         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2016         * platform/chromium/PopupMenuChromium.cpp:
2017         (WebCore::PopupListBox::layout):
2018         (WebCore::PopupMenu::show):
2019         * platform/graphics/BitmapImage.h:
2020         (WebCore::BitmapImage::mayFillWithSolidColor):
2021         * platform/graphics/FloatPoint.h:
2022         * platform/graphics/FloatRect.h:
2023         * platform/graphics/FloatSize.h:
2024         * platform/graphics/FontCache.cpp:
2025         (WebCore::alternateFamilyName):
2026         * platform/graphics/FontCache.h:
2027         * platform/graphics/FontFastPath.cpp:
2028         (WebCore::Font::glyphDataForCharacter):
2029         * platform/graphics/GlyphBuffer.h:
2030         (WebCore::GlyphBuffer::advanceAt):
2031         (WebCore::GlyphBuffer::add):
2032         * platform/graphics/Gradient.h:
2033         * platform/graphics/GraphicsContext.cpp:
2034         * platform/graphics/GraphicsContext.h:
2035         * platform/graphics/GraphicsContext3D.h:
2036         * platform/graphics/ImageSource.h:
2037         * platform/graphics/IntRect.h:
2038         * platform/graphics/MediaPlayer.cpp:
2039         * platform/graphics/Path.h:
2040         * platform/graphics/Pattern.h:
2041         * platform/graphics/SimpleFontData.h:
2042         * platform/graphics/cg/ColorCG.cpp:
2043         * platform/graphics/cg/GraphicsContextCG.cpp:
2044         * platform/graphics/chromium/FontCustomPlatformData.cpp:
2045         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2046         (WebCore::FontCustomPlatformData::fontPlatformData):
2047         (WebCore::createFontCustomPlatformData):
2048         * platform/graphics/chromium/FontCustomPlatformData.h:
2049         * platform/graphics/chromium/FontPlatformData.h:
2050         * platform/graphics/opentype/OpenTypeUtilities.cpp:
2051         * platform/graphics/opentype/OpenTypeUtilities.h:
2052         * platform/graphics/qt/GraphicsContextQt.cpp:
2053         (WebCore::GraphicsContext::getWindowsContext):
2054         * platform/graphics/qt/ImageQt.cpp:
2055         * platform/graphics/skia/GraphicsContextSkia.cpp:
2056         (WebCore::GraphicsContext::clipToImageBuffer):
2057         * platform/graphics/skia/ImageBufferSkia.cpp:
2058         (WebCore::ImageBuffer::ImageBuffer):
2059         * platform/graphics/skia/PlatformContextSkia.cpp:
2060         (PlatformContextSkia::State::State):
2061         (PlatformContextSkia::PlatformContextSkia):
2062         (PlatformContextSkia::save):
2063         (PlatformContextSkia::restore):
2064         * platform/graphics/skia/PlatformContextSkia.h:
2065         * platform/graphics/win/IconWin.cpp:
2066         (WebCore::Icon::createIconForFiles):
2067         (WebCore::Icon::paint):
2068         * platform/graphics/wx/GraphicsContextWx.cpp:
2069         * platform/gtk/FileSystemGtk.cpp:
2070         (WebCore::filenameToString):
2071         (WebCore::filenameFromString):
2072         (WebCore::filenameForDisplay):
2073         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2074         * platform/network/curl/ResourceHandleManager.cpp:
2075         * platform/network/soup/ResourceHandleSoup.cpp:
2076         (WebCore::):
2077         * platform/text/String.cpp:
2078         (WebCore::String::format):
2079         (WebCore::String::number):
2080         * platform/text/TextEncoding.cpp:
2081         (WebCore::TextEncoding::encode):
2082         * platform/text/TextEncodingRegistry.cpp:
2083         (WebCore::buildBaseTextCodecMaps):
2084         (WebCore::extendTextCodecMaps):
2085         * platform/text/TextStream.cpp:
2086         * platform/text/TextStream.h:
2087         * platform/text/qt/TextCodecQt.cpp:
2088         (WebCore::TextCodecQt::decode):
2089         * platform/win/PlatformMouseEventWin.cpp:
2090         (WebCore::messageToEventType):
2091         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2092         * platform/win/PlatformScreenWin.cpp:
2093         (WebCore::deviceInfoForWidget):
2094         (WebCore::screenIsMonochrome):
2095         * platform/win/PopupMenuWin.cpp:
2096         (WebCore::PopupMenu::show):
2097         (WebCore::PopupMenu::paint):
2098         (WebCore::PopupMenu::registerClass):
2099         (WebCore::PopupMenu::PopupMenuWndProc):
2100         (WebCore::PopupMenu::wndProc):
2101         * platform/win/SystemTimeWin.cpp:
2102         (WebCore::userIdleTime):
2103         * platform/wx/FileSystemWx.cpp:
2104         (WebCore::unloadModule):
2105         * plugins/PluginDatabase.cpp:
2106         * plugins/PluginPackage.cpp:
2107         (WebCore::PluginPackage::compareFileVersion):
2108         * plugins/PluginPackage.h:
2109         * plugins/PluginView.cpp:
2110         (WebCore::PluginView::setFrameRect):
2111         (WebCore::PluginView::stop):
2112         (WebCore::PluginView::PluginView):
2113         * plugins/PluginView.h:
2114         * plugins/win/PluginDatabaseWin.cpp:
2115         (WebCore::addWindowsMediaPlayerPluginDirectory):
2116         (WebCore::addMacromediaPluginDirectories):
2117         * plugins/win/PluginPackageWin.cpp:
2118         (WebCore::PluginPackage::load):
2119         * plugins/win/PluginViewWin.cpp:
2120         (WebCore::registerPluginView):
2121         (WebCore::PluginView::wndProc):
2122         (WebCore::PluginView::updatePluginWidget):
2123         (WebCore::PluginView::paintIntoTransformedContext):
2124         (WebCore::PluginView::paintWindowedPluginIntoContext):
2125         (WebCore::PluginView::paint):
2126         (WebCore::PluginView::handleMouseEvent):
2127         (WebCore::PluginView::setParent):
2128         (WebCore::PluginView::setNPWindowRect):
2129         (WebCore::PluginView::platformStart):
2130
2131 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
2132
2133         Reviewed by Darin Adler.
2134
2135         Add ARIA "Live Region" support
2136         https://bugs.webkit.org/show_bug.cgi?id=33117
2137
2138         Tests: platform/mac/accessibility/aria-liveregions-attributes.html
2139                platform/mac/accessibility/aria-liveregions-notifications.html
2140
2141         * accessibility/AXObjectCache.cpp:
2142         (WebCore::AXObjectCache::contentChanged):
2143         * accessibility/AXObjectCache.h:
2144         (WebCore::AXObjectCache::):
2145         * accessibility/AccessibilityObject.cpp:
2146         (WebCore::AccessibilityObject::isChildOfARIALiveRegion):
2147         (WebCore::AccessibilityObject::supportsARIALiveRegion):
2148         * accessibility/AccessibilityObject.h:
2149         (WebCore::AccessibilityObject::contentChanged):
2150         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
2151         (WebCore::AccessibilityObject::ariaLiveRegionRelevant):
2152         (WebCore::AccessibilityObject::ariaLiveRegionAtomic):
2153         (WebCore::AccessibilityObject::ariaLiveRegionBusy):
2154         * accessibility/AccessibilityRenderObject.cpp:
2155         (WebCore::AccessibilityRenderObject::elementAttributeValue):
2156         (WebCore::AccessibilityRenderObject::contentChanged):
2157         (WebCore::AccessibilityRenderObject::childrenChanged):
2158         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
2159         (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
2160         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
2161         (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy):
2162         * accessibility/AccessibilityRenderObject.h:
2163         (WebCore::AccessibilityRenderObject::areChildrenDirty):
2164         * accessibility/mac/AXObjectCacheMac.mm:
2165         (WebCore::AXObjectCache::postPlatformNotification):
2166         * accessibility/mac/AccessibilityObjectWrapper.h:
2167         * accessibility/mac/AccessibilityObjectWrapper.mm:
2168         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2169         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2170         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]):
2171         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
2172         * dom/Element.cpp:
2173         (WebCore::Element::updateAfterAttributeChanged):
2174         * html/HTMLAttributeNames.in:
2175         * rendering/RenderText.cpp:
2176         (WebCore::RenderText::setText):
2177
2178 2010-01-04  Chris Evans  <cevans@chromium.org>
2179
2180         Reviewed by Adam Barth.
2181
2182         Adopt a more conservative approach for loading CSS cross-origin. When
2183         loading CSS cross-origin, it must be start with valid CSS if the MIME
2184         type is broken.
2185
2186         https://bugs.webkit.org/show_bug.cgi?id=29820
2187
2188         Test: http/tests/security/cross-origin-css.html
2189         Test: http/tests/security/cross-origin-css-in-xml.xml
2190
2191         * html/HTMLLinkElement.cpp:
2192         (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load
2193         requirements for cross-origin loads.
2194         * css/CSSImportRule.cpp:
2195         (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load
2196         requirements for cross-origin loads.
2197         * css/CSSStyleSheet.h:
2198         * css/CSSStyleSheet.cpp:
2199         * css/CSSParser.cpp:
2200         * css/CSSGrammar.y:
2201         * css/CSSParser.h:
2202         Add ability to tell whether the CSS parse started with a syntactically
2203         valid CSS rule.
2204         * loader/CachedCSSStyleSheet.h:
2205         * loader/CachedCSSStyleSheet.cpp:
2206         (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return
2207         whether the MIME type was acceptable for CSS.
2208         (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return
2209         whether the MIME type was valid or not.
2210         * dom/ProcessingInstruction.cpp
2211         (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict
2212         mode explicit and add comment.
2213
2214 2010-01-04  Dan Bernstein  <mitz@apple.com>
2215
2216         Reviewed by Simon Fraser.
2217
2218         <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly
2219         <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds
2220
2221         Test: accessibility/dimensions-include-descendants.html
2222
2223         * accessibility/AccessibilityRenderObject.cpp:
2224         (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads()
2225         for non-text renderers. The focus ring encompasses descendants, which is
2226         what we want for the accessibility indicator.
2227         * rendering/RenderObject.cpp:
2228         (WebCore::RenderObject::absoluteFocusRingQuads): Added.
2229         * rendering/RenderObject.h:
2230
2231 2010-01-04  Ojan Vafai  <ojan@ojanmacpro.sfo.corp.google.com>
2232
2233         Reviewed by Dan Bernstein.
2234
2235         Remove unnecessary division by a constant in SimpleFontDataMac.mm.
2236         https://bugs.webkit.org/show_bug.cgi?id=33189
2237
2238         This was added in http://trac.webkit.org/changeset/8104 and seems like
2239         it was just there to match the previously private function which we no
2240         longer use.
2241
2242         No new tests. No change in behavior.
2243
2244         * platform/graphics/mac/SimpleFontDataMac.mm:
2245
2246 2010-01-04  Darin Adler  <darin@apple.com>
2247
2248         Reviewed by Maciej Stachowiak.
2249
2250         Selection-related code needs stricter rules about how it relates to layout
2251         https://bugs.webkit.org/show_bug.cgi?id=32882
2252
2253         Covered by existing tests along with the new assertions.
2254
2255         * dom/Document.cpp:
2256         (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
2257         already false by the time post-attach callbacks are done so that
2258         layout triggered inside those callbacks can work properly.
2259
2260         * editing/SelectionController.cpp:
2261         (WebCore::SelectionController::layout): Added code to trigger a
2262         layout when it's needed.
2263         (WebCore::SelectionController::recomputeCaretRect): Removed unneeded
2264         code to do nothing when FrameView is 0. Added an assertion that layout
2265         is not needed at the time the function is called.
2266         (WebCore::SelectionController::invalidateCaretRect): Added code to
2267         trigger a layout when it's needed.
2268         (WebCore::SelectionController::paintCaret): Added an assertion that
2269         layout is not needed at the time the function is called.
2270
2271         * html/HTMLFormControlElement.cpp:
2272         (WebCore::shouldAutofocus): Added. Helper function that expresses
2273         the rule for which form control elements should auto-focus.
2274         (WebCore::focusPostAttach): Added. Called post-attach to focus an
2275         element if we discover it should be focused during attach.
2276         (WebCore::HTMLFormControlElement::attach): Refactored code for
2277         which elements need auto-focus into a separate function. Instead
2278         of focusing right away, use the focusPostAttach function to focus
2279         after attach is done. Also added calls to suspendPostAttachCallbacks
2280         and resumePostAttachCallbacks so post-attach callbacks happen late
2281         enough. Before, they could run inside the base attach function.
2282
2283         * html/HTMLInputElement.cpp:
2284         (WebCore::HTMLInputElement::attach): Added calls to
2285         suspendPostAttachCallbacks and resumePostAttachCallbacks so
2286         post-attach callbacks happen late enough
2287
2288         * page/Frame.cpp:
2289         (WebCore::Frame::revealSelection): Added code to trigger a layout
2290         when it's needed.
2291
2292 2010-01-04  Gavin Barraclough <barraclough@apple.com>
2293
2294         Reviewed by Sam Weinig.
2295
2296         https://bugs.webkit.org/show_bug.cgi?id=33163
2297         Use WTF's string hashing functions from StringImpl.
2298
2299         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
2300         * platform/text/StringHash.h:
2301         * platform/text/StringImpl.h:
2302         (WebCore::StringImpl::computeHash):
2303
2304 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
2305
2306         Qt build fix. Unreviewed.
2307
2308         * accessibility/AXObjectCache.h:
2309         (WebCore::AXObjectCache::postNotification):
2310
2311 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
2312
2313         MSAA: <select> elements should broadcast value change events
2314
2315         https://bugs.webkit.org/show_bug.cgi?id=33088
2316
2317         <rdar://problem/7332364>
2318
2319         Reviewed by Darin Adler.
2320
2321         * accessibility/AXObjectCache.cpp:
2322         (WebCore::AXObjectCache::postNotification):
2323         If the post type is async, follow the old code path; otherwise, call
2324         postPlatformNotification().
2325
2326         * accessibility/AXObjectCache.h:
2327         (WebCore::AXObjectCache::):
2328         Added a new accessibility notification, AXMenuListValueChanged. Added
2329         a new parameter to postNotification() to specify whether the post should
2330         be synchronous or asynchronous.
2331
2332         * accessibility/win/AXObjectCacheWin.cpp:
2333         (WebCore::AXObjectCache::postPlatformNotification):
2334         If the WebCore notification is AXMenuListValueChanged, broadcast an
2335         EVENT_OBJECT_VALUECHANGE event.
2336
2337         * dom/SelectElement.cpp:
2338         (WebCore::SelectElement::setSelectedIndex):
2339         When the selected index of a RenderMenuList is changed, call
2340         RenderMenuList::didSetSelectedIndex().
2341
2342         * rendering/RenderMenuList.cpp:
2343         (WebCore::RenderMenuList::RenderMenuList):
2344         Initialize new member
2345         (WebCore::RenderMenuList::didSetSelectedIndex):
2346         If the selected index has changed, post AXMenuListValueChanged to the
2347         object synchronously.
2348
2349         * rendering/RenderMenuList.h:
2350         Declare didSetSelectedIndex(), and add a member to hold the last
2351         selected index.
2352
2353 2010-01-04  Darin Adler  <darin@apple.com>
2354
2355         Reviewed by Sam Weinig.
2356
2357         Added missing null check in BarInfo code.
2358
2359         Test: fast/dom/Window/BarInfo-after-frame-removed.html
2360
2361         * page/BarInfo.cpp:
2362         (WebCore::BarInfo::visible): Added null check. A few other
2363         cleanups.
2364
2365 2010-01-04  Mark Rowe  <mrowe@apple.com>
2366
2367         Rubber-stamped by Jon Honeycutt.
2368
2369         Delete an empty and unused JavaScript file.
2370
2371         * WebCore.vcproj/WebCore.vcproj:
2372         * inspector/front-end/InspectorControllerStub.js: Removed.
2373
2374 2010-01-04  Kevin Ollivier  <kevino@theolliviers.com>
2375
2376         [wx] Build fix, add a couple include dirs to the build.
2377
2378         * wscript:
2379
2380 2010-01-04  Dan Bernstein  <mitz@apple.com>
2381
2382         Windows build fix
2383
2384         * page/FrameView.cpp:
2385         (WebCore::FrameView::layout):
2386
2387 2010-01-04  Simon Fraser  <simon.fraser@apple.com>
2388
2389         Reviewed by Dan Bernstein.
2390
2391         Repaint issues in text input under a scale transform
2392         https://bugs.webkit.org/show_bug.cgi?id=32086
2393         
2394         When doing a subtree layout we have to look up the container chain to see if there
2395         are any properties, such as transforms or reflections, that mean that we are unable
2396         to use layoutState.
2397
2398         Test: fast/repaint/subtree-layoutstate-transform.html
2399
2400         * page/FrameView.cpp:
2401         (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine
2402         whether it's OK to use layoutState.
2403         
2404         * rendering/RenderView.h:
2405         * rendering/RenderView.cpp:
2406         (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's
2407         OK to use layoutState when doing a subtree layout from the given root.
2408
2409 2010-01-04  Darin Adler  <darin@apple.com>
2410
2411         Reviewed by Dan Bernstein.
2412
2413         Reentrancy problem with selection in some edge cases.
2414         https://bugs.webkit.org/show_bug.cgi?id=32842
2415         rdar://problem/7449974
2416
2417         Test: fast/forms/selection-layout-reentry-strange-case.html
2418
2419         Move the selection display update process done in the
2420         selectionLayoutChanged function into the layout timer
2421         instead of doing it immediately when selection changes occur.
2422
2423         * dom/Document.cpp:
2424         (WebCore::Document::updateLayout): Changed this to use the
2425         definition of needsLayout from FrameView rather than rolling
2426         its own.
2427
2428         * editing/SelectionController.cpp:
2429         (WebCore::SelectionController::SelectionController):
2430         Initialize m_needsDisplayUpdate to false.
2431         (WebCore::SelectionController::setSelection): Call
2432         the new setNeedsDisplayUpdate function instead of the old
2433         badly named Frame::selectionLayoutChanged function.
2434         (WebCore::SelectionController::setNeedsDisplayUpdate):
2435         Set m_needsDisplayUpdate. If it is just becoming true, then
2436         call FrameView::scheduleRelayout.
2437
2438         * editing/SelectionController.h: Added setNeedsDisplayUpdate,
2439         needsDisplayUpdate, and m_needsDisplayUpdate.
2440
2441         * page/Frame.cpp:
2442         (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
2443         (WebCore::Frame::selectionLayoutChanged): Call
2444         setNeedsDisplayUpdate to set it to false, since this is the
2445         function that performs "selection display update". Later I want
2446         to rename this function. Also added a global reentrancy check
2447         since that's the easiest way I could think of to prevent infinite
2448         recursion in the case where recomputeCaretRect ends up triggering
2449         a layout. As a side effect, fixed theoretical problems in
2450         TEXT_CARET builds by improving the ifdef.
2451         (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a
2452         bit. Later we might want to decouple caret rect from caret state
2453         a bit more and add these assertions back.
2454         (WebCore::Frame::selectionBounds): Call Document::updateLayout.
2455         This function is for external clients and they do not currently
2456         do anything to make sure layout is up to date.
2457
2458         * page/FrameView.cpp:
2459         (WebCore::FrameView::needsLayout): Add a new clause, since
2460         we need a call to layout if needsDisplayUpdate is true.
2461
2462 2010-01-04  Brent Fulgham  <bfulgham@webkit.org>
2463
2464         Reviewed by Adam Roben.
2465
2466         Correct debug assertion (and possible runtime errors) by
2467         checking validity of bitmap settings used to create
2468         the Windows Cairo contexts.
2469         https://bugs.webkit.org/show_bug.cgi?id=33164.
2470
2471         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2472         (WebCore::createCairoContextWithHDC): Check validity of selected
2473           OBJ_BITMAP retrieved, and only create 32-bit context when
2474           a valid bitmap is provided.
2475
2476 2010-01-04  Dmitry Titov  <dimich@chromium.org>
2477
2478         Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC.
2479         Patch produced by 'git revert' and then reverting back ChangeLog files.
2480
2481         * Android.mk:
2482         * GNUmakefile.am:
2483         * WebCore.gypi:
2484         * WebCore.pro:
2485         * WebCore.vcproj/WebCore.vcproj:
2486         * WebCore.xcodeproj/project.pbxproj:
2487         * page/FrameView.cpp:
2488         (WebCore::FrameView::layout):
2489         * rendering/RenderPath.cpp:
2490         (WebCore::RenderPath::repaintRectInLocalCoordinates):
2491         (WebCore::RenderPath::setPath):
2492         (WebCore::RenderPath::path):
2493         (WebCore::RenderPath::paint):
2494         (WebCore::):
2495         (WebCore::DrawMarkersData::DrawMarkersData):
2496         (WebCore::drawMarkerWithData):
2497         (WebCore::updateMarkerDataForElement):
2498         (WebCore::drawStartAndMidMarkers):
2499         (WebCore::RenderPath::drawMarkersIfNeeded):
2500         * rendering/RenderPath.h:
2501         (WebCore::RenderPath::markerBoundingBox):
2502         * rendering/RenderSVGContainer.h:
2503         * rendering/RenderSVGViewportContainer.cpp:
2504         (WebCore::RenderSVGViewportContainer::paint):
2505         * rendering/RenderSVGViewportContainer.h:
2506         * rendering/SVGMarkerData.h: Removed.
2507         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
2508         * rendering/SVGMarkerLayoutInfo.h: Removed.
2509         * svg/SVGMarkerElement.cpp:
2510         (WebCore::SVGMarkerElement::canvasResource):
2511         * svg/graphics/SVGResource.cpp:
2512         (WebCore::SVGResource::SVGResource):
2513         (WebCore::ResourceSet::ResourceSet):
2514         (WebCore::clientMap):
2515         (WebCore::SVGResource::~SVGResource):
2516         (WebCore::SVGResource::removeClient):
2517         (WebCore::SVGResource::addClient):
2518         * svg/graphics/SVGResourceMarker.cpp:
2519         (WebCore::SVGResourceMarker::SVGResourceMarker):
2520         (WebCore::SVGResourceMarker::setMarker):
2521         (WebCore::SVGResourceMarker::setRef):
2522         (WebCore::SVGResourceMarker::draw):
2523         (WebCore::SVGResourceMarker::cachedBounds):
2524         (WebCore::SVGResourceMarker::externalRepresentation):
2525         * svg/graphics/SVGResourceMarker.h:
2526         (WebCore::SVGResourceMarker::refX):
2527         (WebCore::SVGResourceMarker::refY):
2528
2529 2010-01-04  Dan Bernstein  <mitz@apple.com>
2530
2531         Reviewed by Ada Chan and Mark Rowe.
2532
2533         Updated copyright string
2534
2535         * Info.plist:
2536         * WebCore.vcproj/QTMovieWin.rc:
2537
2538 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
2539
2540         Reviewed by Darin Adler.
2541
2542         AX: any DIV with an aria role should not be ignored
2543         https://bugs.webkit.org/show_bug.cgi?id=33090
2544
2545         Test: platform/mac/accessibility/aria-divs-not-ignored.html
2546
2547         * accessibility/AccessibilityRenderObject.cpp:
2548         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2549
2550 2010-01-04  Nate Chapin  <japhet@chromium.org>
2551
2552         Reviewed by Dimitri Glazkov.
2553
2554         Generate declarations for V8 runtime enablers.
2555
2556         https://bugs.webkit.org/show_bug.cgi?id=33156
2557
2558         * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations.
2559         * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers.
2560         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2561         * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used.
2562         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2563
2564 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
2565
2566         Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build.
2567
2568         * WebCore.gypi:
2569
2570 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
2571
2572         Reviewed by Dirk Schulze.
2573
2574         Marker code is buggy: referencePoint translation is off
2575         https://bugs.webkit.org/show_bug.cgi?id=33012
2576
2577         Rewrite marker code, as it had many issues:
2578         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
2579         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
2580         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
2581         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
2582           can have three different resources of the same type (three markers, start/mid/end markers)
2583
2584         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
2585
2586         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
2587         Test: svg/custom/marker-referencePoint.svg
2588               svg/custom/marker-opacity.svg
2589
2590         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
2591         * GNUmakefile.am: Ditto.
2592         * WebCore.pro: Ditto.
2593         * WebCore.vcproj/WebCore.vcproj: Ditto.
2594         * WebCore.xcodeproj/project.pbxproj: Ditto.
2595         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
2596         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
2597         * rendering/RenderPath.cpp:
2598         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
2599         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
2600         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
2601         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
2602         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
2603         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
2604         (WebCore::RenderPath::path): Inline this accessor.
2605         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
2606         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
2607         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
2608         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
2609         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
2610         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
2611         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
2612         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
2613         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
2614         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
2615         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
2616         (WebCore::SVGMarkerData::updateOutslope): Ditto.
2617         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
2618         (WebCore::SVGMarkerData::updateInslope): Helper method.
2619         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
2620         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
2621         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
2622         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
2623         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
2624         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
2625         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
2626         * rendering/SVGMarkerLayoutInfo.h: Added.
2627         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
2628         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
2629         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
2630         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
2631         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
2632         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
2633         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
2634                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
2635                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
2636                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
2637         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
2638         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
2639         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
2640         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
2641         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
2642         * svg/graphics/SVGResourceMarker.cpp:
2643         (WebCore::SVGResourceMarker::SVGResourceMarker):
2644         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
2645         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
2646         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
2647         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
2648         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
2649         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
2650         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
2651
2652 2010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>
2653
2654         Reviewed by Tor Arne Vestbø.
2655
2656         [Qt] Fix standalone package builds.
2657
2658         * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds.
2659
2660 2010-01-04  Yongjun Zhang  <yongjun.zhang@nokia.com>
2661
2662         Reviewed by Laszlo Gombos.
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=29048
2665         [Qt] make RenderStyle.h compile in winscw compiler.
2666
2667         Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 
2668         error when compareEqual is defined as template.
2669
2670         The compiler bug is reported at:
2671         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447
2672
2673         * rendering/style/RenderStyle.h:
2674
2675 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
2676
2677         Reviewed by Simon Hausmann.
2678
2679         Fix some PLATFORM(*_ENDIAN) uses to CPU()
2680         https://bugs.webkit.org/show_bug.cgi?id=33148
2681
2682         * platform/image-decoders/bmp/BMPImageReader.h:
2683         (WebCore::BMPImageReader::readUint16):
2684         (WebCore::BMPImageReader::readUint32):
2685         (WebCore::BMPImageReader::readCurrentPixel):
2686
2687 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
2688
2689         Reviewed by Adam Barth.
2690
2691         Reorganize, document and rename CPU() platform macros.
2692         https://bugs.webkit.org/show_bug.cgi?id=33145
2693
2694         * page/NavigatorBase.cpp:
2695         * platform/text/AtomicString.cpp:
2696         (WebCore::equal):
2697         * platform/text/StringHash.h:
2698         (WebCore::StringHash::equal):
2699
2700 2009-12-22  Philippe Normand  <pnormand@igalia.com>
2701
2702         Reviewed by Eric Seidel.
2703
2704         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
2705         https://bugs.webkit.org/show_bug.cgi?id=32661
2706
2707         Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't
2708         complain about NULL usage in g_object_{get,set} anymore.
2709
2710         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2711         (WebCore::MediaPlayerPrivate::hasVideo):
2712         (WebCore::MediaPlayerPrivate::hasAudio):
2713         (WebCore::MediaPlayerPrivate::setVolume):
2714         (WebCore::MediaPlayerPrivate::setRate):
2715         (WebCore::MediaPlayerPrivate::updateStates):
2716         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
2717
2718 2010-01-04  Alex Milowski  <alex@milowski.com>
2719
2720         Reviewed by Eric Seidel.
2721
2722         Updated license to match recommended header license.
2723
2724         * mathml/MathMLElement.cpp:
2725         * mathml/MathMLElement.h:
2726         * mathml/MathMLInlineContainerElement.cpp:
2727         * mathml/MathMLInlineContainerElement.h:
2728         * mathml/MathMLMathElement.cpp:
2729         * mathml/MathMLMathElement.h:
2730
2731 2010-01-04  Dirk Schulze  <krit@webkit.org>
2732
2733         Reviewed by Nikolas Zimmermann.
2734
2735         SVGResources don't invalidate if target object changes attributes
2736         https://bugs.webkit.org/show_bug.cgi?id=33091
2737
2738         It's neccessary to invalidate all resources of an object, if the attributes of this
2739         target change. Otherwise the saved resource data (like ImageBuffers) don't match
2740         to the new object properties. 
2741
2742         Test: svg/custom/resource-invalidate-on-target-update.svg
2743
2744         * svg/SVGStyledElement.cpp:
2745         (WebCore::SVGStyledElement::svgAttributeChanged):
2746         (WebCore::SVGStyledElement::invalidateResources):
2747         * svg/SVGStyledElement.h:
2748
2749 2010-01-03  Kenneth Russell  <kbr@google.com>
2750
2751         Reviewed by Maciej Stachowiak.
2752
2753         Index validation code must always copy client data
2754         https://bugs.webkit.org/show_bug.cgi?id=32748
2755
2756         Client data must always be copied during bufferData and
2757         bufferSubData calls, because otherwise the data the GL uses to
2758         draw may differ from that checked by the index validation code.
2759
2760         Test: fast/canvas/webgl/index-validation-copies-indices.html
2761
2762         * html/canvas/WebGLBuffer.cpp:
2763         (WebCore::WebGLBuffer::WebGLBuffer):
2764         (WebCore::WebGLBuffer::associateBufferData):
2765         (WebCore::WebGLBuffer::associateBufferSubData):
2766         * html/canvas/WebGLBuffer.h:
2767
2768 2010-01-03  Adam Barth  <abarth@webkit.org>
2769
2770         Reviewed by Eric Seidel.
2771
2772         [Chromium] Implement CookieJarChromium::cookiesEnabled
2773         https://bugs.webkit.org/show_bug.cgi?id=33123
2774
2775         Call out to ChromiumBridge to find out if cookies are enabled.
2776
2777         * platform/chromium/ChromiumBridge.h:
2778         * platform/network/chromium/CookieJarChromium.cpp:
2779         (WebCore::cookiesEnabled):
2780
2781 2010-01-03  Adam Barth  <abarth@webkit.org>
2782
2783         Reviewed by Eric Seidel.
2784
2785         [Chromium] Remove evaluateInNewContext (it's useless)
2786         https://bugs.webkit.org/show_bug.cgi?id=33068
2787
2788         This function has no clients and makes life complicated.  Isolated
2789         worlds won out over NewContext and there's not really any going back
2790         now.
2791
2792         No new tests because this is all minus lines.
2793
2794         * bindings/v8/ScriptController.cpp:
2795         * bindings/v8/ScriptController.h:
2796         * bindings/v8/V8DOMWrapper.cpp:
2797         (WebCore::V8DOMWrapper::convertWindowToV8Object):
2798         * bindings/v8/V8Proxy.cpp:
2799         * bindings/v8/V8Proxy.h:
2800
2801 2010-01-03  Sam Weinig  <sam@webkit.org>
2802
2803         Rubber-stamped by Dan Bernstein.
2804
2805         Remove out of date commented out attributes in IDLs. We have implemented onpopstate.
2806
2807         * html/HTMLBodyElement.idl:
2808         * html/HTMLFrameSetElement.idl:
2809         * page/DOMWindow.idl:
2810
2811 2010-01-03  Dirk Schulze  <krit@webkit.org>
2812
2813         Reviewed by Nikolas Zimmermann.
2814
2815         Mark more filter effect as alphaImage if possible
2816         https://bugs.webkit.org/show_bug.cgi?id=33111
2817
2818         Mark more effects as alphaImage if the previous effect is a
2819         alphaImage. This can reduce the calculation on the next effect
2820         like feGaussianBlur.
2821         
2822         Test: This changes don't affect any LayoutTests and can't be tested
2823               somehow, since the changes are 'invisible'.
2824
2825         * platform/graphics/filters/FEColorMatrix.cpp:
2826         (WebCore::FEColorMatrix::apply):
2827         * svg/graphics/filters/SVGFEMorphology.cpp:
2828         (WebCore::FEMorphology::apply):
2829         * svg/graphics/filters/SVGFEOffset.cpp:
2830         (WebCore::FEOffset::apply):
2831         * svg/graphics/filters/SVGFETile.cpp:
2832         (WebCore::FETile::apply):
2833
2834 2010-01-01  Simon Fraser  <simon.fraser@apple.com>
2835
2836         Reviewed by Dan Bernstein.
2837
2838         Scrollbar of overflow:scroll div in compositing layer fails to render
2839         https://bugs.webkit.org/show_bug.cgi?id=32439
2840         
2841         When deciding whether a RenderLayer needs backing store, check whether it has
2842         overflow controls that need painting.
2843
2844         Test: compositing/overflow/scrollbar-painting.html
2845
2846         * rendering/RenderLayer.cpp:
2847         (WebCore::RenderLayer::hasOverflowControls):
2848         * rendering/RenderLayer.h:
2849         * rendering/RenderLayerBacking.cpp:
2850         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2851
2852 2009-12-31  Christian Dywan  <christian@twotoasts.de>
2853
2854         Reviewed by Gustavo Noronha Silva.
2855
2856         [GTK] context menu overriding API is very limited
2857         https://bugs.webkit.org/show_bug.cgi?id=27546
2858
2859         Only show font menu items in rich text areas in the GTK+ port.
2860
2861         * platform/ContextMenu.cpp:
2862         (WebCore::ContextMenu::populate):
2863
2864 2009-12-31  Christian Dywan  <christian@twotoasts.de>
2865
2866         Reviewed by Gustavo Noronha Silva.
2867
2868         [GTK] context menu overriding API is very limited
2869         https://bugs.webkit.org/show_bug.cgi?id=27546
2870
2871         Don't show spell checking menu items in text areas in the GTK+ port.
2872
2873         * platform/ContextMenu.cpp:
2874         (WebCore::ContextMenu::populate):
2875
2876 2009-12-31  Dan Bernstein  <mitz@apple.com>
2877
2878         Reviewed by Simon Fraser.
2879
2880         <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
2881         https://bugs.webkit.org/show_bug.cgi?id=33067
2882
2883         Test: fast/repaint/table-cell-overflow.html
2884
2885         * rendering/RenderTableCell.h:
2886         (WebCore::RenderTableCell::hasVisibleOverflow): Added.
2887         * rendering/RenderTableSection.cpp:
2888         (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
2889         any cell has visible overflow, like it was before r47440.
2890
2891 2009-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2892
2893         Reviewed by Kenneth Rohde Christiansen.
2894
2895         Do not include Frame.h under WebCore/html/canvas
2896         https://bugs.webkit.org/show_bug.cgi?id=33082
2897
2898         No new tests, as there is no new functionality.
2899
2900         * html/canvas/CanvasRenderingContext2D.cpp:
2901
2902 2009-12-30  Darin Fisher  <darin@chromium.org>
2903
2904         Reviewed by David Levin.
2905
2906         [Chromium] Delete ResourceRequest::securityInfo
2907         https://bugs.webkit.org/show_bug.cgi?id=26847
2908
2909         * platform/network/chromium/ResourceRequest.h:
2910
2911 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2912
2913         Reviewed by Adam Barth.
2914
2915         Remove unused code from V8DOMWrapper.
2916
2917         * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used.
2918         * bindings/v8/V8DOMWrapper.h: Ditto.
2919
2920 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2921
2922         Reviewed by Adam Barth.
2923
2924         [V8] Generate configuring undetectable collection.
2925         https://bugs.webkit.org/show_bug.cgi?id=33063
2926
2927         Refactoring, covered by existing tests.
2928
2929         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined.
2930         * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy.
2931         * bindings/v8/V8DOMWrapper.cpp:
2932         (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring.
2933
2934 2009-12-30  Zelidrag Hornung  <zelidrag@chromium.org>
2935
2936         Reviewed by Dimitri Glazkov.
2937
2938         Added ability for PopupMenuClient to signal when
2939         a) selection changed, and
2940         b) weather suggested value should be accepted when popup menu closes
2941
2942         No new tests since this new functionality (autocomplete suggestions)
2943         is intentionally hidden from everything else than renderer.
2944
2945         * platform/PopupMenuClient.h:
2946         * platform/chromium/PopupMenuChromium.cpp:
2947         (WebCore::PopupContainer::hidePopup):
2948         (WebCore::PopupListBox::handleKeyEvent):
2949         (WebCore::PopupListBox::abandon):
2950         (WebCore::PopupListBox::acceptIndex):
2951         (WebCore::PopupListBox::selectIndex):
2952         (WebCore::PopupListBox::clearSelection):
2953         (WebCore::PopupListBox::hidePopup):
2954         * platform/gtk/PopupMenuGtk.cpp:
2955         (WebCore::PopupMenu::menuUnmapped):
2956         * platform/mac/PopupMenuMac.mm:
2957         (WebCore::PopupMenu::show):
2958         * platform/qt/QtFallbackWebPopup.cpp:
2959         (WebCore::QtFallbackWebPopup::hidePopup):
2960         * platform/win/PopupMenuWin.cpp:
2961         (WebCore::PopupMenu::hide):
2962         * platform/wx/PopupMenuWx.cpp:
2963         (WebCore::PopupMenu::OnMenuItemSelected):
2964         * rendering/RenderMenuList.cpp:
2965         (WebCore::RenderMenuList::popupDidHide):
2966         * rendering/RenderMenuList.h:
2967         (WebCore::RenderMenuList::selectionChanged):
2968         * rendering/RenderTextControlSingleLine.cpp:
2969         (WebCore::RenderTextControlSingleLine::popupDidHide):
2970         * rendering/RenderTextControlSingleLine.h:
2971         (WebCore::RenderTextControlSingleLine::selectionChanged):
2972
2973 2009-12-30  Nate Chapin  <japhet@chromium.org>
2974
2975         Reviewed by Dimitri Glazkov.
2976
2977         Auto-generate V8 bindings header declarations for
2978         property accessor getter/setters, and remove a couple of
2979         unnecessarily custom bindings that weren't properly declared
2980         custom anyway.
2981
2982         * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp.
2983         * WebCore.gypi: Remove V8NavigatorCustom.cpp.
2984         * bindings/scripts/CodeGeneratorV8.pm:
2985         * bindings/v8/V8DOMWrapper.cpp:
2986         * bindings/v8/custom/V8AttrCustom.cpp:
2987         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2988         * bindings/v8/custom/V8ClipboardCustom.cpp:
2989         * bindings/v8/custom/V8CoordinatesCustom.cpp:
2990         * bindings/v8/custom/V8CustomBinding.cpp:
2991         * bindings/v8/custom/V8CustomBinding.h:
2992         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2993         * bindings/v8/custom/V8DocumentCustom.cpp:
2994         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2995         * bindings/v8/custom/V8EventCustom.cpp:
2996         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2997         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2998         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2999         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3000         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3001         * bindings/v8/custom/V8LocationCustom.cpp:
3002         * bindings/v8/custom/V8MessageEventCustom.cpp:
3003         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
3004         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3005         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3006         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3007
3008 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
3009
3010         Unreviewed, build fix.
3011
3012         [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds.
3013
3014         * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break.
3015
3016 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
3017
3018         Reviewed by Adam Barth.
3019
3020         [V8] Generate configuring of call-as-function callbacks.
3021         https://bugs.webkit.org/show_bug.cgi?id=33061
3022
3023         Refactoring, covered by existing tests.
3024
3025         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and
3026             GenerateImplementationCustomCall.
3027         * bindings/v8/V8DOMWrapper.cpp:
3028         (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function
3029             callbacks.
3030         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3031         (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added.
3032         (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added.
3033         (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added.
3034         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed.
3035
3036 2009-12-30  Adam Barth  <abarth@webkit.org>
3037
3038         Reviewed by Eric Seidel.
3039
3040         [v8] Move world-specific state out of V8Proxy
3041         https://bugs.webkit.org/show_bug.cgi?id=33034
3042
3043         This is the first step towards unifying the V8 implementation of
3044         isolated worlds with the JSC implementation.  We need an object to
3045         encapulate all the world-specific bindings state.  Previoulsy, we used
3046         V8Proxy for this purpose (along with a million other things), but
3047         there's a one-to-one mapping between V8Proxy objects and Frame objects.
3048
3049         This patch takes the world-specific state and moves it to a new object,
3050         affectionately called V8DOMWindowShell.  This object is the moral
3051         equivalent of JSDOMWindowShell but with more data members because life
3052         is more complicated in V8-land.
3053
3054         This patch is almost entirely code motion.  Future patches will clean
3055         up this class as we use it to represent window shells in isolated
3056         worlds as well as the main world.
3057
3058         * WebCore.gypi:
3059         * bindings/v8/ScriptController.cpp:
3060         (WebCore::ScriptController::updateSecurityOrigin):
3061         (WebCore::ScriptController::haveInterpreter):
3062         (WebCore::ScriptController::updateDocument):
3063         * bindings/v8/V8DOMWindowShell.cpp: Added.
3064         (WebCore::handleFatalErrorInV8):
3065         (WebCore::reportFatalErrorInV8):
3066         (WebCore::reportUnsafeJavaScriptAccess):
3067         (WebCore::V8DOMWindowShell::create):
3068         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
3069         (WebCore::V8DOMWindowShell::isContextInitialized):
3070         (WebCore::V8DOMWindowShell::disposeContextHandles):
3071         (WebCore::V8DOMWindowShell::destroyGlobal):
3072         (WebCore::V8DOMWindowShell::clearForClose):
3073         (WebCore::V8DOMWindowShell::clearForNavigation):
3074         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3075         (WebCore::V8DOMWindowShell::createNewContext):
3076         (WebCore::V8DOMWindowShell::installDOMWindow):
3077         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
3078         (WebCore::V8DOMWindowShell::clearDocumentWrapper):
3079         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
3080         (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
3081         (WebCore::V8DOMWindowShell::setSecurityToken):
3082         (WebCore::V8DOMWindowShell::updateDocument):
3083         (WebCore::V8DOMWindowShell::updateSecurityOrigin):
3084         (WebCore::V8DOMWindowShell::getHiddenObjectPrototype):
3085         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype):
3086         (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase):
3087         * bindings/v8/V8DOMWindowShell.h: Added.
3088         (WebCore::V8DOMWindowShell::context):
3089         (WebCore::V8DOMWindowShell::createWrapperFromCache):
3090         * bindings/v8/V8DOMWrapper.cpp:
3091         (WebCore::V8DOMWrapper::getConstructorForContext):
3092         (WebCore::V8DOMWrapper::instantiateV8Object):
3093         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
3094         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
3095         * bindings/v8/V8IsolatedWorld.cpp:
3096         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
3097         * bindings/v8/V8Proxy.cpp:
3098         (WebCore::V8Proxy::V8Proxy):
3099         (WebCore::V8Proxy::~V8Proxy):
3100         (WebCore::V8Proxy::handleOutOfMemory):
3101         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3102         (WebCore::V8Proxy::evaluateInNewContext):
3103         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3104         (WebCore::V8Proxy::clearForClose):
3105         (WebCore::V8Proxy::clearForNavigation):
3106         (WebCore::V8Proxy::mainWorldContext):
3107         (WebCore::V8Proxy::setContextDebugId):
3108         * bindings/v8/V8Proxy.h:
3109         (WebCore::V8Proxy::windowShell):
3110         (WebCore::V8Proxy::extensions):
3111
3112 2009-12-30  Dirk Schulze  <krit@webkit.org>
3113
3114         Reviewed by Eric Seidel.
3115
3116         SVGResourceClipper needs to invalidate content
3117         https://bugs.webkit.org/show_bug.cgi?id=33054
3118
3119         Added invalidate() to SVGResourceClipper to reset clipData
3120         and drawing area after attribute changes.
3121
3122         This fixes two LayoutTests.
3123
3124         * svg/graphics/SVGResourceClipper.cpp:
3125         (WebCore::SVGResourceClipper::resetClipData):
3126         (WebCore::SVGResourceClipper::invalidate):
3127         * svg/graphics/SVGResourceClipper.h:
3128
3129 2009-12-30  Carol Szabo  <carol.szabo@nokia.com>
3130
3131         Reviewed by Laszlo Gombos.
3132
3133          [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded.
3134         https://bugs.webkit.org/show_bug.cgi?id=33035
3135
3136         This patch:
3137         - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions,
3138         - extracts the palette initialization code to a separate function in order to
3139         provide for readable pointer checking and moves this code up in the function to
3140         allow for future changes to the palette brushes needed for bug 30173,
3141         - optimizes some of the code in the function for readability, speed and size.
3142         - fixes some minor style issues
3143
3144         No new tests because code behavior is not changed.
3145
3146         * platform/qt/RenderThemeQt.cpp:
3147         (WebCore::RenderThemeQt::paintButton):
3148         (WebCore::RenderThemeQt::paintTextField):
3149         (WebCore::RenderThemeQt::paintMenuList):
3150         (WebCore::RenderThemeQt::paintMenuListButton):
3151         (WebCore::initPaletteFromPageClientIfExists):
3152         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
3153         * platform/qt/RenderThemeQt.h:
3154
3155 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3156
3157         Reviewed by Simon Hausmann.
3158
3159         [Qt] It should be possible to disable inspector
3160         https://bugs.webkit.org/show_bug.cgi?id=32724
3161
3162         This makes the r48430 available for other ports as well.
3163         No new tests, as there is no new functionality.
3164
3165         * inspector/InjectedScriptHost.idl: Guard the interface with
3166         INSPECTOR guard.
3167
3168         * inspector/InspectorBackend.idl: Ditto.
3169
3170         * inspector/InspectorFrontendHost.idl: Ditto.
3171
3172 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
3173
3174         Reviewed by Adam Barth.
3175
3176         [V8] Generate configuring of all indexers.
3177         https://bugs.webkit.org/show_bug.cgi?id=33031
3178
3179         Refactorig, covered by existing tests.
3180
3181         * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for
3182             special cases.
3183         * bindings/v8/V8DOMWrapper.cpp:
3184         (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of
3185             indexers.
3186         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
3187             elements (these will be generated, too -- later.)
3188         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3189         (WebCore::npObjectIndexedGetter): Moved common code to a separate method.
3190         (WebCore::npObjectIndexedSetter): Ditto.
3191         (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
3192           all calling the common method.
3193         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
3194
3195 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
3196
3197         Reviewed by Adam Barth.
3198
3199         [V8] Generate configuring of all named property getters/setters/enumerators.
3200         https://bugs.webkit.org/show_bug.cgi?id=32996
3201
3202         Refactoring, covered by existing tests.
3203
3204         * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers
3205             for special cases (See bug for more info).
3206         * bindings/v8/V8DOMWrapper.cpp:
3207         (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named
3208             property handlers.
3209         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
3210             elements (these will be generated, too -- later.)
3211         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3212         (WebCore::npObjectNamedGetter): Moved common code to a separate method.
3213         (WebCore::npObjectNamedSetter): Ditto.
3214         (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
3215           all calling the common method.
3216         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
3217
3218 2009-12-30  Jakub Wieczorek  <faw217@gmail.com>
3219
3220         Reviewed by Simon Hausmann.
3221
3222         [Qt] Fix PluginView::handlePostReadFile().
3223         https://bugs.webkit.org/show_bug.cgi?id=33052
3224
3225         The function should actually rewrite the given file to the buffer.
3226
3227         This change fixes http/tests/plugins/post-url-file.html, which can be unskipped
3228         now along with other passing http/plugins tests.
3229
3230         * plugins/qt/PluginViewQt.cpp:
3231         (WebCore::PluginView::handlePostReadFile):
3232
3233 2009-12-30  Holger Hans Peter Freyther  <zecke@selfish.org>
3234
3235         Rubber stamped by Simon Hausmann.
3236
3237         https://bugs.webkit.org/show_bug.cgi?id=32121
3238         [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
3239
3240         The implementation appears to either run into an ASSERT
3241         or leak memory at runtime as the m_buffer, m_reader may
3242         already exist. The bug was reopened and we do have a plan now.
3243
3244         * platform/graphics/qt/ImageDecoderQt.cpp:
3245         (WebCore::ImageDecoderQt::setData):
3246         (WebCore::ImageDecoderQt::clearFrameBufferCache):
3247         * platform/graphics/qt/ImageDecoderQt.h:
3248
3249 2009-12-30  Janne Koskinen  <janne.p.koskinen@digia.com>
3250
3251         Reviewed by Simon Hausmann.
3252
3253         [Qt] Add support for Symbian def files
3254
3255         * WebCore.pro:
3256
3257 2009-12-30  Simon Hausmann  <simon.hausmann@nokia.com>
3258
3259         Unreviewed Qt/Symbian build fix.
3260
3261         Don't build network state notifier support when building inside of Qt.
3262         Otherwise the Qt build depends on an external module that itself depends
3263         on Qt again.
3264
3265         * WebCore.pro:
3266
3267 2009-12-30  Yury Semikhatsky  <yurys@chromium.org>
3268
3269         Reviewed by Dimitri Glazkov.
3270
3271         [v8] Use current isolated world's context for ScriptCallStack.
3272
3273         https://bugs.webkit.org/show_bug.cgi?id=33016
3274
3275         * bindings/v8/ScriptCallStack.cpp:
3276         (WebCore::ScriptCallStack::ScriptCallStack):
3277         * bindings/v8/ScriptCallStack.h:
3278         (WebCore::ScriptCallStack::state):
3279         * bindings/v8/ScriptController.cpp:
3280         (WebCore::ScriptController::mainWorldScriptState):
3281         (WebCore::ScriptController::currentScriptState):
3282         (WebCore::ScriptController::clearWindowShell):
3283         * bindings/v8/ScriptController.h:
3284         * bindings/v8/V8IsolatedWorld.cpp:
3285         (WebCore::V8IsolatedWorld::scriptState):
3286         * bindings/v8/V8IsolatedWorld.h:
3287
3288 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3289
3290         Reviewed by Simon Hausmann.
3291
3292         Turn off DataGrid support by default.
3293
3294         No new tests, as there is no new functionality.
3295
3296         * WebCore.pro:
3297
3298 2009-12-29  Dirk Schulze  <krit@webkit.org>
3299
3300         Reviewed by Nikolas Zimmermann.
3301
3302         Detailed boundingBoxes in SVG Renderer
3303         https://bugs.webkit.org/show_bug.cgi?id=32815
3304
3305         Add new bounding boxes for strokes, filters, masker and clipper in SVG.
3306         These new bounding boxes help to fix repaintRectInLocalCoordinates.
3307         We calculate the smallest repaint rect considering the new bounding boxes
3308         now, filters get the correct paint area, masker clip the mask image size
3309         to the visible area of the target.
3310
3311         Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates
3312                affect the LayoutTests.     
3313
3314         * rendering/RenderForeignObject.h:
3315         (WebCore::RenderForeignObject::strokeBoundingBox):
3316         * rendering/RenderObject.cpp:
3317         (WebCore::RenderObject::toSVGRenderBase):
3318         * rendering/RenderObject.h:
3319         * rendering/RenderPath.cpp:
3320         (WebCore::RenderPath::strokeBoundingBox):
3321         (WebCore::RenderPath::repaintRectInLocalCoordinates):
3322         (WebCore::RenderPath::setPath):
3323         * rendering/RenderPath.h:
3324         (WebCore::RenderPath::markerBoundingBox):
3325         * rendering/RenderSVGBlock.h:
3326         (WebCore::RenderSVGBlock::toSVGRenderBase):
3327         * rendering/RenderSVGContainer.cpp:
3328         (WebCore::RenderSVGContainer::strokeBoundingBox):
3329         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
3330         * rendering/RenderSVGContainer.h:
3331         * rendering/RenderSVGImage.cpp:
3332         (WebCore::RenderSVGImage::layout):
3333         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
3334         * rendering/RenderSVGImage.h:
3335         (WebCore::RenderSVGImage::toSVGRenderBase):
3336         (WebCore::RenderSVGImage::strokeBoundingBox):
3337         * rendering/RenderSVGInline.h:
3338         (WebCore::RenderSVGInline::objectBoundingBox):
3339         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
3340         * rendering/RenderSVGModelObject.h:
3341         (WebCore::RenderSVGModelObject::toSVGRenderBase):
3342         * rendering/RenderSVGRoot.h:
3343         (WebCore::RenderSVGRoot::strokeBoundingBox):
3344         * rendering/RenderSVGText.cpp:
3345         (WebCore::RenderSVGText::strokeBoundingBox):
3346         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
3347         * rendering/RenderSVGText.h:
3348         (WebCore::RenderSVGText::toSVGRenderBase):
3349         * rendering/SVGRenderSupport.cpp:
3350         (WebCore::SVGRenderBase::~SVGRenderBase):
3351         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3352         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
3353         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
3354         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
3355         * rendering/SVGRenderSupport.h:
3356         (WebCore::SVGRenderBase::toSVGRenderBase):
3357         (WebCore::SVGRenderBase::strokeBoundingBox):
3358         (WebCore::SVGRenderBase::markerBoundingBox):
3359         * rendering/SVGRootInlineBox.h:
3360         (WebCore::SVGRootInlineBox::toSVGRenderBase):
3361         (WebCore::SVGRootInlineBox::objectBoundingBox):
3362         (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates):
3363         * svg/SVGFilterElement.cpp:
3364         (WebCore::SVGFilterElement::filterBoundingBox):
3365         * svg/SVGFilterElement.h:
3366         * svg/SVGMaskElement.cpp:
3367         (WebCore::SVGMaskElement::maskBoundingBox):
3368         (WebCore::SVGMaskElement::drawMaskerContent):
3369         * svg/SVGMaskElement.h:
3370         * svg/graphics/SVGResourceClipper.cpp:
3371         (WebCore::SVGResourceClipper::clipperBoundingBox):
3372         * svg/graphics/SVGResourceClipper.h:
3373         * svg/graphics/SVGResourceFilter.cpp:
3374         (WebCore::SVGResourceFilter::filterBoundingBox):
3375         (WebCore::shouldProcessFilter):
3376         (WebCore::SVGResourceFilter::prepareFilter):
3377         * svg/graphics/SVGResourceFilter.h:
3378         * svg/graphics/SVGResourceMasker.cpp:
3379         (WebCore::SVGResourceMasker::maskerBoundingBox):
3380         (WebCore::SVGResourceMasker::applyMask):
3381         * svg/graphics/SVGResourceMasker.h:
3382
3383 2009-12-29  Andrei Popescu  <andreip@google.com>
3384
3385         Reviewed by Adam Barth.
3386
3387         Add Android hook to NetworkStateNotifier class
3388         so that the Java side can notify WebCore when the
3389         network state changes.
3390         https://bugs.webkit.org/show_bug.cgi?id=32871
3391
3392         No new tests required, this is platform code.
3393
3394         * platform/network/NetworkStateNotifier.h:
3395         * platform/network/android/NetworkStateNotifierAndroid.cpp: Added.
3396         (WebCore::NetworkStateNotifier::networkStateChange):
3397
3398 2009-12-29  Eric Seidel  <eric@webkit.org>
3399
3400         No review, rolling out r52630.
3401         http://trac.webkit.org/changeset/52630
3402
3403         Change caused layout tests failures and crashes.
3404
3405         * Android.mk:
3406         * GNUmakefile.am:
3407         * WebCore.pro:
3408         * WebCore.vcproj/WebCore.vcproj:
3409         * WebCore.xcodeproj/project.pbxproj:
3410         * rendering/RenderPath.cpp:
3411         (WebCore::RenderPath::repaintRectInLocalCoordinates):
3412         (WebCore::RenderPath::setPath):
3413         (WebCore::RenderPath::path):
3414         (WebCore::RenderPath::paint):
3415         (WebCore::):
3416         (WebCore::DrawMarkersData::DrawMarkersData):
3417         (WebCore::drawMarkerWithData):
3418         (WebCore::updateMarkerDataForElement):
3419         (WebCore::drawStartAndMidMarkers):
3420         (WebCore::RenderPath::drawMarkersIfNeeded):
3421         * rendering/RenderPath.h:
3422         * rendering/RenderSVGContainer.h:
3423         * rendering/RenderSVGViewportContainer.cpp:
3424         (WebCore::RenderSVGViewportContainer::paint):
3425         * rendering/RenderSVGViewportContainer.h:
3426         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
3427         * rendering/SVGMarkerLayoutInfo.h: Removed.
3428         * svg/SVGMarkerElement.cpp:
3429         (WebCore::SVGMarkerElement::canvasResource):
3430         * svg/graphics/SVGResource.cpp:
3431         (WebCore::SVGResource::SVGResource):
3432         (WebCore::ResourceSet::ResourceSet):
3433         (WebCore::clientMap):
3434         (WebCore::SVGResource::~SVGResource):
3435         (WebCore::SVGResource::removeClient):
3436         (WebCore::SVGResource::addClient):
3437         * svg/graphics/SVGResourceMarker.cpp:
3438         (WebCore::SVGResourceMarker::SVGResourceMarker):
3439         (WebCore::SVGResourceMarker::setMarker):
3440         (WebCore::SVGResourceMarker::setRef):
3441         (WebCore::SVGResourceMarker::draw):
3442         (WebCore::SVGResourceMarker::cachedBounds):
3443         (WebCore::SVGResourceMarker::externalRepresentation):
3444         * svg/graphics/SVGResourceMarker.h:
3445         (WebCore::SVGResourceMarker::refX):
3446         (WebCore::SVGResourceMarker::refY):
3447
3448 2009-12-29  Dan Bernstein  <mitz@apple.com>
3449
3450         Reviewed by Sam Weinig.
3451
3452         Move the focus ring rect array, width and offset out of GraphicsContext
3453         https://bugs.webkit.org/show_bug.cgi?id=33028
3454
3455         * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(),
3456         clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(),
3457         focusRingWidth(), focusRingOffset(), and focusRingRects().
3458         * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect
3459         vector, width and offset as parameters to drawFocusRing().
3460         * platform/graphics/GraphicsContextPrivate.h:
3461         (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style.
3462         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed
3463         m_focusRingRects, m_focusRingWidth and m_focusRingOffset.
3464         * platform/graphics/IntRect.cpp:
3465         (WebCore::unionRect): Added this helper function.
3466         * platform/graphics/IntRect.h:
3467         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3468         (WebCore::GraphicsContext::drawFocusRing): 
3469         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3470         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3471         * platform/graphics/mac/GraphicsContextMac.mm:
3472         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3473         * platform/graphics/qt/GraphicsContextQt.cpp:
3474         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3475         * platform/graphics/skia/GraphicsContextSkia.cpp:
3476         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3477         * platform/graphics/win/GraphicsContextCGWin.cpp:
3478         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3479         * platform/graphics/wince/GraphicsContextWince.cpp:
3480         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3481         * platform/graphics/wx/GraphicsContextWx.cpp:
3482         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3483         * rendering/RenderBlock.cpp:
3484         (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype.
3485         Added empty rect checks that were previously done in
3486         GraphicsContext::addFocusRingRect().
3487         * rendering/RenderBlock.h:
3488         * rendering/RenderBox.cpp:
3489         (WebCore::RenderBox::addFocusRingRects): Ditto.
3490         * rendering/RenderBox.h:
3491         * rendering/RenderInline.cpp:
3492         (WebCore::RenderInline::addFocusRingRects): Ditto.
3493         (WebCore::RenderInline::paintOutline): Collect focus ring rects into a
3494         vector and pass it to drawFocusRing(). Use unionRect() instead of
3495         focusRingBoundingRect().
3496         * rendering/RenderInline.h:
3497         * rendering/RenderObject.cpp:
3498         (WebCore::RenderObject::paintOutline): Ditto.
3499         * rendering/RenderObject.h:
3500         (WebCore::RenderObject::addFocusRingRects): Changed to take a
3501         Vector<IntRect> to which the rects are added.
3502         * rendering/RenderPath.cpp:
3503         (WebCore::RenderPath::addFocusRingRects): Updated for new prototype.
3504         Added empty rect check that was previously done in
3505         GraphicsContext::addFocusRingRect().
3506         * rendering/RenderPath.h:
3507         * rendering/RenderSVGContainer.cpp:
3508         (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype.
3509         Added empty rect check that was previously done in
3510         GraphicsContext::addFocusRingRect().
3511         * rendering/RenderSVGContainer.h:
3512         * rendering/RenderSVGImage.cpp:
3513         (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype.
3514         Added empty rect check that was previously done in
3515         GraphicsContext::addFocusRingRect().
3516         * rendering/RenderSVGImage.h:
3517         * rendering/RenderTextControl.cpp:
3518         (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype.
3519         Added empty rect check that was previously done in
3520         GraphicsContext::addFocusRingRect().
3521         * rendering/RenderTextControl.h:
3522
3523 2009-12-28  Dumitru Daniliuc  <dumi@chromium.org>
3524
3525         Reviewed by Maciej Stachowiak.
3526
3527         1. Changes the order in which some functions are called to match
3528         the pre-r52536 order. Namely, when a new Database object is
3529         created, DatabaseTracker::addOpenDatabase() is called in the
3530         constructor, before doing anything else related to that database
3531         (like trying to get a file handle to the database
3532         file). Chromium's implementation depends on this ordering.
3533         2. Changes Database::performOpenAndVerify() to close the open
3534         handle to the database file immediately if the database version
3535         does not match the expected one. The current behavior is to add
3536         the Database object to a DatabaseThread collection and let the
3537         database thread close the handle when it's destroyed.
3538
3539         https://bugs.webkit.org/show_bug.cgi?id=33005
3540
3541         All LayoutTests/storage tests pass in clean WebKit and Chromium
3542         clients.
3543
3544         * storage/Database.cpp:
3545         (WebCore::Database::openDatabase): Notify DatabaseTracker and
3546         Document that a Database object is about to be destroyed (when a
3547         database file cannot be opened, or its version doesn't match the
3548         expected one).
3549         (WebCore::Database::Database): Notify DatabaseTracker and Document
3550         that a new Database object was created.
3551         (WebCore::Database::performOpenAndVerify): If a database version
3552         does not match the expected one, immediately close the open file
3553         handle to the database file.
3554
3555 2009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>
3556
3557         Reviewed by Dirk Schulze.
3558
3559         Marker code is buggy: referencePoint translation is off
3560         https://bugs.webkit.org/show_bug.cgi?id=33012
3561
3562         Rewrite marker code, as it was buggy:
3563         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
3564         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
3565         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
3566         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
3567           can have three different resources of the same type (three markers, start/mid/end markers)
3568
3569         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
3570         Test: svg/custom/marker-referencePoint.svg
3571
3572         * Android.mk:
3573         * GNUmakefile.am:
3574         * WebCore.pro:
3575         * WebCore.vcproj/WebCore.vcproj:
3576         * WebCore.xcodeproj/project.pbxproj:
3577         * rendering/RenderPath.cpp:
3578         (WebCore::RenderPath::repaintRectInLocalCoordinates):
3579         (WebCore::RenderPath::setPath):
3580         (WebCore::RenderPath::paint):
3581         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
3582         * rendering/RenderPath.h:
3583         (WebCore::RenderPath::path):
3584         * rendering/RenderSVGContainer.h:
3585         * rendering/RenderSVGViewportContainer.cpp:
3586         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
3587         * rendering/RenderSVGViewportContainer.h:
3588         * rendering/SVGMarkerLayoutInfo.cpp: Added.
3589         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
3590         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
3591         (WebCore::SVGMarkerLayoutInfo::initialize):
3592         (WebCore::updateMarkerDataForElement):
3593         (WebCore::recordMarkerData):
3594         (WebCore::processStartAndMidMarkers):
3595         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
3596         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
3597         * rendering/SVGMarkerLayoutInfo.h: Added.
3598         (WebCore::MarkerData::):
3599         (WebCore::MarkerData::MarkerData):
3600         (WebCore::MarkerLayout::MarkerLayout):
3601         * svg/SVGMarkerElement.cpp:
3602         (WebCore::SVGMarkerElement::canvasResource):
3603         * svg/graphics/SVGResource.cpp:
3604         (WebCore::resourceSet):
3605         (WebCore::SVGResource::SVGResource):
3606         (WebCore::SVGResource::~SVGResource):
3607         (WebCore::SVGResource::removeClient):
3608         (WebCore::SVGResource::addClient):
3609         * svg/graphics/SVGResourceMarker.cpp:
3610         (WebCore::SVGResourceMarker::SVGResourceMarker):
3611         (WebCore::SVGResourceMarker::markerBoundaries):
3612         (WebCore::SVGResourceMarker::markerTransformation):
3613         (WebCore::SVGResourceMarker::draw):
3614         (WebCore::SVGResourceMarker::externalRepresentation):
3615         * svg/graphics/SVGResourceMarker.h:
3616         (WebCore::SVGResourceMarker::setRenderer):
3617         (WebCore::SVGResourceMarker::setReferencePoint):
3618         (WebCore::SVGResourceMarker::referencePoint):
3619
3620 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
3621
3622         Reviewed by Pavel Feldman.
3623
3624         Fix UI nits in the Audits panel.
3625         https://bugs.webkit.org/show_bug.cgi?id=32932
3626
3627         * inspector/front-end/AuditLauncherView.js:
3628         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
3629         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
3630         (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
3631         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
3632         * inspector/front-end/AuditResultView.js:
3633         (WebInspector.AuditResultView):
3634         (WebInspector.AuditRuleResultPane):
3635         * inspector/front-end/audits.css:
3636
3637 2009-12-29  Johnny Ding  <jnd@chromium.org>
3638
3639         Reviewed by Dimitri Glazkov.
3640
3641         https://bugs.webkit.org/show_bug.cgi?id=32863
3642         Make NodeList support call-as-function
3643
3644         Test: fast/dom/NodeList/nodelist-item-call-as-function.html
3645
3646         * bindings/scripts/CodeGeneratorV8.pm:
3647         * bindings/v8/V8DOMWrapper.cpp:
3648         (WebCore::V8DOMWrapper::getTemplate):
3649         * bindings/v8/custom/V8NodeListCustom.cpp:
3650         (WebCore::V8NodeList::callAsFunctionCallback):
3651
3652 2009-12-29  Simon Fraser  <simon.fraser@apple.com>
3653
3654         Reviewed by Dan Bernstein.
3655
3656         Typed text in table not correctly redrawn on page with compositing layers
3657         https://bugs.webkit.org/show_bug.cgi?id=32874
3658         
3659         Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
3660         to decide when to use layoutState, which is to test for layoutStateEnabled()
3661         and no repaint container.
3662
3663         Not possible to make a repaint test that exercises the problem, so no test.
3664
3665         * rendering/RenderTableCell.cpp:
3666         (WebCore::RenderTableCell::computeRectForRepaint):
3667
3668 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
3669
3670         Reviewed by Timothy Hatcher.
3671
3672         Discard port from cookie domain when matching cookies.
3673
3674         WebKit cookies do not hold the port information, so we should match only hostnames.
3675         https://bugs.webkit.org/show_bug.cgi?id=31787
3676
3677         * inspector/front-end/inspector.js:
3678         (WebInspector.updateResource):
3679
3680 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3681
3682         Reviewed by Kenneth Rohde Christiansen.
3683
3684         [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
3685         https://bugs.webkit.org/show_bug.cgi?id=33019
3686
3687         No new tests as there is no new functionality.
3688
3689         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3690         (WebCore::MediaPlayerPrivate::totalTimeChanged):
3691
3692 2009-12-29  Kent Tamura  <tkent@chromium.org>
3693
3694         Reviewed by Maciej Stachowiak.
3695
3696         Implement HTML5 <aside> element.
3697         https://bugs.webkit.org/show_bug.cgi?id=32943
3698
3699         <aside> should behave the same as <nav>, <section>, and <article>.
3700
3701         Test: fast/html/aside-element.html
3702
3703         * css/html.css: Add aside as a block element.
3704         * editing/htmlediting.cpp:
3705         (WebCore::validBlockTag): Add asideTag.
3706         * html/HTMLElement.cpp:
3707         (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
3708         (WebCore::blockTagList): Add asideTag.
3709         * html/HTMLParser.cpp:
3710         (WebCore::HTMLParser::getNode): Add asideTag.
3711         * html/HTMLTagNames.in: Add aside.
3712
3713 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3714
3715         Reviewed by Eric Seidel.
3716
3717         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
3718         https://bugs.webkit.org/show_bug.cgi?id=33003
3719
3720         No new tests as there is no new functionality.
3721
3722         * editing/CompositeEditCommand.cpp:
3723         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
3724         * page/animation/ImplicitAnimation.cpp:
3725         (WebCore::ImplicitAnimation::sendTransitionEvent):
3726         * page/animation/KeyframeAnimation.cpp:
3727         (WebCore::KeyframeAnimation::sendAnimationEvent):
3728         * rendering/RenderSVGContainer.h:
3729         (WebCore::toRenderSVGContainer):
3730         * rendering/style/RenderStyle.cpp:
3731         (WebCore::RenderStyle::setTextShadow):
3732         * svg/graphics/SVGPaintServerGradient.cpp:
3733         (WebCore::SVGPaintServerGradient::setup):
3734         * svg/graphics/SVGPaintServerPattern.cpp:
3735         (WebCore::SVGPaintServerPattern::setup):
3736
3737 2009-12-28  Andrei Popescu  <andreip@google.com>
3738
3739         Reviewed by Dmitry Titov.
3740
3741         On Android, ResourceHandle instances make use of a pointer to a
3742         ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
3743         the load, if necessary. Since this pointer is an internal implementation
3744         details of ResourceHandle on Android, it needs to be stored in the
3745         ResourceHandleInternal class. This patch adds this pointer.
3746         https://bugs.webkit.org/show_bug.cgi?id=32873
3747
3748         No new tests needed, this is platform-specific code.
3749
3750         * platform/network/ResourceHandle.h:
3751         * platform/network/ResourceHandleInternal.h:
3752         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3753
3754 2009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
3755
3756         Reviewed by Maciej Stachowiak.
3757
3758         Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
3759         since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
3760         <noscript> are always parsed and rendered.
3761         https://bugs.webkit.org/show_bug.cgi?id=32706
3762
3763         Tests: fast/parser/noscript-with-javascript-disabled.html
3764                fast/parser/noscript-with-javascript-enabled.html
3765
3766         * html/HTMLParser.cpp:
3767         (WebCore::HTMLParser::getNode):
3768
3769 2009-12-28  Kinuko Yasuda  <kinuko@chromium.org>
3770
3771         Reviewed by Maciej Stachowiak.
3772
3773         Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
3774         as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
3775         https://bugs.webkit.org/show_bug.cgi?id=28247
3776
3777         Test: fast/events/keydown-numpad-keys.html
3778
3779         * platform/mac/KeyEventMac.mm:
3780         (WebCore::isKeypadEvent):
3781
3782 2009-12-28  Mike Moretti  <webkit9@mordent.com>
3783
3784         Reviewed by Darin Adler.
3785
3786         Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string
3787
3788         Test: fast/dom/insert-span-into-long-text-bug-28245.html
3789
3790         * rendering/RenderBlockLineLayout.cpp:
3791         (WebCore::RenderBlock::findNextLineBreak):
3792
3793 2009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3794
3795         Rubber-stamped by Xan Lopez.
3796
3797         Follow Apple's decision to disable HTML DataGrid by default.
3798
3799         * GNUmakefile.am:
3800
3801 2009-12-28  Gustavo Noronha Silva  <gns@gnome.org>
3802
3803         Reviewed by Ariya Hidayat.
3804
3805         Fix warnings when generating files using gperf. The warnings are
3806         currently harmless, but some changes in the build system may make
3807         them fatal.
3808
3809         [GTK] Build time must be reduced
3810         https://bugs.webkit.org/show_bug.cgi?id=32921
3811
3812         * GNUmakefile.am:
3813
3814 2009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3815
3816         Reviewed by Adam Barth.
3817
3818         [Qt] Fix build break for Qt 4.4
3819         https://bugs.webkit.org/show_bug.cgi?id=30327
3820
3821         No new tests, as there is no new functionality.
3822
3823         * platform/graphics/qt/GraphicsContextQt.cpp:
3824         (WebCore::GraphicsContext::clipOut): Use intersected() instead of
3825         operator &, which was only introduced in Qt version 4.5.
3826
3827         * platform/qt/ScrollbarThemeQt.cpp:
3828         (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
3829         argument to fillColor() introduced in r50760
3830
3831 2009-12-28  Kent Tamura  <tkent@chromium.org>
3832
3833         Reviewed by Maciej Stachowiak.
3834
3835         Implement HTML5 <article> element.
3836         https://bugs.webkit.org/show_bug.cgi?id=32936
3837
3838         <article> should behave the same as <nav> and <section>.
3839
3840         Test: fast/html/article-element.html
3841
3842         * css/html.css: Add article as a block element.
3843         * editing/htmlediting.cpp:
3844         (WebCore::validBlockTag): Add articleTag.
3845         * html/HTMLElement.cpp:
3846         (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
3847         (WebCore::blockTagList): Add articleTag.
3848         * html/HTMLParser.cpp:
3849         (WebCore::HTMLParser::getNode): Add articleTag.
3850         * html/HTMLTagNames.in: Add article.
3851
3852 2009-12-27  Jakub Wieczorek  <faw217@gmail.com>
3853
3854         Reviewed by Eric Seidel.
3855
3856         [Qt] Support upload progress events in XMLHttpRequest
3857         https://bugs.webkit.org/show_bug.cgi?id=32969
3858
3859         Make QNetworkReplyHandler report the upload progress to the client.
3860
3861         Already covered by tests:
3862         http/tests/xmlhttprequest/upload-onload-event.html
3863         http/tests/xmlhttprequest/upload-onloadstart-event.html
3864         http/tests/xmlhttprequest/upload-progress-events.html
3865         http/tests/xmlhttprequest/upload-onprogress-event.html
3866
3867         which have been unskipped.
3868
3869         * platform/network/qt/QNetworkReplyHandler.cpp:
3870         (WebCore::QNetworkReplyHandler::uploadProgress):
3871         (WebCore::QNetworkReplyHandler::start):
3872         * platform/network/qt/QNetworkReplyHandler.h:
3873
3874 2009-12-27  Dirk Schulze  <krit@webkit.org>
3875
3876         Reviewed by Nikolas Zimmermann.
3877
3878         SVG: Stop rendering of objects with empty mask and filter content
3879         https://bugs.webkit.org/show_bug.cgi?id=32968
3880
3881         It's not neccessary to continue rendering of an object and its' childs
3882         if the mask clips the complete content away.
3883         The same for filters, if the filter rendering is discontinued or either
3884         width or height are zero.
3885         We might also stop rendering if repaintRectInLocalCoordinates is empty.
3886         But it needs to be fixed first.
3887
3888         Test: svg/custom/empty-mask.svg
3889
3890         * rendering/RenderPath.cpp:
3891         (WebCore::RenderPath::paint):
3892         * rendering/RenderSVGContainer.cpp:
3893         (WebCore::RenderSVGContainer::paint):
3894         * rendering/RenderSVGImage.cpp:
3895         (WebCore::RenderSVGImage::paint):
3896         * rendering/RenderSVGRoot.cpp:
3897         (WebCore::RenderSVGRoot::paint):
3898         * rendering/SVGRenderSupport.cpp:
3899         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3900         * rendering/SVGRenderSupport.h:
3901         * rendering/SVGRootInlineBox.cpp:
3902         (WebCore::SVGRootInlineBox::paint):
3903         * svg/SVGMaskElement.cpp:
3904         (WebCore::SVGMaskElement::drawMaskerContent):
3905         * svg/SVGMaskElement.h:
3906         * svg/graphics/SVGResourceFilter.cpp:
3907         (WebCore::SVGResourceFilter::prepareFilter):
3908         (WebCore::SVGResourceFilter::applyFilter):
3909         * svg/graphics/SVGResourceFilter.h:
3910         * svg/graphics/SVGResourceMasker.cpp:
3911         (WebCore::SVGResourceMasker::SVGResourceMasker):
3912         (WebCore::SVGResourceMasker::applyMask):
3913         * svg/graphics/SVGResourceMasker.h:
3914
3915 2009-12-27  Christian Dywan  <christian@twotoasts.de>
3916
3917         Reviewed by Eric Seidel.
3918
3919         [GTK] Spell Check Suggestions (Do not work)
3920         https://bugs.webkit.org/show_bug.cgi?id=30908
3921
3922         * platform/gtk/ContextMenuItemGtk.cpp:
3923         (WebCore::ContextMenuItem::ContextMenuItem):
3924         (WebCore::ContextMenuItem::title):
3925         (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
3926         and set the title from the native menu item.
3927
3928 2009-12-27  Dirk Schulze  <krit@webkit.org>
3929
3930         Reviewed by Nikolas Zimmermann.
3931
3932         SVG Mask result wrong, if two different objects call the same mask id
3933         https://bugs.webkit.org/show_bug.cgi?id=32787
3934
3935         At the moment we create one resource per maskId. Some resources (like mask)
3936         create ImageBuffers and depends on the properties of the RenderObject,
3937         thus we can't use it for a second object.
3938         This patch stores multiple mask resources for one maskId and different
3939         RenderObject can use the same maskId.
3940         Clipper, Filter and Patterns also need to store multiple resources later.
3941
3942         Test: svg/custom/mask-on-multiple-objects.svg
3943
3944         * rendering/RenderPath.cpp:
3945         (WebCore::RenderPath::drawMarkersIfNeeded):
3946         * rendering/RenderSVGContainer.cpp:
3947         (WebCore::RenderSVGContainer::selfWillPaint):
3948         * rendering/RenderSVGGradientStop.cpp:
3949         (WebCore::RenderSVGGradientStop::styleDidChange):
3950         * rendering/RenderSVGRoot.cpp:
3951         (WebCore::RenderSVGRoot::selfWillPaint):
3952         * rendering/SVGRenderSupport.cpp:
3953         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3954         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
3955         * rendering/SVGRenderTreeAsText.cpp:
3956         (WebCore::writeRenderResources):
3957         * svg/SVGClipPathElement.cpp:
3958         (WebCore::SVGClipPathElement::canvasResource):
3959         * svg/SVGClipPathElement.h:
3960         * svg/SVGFilterElement.cpp:
3961         (WebCore::SVGFilterElement::canvasResource):
3962         * svg/SVGFilterElement.h:
3963         * svg/SVGGradientElement.cpp:
3964         (WebCore::SVGGradientElement::canvasResource):
3965         * svg/SVGGradientElement.h:
3966         * svg/SVGMarkerElement.cpp:
3967         (WebCore::SVGMarkerElement::canvasResource):
3968         * svg/SVGMarkerElement.h:
3969         * svg/SVGMaskElement.cpp:
3970         (WebCore::SVGMaskElement::svgAttributeChanged):
3971         (WebCore::SVGMaskElement::childrenChanged):
3972         (WebCore::SVGMaskElement::canvasResource):
3973         * svg/SVGMaskElement.h:
3974         * svg/SVGPatternElement.cpp:
3975         (WebCore::SVGPatternElement::canvasResource):
3976         * svg/SVGPatternElement.h:
3977         * svg/SVGStyledElement.cpp:
3978         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
3979         * svg/SVGStyledElement.h:
3980         (WebCore::SVGStyledElement::canvasResource):
3981         * svg/graphics/SVGPaintServer.cpp:
3982         (WebCore::getPaintServerById):
3983         (WebCore::SVGPaintServer::fillPaintServer):
3984         (WebCore::SVGPaintServer::strokePaintServer):
3985         * svg/graphics/SVGPaintServer.h:
3986         * svg/graphics/SVGResource.cpp:
3987         (WebCore::getResourceById):
3988         * svg/graphics/SVGResource.h:
3989         * svg/graphics/SVGResourceClipper.cpp:
3990         (WebCore::getClipperById):
3991         * svg/graphics/SVGResourceClipper.h:
3992         * svg/graphics/SVGResourceFilter.cpp:
3993         (WebCore::getFilterById):
3994         * svg/graphics/SVGResourceFilter.h:
3995         * svg/graphics/SVGResourceMarker.cpp:
3996         (WebCore::getMarkerById):
3997         * svg/graphics/SVGResourceMarker.h:
3998         * svg/graphics/SVGResourceMasker.cpp:
3999         (WebCore::getMaskerById):
4000         * svg/graphics/SVGResourceMasker.h:
4001
4002 2009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>
4003
4004         Reviewed by Dirk Schulze.
4005
4006         Cleanup RenderPath code, related to markers. Pass around
4007         PaintInfo objects instead of GraphicsContext directly, to
4008         avoid having to recreate a new PaintInfo object in
4009         SVGResourceMarker::draw().
4010
4011         No layout test changes.
4012
4013         * rendering/RenderPath.cpp:
4014         (WebCore::RenderPath::paint):
4015         (WebCore::DrawMarkersData::DrawMarkersData):
4016         (WebCore::drawMarkerWithData):
4017         (WebCore::drawStartAndMidMarkers):
4018         (WebCore::RenderPath::drawMarkersIfNeeded):
4019         * rendering/RenderPath.h:
4020         * svg/graphics/SVGResourceMarker.cpp:
4021         (WebCore::SVGResourceMarker::draw):
4022         * svg/graphics/SVGResourceMarker.h:
4023
4024 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
4025
4026         Reviewed by Eric Seidel.
4027
4028         WinCE buildfix (added missing header)
4029
4030         * platform/text/wince/TextBreakIteratorWince.cpp:
4031
4032 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
4033
4034         Reviewed by Eric Seidel.
4035
4036         Buildfix after r50760 and some style fixes.
4037
4038         * rendering/RenderThemeWince.cpp:
4039         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
4040         (WebCore::RenderThemeWince::paintSliderTrack):
4041         (WebCore::RenderThemeWince::paintSliderThumb):
4042         (WebCore::RenderThemeWince::paintMediaMuteButton):
4043         (WebCore::RenderThemeWince::paintMediaPlayButton):
4044
4045 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
4046
4047         Reviewed by Adam Barth.
4048
4049         WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)
4050
4051         * platform/wince/MIMETypeRegistryWince.cpp:
4052         * platform/wince/SearchPopupMenuWince.cpp:
4053         * platform/wince/SharedTimerWince.cpp:
4054         (WebCore::initializeOffScreenTimerWindow):
4055
4056 2009-12-26  Eric Seidel  <eric@webkit.org>
4057
4058         No review, rolling out r52554.
4059         http://trac.webkit.org/changeset/52554
4060
4061         https://bugs.webkit.org/show_bug.cgi?id=32955
4062         The original change was covered under
4063         https://bugs.webkit.org/show_bug.cgi?id=32913
4064
4065         r52554 was itself a rollout of r52536.
4066         However it caused two layout tests to fail on Leopard:
4067         storage/open-database-while-transaction-in-progress.html
4068         svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)
4069
4070         So I'm rolling out the rollout in an attempt to get the bots green.
4071         r52554 did not explain why it was rolled out, so I do not know
4072         what might fail for Chromium after this change.  I warned the folks
4073         in #chromium that it was coming.
4074
4075         * storage/Database.cpp:
4076         (WebCore::Database::openDatabase):
4077         (WebCore::Database::Database):
4078         (WebCore::Database::performOpenAndVerify):
4079
4080 2009-12-26  Dan Bernstein  <mitz@apple.com>
4081
4082         Reviewed by Sam Weinig.
4083
4084         <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
4085         https://bugs.webkit.org/show_bug.cgi?id=32690
4086
4087         Test: fast/block/float/clear-to-fit.html
4088
4089         * rendering/RenderBlock.cpp:
4090         (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
4091         fit the child on the line.
4092
4093 2009-12-25  Kent Tamura  <tkent@chromium.org>
4094
4095         Reviewed by Darin Adler.
4096
4097         Implement HTML5 section element.
4098         https://bugs.webkit.org/show_bug.cgi?id=32936
4099
4100         <section> should behave the same as <nav>.
4101
4102         Test: fast/html/section-element.html
4103
4104         * css/html.css: Add section as a block element.
4105         * editing/htmlediting.cpp:
4106         (WebCore::validBlockTag): Add sectionTag.
4107         * html/HTMLElement.cpp:
4108         (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
4109         (WebCore::blockTagList): Add sectionTag.
4110         * html/HTMLParser.cpp:
4111         (WebCore::HTMLParser::getNode): Add sectionTag.
4112         * html/HTMLTagNames.in: Add section.
4113
4114 2009-12-25  Daniel Bates  <dbates@webkit.org>
4115
4116         Reviewed by Adam Barth.
4117
4118         https://bugs.webkit.org/show_bug.cgi?id=32938
4119
4120         Cleans up XSSAuditor.
4121
4122         Currently, we pass various parameters through to XSSAuditor::findInRequest
4123         that are used to determine how to decode the HTTP input parameters so that
4124         we can perform a match against the script source. Instead, we have defined
4125         a structure XSSAuditor::FindTask that can hold all of these parameters.
4126
4127         No functionality was changed. So, no new tests.
4128
4129         * page/XSSAuditor.cpp:
4130         (WebCore::XSSAuditor::canEvaluate): Modified to use struct
4131         XSSAuditor::FindTask.
4132         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
4133         (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
4134         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
4135         (WebCore::XSSAuditor::canLoadObject): Ditto.
4136         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
4137         (WebCore::XSSAuditor::findInRequest): Ditto.
4138         * page/XSSAuditor.h:
4139         (WebCore::XSSAuditor::FindTask::FindTask): Added.
4140
4141 2009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>
4142
4143         Reviewed by Dirk Schulze.
4144
4145         DOMWindow is missing lots of SVG* constructor objects
4146         https://bugs.webkit.org/show_bug.cgi?id=20430
4147
4148         Expose all implemented SVG 1.1 constructors.
4149
4150         Test: svg/custom/global-constructors.js
4151
4152         * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
4153         * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
4154         * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
4155         * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
4156         * svg/SVGAnimatedPoints.idl: Ditto.
4157
4158 2009-12-25  Alexander Pavlov  <apavlov@chromium.org>
4159
4160         Reviewed by Pavel Feldman.
4161
4162         AuditsPanel for Web Inspector (hidden, no preset audits).
4163
4164         https://bugs.webkit.org/show_bug.cgi?id=31665
4165
4166         * English.lproj/localizedStrings.js:
4167         * WebCore.gypi:
4168         * WebCore.vcproj/WebCore.vcproj:
4169         * inspector/front-end/AuditLauncherView.js: Added.
4170         (WebInspector.AuditLauncherView.categorySortFunction):
4171         (WebInspector.AuditLauncherView):
4172         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
4173         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
4174         (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
4175         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
4176         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
4177         (WebInspector.AuditLauncherView.prototype._categoryClicked):
4178         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
4179         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
4180         (WebInspector.AuditLauncherView.prototype._updateButton):
4181         (WebInspector.AuditLauncherView.prototype.resize):
4182         * inspector/front-end/AuditResultView.js: Added.
4183         (WebInspector.AuditResultView.entrySortFunction):
4184         (WebInspector.AuditResultView):
4185         (WebInspector.AuditCategoryResultPane):
4186         (WebInspector.AuditRuleResultPane):
4187         (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
4188         (WebInspector.AuditRuleResultChildSection):
4189         (WebInspector.AuditRuleResultChildSection.prototype.set title):
4190         (WebInspector.AuditRuleResultChildSection.prototype.expand):
4191         * inspector/front-end/AuditsPanel.js: Added.
4192         (WebInspector.AuditsPanel):
4193         (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
4194         (WebInspector.AuditsPanel.prototype.get statusBarItems):
4195         (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
4196         (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
4197         (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
4198         (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
4199         (WebInspector.AuditsPanel.prototype.get categoriesById):
4200         (WebInspector.AuditsPanel.prototype.get visibleView):
<