2011-01-05 Abhishek Arya <inferno@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2011-01-05  Abhishek Arya  <inferno@chromium.org>
2
3         Unreviewed.
4
5         Update FIXME comment to sound better. Also initialize the block to fix compile.
6
7         * rendering/RenderBlock.cpp:
8         (WebCore::RenderBlock::removeChild):
9
10 2011-01-05  Abhishek Arya  <inferno@chromium.org>
11
12         Reviewed by Dave Hyatt.
13
14         Do not merge anonymous blocks when one of them is the one getting removed.
15         https://bugs.webkit.org/show_bug.cgi?id=51919
16
17         Test: fast/block/merge-anonymous-block-remove-child-crash.html
18
19         * rendering/RenderBlock.cpp:
20         (WebCore::RenderBlock::removeChild):
21
22 2011-01-05  Ryosuke Niwa  <rniwa@webkit.org>
23
24         Reviewed by Eric Seidel.
25
26         ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
27         https://bugs.webkit.org/show_bug.cgi?id=50641
28
29         Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
30         Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
31         The font size delta is now stored as a member variable of EditingStyle as supposed to a property
32         in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.
33
34         No new tests are added since this is a refactoring.
35
36         * editing/ApplyStyleCommand.cpp:
37         (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
38         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
39         * editing/ApplyStyleCommand.h:
40         * editing/EditingStyle.cpp:
41         (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
42         (WebCore::EditingStyle::init): Ditto.
43         (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
44         (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
45         (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
46         (WebCore::EditingStyle::overrideWithStyle): Ditto.
47         (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
48         (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
49         * editing/EditingStyle.h:
50         (WebCore::EditingStyle::fontSizeDelta): Added.
51         (WebCore::EditingStyle::hasFontSizeDelta): Added.
52         * editing/Editor.h:
53
54 2011-01-05  Dan Bernstein  <mitz@apple.com>
55
56         Reviewed by Darin Adler.
57
58         <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
59         https://bugs.webkit.org/show_bug.cgi?id=51915
60
61         This changes the results of existing tests in fast/text.
62
63         * platform/graphics/Font.h:
64         * platform/graphics/FontFastPath.cpp:
65         (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
66         * rendering/style/RenderStyle.cpp:
67         * platform/graphics/qt/FontQt.cpp:
68         (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
69         (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
70         hyphen only if the primary font has a hyphen glyph, and otherwise return a
71         hyphen-minus.
72
73 2011-01-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
74
75         Reviewed by Ariya Hidayat.
76
77         [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
78         https://bugs.webkit.org/show_bug.cgi?id=51888
79
80         Overrule Qt's default from qconfig.pri for non-production builds so
81         that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.
82
83         No new tests as there is no new functionality.
84
85         * WebCore.pro:
86
87 2011-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>
88
89         Unreviewed, rolling out r74778.
90         http://trac.webkit.org/changeset/74778
91         https://bugs.webkit.org/show_bug.cgi?id=51930
92
93         Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
94         (Requested by bbandix on #webkit).
95
96         * bindings/v8/V8DOMWindowShell.cpp:
97         (WebCore::V8DOMWindowShell::setContext):
98         * bindings/v8/V8DOMWindowShell.h:
99
100 2011-01-05  Yi Shen  <yi.4.shen@nokia.com>
101
102         Reviewed by Andreas Kling.
103
104         [Qt] Animated GIF images does not animate 10x as expected by default.
105         https://bugs.webkit.org/show_bug.cgi?id=36818
106
107         Add a test animated GIF which should be displayed 2 times and stop.
108
109         * manual-tests/animated-gif-looping.html:
110         * manual-tests/resources/animated-2x.gif: Added.
111
112 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
113
114         Reviewed by Martin Robinson.
115
116         [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
117         https://bugs.webkit.org/show_bug.cgi?id=51923
118
119         Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
120         ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
121
122         No new tests. This should not change functionality.
123
124         * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
125         * platform/gtk/ScrollbarThemeGtk.cpp:
126         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
127         * platform/gtk/ScrollbarThemeGtk.h:
128         * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
129         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
130         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
131         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
132         (WebCore::ScrollbarThemeGtk::paintThumb):
133         (WebCore::ScrollbarThemeGtk::paintButton):
134         * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
135         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
136         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
137         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
138         (WebCore::ScrollbarThemeGtk::paintThumb):
139         (WebCore::ScrollbarThemeGtk::paintButton):
140
141 2011-01-05  Patrick Gansterer  <paroga@webkit.org>
142
143         Reviewed by Andreas Kling.
144
145         [CMake] Fix the usage of SOURCE_GROUP
146         https://bugs.webkit.org/show_bug.cgi?id=51739
147
148         * CMakeLists.txt:
149
150 2011-01-05  Andras Becsi  <abecsi@webkit.org>
151
152         Reviewed by Csaba Osztrogonác.
153
154         [Qt][V8] Fix the build after recent changes.
155
156         No new tests needed.
157
158         * WebCore.pro: Add missing files, and remove obsolete ones.
159
160 2011-01-05  Yong Li  <yoli@rim.com>
161
162         Reviewed by Adam Barth.
163
164         Suspend HTMLParserScheduler when page load is deferred to
165         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
166         from an external script or by events, and is blocked by a modal dialog,
167         WebKit can parse more HTML source and also start another JS execution.
168         
169         https://bugs.webkit.org/show_bug.cgi?id=48077
170
171         Test case: WebCore/manual-tests/bugzilla-48077.html.
172
173         * dom/DocumentParser.cpp:
174         (WebCore::DocumentParser::suspendScheduledTasks):
175         (WebCore::DocumentParser::resumeScheduledTasks):
176         * dom/DocumentParser.h:
177         * html/parser/HTMLDocumentParser.cpp:
178         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
179         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
180         * html/parser/HTMLParserScheduler.cpp:
181         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
182         (WebCore::HTMLParserScheduler::suspend):
183         (WebCore::HTMLParserScheduler::resume):
184         * html/parser/HTMLParserScheduler.h:
185         (WebCore::HTMLParserScheduler::isScheduledForResume):
186         * page/PageGroupLoadDeferrer.cpp:
187         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
188         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
189
190 2011-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
191
192         Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
193
194         [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
195         https://bugs.webkit.org/show_bug.cgi?id=51926
196
197         Work around potential upstream bug: Querying a GstBin for the duration,
198         will forward the query to all sink children. Our WebKitWebSrc however
199         is a bin with only source children, therefore the query fails. Until
200         this is changed upstream, this patch works around it as follows,
201         based on suggestion by Philippe Normand and Sebastian Dröge:
202
203         When the initial query fails, attempt the same query on all source
204         pads and take the maximum length reported.
205
206         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
207         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
208
209 2011-01-05  Philippe Normand  <pnormand@igalia.com>
210
211         Rubber-stamped by Eric Seidel.
212
213         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
214         https://bugs.webkit.org/show_bug.cgi?id=51810
215
216         Based on a patch by Mart Raudsepp.
217
218         No new tests, build fix only.
219
220         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
221         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
222         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
223         introduced in same version as the xoverlay API change.
224
225 2011-01-05  Leo Yang  <leo.yang@torchmobile.com.cn>
226
227         Reviewed by Dirk Schulze.
228
229         Malformed SVG causes crash in updateContainerOffset
230         https://bugs.webkit.org/show_bug.cgi?id=44610
231
232         We should check recursive <use> at the begining of
233         WebCore::SVGUseElement::buildInstanceTree instead
234         of at the end of it because the target element's
235         children may cause infinite recursive <use>.
236
237         Test: svg/custom/recursive-use.svg
238
239         * svg/SVGUseElement.cpp:
240         (WebCore::SVGUseElement::buildInstanceTree):
241         (WebCore::SVGUseElement::hasCycleUseReferencing):
242         * svg/SVGUseElement.h:
243
244 2011-01-04  Antti Koivisto  <antti@apple.com>
245
246         Reviewed by Dan Bernstein.
247
248         https://bugs.webkit.org/show_bug.cgi?id=51907
249         Style selector should only be recalculated when the pending sheet count goes to zero
250         
251         Shark says this is a significant performance improvement on some sites with lots of stylesheets.
252
253         * dom/Document.cpp:
254         (WebCore::Document::removePendingSheet):
255
256 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
257
258         Reviewed by Martin Robinson.
259
260         [GTK] Use GtkStyleContext to get platform colors
261         https://bugs.webkit.org/show_bug.cgi?id=51830
262
263         Use GtkStyleContext API to get platform colors when building with
264         GTK+ 3.x.
265
266         No new tests. This should not change functionality.
267
268         * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
269         * platform/graphics/gtk/ColorGtk.cpp:
270         (WebCore::Color::Color):
271         (WebCore::Color::operator GdkRGBA):
272         * platform/gtk/RenderThemeGtk3.cpp:
273         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
274         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
275         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
276         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
277         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
278         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
279         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
280         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
281         (WebCore::RenderThemeGtk::systemColor):
282
283 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
284
285         Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
286
287         * platform/gtk/RenderThemeGtk3.cpp:
288         (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
289         adoptGRefPtr which doesn't exist.
290
291 2011-01-05  Alexey Proskuryakov  <ap@apple.com>
292
293         Reviewed by Sam Weinig.
294
295         https://bugs.webkit.org/show_bug.cgi?id=51903
296         Tell UI process which subframe is largest
297
298         * WebCore.exp.in: Exported FrameView::contentsSize().
299
300 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
301
302         Unreviewed. GTK build fix.
303
304         WK2: Support Accessibility
305         https://bugs.webkit.org/show_bug.cgi?id=51859
306
307         * page/FrameView.cpp:
308         (WebCore::FrameView::axObjectCache):
309
310 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
311
312         Unreviewed, rolling out r74992.
313         http://trac.webkit.org/changeset/74992
314         https://bugs.webkit.org/show_bug.cgi?id=51917
315
316         Crash in HTMLDocumentParser::suspendScheduledTasks()
317         (Requested by tkent on #webkit).
318
319         * dom/DocumentParser.cpp:
320         * dom/DocumentParser.h:
321         * html/parser/HTMLDocumentParser.cpp:
322         * html/parser/HTMLDocumentParser.h:
323         * html/parser/HTMLParserScheduler.cpp:
324         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
325         * html/parser/HTMLParserScheduler.h:
326         (WebCore::HTMLParserScheduler::isScheduledForResume):
327         * page/PageGroupLoadDeferrer.cpp:
328         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
329         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
330
331 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
332
333         Reviewed by Kenneth Rohde Christiansen.
334
335         [Qt] [WK2] Add support for non-trivial context menu action
336         https://bugs.webkit.org/show_bug.cgi?id=51902
337
338         Fix the preprocessor guard for ContextMenuItemTagSelectAll in
339         the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
340         inconsistent with what is defined in ContextMenuItem.h.
341
342         * page/ContextMenuController.cpp:
343         (WebCore::ContextMenuController::contextMenuItemSelected):
344
345 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
346
347         Reviewed by Ryosuke Niwa.
348
349         Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
350         https://bugs.webkit.org/show_bug.cgi?id=51723
351
352         ScriptElement should also be able to keep its Element+CachedScript in
353         a PendingScript, and then executeScriptSoon can accept a PendingScript.
354         Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
355         PendingScripts, then generic request and execute which operate on
356         PendingScripts can be factored out to avoid code duplicate that we have.
357
358         No new tests because no new functionality.
359
360         * dom/AsyncScriptRunner.cpp:
361         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
362         (WebCore::AsyncScriptRunner::executeScriptSoon):
363         (WebCore::AsyncScriptRunner::timerFired):
364         * dom/AsyncScriptRunner.h:
365         * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
366         * dom/HTMLScriptRunner.cpp:
367         (WebCore::HTMLScriptRunner::requestPendingScript):
368
369 2011-01-04  Jeff Miller  <jeffm@apple.com>
370
371         Reviewed by Darin Adler.
372
373         Member variable and method naming cleanup to be consistent with WebKit2.
374         https://bugs.webkit.org/show_bug.cgi?id=51228
375
376         * page/win/EventHandlerWin.cpp:
377         (WebCore::EventHandler::eventActivatedView):
378         Rename activatedWebView() to didActivateWebView().
379         
380         * platform/PlatformMouseEvent.h:
381         Rename m_activatedWebView to m_didActivateWebView.
382         
383         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
384         Initialize platform-specific member variables in PlatformMouseEvent constructors.
385         
386         (WebCore::PlatformMouseEvent::didActivateWebView):
387         Rename activatedWebView() to didActivateWebView().
388
389         * platform/win/PlatformMouseEventWin.cpp:
390         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
391         Rename m_activatedWebView to m_didActivateWebView.
392
393 2011-01-04  Yael Aharon  <yael.aharon@nokia.com>
394
395         Reviewed by Darin Adler.
396
397         CSS3 :nth-child selector and valid whitespace test fails
398         https://bugs.webkit.org/show_bug.cgi?id=36279
399
400         Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
401
402         Test: fast/css/css3-nth-space.html
403
404         * css/tokenizer.flex:
405
406 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
407
408         Unreviewed. Build fix.
409
410         WK2: Support Accessibility
411         https://bugs.webkit.org/show_bug.cgi?id=51859
412
413         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
414         (fallbackObject):
415
416 2011-01-04  Cosmin Truta  <ctruta@chromium.org>
417
418         Reviewed by Eric Seidel.
419
420         [chromium] PNG compression settings optimized for speed
421         https://bugs.webkit.org/show_bug.cgi?id=51719
422
423         Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
424         it is also the slowest, by a wide margin, on easy-to-compress images.
425         Use a more balanced configuration, based on the libpng compression defaults,
426         but with a faster compression level (3 instead of 6), and a faster filter
427         ("sub" instead of "all").
428
429         No change in behaviour, so no new tests.
430
431         * platform/image-encoders/skia/PNGImageEncoder.cpp:
432         (WebCore::PNGImageEncoder::encode):
433
434 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
435
436         Reviewed by Sam Weinig.
437
438         WK2: Support Accessibility
439         https://bugs.webkit.org/show_bug.cgi?id=51859
440
441         WK2 doesn't use platform scroll views anymore. Accessibility code
442         needs to have its own scroll views. 
443
444         Test: platform/mac/accessibility/webkit-scrollarea.html
445
446         * CMakeLists.txt:
447         * GNUmakefile.am:
448         * WebCore.exp.in:
449         * WebCore.gypi:
450         * WebCore.pro:
451         * WebCore.vcproj/WebCore.vcproj:
452         * WebCore.xcodeproj/project.pbxproj:
453         * accessibility/AXObjectCache.cpp:
454         (WebCore::AXObjectCache::AXObjectCache):
455         (WebCore::AXObjectCache::get):
456         (WebCore::AXObjectCache::getOrCreate):
457         (WebCore::AXObjectCache::rootObject):
458         (WebCore::AXObjectCache::remove):
459         (WebCore::AXObjectCache::handleScrollbarUpdate):
460         * accessibility/AXObjectCache.h:
461         (WebCore::AXObjectCache::handleScrollbarUpdate):
462         * accessibility/AccessibilityARIAGrid.h:
463         * accessibility/AccessibilityAllInOne.cpp:
464         * accessibility/AccessibilityImageMapLink.cpp:
465         * accessibility/AccessibilityImageMapLink.h:
466         * accessibility/AccessibilityListBoxOption.cpp:
467         * accessibility/AccessibilityListBoxOption.h:
468         * accessibility/AccessibilityObject.cpp:
469         (WebCore::AccessibilityObject::updateChildrenIfNecessary):
470         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
471         (WebCore::AccessibilityObject::axObjectCache):
472         (WebCore::AccessibilityObject::focusedUIElement):
473         * accessibility/AccessibilityObject.h:
474         (WebCore::AccessibilityObject::isAccessibilityScrollView):
475         (WebCore::AccessibilityObject::isScrollView):
476         (WebCore::AccessibilityObject::canSetNumericValue):
477         (WebCore::AccessibilityObject::scrollBar):
478         (WebCore::AccessibilityObject::size):
479         (WebCore::AccessibilityObject::setValue):
480         * accessibility/AccessibilityRenderObject.cpp:
481         (WebCore::AccessibilityRenderObject::parentObject):
482         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
483         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
484         (WebCore::AccessibilityRenderObject::addChildren):
485         * accessibility/AccessibilityRenderObject.h:
486         * accessibility/AccessibilityScrollView.cpp: Added.
487         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
488         (WebCore::AccessibilityScrollView::create):
489         (WebCore::AccessibilityScrollView::scrollBar):
490         (WebCore::AccessibilityScrollView::children):
491         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
492         (WebCore::AccessibilityScrollView::removeChildScrollbar):
493         (WebCore::AccessibilityScrollView::addChildScrollbar):
494         (WebCore::AccessibilityScrollView::addChildren):
495         (WebCore::AccessibilityScrollView::webAreaObject):
496         (WebCore::AccessibilityScrollView::accessibilityHitTest):
497         (WebCore::AccessibilityScrollView::document):
498         (WebCore::AccessibilityScrollView::elementRect):
499         (WebCore::AccessibilityScrollView::parentObject):
500         * accessibility/AccessibilityScrollView.h: Added.
501         (WebCore::AccessibilityScrollView::roleValue):
502         (WebCore::AccessibilityScrollView::scrollView):
503         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
504         (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
505         (WebCore::toAccessibilityScrollView):
506         * accessibility/AccessibilityScrollbar.cpp:
507         (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
508         (WebCore::AccessibilityScrollbar::create):
509         (WebCore::AccessibilityScrollbar::elementRect):
510         (WebCore::AccessibilityScrollbar::document):
511         (WebCore::AccessibilityScrollbar::orientation):
512         (WebCore::AccessibilityScrollbar::isEnabled):
513         (WebCore::AccessibilityScrollbar::valueForRange):
514         (WebCore::AccessibilityScrollbar::setValue):
515         * accessibility/AccessibilityScrollbar.h:
516         (WebCore::AccessibilityScrollbar::setParent):
517         (WebCore::AccessibilityScrollbar::canSetValueAttribute):
518         (WebCore::AccessibilityScrollbar::canSetNumericValue):
519         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
520         (WebCore::AccessibilityScrollbar::parentObject):
521         (WebCore::AccessibilityScrollbar::roleValue):
522         * accessibility/mac/AccessibilityObjectMac.mm:
523         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
524         * accessibility/mac/AccessibilityObjectWrapper.mm:
525         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
526         (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
527         (-[AccessibilityObjectWrapper position]):
528         (-[AccessibilityObjectWrapper scrollViewParent]):
529         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
530         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
531         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
532         * dom/Document.cpp:
533         (WebCore::Document::axObjectCache):
534         * loader/EmptyClients.h:
535         (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
536         * loader/FrameLoaderClient.h:
537         * page/FrameView.cpp:
538         (WebCore::FrameView::~FrameView):
539         (WebCore::FrameView::axObjectCache):
540         * page/FrameView.h:
541         * platform/ScrollView.cpp:
542         (WebCore::ScrollView::setHasHorizontalScrollbar):
543         (WebCore::ScrollView::setHasVerticalScrollbar):
544         * platform/Scrollbar.cpp:
545         (WebCore::Scrollbar::~Scrollbar):
546         (WebCore::Scrollbar::scroll):
547         (WebCore::Scrollbar::axObjectCache):
548         * platform/Scrollbar.h:
549         * platform/Widget.h:
550         (WebCore::Widget::axObjectCache):
551
552 2011-01-04  W. James MacLean  <wjmaclean@chromium.org>
553
554         Reviewed by Kenneth Russell.
555
556         [chromium] Add support to compositor to composite to offscreen texture.
557         https://bugs.webkit.org/show_bug.cgi?id=50833
558
559         A patch to extend compositor to be able to composite into an offscreen texture instead
560         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
561         Explicitly resets alpha channel before rendering to display.
562
563         * platform/graphics/chromium/LayerRendererChromium.cpp:
564         (WebCore::LayerRendererChromium::LayerRendererChromium):
565         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
566         (WebCore::LayerRendererChromium::drawLayers):
567         (WebCore::LayerRendererChromium::setCompositeOffscreen):
568         (WebCore::LayerRendererChromium::useRenderSurface):
569         (WebCore::LayerRendererChromium::setScissorToRect):
570         * platform/graphics/chromium/LayerRendererChromium.h:
571         (WebCore::LayerRendererChromium::isCompositingOffscreen):
572         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
573
574 2011-01-04  Evan Martin  <evan@chromium.org>
575
576         Reviewed by Tony Chang.
577
578         [chromium] depend on harfbuzz explicitly
579         https://bugs.webkit.org/show_bug.cgi?id=51895
580
581         platform/graphics/chromium uses Harfbuzz directly.  Rather than
582         expecting Skia to adjust the include paths, be explicit about
583         the dependency.
584
585         * WebCore.gyp/WebCore.gyp:
586
587 2011-01-04  Darin Adler  <darin@apple.com>
588
589         Reviewed by Brady Eidson.
590
591         Add back/forward encoding and decoding to WebKit2
592         https://bugs.webkit.org/show_bug.cgi?id=51901
593
594         * WebCore.exp.in: Export functions used in WebKit2.
595
596         * history/HistoryItem.cpp:
597         (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
598         (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
599         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
600         * history/HistoryItem.h: Ditto.
601         * platform/network/FormData.cpp:
602         (WebCore::encode): Ditto.
603         (WebCore::decode): Ditto.
604         (WebCore::FormData::encodeForBackForward): Ditto.
605         (WebCore::FormData::decodeForBackForward): Ditto.
606         * platform/network/FormData.h: Ditto.
607
608 2011-01-04  Xiaomei Ji  <xji@chromium.org>
609
610         Reviewed by Dan Bernstein.
611
612         Implement sel.modify('move', 'left'/'right', 'lineBoundary').
613         https://bugs.webkit.org/show_bug.cgi?id=33435
614
615         * editing/SelectionController.cpp:
616         (WebCore::SelectionController::modifyMovingRight):
617         (WebCore::SelectionController::modifyMovingLeft):
618         * editing/visible_units.cpp:
619         (WebCore::logicalStartOfLine):
620         (WebCore::logicalEndOfLine):
621         (WebCore::leftBoundaryOfLine):
622         (WebCore::rightBoundaryOfLine):
623         * editing/visible_units.h:
624
625 2011-01-04  Martin Robinson  <mrobinson@igalia.com>
626
627         Reviewed by Xan Lopez.
628
629         [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
630         https://bugs.webkit.org/show_bug.cgi?id=51887
631
632         Do not rely on the GTK+ theme to determine text control borders. This simplifies
633         the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
634         doesn't break the rendering of any theme that I've encountered.
635
636         * platform/gtk/RenderThemeGtk.cpp:
637         (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
638         still disable any border radius.
639         * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
640         default style of text areas and text input controls.
641         * platform/gtk/RenderThemeGtk2.cpp: Ditto.
642         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
643
644 2011-01-03  Martin Robinson  <mrobinson@igalia.com>
645
646         Reviewed by Darin Adler.
647
648         Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
649         https://bugs.webkit.org/show_bug.cgi?id=51846
650
651         No new tests. This should not introduce any functional changes.
652
653         Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
654         all references to PlatformRefPtr in Brew code to RefPtr.
655
656 2011-01-04  David Kilzer  <ddkilzer@apple.com>
657
658         <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
659
660         Reviewed by Antti Koivisto.
661
662         This is needed to prevent a WebCore/platform policy violation in
663         my next patch.
664
665         * WebCore.gypi: Updated for moved header.
666         * WebCore.pro: Ditto.
667         * WebCore.vcproj/WebCore.vcproj: Ditto.
668         * WebCore.xcodeproj/project.pbxproj: Ditto.
669         * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.
670
671 2011-01-04  Brady Eidson  <beidson@apple.com>
672
673         Reviewed by a spell checker.
674
675         * storage/StorageMap.h: mesured?  Really?
676
677 2011-01-04  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
678
679         Reviewed by Xan Lopez.
680
681         [GTK] Port stock icon painting to GtkStyleContext
682         https://bugs.webkit.org/show_bug.cgi?id=51764
683
684         Port stock icon painting for media and search input elements to
685         GtkStyleContext. Also create the initial machinery for accessing
686         style contexts for all GTK+ 3.x based widgets.
687
688         No new tests. This should not change functionality.
689
690         * platform/gtk/RenderThemeGtk.cpp:
691         (WebCore::paintGdkPixbuf):
692         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
693         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
694         (WebCore::RenderThemeGtk::paintMediaButton):
695         * platform/gtk/RenderThemeGtk.h:
696         * platform/gtk/RenderThemeGtk2.cpp:
697         (WebCore::RenderThemeGtk::getStockIcon):
698         * platform/gtk/RenderThemeGtk3.cpp:
699         (WebCore::gtkStyleChangedCallback):
700         (WebCore::styleContextMap):
701         (WebCore::getStyleContext):
702         (WebCore::RenderThemeGtk::paintMenuList):
703
704 2010-12-31  Antti Koivisto  <antti@apple.com>
705
706         Reviewed by Dave Hyatt.
707
708         Scripts should not be executed before preceding stylesheets are loaded
709         https://bugs.webkit.org/show_bug.cgi?id=8852
710
711         Block inline script execution on pending stylesheet loads. This matches
712         other browsers and HTML5.
713
714         Tests: fast/tokenizer/inline-script-stylesheet-write.html
715                fast/tokenizer/inline-script-stylesheet.html
716
717         * dom/PendingScript.cpp:
718         (WebCore::PendingScript::releaseElementAndClear):
719         * dom/PendingScript.h:
720         (WebCore::PendingScript::PendingScript):
721         (WebCore::PendingScript::operator=):
722         (WebCore::PendingScript::startingPosition):
723         (WebCore::PendingScript::setStartingPosition):
724         * html/HTMLLinkElement.cpp:
725         (WebCore::HTMLLinkElement::process):
726         
727         This fixes an unrelated bug with beforeload events that was exposed by the other
728         changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
729         
730         * html/parser/HTMLScriptRunner.cpp:
731         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
732         (WebCore::HTMLScriptRunner::runScript):
733
734 2011-01-04  Xianzhu Wang  <wangxianzhu@google.com>
735
736         Reviewed by Darin Adler.
737
738         Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
739         ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
740         on ARM.
741         https://bugs.webkit.org/show_bug.cgi?id=51861
742
743         By the way, changed other getIntXX() and setIntXX() methods to use
744         more precise integer types.
745
746         * bindings/js/JSDataViewCustom.cpp:
747         (WebCore::setDataViewMember):
748         * bindings/v8/custom/V8DataViewCustom.cpp:
749         (WebCore::V8DataView::getInt8Callback):
750         (WebCore::V8DataView::setInt8Callback):
751         * html/canvas/DataView.cpp:
752         (WebCore::DataView::getInt8):
753         (WebCore::DataView::setInt8):
754         * html/canvas/DataView.h:
755         * html/canvas/DataView.idl:
756
757 2011-01-04  Yong Li  <yoli@rim.com>
758
759         Reviewed by Adam Barth.
760
761         Suspend HTMLParserScheduler when page load is deferred to
762         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
763         from an external script or by events, and is blocked by a modal dialog,
764         WebKit can parse more HTML source and also start another JS execution.
765         
766         https://bugs.webkit.org/show_bug.cgi?id=48077
767
768         Test case: WebCore/manual-tests/bugzilla-48077.html.
769
770         * dom/DocumentParser.cpp:
771         (WebCore::DocumentParser::suspendScheduledTasks):
772         (WebCore::DocumentParser::resumeScheduledTasks):
773         * dom/DocumentParser.h:
774         * html/parser/HTMLDocumentParser.cpp:
775         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
776         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
777         * html/parser/HTMLParserScheduler.cpp:
778         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
779         (WebCore::HTMLParserScheduler::suspend):
780         (WebCore::HTMLParserScheduler::resume):
781         * html/parser/HTMLParserScheduler.h:
782         (WebCore::HTMLParserScheduler::isScheduledForResume):
783         * page/PageGroupLoadDeferrer.cpp:
784         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
785         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
786
787 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
788
789         Unreviewed build fix.
790
791         Include glib-object.h for GObject
792         https://bugs.webkit.org/show_bug.cgi?id=51876
793
794         * bindings/gobject/DOMObjectCache.cpp:
795
796 2011-01-04  Ryosuke Niwa  <rniwa@webkit.org>
797
798         Reviewed by Dan Bernstein.
799
800         Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
801         https://bugs.webkit.org/show_bug.cgi?id=50992
802
803         Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
804         does not match. Reused the code added by http://trac.webkit.org/changeset/73553.
805
806         Test: editing/selection/caret-bidi-first-and-last-letters.html
807
808         * rendering/InlineTextBox.cpp:
809         (WebCore::InlineTextBox::offsetForPosition):
810
811 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
812
813         Reviewed by Darin Adler.
814
815         Remove 2 unnecessary includes from Document.h
816         https://bugs.webkit.org/show_bug.cgi?id=51727
817
818         No new tests because no changed functionality.
819
820         * dom/Document.cpp:
821         * dom/Document.h:
822         * editing/Editor.cpp:
823         * editing/SpellChecker.h:
824         * editing/SplitTextNodeCommand.cpp:
825         * editing/TextCheckingHelper.cpp:
826         * page/FrameView.cpp:
827         * page/Page.cpp:
828         * rendering/HitTestResult.cpp:
829         * rendering/InlineTextBox.cpp:
830         * rendering/InlineTextBox.h:
831         * rendering/svg/SVGInlineFlowBox.cpp:
832
833 2011-01-04  Patrick Gansterer  <paroga@webkit.org>
834
835         Unreviewed WinCE build fix.
836
837         * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
838
839 2011-01-04  Yi Shen  <yi.4.shen@nokia.com>
840
841         Reviewed by Simon Hausmann.
842
843         Provide an interface to require using fullscreen mediaplayer
844         https://bugs.webkit.org/show_bug.cgi?id=51133
845
846         Only video should be displayed in fullscreen when 
847         requiresFullscreenForVideoPlayback is specified.
848
849         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
850
851         * html/HTMLMediaElement.cpp:
852         (WebCore::HTMLMediaElement::updatePlayState):
853
854 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
855
856         Reviewed by Kenneth Rohde Christiansen.
857
858         [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
859         https://bugs.webkit.org/show_bug.cgi?id=51825
860
861         Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
862         platform independent menu informations.
863
864         * platform/qt/ContextMenuQt.cpp:
865         (WebCore::contextMenuItemVector):
866
867 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
868
869         Unreviewed, rolling out r74960.
870         http://trac.webkit.org/changeset/74960
871         https://bugs.webkit.org/show_bug.cgi?id=51868
872
873         Rollout since we hit an assert after this patch. (Requested by
874         krit on #webkit).
875
876         * svg/SVGUseElement.cpp:
877         (WebCore::SVGUseElement::buildInstanceTree):
878
879 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
880
881         Unreviewed, rolling out r74961.
882         http://trac.webkit.org/changeset/74961
883         https://bugs.webkit.org/show_bug.cgi?id=51867
884
885         breaks 32/64-bits debug bots build (Requested by philn-tp on
886         #webkit).
887
888         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
889         (WebCore::GStreamerGWorld::setWindowOverlay):
890
891 2011-01-03  Philippe Normand  <pnormand@igalia.com>
892
893         Rubber-stamped by Eric Seidel.
894
895         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
896         https://bugs.webkit.org/show_bug.cgi?id=51810
897
898         Based on a patch by Mart Raudsepp.
899
900         No new tests, build fix only.
901
902         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
903         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
904         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
905         introduced in same version as the xoverlay API change.
906
907 2011-01-04  Leo Yang  <leo.yang@torchmobile.com.cn>
908
909         Reviewed by Dirk Schulze.
910
911         Malformed SVG causes crash in updateContainerOffset
912         https://bugs.webkit.org/show_bug.cgi?id=44610
913
914         We should check recursive <use> at the begining of
915         WebCore::SVGUseElement::buildInstanceTree instead
916         of at the end of it because the target element's
917         children may cause infinite recursive <use>.
918
919         Test: svg/custom/recursive-use.svg
920
921         * svg/SVGUseElement.cpp:
922         (WebCore::SVGUseElement::buildInstanceTree):
923
924 2011-01-04  Kent Tamura  <tkent@chromium.org>
925
926         Unreviewed, build fix.
927
928         Try to fix Clang build.
929
930         * css/CSSParser.cpp:
931         (WebCore::valueFromSideKeyword):
932         (WebCore::CSSParser::parseLinearGradient):
933
934 2011-01-03  Julie-Jeongeun-Kim  <Jeongeun.Kim@obigo.com>
935
936         Reviewed by Darin Adler.
937
938         HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
939         https://bugs.webkit.org/show_bug.cgi?id=48596
940         
941         border attribute was not parsed in HTMLObjectElement.
942         I added code for it as HTMLImageElement handled.
943
944         new test:fast/html/object-border.html
945
946         * html/HTMLObjectElement.cpp:
947         (WebCore::HTMLObjectElement::parseMappedAttribute):
948
949 2011-01-03  Darin Adler  <darin@apple.com>
950
951         Try to fix Chromium build.
952
953         * history/HistoryItem.cpp:
954         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
955         Not sure this ever will be used with V8.
956         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
957
958 2011-01-03  Darin Adler  <darin@apple.com>
959
960         Try to fix Leopard build.
961
962         * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
963         size variable.
964
965 2011-01-03  Abhishek Arya  <inferno@chromium.org>
966
967         Reviewed by Darin Adler.
968
969         Fixes before child calculation when adding anonymous childs to table parts.
970         https://bugs.webkit.org/show_bug.cgi?id=50932
971
972         Fix in r74364 was incomplete. When before child is equal to the table part(to
973         which the new child is getting added), it confuses the table part to add it
974         incorrectly as an after child. The patch fixes by passing the before child as
975         the table part's first child.
976
977         Tests: fast/css-generated-content/table-before-after-child-add.html
978                fast/css-generated-content/table-cell-before-after-child-add.html
979                fast/css-generated-content/table-row-before-after-child-add.html
980                fast/css-generated-content/table-row-before-after-child-add.html
981
982         * rendering/RenderTable.cpp:
983         (WebCore::RenderTable::addChild):
984         * rendering/RenderTableRow.cpp:
985         (WebCore::RenderTableRow::addChild):
986         * rendering/RenderTableSection.cpp:
987         (WebCore::RenderTableSection::addChild):
988
989 2011-01-03  Dan Bernstein  <mitz@apple.com>
990
991         Reviewed by Simon Fraser.
992
993         Shrink HTMLTableCellElement
994         https://bugs.webkit.org/show_bug.cgi?id=51858
995
996         * html/HTMLTableCellElement.cpp:
997         (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
998         m_col.
999         * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
1000
1001 2011-01-03  Darin Adler  <darin@apple.com>
1002
1003         Fix build.
1004
1005         * platform/network/FormData.cpp:
1006         (WebCore::FormData::create): Roll back uint8_t change.
1007         (WebCore::FormData::flatten): Ditto.
1008         (WebCore::FormData::flattenToString): Ditto.
1009         (WebCore::encode): Ditto.
1010         (WebCore::decode): Ditto.
1011         (WebCore::FormData::encodeForBackForward):
1012         * platform/network/FormData.h: Ditto.
1013         * platform/network/mac/FormDataStreamMac.mm:
1014         (WebCore::advanceCurrentStream): Ditto.
1015
1016 2011-01-03  Darin Adler  <darin@apple.com>
1017
1018         Reviewed by Brady Eidson.
1019
1020         Add code to encode/decode the back/forward tree
1021         https://bugs.webkit.org/show_bug.cgi?id=51853
1022
1023         * history/HistoryItem.cpp:
1024         (WebCore::HistoryItem::encodeBackForwardTree): Added.
1025         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
1026         (WebCore::HistoryItem::decodeBackForwardTree): Added.
1027         * history/HistoryItem.h: Added functions above.
1028
1029         * platform/network/FormData.cpp:
1030         (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
1031         Vector<char>. This type is used in our newer code for vectors of bytes.
1032         (WebCore::FormData::flatten): Ditto.
1033         (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
1034         (WebCore::FormData::encodeForBackForward): Added.
1035         (WebCore::FormData::decodeForBackForward): Added.
1036         * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
1037         Vector<char>. Also made some single-argument constructors explicit.
1038         Also added the new functions.
1039
1040         * platform/network/mac/FormDataStreamMac.mm:
1041         (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
1042
1043 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
1044
1045         Attempt to fix GTK build.
1046
1047         * platform/graphics/gtk/FontGtk.cpp:
1048         (WebCore::drawGlyphsShadow):
1049
1050 2011-01-03  Helder Correia  <helder@sencha.com>
1051
1052         Reviewed by Simon Fraser.
1053
1054         ContextShadow can avoid code duplication for getting the CTM
1055         https://bugs.webkit.org/show_bug.cgi?id=51799
1056
1057         ContextShadow defines its own getTransformationMatrixFromContext()
1058         which does exactly the same as GraphicsContext::getCTM().
1059
1060         Existing tests: fast/canvas/canvas*shadow*html
1061
1062         * platform/graphics/ContextShadow.cpp:
1063         (WebCore::ContextShadow::mustUseContextShadow):
1064         (WebCore::ContextShadow::adjustBlurDistance):
1065         (WebCore::ContextShadow::calculateLayerBoundingRect):
1066         * platform/graphics/ContextShadow.h:
1067         * platform/graphics/cairo/ContextShadowCairo.cpp:
1068         (WebCore::ContextShadow::beginShadowLayer):
1069         (WebCore::ContextShadow::endShadowLayer):
1070         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
1071         * platform/graphics/cairo/FontCairo.cpp:
1072         (WebCore::drawGlyphsShadow):
1073         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1074         (WebCore::drawPathShadow):
1075         * platform/graphics/cairo/ImageCairo.cpp:
1076         (WebCore::BitmapImage::draw):
1077         * platform/graphics/gtk/FontGtk.cpp:
1078         (WebCore::drawGlyphsShadow):
1079         * platform/graphics/qt/ContextShadowQt.cpp:
1080         (WebCore::ContextShadow::beginShadowLayer):
1081         (WebCore::ContextShadow::endShadowLayer):
1082         * platform/graphics/qt/FontQt.cpp:
1083         (WebCore::drawTextCommon):
1084         * platform/graphics/qt/GraphicsContextQt.cpp:
1085         (WebCore::GraphicsContext::fillPath):
1086         (WebCore::GraphicsContext::strokePath):
1087         (WebCore::GraphicsContext::fillRect):
1088         (WebCore::GraphicsContext::fillRoundedRect):
1089         * platform/graphics/qt/ImageQt.cpp:
1090         (WebCore::BitmapImage::draw):
1091         * platform/graphics/qt/StillImageQt.cpp:
1092         (WebCore::StillImage::draw):
1093
1094 2011-01-03  Darin Adler  <darin@apple.com>
1095
1096         Reviewed by Dan Bernstein.
1097
1098         InsertTextCommand::m_charactersAdded is unused
1099         https://bugs.webkit.org/show_bug.cgi?id=51849
1100
1101         * editing/InsertTextCommand.cpp:
1102         (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
1103         (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
1104         * editing/InsertTextCommand.h: Removed charactersAdded function and
1105         m_charactersAdded data member.
1106
1107 2011-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1108
1109         Reviewed by Martin Robinson.
1110
1111         [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
1112         https://bugs.webkit.org/show_bug.cgi?id=51832
1113
1114         Method paintMenuListButton() contains code common to both gtk 2
1115         and 3, so it can be moved to RenderThemeGtk.cpp instead of
1116         duplicating it.
1117
1118         * platform/gtk/RenderThemeGtk.cpp:
1119         (WebCore::RenderThemeGtk::paintMenuListButton):
1120         * platform/gtk/RenderThemeGtk2.cpp:
1121         * platform/gtk/RenderThemeGtk3.cpp:
1122
1123 2011-01-03  Pratik Solanki  <psolanki@apple.com>
1124
1125         Reviewed by Darin Adler.
1126
1127         https://bugs.webkit.org/show_bug.cgi?id=51850
1128         Put CFNetwork loader code inside USE(CFNETWORK)
1129
1130         Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
1131         files to the WebCore Xcode project.
1132
1133         * WebCore.xcodeproj/project.pbxproj:
1134         * loader/cf/ResourceLoaderCFNet.cpp:
1135         * loader/mac/ResourceLoaderMac.mm:
1136         * platform/network/cf/AuthenticationCF.cpp:
1137         * platform/network/cf/AuthenticationCF.h:
1138         * platform/network/cf/CookieJarCFNet.cpp:
1139         * platform/network/cf/CookieStorageCFNet.cpp:
1140         * platform/network/cf/CookieStorageCFNet.h:
1141         * platform/network/cf/CredentialStorageCFNet.cpp:
1142         * platform/network/cf/FormDataStreamCFNet.cpp:
1143         * platform/network/cf/FormDataStreamCFNet.h:
1144         * platform/network/cf/LoaderRunLoopCF.cpp:
1145         * platform/network/cf/LoaderRunLoopCF.h:
1146         * platform/network/cf/ResourceError.h:
1147         * platform/network/cf/ResourceHandleCFNet.cpp:
1148         * platform/network/cf/ResourceRequest.h:
1149         * platform/network/cf/ResourceRequestCFNet.cpp:
1150         * platform/network/cf/ResourceRequestCFNet.h:
1151         * platform/network/cf/ResourceResponse.h:
1152         * platform/network/cf/ResourceResponseCFNet.cpp:
1153         * platform/network/mac/AuthenticationMac.h:
1154         * platform/network/mac/AuthenticationMac.mm:
1155         * platform/network/mac/FormDataStreamMac.h:
1156         * platform/network/mac/FormDataStreamMac.mm:
1157         * platform/network/mac/ResourceError.h:
1158         * platform/network/mac/ResourceHandleMac.mm:
1159         * platform/network/mac/ResourceRequest.h:
1160         * platform/network/mac/ResourceRequestMac.mm:
1161         * platform/network/mac/ResourceResponse.h:
1162         * platform/network/mac/ResourceResponseMac.mm:
1163
1164 2011-01-03  Yi Shen  <yi.4.shen@nokia.com>
1165
1166         Reviewed by Adam Barth.
1167
1168         [Qt] Add SelectAll option to the context menu for the editor
1169         https://bugs.webkit.org/show_bug.cgi?id=50049
1170
1171         Enable SelectAll for the Qt context menu.
1172
1173         * page/ContextMenuController.cpp:
1174         (WebCore::ContextMenuController::populate):
1175         * platform/ContextMenuItem.h:
1176         * platform/LocalizationStrategy.h:
1177         * platform/LocalizedStrings.cpp:
1178         (WebCore::contextMenuItemTagSelectAll):
1179         * platform/LocalizedStrings.h:
1180
1181 2011-01-03  Dan Bernstein  <mitz@apple.com>
1182
1183         Reviewed by Darin Adler.
1184
1185         Shrink RootInlineBox
1186         https://bugs.webkit.org/show_bug.cgi?id=51847
1187
1188         * rendering/RootInlineBox.cpp:
1189         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
1190         accessor.
1191         * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
1192         unsigned because otherwise MSVC treats it as signed.
1193         (WebCore::RootInlineBox::baselineType): Added a cast.
1194
1195 2011-01-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1196
1197         Reviewed by Martin Robinson.
1198
1199         [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
1200         https://bugs.webkit.org/show_bug.cgi?id=50698
1201
1202         Fix DOM bindings generation to no longer include the now-gone
1203         webkitprivate.h header, including the appropriate replacements
1204         instead.
1205
1206         * bindings/scripts/CodeGeneratorGObject.pm:
1207
1208 2011-01-03  Brady Eidson  <beidson@apple.com>
1209
1210         Reviewed by Darin Adler.
1211
1212         Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
1213
1214         * ForwardingHeaders/wtf/Decoder.h: Added.
1215         * ForwardingHeaders/wtf/Encoder.h: Added.
1216
1217 2011-01-03  Chris Fleizach  <cfleizach@apple.com>
1218
1219         Reviewed by Darin Adler.
1220
1221         AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
1222         https://bugs.webkit.org/show_bug.cgi?id=51833
1223
1224         Make sure the web area returns the contentsSize, not the same size as what is displayed.
1225
1226         Test: platform/mac/accessibility/webarea-size-equals-content-size.html
1227
1228         * accessibility/AccessibilityRenderObject.cpp:
1229         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1230
1231 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
1232
1233         Fix warning in 32-bit builds.
1234
1235         * css/CSSGradientValue.cpp:
1236         (WebCore::CSSLinearGradientValue::createGradient):
1237
1238 2011-01-03  Benjamin C Meyer  <bmeyer@rim.com>
1239
1240         Reviewed by Daniel Bates.
1241
1242         In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
1243         https://bugs.webkit.org/show_bug.cgi?id=51827
1244
1245         * CMakeLists.txt:
1246
1247 2011-01-03  Dan Bernstein  <mitz@apple.com>
1248
1249         Reviewed by Simon Fraser.
1250
1251         Remove the unused RenderTableCell::m_percentageHeight
1252         https://bugs.webkit.org/show_bug.cgi?id=51837
1253
1254         * rendering/RenderTableCell.cpp:
1255         (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
1256         * rendering/RenderTableCell.h: Removed m_percentageHeight.
1257
1258 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
1259
1260         Reviewed by David Hyatt.
1261
1262         Implement -webkit-linear-gradient and -webkit-radial-gradient
1263         https://bugs.webkit.org/show_bug.cgi?id=28152
1264
1265         Add support for -webkit-radial-gradients.
1266
1267         Tests: fast/gradients/css3-radial-gradients.html
1268                fast/gradients/css3-radial-gradients2.html
1269
1270         * css/CSSGradientValue.cpp:
1271         (WebCore::blend): Used to blend colors, which is necessary when truncating
1272         the start of radial gradients.
1273         (WebCore::GradientStop): Small struct to aid gradient stop processing.
1274         (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
1275         the color so that we can blend it when truncating radial gradients. Changed
1276         to handle both linear and radial gradients.
1277         (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
1278         (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
1279         (WebCore::distanceToClosestCorner): New utility method.
1280         (WebCore::distanceToFarthestCorner): Ditto.
1281         (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
1282         fill rules.
1283
1284         * css/CSSGradientValue.h:
1285         (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
1286         kind of gradient it's dealing with, so add new isFooGradient methods.
1287         (WebCore::CSSGradientValue::isRadialGradient): Ditto.
1288         (WebCore::CSSLinearGradientValue::isLinearGradient):
1289         (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
1290         (WebCore::CSSRadialGradientValue::setSizingBehavior):
1291         (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
1292         (WebCore::CSSRadialGradientValue::setEndVerticalSize):
1293         (WebCore::CSSRadialGradientValue::isRadialGradient):
1294
1295         * css/CSSParser.h:
1296         * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
1297         so we can use parseFillPosition() when parsing a gradient function.
1298         * css/CSSParser.cpp:
1299         (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
1300         (WebCore::CSSParser::parseFillPosition): Ditto
1301         (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
1302         (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
1303         (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
1304         (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
1305         (WebCore::CSSParser::parsePerspectiveOrigin): Ditto
1306
1307         * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
1308
1309         * platform/graphics/Gradient.cpp:
1310         (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
1311         * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
1312         (WebCore::Gradient::create):
1313         (WebCore::Gradient::startRadius): Expose radii.
1314         (WebCore::Gradient::endRadius):
1315         (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
1316         (WebCore::Gradient::setEndRadius):
1317         (WebCore::Gradient::aspectRatio):
1318         * platform/graphics/cg/GradientCG.cpp:
1319         (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
1320         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1321         (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().
1322
1323 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
1324
1325         Reviewed by David Hyatt.
1326
1327         Implement -webkit-linear-gradient and -webkit-radial-gradient
1328         https://bugs.webkit.org/show_bug.cgi?id=28152
1329         
1330         Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
1331         according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.
1332
1333         Tests: fast/gradients/css3-color-stop-units.html
1334                fast/gradients/css3-color-stops.html
1335                fast/gradients/css3-gradient-parsing.html
1336                fast/gradients/css3-linear-angle-gradients.html
1337
1338         * css/CSSGradientValue.h:
1339         Add subclasses of CSSGradientValue for linear and radial gradients.
1340         
1341         * css/CSSGradientValue.cpp:
1342         (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
1343         the gradient sometimes.
1344         (WebCore::compareStops): positions are CSSValues now.
1345         (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
1346         for old-style gradients.
1347         (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
1348         missing positions, ensuring that stop position is ordered, and spacing out stops
1349         without positions. Also normalize gradients which use stops outside the 0-1 range
1350         so that platforms can render them correctly.
1351         (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
1352         number and length values.
1353         (WebCore::CSSGradientValue::computeEndPoint):
1354         (WebCore::CSSLinearGradientValue::cssText):
1355         (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
1356         given an angle.
1357         (WebCore::CSSLinearGradientValue::createGradient):
1358         (WebCore::CSSRadialGradientValue::cssText):
1359         (WebCore::CSSRadialGradientValue::resolveRadius):
1360         (WebCore::CSSRadialGradientValue::createGradient):
1361
1362         * css/CSSParser.cpp:
1363         (WebCore::CSSParser::parseValue): Style fix.
1364         (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
1365         (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
1366         (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
1367         (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
1368         (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
1369         and fixed to store CSSValues for the stop position.
1370         (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
1371         and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
1372         (WebCore::valueFromSideKeyword):
1373         (WebCore::parseGradientColorOrKeyword): Color parsing utility.
1374         (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
1375         (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
1376         (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
1377         (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
1378         and CSS canvas.
1379         * css/CSSParser.h:
1380         * platform/graphics/Gradient.h:
1381         (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
1382         (WebCore::Gradient::setP1): Ditto.
1383
1384 2011-01-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
1385
1386         Reviewed by Andreas Kling.
1387
1388         [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
1389         https://bugs.webkit.org/show_bug.cgi?id=51464
1390
1391         Added a way to bind any QObject created as a plugin to JavaScript, 
1392         by adding a custom member (qtObject) to WebCore::Widget. 
1393         Added a test to tst_qwebpage to make sure plugins created 
1394         as QGraphicsWidget are accessible through JavaScript.
1395
1396         * bindings/js/ScriptControllerQt.cpp:
1397         (WebCore::ScriptController::createScriptInstanceForWidget):
1398         * platform/Widget.h:
1399         * platform/qt/WidgetQt.cpp:
1400         (WebCore::Widget::Widget):
1401         (WebCore::Widget::setBindingObject):
1402         (WebCore::Widget::bindingObject):
1403
1404 2011-01-03  David Hyatt  <hyatt@apple.com>
1405
1406         Reviewed by Simon Fraser.
1407
1408         https://bugs.webkit.org/show_bug.cgi?id=51328
1409
1410         Printing on a page with body { height: 100% } clips out the overflow contents.  This happened
1411         because the computePageRects function was never correct.  It was using the layer's width and height
1412         for the document's width and height, and the layer no longer includes overflow in its width and
1413         height.  It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
1414         assumption in RTL or vertical text environments.
1415
1416         Added printing/page-count-percentage-height.html
1417
1418         * page/PrintContext.cpp:
1419         (WebCore::PrintContext::computePageRects):
1420         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
1421
1422 2011-01-03  Csaba Osztrogonác  <ossy@webkit.org>
1423
1424         [Qt] Unreviewed buildfix for --minimal build after r74895.
1425
1426         * html/InputType.cpp: Missing include added.
1427         * html/NumberInputType.cpp: Missing include added.
1428
1429 2011-01-02  Darin Adler  <darin@apple.com>
1430
1431         Reviewed by Kent Tamura.
1432
1433         Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
1434         https://bugs.webkit.org/show_bug.cgi?id=51791
1435
1436         * dom/InputElement.h: Make sanitizeValueForTextField public so it can
1437         be called by InputType.
1438
1439         * html/BaseButtonInputType.cpp:
1440         (WebCore::BaseButtonInputType::accessKeyAction): Added.
1441         (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
1442         * html/BaseButtonInputType.h: Ditto.
1443
1444         * html/BaseCheckableInputType.cpp:
1445         (WebCore::BaseCheckableInputType::canSetStringValue): Added.
1446         (WebCore::BaseCheckableInputType::accessKeyAction): Added.
1447         (WebCore::BaseCheckableInputType::fallbackValue): Added.
1448         (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
1449         (WebCore::BaseCheckableInputType::isCheckable): Added.
1450         * html/BaseCheckableInputType.h: Ditto.
1451
1452         * html/BaseDateAndTimeInputType.cpp:
1453         (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
1454         * html/BaseDateAndTimeInputType.h: Ditto.
1455
1456         * html/BaseTextInputType.h: Made more functions private.
1457
1458         * html/ButtonInputType.cpp:
1459         (WebCore::ButtonInputType::isTextButton): Added.
1460         * html/ButtonInputType.h: Ditto.
1461
1462         * html/CheckboxInputType.cpp:
1463         (WebCore::CheckboxInputType::willDispatchClick): Added.
1464         (WebCore::CheckboxInputType::didDispatchClick): Added.
1465         (WebCore::CheckboxInputType::isCheckbox): Added.
1466         * html/CheckboxInputType.h: Ditto.
1467
1468         * html/DateTimeInputType.cpp:
1469         (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
1470         typo in name of this function.
1471         * html/DateTimeInputType.h: Ditto.
1472         * html/DateTimeLocalInputType.cpp:
1473         (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
1474         * html/DateTimeLocalInputType.h: Ditto.
1475
1476         * html/EmailInputType.cpp:
1477         (WebCore::EmailInputType::isEmailField): Added.
1478         * html/EmailInputType.h: Ditto.
1479
1480         * html/FileInputType.cpp:
1481         (WebCore::FileInputType::FileInputType): Added.
1482         (WebCore::FileInputType::canSetStringValue): Added.
1483         (WebCore::FileInputType::canChangeFromAnotherType): Added.
1484         (WebCore::FileInputType::files): Added.
1485         (WebCore::FileInputType::canSetValue): Added.
1486         (WebCore::FileInputType::getTypeSpecificValue): Added.
1487         (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
1488         (WebCore::FileInputType::setFileList): Added.
1489         (WebCore::FileInputType::isFileUpload): Added.
1490         * html/FileInputType.h: Ditto.
1491
1492         * html/HTMLInputElement.cpp:
1493         (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
1494         renaming and removal.
1495         (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
1496         instead of checking specific type numbers.
1497         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
1498         Use fastGetAttribute and fixed typo in the name of the
1499         scaledStepValueShouldBeInteger function.
1500         (WebCore::HTMLInputElement::isKeyboardFocusable): Call
1501         InputType::isKeyboardFocusable; moved most of the type-specific
1502         logic there.
1503         (WebCore::HTMLInputElement::shouldUseInputMethod): Call
1504         InputType::shouldUseInputMethod; moved the type-specific logic there.
1505         (WebCore::HTMLInputElement::handleBlurEvent): Call
1506         InputType::handleBlurEvent; moved the type-specific logic there.
1507         (WebCore::HTMLInputElement::setType): Tweak the names and types
1508         in this function.
1509         (WebCore::HTMLInputElement::updateType): Removed the code that
1510         set m_deprecatedTypeNumber. Compare types by comparing the value
1511         from formControlType. Removed file-specific logic and instead call
1512         InputType::canChangeFromAnotherType. Streamlined the logic for
1513         activation callbacks.
1514         (WebCore::HTMLInputElement::accessKeyAction): Call
1515         InputType::accessKeyAction; moved the type-specific logic there.
1516         (WebCore::HTMLInputElement::mapToEntry): Call
1517         InputType::shouldRespectHeightAndWidthAttributes and
1518         InputType::shouldRespectAlignAttribute.
1519         (WebCore::HTMLInputElement::parseMappedAttribute): Updated
1520         for name changes and the removal of m_defaultChecked. Changed the
1521         alt attribute logic to be based on the class of the renderer.
1522         Call InputType::srcAttributeChanged and moved the type-specific
1523         logic there. Call shouldRespectAlignAttribute and
1524         shouldRespectHeightAndWidthAttributes rather than having
1525         type-specific logic here. Call minOrMaxAttributeChanged.
1526         (WebCore::HTMLInputElement::rendererIsNeeded): Call
1527         InputType::rendererIsNeeded; moved the type-specific logic there.
1528         (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
1529         flag, which was redundant with the m_haveType flag. Call
1530         InputType::attach; moved the type-specific logic there.
1531         (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
1532         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
1533         InputType::canBeSuccessfulSubmitButton; moved the type-specific
1534         logic there.
1535         (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
1536         name changes.
1537         (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
1538         (WebCore::HTMLInputElement::reset): Updated to use
1539         InputType::storesValueSeparateFromAttribute. Also use
1540         hasAttribute(checkedAttr) rather than m_defaultChecked,
1541         since both are the same. Also updated for name change.
1542         (WebCore::HTMLInputElement::setChecked): Updated for name
1543         changes. Also added call to
1544         InputType::shouldSendChangeEventAfterCheckedChanged and
1545         moved the type-specific logic there.
1546         (WebCore::HTMLInputElement::setIndeterminate): Call
1547         isCheckable to see if indeterminate is allowed.
1548         Also updated for name changes.
1549         (WebCore::HTMLInputElement::copyNonAttributeProperties):
1550         Updated for name changes and removed data members.
1551         (WebCore::HTMLInputElement::value): Call
1552         InputType::getTypeSpecificValue and InputType::fallbackValue.
1553         Moved the type-specific logic there.
1554         (WebCore::HTMLInputElement::valueWithDefault): Call
1555         InputType::defaultValue. Moved the type-specific logic there.
1556         (WebCore::HTMLInputElement::setSuggestedValue): Call
1557         InputType::canSetSuggestedValue. Moved the type-specific logic
1558         there.
1559         (WebCore::HTMLInputElement::setValue): Call
1560         InputType::canSetValue. Moved the type-specific logic there.
1561         Clear the file list if it exists rather than checking the
1562         type explicitly. We could probably do that a more elegant way.
1563         (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
1564         (WebCore::HTMLInputElement::setValueFromRenderer): Use the
1565         isFileUpload function in the assertion.
1566         (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
1567         of the code from this function into FileInputType::setFileList.
1568         (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
1569         to call InputType::willDispatchClick, which does the type-specific
1570         work. Still need to use a single struct for all types, because
1571         the type of the element could change during the event handling.
1572         (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
1573         to call InputType::didDispatchClick.
1574         (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
1575         (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
1576         (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
1577         (WebCore::HTMLInputElement::src): Use fastGetAttribute.
1578         (WebCore::HTMLInputElement::setAutofilled): Updated for name
1579         changes.
1580         (WebCore::HTMLInputElement::files): Use InputType::files.
1581         (WebCore::HTMLInputElement::isAcceptableValue): Use
1582         InputType::isAcceptableValue.
1583         (WebCore::HTMLInputElement::sanitizeValue): Use
1584         InputType::sanitizeValue.
1585         (WebCore::HTMLInputElement::hasUnacceptableValue): Use
1586         InputType::hasUnacceptableValue.
1587         (WebCore::HTMLInputElement::needsActivationCallback): Use
1588         InputType::shouldResetOnDocumentActivation.
1589         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
1590         InputType::willMoveToNewOwnerDocument.
1591         (WebCore::HTMLInputElement::dataList): Use
1592         InputType::shouldRespectListAttribute.
1593         (WebCore::HTMLInputElement::selectedOption): Tweaked logic
1594         and naming a bit.
1595         (WebCore::HTMLInputElement::stepUpFromRenderer): Use
1596         fastGetAttribute.
1597         (WebCore::HTMLInputElement::isSpeechEnabled): Use
1598         InputType::shouldRespectSpeechAttribute.
1599         (WebCore::HTMLInputElement::isTextButton): No longer inline.
1600         Calls through to InputType.
1601         (WebCore::HTMLInputElement::isRadioButton): Ditto.
1602         (WebCore::HTMLInputElement::isSearchField): Ditto.
1603         (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
1604         (WebCore::HTMLInputElement::isPasswordField): Ditto.
1605         (WebCore::HTMLInputElement::isCheckbox): Ditto.
1606         (WebCore::HTMLInputElement::isText): Ditto.
1607         (WebCore::HTMLInputElement::isEmailField): Ditto.
1608         (WebCore::HTMLInputElement::isFileUpload): Ditto.
1609         (WebCore::HTMLInputElement::isImageButton): Ditto.
1610         (WebCore::HTMLInputElement::isNumberField): Ditto.
1611         (WebCore::HTMLInputElement::isSubmitButton): Ditto.
1612         (WebCore::HTMLInputElement::isTelephoneField): Ditto.
1613         (WebCore::HTMLInputElement::isURLField): Ditto.
1614         (WebCore::HTMLInputElement::isEnumeratable): Ditto.
1615         (WebCore::HTMLInputElement::isChecked): No longer inline.
1616         Calls InputType::isCheckable.
1617         (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
1618         Calls through to InputType.
1619         (WebCore::HTMLInputElement::supportsPlaceholder): No longer
1620         inline. Calls isTextType as before, but with no special case
1621         for ISINDEX. That special case was unneeded since it returns
1622         true from isTextType.
1623         (WebCore::HTMLInputElement::checkedRadioButtons): No longer
1624         inline.
1625         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
1626         No longer inline.
1627
1628         * html/HTMLInputElement.h: Removed multiple unneeded includes.
1629         The big one is probably InputType.h, but also HTMLFormElement.h.
1630         Removed unneeded forward declarations. Made many functions
1631         no longer inline since they now need to make virtual function
1632         dispatches. Removed the unneeded defaultChecked and
1633         webkitdirectory functions. Both are handled by HTML attribute
1634         reflection for DOM bindings, and the callers instead can get
1635         at the attribute. Made updateCheckedRadioButtons public so it
1636         can be called by an InputType class. Removed
1637         DeprecatedInputType, InputTypeMap, createTypeMap,
1638         deprecatedInputType, allowsIndeterminate,
1639         respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
1640         m_imageLoader, m_fileList, m_deprecatedTypeNumber,
1641         m_defaultChecked, and m_inited. Renamed m_checked to
1642         m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
1643         m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
1644         m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
1645         m_isAutofilled.
1646         
1647         * html/HiddenInputType.cpp:
1648         (WebCore::HiddenInputType::accessKeyAction): Added.
1649         (WebCore::HiddenInputType::rendererIsNeeded) Added.:
1650         (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
1651         (WebCore::HiddenInputType::isHiddenType): Added.
1652         (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
1653         * html/HiddenInputType.h: Ditto.
1654
1655         * html/ImageInputType.cpp:
1656         (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
1657         (WebCore::ImageInputType::srcAttributeChanged): Added.
1658         (WebCore::ImageInputType::attach): Added.
1659         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
1660         (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
1661         (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
1662         (WebCore::ImageInputType::isImageButton): Added.
1663         (WebCore::ImageInputType::isEnumeratable): Added.
1664         (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
1665         * html/ImageInputType.h: Ditto.
1666
1667         * html/InputType.cpp:
1668         (WebCore::InputType::create): Changed argument type to String. There
1669         is no value in taking an AtomicString here.
1670         (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
1671         this function name.
1672         (WebCore::InputType::canSetStringValue): Added.
1673         (WebCore::InputType::isKeyboardFocusable): Added.
1674         (WebCore::InputType::shouldUseInputMethod): Added.
1675         (WebCore::InputType::handleBlurEvent): Added.
1676         (WebCore::InputType::accessKeyAction): Added.
1677         (WebCore::InputType::attach): Added.
1678         (WebCore::InputType::srcAttributeChanged): Added.
1679         (WebCore::InputType::willMoveToNewOwnerDocument): Added.
1680         (WebCore::InputType::shouldRespectAlignAttribute): Added.
1681         (WebCore::InputType::canChangeFromAnotherType): Added.
1682         (WebCore::InputType::minOrMaxAttributeChanged): Added.
1683         (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
1684         (WebCore::InputType::rendererIsNeeded): Added.
1685         (WebCore::InputType::files): Added.
1686         (WebCore::InputType::getTypeSpecificValue): Added.
1687         (WebCore::InputType::fallbackValue): Added.
1688         (WebCore::InputType::defaultValue): Added.
1689         (WebCore::InputType::canSetSuggestedValue): Added.
1690         (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
1691         (WebCore::InputType::storesValueSeparateFromAttribute): Added.
1692         (WebCore::InputType::canSetValue): Added.
1693         (WebCore::InputType::willDispatchClick): Added.
1694         (WebCore::InputType::didDispatchClick): Added.
1695         (WebCore::InputType::isAcceptableValue): Added.
1696         (WebCore::InputType::sanitizeValue): Added.
1697         (WebCore::InputType::hasUnacceptableValue): Added.
1698         (WebCore::InputType::setFileList): Added.
1699         (WebCore::InputType::shouldResetOnDocumentActivation): Added.
1700         (WebCore::InputType::shouldRespectListAttribute): Added.
1701         (WebCore::InputType::shouldRespectSpeechAttribute): Added.
1702         (WebCore::InputType::isTextButton): Added.
1703         (WebCore::InputType::isRadioButton): Added.
1704         (WebCore::InputType::isSearchField): Added.
1705         (WebCore::InputType::isHiddenType): Added.
1706         (WebCore::InputType::isPasswordField): Added.
1707         (WebCore::InputType::isCheckbox): Added.
1708         (WebCore::InputType::isEmailField): Added.
1709         (WebCore::InputType::isFileUpload): Added.
1710         (WebCore::InputType::isImageButton): Added.
1711         (WebCore::InputType::isNumberField): Added.
1712         (WebCore::InputType::isSubmitButton): Added.
1713         (WebCore::InputType::isTelephoneField): Added.
1714         (WebCore::InputType::isURLField): Added.
1715         (WebCore::InputType::isEnumeratable): Added.
1716         (WebCore::InputType::isCheckable): Added.
1717         (WebCore::InputType::hasSpinButton): Added.
1718         (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.
1719
1720         * html/InputType.h: Removed unneeded ExceptionCode.h include and
1721         used a typedef instead as we do when we want for forward declare it.
1722         Added includes and forward declarations needed for new functions.
1723         Added ClickHandlingState structure. Changed the argument to create
1724         to a String rather than AtomicString. Added many virtual functions.
1725         
1726         * html/IsIndexInputType.cpp:
1727         (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
1728         * html/IsIndexInputType.h: Ditto.
1729
1730         * html/NumberInputType.cpp:
1731         (WebCore::NumberInputType::handleBlurEvent): Added.
1732         (WebCore::NumberInputType::isAcceptableValue): Added.
1733         (WebCore::NumberInputType::sanitizeValue): Added.
1734         (WebCore::NumberInputType::hasUnacceptableValue): Added.
1735         (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
1736         (WebCore::NumberInputType::isNumberField): Added.
1737         (WebCore::NumberInputType::hasSpinButton): Added.
1738         * html/NumberInputType.h: Ditto.
1739
1740         * html/PasswordInputType.cpp:
1741         (WebCore::PasswordInputType::shouldUseInputMethod): Added.
1742         (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
1743         (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
1744         (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
1745         (WebCore::PasswordInputType::isPasswordField): Added.
1746         * html/PasswordInputType.h: Ditto.
1747
1748         * html/RadioInputType.cpp:
1749         (WebCore::RadioInputType::isKeyboardFocusable): Added.
1750         (WebCore::RadioInputType::attach): Added.
1751         (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
1752         (WebCore::RadioInputType::willDispatchClick): Added.
1753         (WebCore::RadioInputType::didDispatchClick): Added.
1754         (WebCore::RadioInputType::isRadioButton): Added.
1755         * html/RadioInputType.h: Ditto.
1756
1757         * html/RangeInputType.cpp:
1758         (WebCore::RangeInputType::accessKeyAction): Added.
1759         (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
1760         (WebCore::RangeInputType::fallbackValue): Added.
1761         (WebCore::RangeInputType::sanitizeValue): Added.
1762         (WebCore::RangeInputType::shouldRespectListAttribute): Added.
1763         * html/RangeInputType.h: Ditto.
1764
1765         * html/ResetInputType.cpp:
1766         (WebCore::ResetInputType::defaultValue): Added.
1767         (WebCore::ResetInputType::isTextButton): Added.
1768         * html/ResetInputType.h: Ditto.
1769
1770         * html/SearchInputType.cpp:
1771         (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
1772         (WebCore::SearchInputType::isSearchField): Added.
1773         * html/SearchInputType.h: Ditto.
1774
1775         * html/SubmitInputType.cpp:
1776         (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
1777         (WebCore::SubmitInputType::defaultValue): Added.
1778         (WebCore::SubmitInputType::isSubmitButton): Added.
1779         (WebCore::SubmitInputType::isTextButton): Added.
1780         * html/SubmitInputType.h: Ditto.
1781
1782         * html/TelephoneInputType.cpp:
1783         (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
1784         (WebCore::TelephoneInputType::isTelephoneField): Added.
1785         * html/TelephoneInputType.h: Ditto.
1786
1787         * html/TextFieldInputType.cpp:
1788         (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
1789         (WebCore::TextFieldInputType::sanitizeValue): Added.
1790         (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
1791         * html/TextFieldInputType.h: Ditto.
1792
1793         * html/TextInputType.cpp:
1794         (WebCore::TextInputType::canSetSuggestedValue): Added.
1795         (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
1796         * html/TextInputType.h: Ditto.
1797
1798         * html/TimeInputType.cpp:
1799         (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
1800         typo in the name of this function.
1801         * html/TimeInputType.h: Ditto.
1802
1803         * html/URLInputType.cpp:
1804         (WebCore::URLInputType::isURLField): Added.
1805         * html/URLInputType.h: Ditto.
1806
1807 2011-01-03  Mihai Parparita  <mihaip@chromium.org>
1808
1809         Unreviewed.
1810
1811         NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
1812         https://bugs.webkit.org/show_bug.cgi?id=51151
1813
1814         Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
1815         so that it can match Safari's (and thus use the same baselines).
1816
1817         No new tests, should be covered by layout tests (which will need
1818         expectation changes)
1819
1820         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1821
1822 2011-01-03  Antonio Gomes  <agomes@rim.com>
1823
1824         Unreviewed build fix for WebKit/Gtk+.
1825
1826         RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
1827         guarded by ENABLE(VIDEO), as it is in its header.
1828
1829         No new tests.
1830
1831         * platform/gtk/RenderThemeGtk2.cpp:
1832
1833 2011-01-02  Dan Bernstein  <mitz@apple.com>
1834
1835         Rubber-stamped by Simon Fraser.
1836
1837         <rdar://problem/8812159> Update copyright strings
1838
1839         * Info.plist:
1840
1841 2011-01-02  Dan Bernstein  <mitz@apple.com>
1842
1843         Reviewed by Sam Weinig.
1844
1845         <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
1846         https://bugs.webkit.org/show_bug.cgi?id=51623
1847
1848         * editing/Editor.cpp:
1849         (WebCore::Editor::countMatchesForText): Actually remember the original search range end
1850         container and offset and restore them when needed, instead of using two references to the
1851         same Range.
1852         * manual-tests/find-count-matches-after-text-control.html: Added.
1853
1854 2011-01-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
1855
1856         Reviewed by Csaba Osztrogonác.
1857
1858         WebKit 2 does not build on 64bits with a recent GCC
1859         https://bugs.webkit.org/show_bug.cgi?id=51754
1860
1861         Use explicitely 64 bits types for the attributes of DatabaseDetails.
1862
1863         * storage/DatabaseDetails.h:
1864         (WebCore::DatabaseDetails::expectedUsage):
1865         (WebCore::DatabaseDetails::currentUsage):
1866
1867 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
1868
1869         Unreviewed WinCE build fix for r74868.
1870
1871         * platform/graphics/wince/ImageBufferWinCE.cpp:
1872         (WebCore::getImageData):
1873
1874 2011-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1875
1876         Unreviewed, rolling out r74847.
1877         http://trac.webkit.org/changeset/74847
1878         https://bugs.webkit.org/show_bug.cgi?id=51803
1879
1880         "Preprocessor guards should be in header files" (Requested by
1881         ap on #webkit).
1882
1883         * bindings/js/JSDOMWindowBase.cpp:
1884         * dom/Document.cpp:
1885         (WebCore::Document::recalcStyle):
1886         * html/HTMLDocument.cpp:
1887         * loader/FrameLoader.cpp:
1888         * loader/ResourceLoadNotifier.cpp:
1889         * page/Chrome.cpp:
1890         * page/Console.cpp:
1891         * page/ContextMenuController.cpp:
1892         * page/DOMWindow.cpp:
1893         (WebCore::DOMWindow::dispatchEvent):
1894         * page/EventHandler.cpp:
1895         * page/Page.cpp:
1896         * storage/Database.cpp:
1897         * workers/AbstractWorker.cpp:
1898         * workers/DefaultSharedWorkerRepository.cpp:
1899         * workers/SharedWorker.cpp:
1900         * workers/Worker.cpp:
1901         * workers/WorkerContext.cpp:
1902         * workers/WorkerMessagingProxy.cpp:
1903         * xml/XMLHttpRequest.cpp:
1904         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1905
1906 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
1907
1908         [CMake] Unreviewed build fix.
1909
1910         * CMakeLists.txt:
1911
1912 2011-01-02  Dirk Schulze  <krit@webkit.org>
1913
1914         Reviewed by Simon Fraser.
1915
1916         Clarify ImageBuffer and ImageData relationship
1917         https://bugs.webkit.org/show_bug.cgi?id=51297
1918
1919         Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
1920         since this was a layering violation, and replaced it by ByteArray.
1921
1922         No change of functionality, so no new test added.
1923
1924         * html/ImageData.cpp:
1925         (WebCore::ImageData::create):
1926         (WebCore::ImageData::ImageData):
1927         * html/ImageData.h: Added new constructor with ByteArray input.
1928         (WebCore::ImageData::width):
1929         (WebCore::ImageData::height):
1930         (WebCore::ImageData::data):
1931         * html/canvas/CanvasPixelArray.cpp:
1932         (WebCore::CanvasPixelArray::create):
1933         (WebCore::CanvasPixelArray::CanvasPixelArray):
1934         * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
1935         (WebCore::CanvasPixelArray::data):
1936         (WebCore::CanvasPixelArray::length):
1937         (WebCore::CanvasPixelArray::set):
1938         (WebCore::CanvasPixelArray::get):
1939         * html/canvas/CanvasRenderingContext2D.cpp:
1940         (WebCore::CanvasRenderingContext2D::getImageData):
1941         (WebCore::CanvasRenderingContext2D::putImageData):
1942         * platform/graphics/ImageBuffer.h:
1943         * platform/graphics/cairo/ImageBufferCairo.cpp:
1944         (WebCore::getImageData):
1945         (WebCore::ImageBuffer::getUnmultipliedImageData):
1946         (WebCore::ImageBuffer::getPremultipliedImageData):
1947         (WebCore::putImageData):
1948         (WebCore::ImageBuffer::putUnmultipliedImageData):
1949         (WebCore::ImageBuffer::putPremultipliedImageData):
1950         * platform/graphics/cg/ImageBufferCG.cpp:
1951         (WebCore::getImageData):
1952         (WebCore::ImageBuffer::getUnmultipliedImageData):
1953         (WebCore::ImageBuffer::getPremultipliedImageData):
1954         (WebCore::putImageData):
1955         (WebCore::ImageBuffer::putUnmultipliedImageData):
1956         (WebCore::ImageBuffer::putPremultipliedImageData):
1957         * platform/graphics/filters/FEBlend.cpp:
1958         (WebCore::FEBlend::apply):
1959         * platform/graphics/filters/FEColorMatrix.cpp:
1960         (WebCore::FEColorMatrix::apply):
1961         * platform/graphics/filters/FEComponentTransfer.cpp:
1962         (WebCore::FEComponentTransfer::apply):
1963         * platform/graphics/filters/FEComposite.cpp:
1964         (WebCore::FEComposite::apply):
1965         * platform/graphics/filters/FEConvolveMatrix.cpp:
1966         (WebCore::setDestinationPixels):
1967         (WebCore::FEConvolveMatrix::apply):
1968         * platform/graphics/filters/FEConvolveMatrix.h:
1969         * platform/graphics/filters/FEDisplacementMap.cpp:
1970         (WebCore::FEDisplacementMap::apply):
1971         * platform/graphics/filters/FEGaussianBlur.cpp:
1972         (WebCore::FEGaussianBlur::apply):
1973         * platform/graphics/filters/FELighting.cpp:
1974         (WebCore::FELighting::apply):
1975         * platform/graphics/filters/FEMorphology.cpp:
1976         (WebCore::FEMorphology::apply):
1977         * platform/graphics/filters/FETurbulence.cpp:
1978         (WebCore::FETurbulence::apply):
1979         * platform/graphics/filters/FilterEffect.cpp:
1980         (WebCore::FilterEffect::asImageBuffer):
1981         (WebCore::FilterEffect::asUnmultipliedImage):
1982         (WebCore::FilterEffect::asPremultipliedImage):
1983         (WebCore::FilterEffect::copyImageBytes):
1984         (WebCore::FilterEffect::copyUnmultipliedImage):
1985         (WebCore::FilterEffect::copyPremultipliedImage):
1986         (WebCore::FilterEffect::createUnmultipliedImageResult):
1987         (WebCore::FilterEffect::createPremultipliedImageResult):
1988         * platform/graphics/filters/FilterEffect.h:
1989         * platform/graphics/qt/ImageBufferQt.cpp:
1990         (WebCore::getImageData):
1991         (WebCore::ImageBuffer::getUnmultipliedImageData):
1992         (WebCore::ImageBuffer::getPremultipliedImageData):
1993         (WebCore::putImageData):
1994         (WebCore::ImageBuffer::putUnmultipliedImageData):
1995         (WebCore::ImageBuffer::putPremultipliedImageData):
1996         * platform/graphics/skia/ImageBufferSkia.cpp:
1997         (WebCore::getImageData):
1998         (WebCore::ImageBuffer::getUnmultipliedImageData):
1999         (WebCore::ImageBuffer::getPremultipliedImageData):
2000         (WebCore::putImageData):
2001         (WebCore::ImageBuffer::putUnmultipliedImageData):
2002         (WebCore::ImageBuffer::putPremultipliedImageData):
2003         * platform/graphics/wince/ImageBufferWinCE.cpp:
2004         (WebCore::getImageData):
2005         (WebCore::ImageBuffer::getUnmultipliedImageData):
2006         (WebCore::ImageBuffer::getPremultipliedImageData):
2007         (WebCore::putImageData):
2008         (WebCore::ImageBuffer::putUnmultipliedImageData):
2009         (WebCore::ImageBuffer::putPremultipliedImageData):
2010         * platform/graphics/wx/ImageBufferWx.cpp:
2011         (WebCore::ImageBuffer::getUnmultipliedImageData):
2012         (WebCore::ImageBuffer::getPremultipliedImageData):
2013         (WebCore::ImageBuffer::putUnmultipliedImageData):
2014         (WebCore::ImageBuffer::putPremultipliedImageData):
2015         * rendering/RenderSVGResourceMasker.cpp:
2016         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2017
2018 2011-01-01  Adam Barth  <abarth@webkit.org>
2019
2020         Reviewed by Eric Seidel.
2021
2022         Move JavaScriptCore to Source
2023         https://bugs.webkit.org/show_bug.cgi?id=51604
2024
2025         Update references to JavaScriptCore.
2026
2027         * Android.derived.jscbindings.mk:
2028         * Android.v8bindings.mk:
2029         * CMakeLists.txt:
2030         * WebCore.gyp/WebCore.gyp:
2031         * WebCore.pro:
2032           - These changes are subtle and might not be 100% correct.
2033         * move-js-headers.sh:
2034
2035 2011-01-01  Adam Barth  <abarth@webkit.org>
2036
2037         Reviewed by Eric Seidel.
2038
2039         forbid sandboxed frames to call top.close() when allow-same-origin is not setted
2040         https://bugs.webkit.org/show_bug.cgi?id=38340
2041
2042         We now pass the ScriptExecutionContext to window.close so it can find
2043         the Frame and check whether navigation is allowed.  This check will
2044         almost always pass because you can only close top-level frames, but the
2045         check will fail when the calling script is sandboxed.
2046
2047         Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
2048                fast/frames/sandboxed-iframe-close-top.html
2049
2050         * page/DOMWindow.cpp:
2051         (WebCore::DOMWindow::close):
2052         * page/DOMWindow.h:
2053         * page/DOMWindow.idl:
2054
2055 2011-01-01  Adam Barth  <abarth@webkit.org>
2056
2057         Reviewed by Eric Seidel.
2058
2059         sandbox iframes have access to top.history methods
2060         https://bugs.webkit.org/show_bug.cgi?id=38152
2061
2062         To enforce the sandbox restrictions on History, we need to pass the
2063         ScriptExecutionContext to WebCore.  This patch leaves the original
2064         History methods in place because they are used directly by folks who
2065         don't care about security checks.
2066
2067         Test: fast/frames/sandboxed-iframe-history-denied.html
2068
2069         * page/History.cpp:
2070         (WebCore::History::back):
2071         (WebCore::History::forward):
2072         (WebCore::History::go):
2073         * page/History.h:
2074         * page/History.idl:
2075
2076 2011-01-01  Adam Barth  <abarth@webkit.org>
2077
2078         Remove empty file.
2079
2080         * Android.mk:
2081         * CMakeLists.txt:
2082         * GNUmakefile.am:
2083         * WebCore.gypi:
2084         * WebCore.pro:
2085         * WebCore.vcproj/WebCore.vcproj:
2086         * WebCore.xcodeproj/project.pbxproj:
2087         * dom/DOMAllInOne.cpp:
2088         * dom/Entity.cpp: Removed.
2089
2090 2011-01-01  Adam Barth  <abarth@webkit.org>
2091
2092         Remove empty file.
2093
2094         * CMakeLists.txt:
2095         * GNUmakefile.am:
2096         * WebCore.pro:
2097         * WebCore.vcproj/WebCore.vcproj:
2098         * WebCore.xcodeproj/project.pbxproj:
2099         * bindings/js/JSBindingsAllInOne.cpp:
2100         * bindings/js/JSPopStateEventCustom.cpp: Removed.
2101
2102 2011-01-01  Adam Barth  <abarth@webkit.org>
2103
2104         Remove empty files.
2105
2106         * GNUmakefile.am:
2107         * WebCore.gypi:
2108         * WebCore.vcproj/WebCore.vcproj:
2109         * WebCore.xcodeproj/project.pbxproj:
2110         * bindings/generic/BindingFrame.h: Removed.
2111         * bindings/generic/BindingLocation.h: Removed.
2112
2113 2011-01-01  Konstantin Tokarev  <annulen@yandex.ru>
2114
2115         Reviewed by Darin Adler.
2116
2117         Don't include Inspector headers when Inspector is disabled
2118         https://bugs.webkit.org/show_bug.cgi?id=51789
2119
2120         * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
2121         Inspector is enabled
2122         * dom/Document.cpp: Include Inspector headers when
2123         Inspector is enabled
2124         (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
2125         handling
2126         * html/HTMLDocument.cpp: Include Inspector headers when
2127         Inspector is enabled
2128         * loader/FrameLoader.cpp: Include Inspector headers when
2129         Inspector is enabled
2130         * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
2131         Inspector is enabled
2132         * page/Chrome.cpp: Include Inspector headers when
2133         Inspector is enabled
2134         * page/Console.cpp: Include Inspector headers when
2135         Inspector is enabled
2136         * page/ContextMenuController.cpp: Include Inspector headers when
2137         Inspector is enabled
2138         * page/DOMWindow.cpp: Include Inspector headers when
2139         Inspector is enabled
2140         (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
2141         handling
2142         * page/EventHandler.cpp: Include Inspector headers when
2143         Inspector is enabled
2144         * page/Page.cpp: Include Inspector headers when
2145         Inspector is enabled
2146         * storage/Database.cpp: Include Inspector headers when
2147         Inspector is enabled
2148         * workers/AbstractWorker.cpp: Include Inspector headers when
2149         Inspector is enabled
2150         * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
2151         Inspector is enabled
2152         * workers/SharedWorker.cpp: Include Inspector headers when
2153         Inspector is enabled
2154         * workers/Worker.cpp: Include Inspector headers when
2155         Inspector is enabled
2156         * workers/WorkerContext.cpp: Include Inspector headers when
2157         Inspector is enabled
2158         * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
2159         Inspector is enabled
2160         * xml/XMLHttpRequest.cpp: Include Inspector headers when
2161         Inspector is enabled
2162         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
2163         InspectorInstrumentationCookie handling
2164
2165 2010-12-31  Adam Barth  <abarth@webkit.org>
2166
2167         Reviewed by Darin Adler.
2168
2169         fast/loader/about-blank-hash-change.html fails on Chromium
2170         https://bugs.webkit.org/show_bug.cgi?id=51788
2171
2172         I'm unable to reproduce the failure locally, so this patch is slightly
2173         speculative.  We need to be slighly more careful how we compare the
2174         fragment identifiers for Chromium because Chromium uses a URL parser
2175         that is more agressive about canonicalization.
2176
2177         * page/Location.cpp:
2178         (WebCore::Location::setHash):
2179
2180 2010-12-31  Martin Robinson  <mrobinson@igalia.com>
2181
2182         Reviewed by Xan Lopez.
2183
2184         [GTK] Use GLib/GIO API for FileSystemGtk implementation
2185         https://bugs.webkit.org/show_bug.cgi?id=51617
2186
2187         Complete implementation of FileSystem platform code for GLib. This
2188         converts remaining API points using POSIX calls to platform-independent
2189         GLib calls and fixes other compilation errors.
2190
2191         No new tests. This code will be tested when an implementation
2192         of beginDragWithFiles is complete.
2193
2194         (WebCore::JSDirectoryEntry::getFile):
2195         (WebCore::JSDirectoryEntry::getDirectory):
2196         * platform/FileSystem.h: Added forward declarations for GLib types to
2197         avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
2198         * platform/gtk/FileSystemGtk.cpp:
2199         (WebCore::openTemporaryFile): Reimplement using only GLib calls.
2200         (WebCore::openFile): Ditto.
2201         (WebCore::closeFile): Ditto.
2202         (WebCore::seekFile): Added implementation.
2203         (WebCore::writeToFile): Reimplement using only GLib calls.
2204         (WebCore::readFromFile): Ditto.
2205
2206 2010-12-31  Darin Adler  <darin@apple.com>
2207
2208         Reviewed by Dan Bernstein.
2209
2210         Some renaming and refactoring of form element code
2211         https://bugs.webkit.org/show_bug.cgi?id=51784
2212
2213         * bindings/js/JSHTMLSelectElementCustom.cpp:
2214         (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
2215         for option elements instead of putting the logic in the binding.
2216
2217         * html/HTMLButtonElement.cpp:
2218         (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
2219         (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
2220         "event" instead of "evt". Also updated for name changes.
2221         (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
2222         (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
2223         (WebCore::HTMLButtonElement::appendFormData): Ditto.
2224         * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
2225         to match the getter function name. The name still doesn't seem great.
2226
2227         * html/HTMLFormElement.cpp:
2228         (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
2229         (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
2230         instead of m_autocomplete data member.
2231         (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
2232         instead of otherwise-unused isDemoted function.
2233         (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
2234         (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
2235         m_insubmit. This is now handled by the caller, prepareForSubmission.
2236         (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
2237         name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
2238         here from validateInteractively. Removed unneeded check of m_doingsubmit
2239         boolean before setting it.
2240         (WebCore::HTMLFormElement::submit): Factored this function into two.
2241         One for JavaScript and one for non-JavaScript. Neither function needs a frame
2242         argument, because the question being asked, anyPageIsProcessingUserGesture,
2243         is a question asked of an entire page group, not a specific frame or page,
2244         so it's not important which is the active frame.
2245         (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
2246         (WebCore::HTMLFormElement::reset): Updated for name changes.
2247         (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
2248         acceptAttr and got rid of code to set m_autocomplete.
2249         (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
2250         pointer.
2251         (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
2252         and the vector find function. Added a FIXME about the comment.
2253         (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
2254         function instead of m_autocomplete data member.
2255         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
2256         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
2257         (WebCore::HTMLFormElement::autoComplete): Ditto.
2258         * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
2259         function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
2260         frame argument from the submit function and added a new submitFromJavaScript
2261         variant. Removed the unneeded isDemoted function. Changed the return type
2262         of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
2263         m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
2264         m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
2265         m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
2266
2267         * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
2268         instead of using CallWith=DynamicFrame because we don't need to know
2269         what frame is calling. If we did, it's not clear that the "dynamic"
2270         frame would be the right one anyway.
2271
2272         * html/HTMLSelectElement.cpp:
2273         (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
2274         element, since the JavaScript binding supports this.
2275         * html/HTMLSelectElement.h: Ditto.
2276
2277         * html/ImageInputType.cpp:
2278         (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
2279         * html/ImageInputType.h: Ditto.
2280         * html/SubmitInputType.cpp:
2281         (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
2282
2283 2010-12-31  Daniel Bates  <dbates@rim.com>
2284
2285         Reviewed by Darin Adler.
2286
2287         Pass style for <area> instead of associated <img> when querying whether
2288         the theme draws the focus ring for an <area>
2289         https://bugs.webkit.org/show_bug.cgi?id=51632
2290
2291         Fixes an issue where the style for the associated <img> of an <area>
2292         was passed when considering whether the theme should draw a focus ring
2293         for the <area>. Instead, we should pass the theme the style for the <area>.
2294
2295         It's not possible to test this at this time since there are no themes
2296         that override focus ring drawing for <area>s.
2297
2298         * rendering/RenderImage.cpp:
2299         (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
2300         such that it's called with respect to the focused <area>.
2301
2302 2010-12-31  Darin Adler  <darin@apple.com>
2303
2304         * WebCore.xcodeproj/project.pbxproj: Added back the language.
2305         Developers should be using Xcode 3.2.5 or newer.
2306
2307 2010-12-31  Adam Barth  <abarth@webkit.org>
2308
2309         Reviewed by Eric Seidel.
2310
2311         Move V8 to WebCore Location implementation
2312         https://bugs.webkit.org/show_bug.cgi?id=51768
2313
2314         * bindings/generic/BindingFrame.h:
2315         * bindings/generic/BindingLocation.h:
2316         * bindings/v8/V8Binding.h:
2317         * bindings/v8/V8DOMWindowShell.cpp:
2318         (WebCore::V8DOMWindowShell::setLocation):
2319         * bindings/v8/V8Utilities.cpp:
2320         * bindings/v8/V8Utilities.h:
2321         * bindings/v8/custom/V8LocationCustom.cpp:
2322         (WebCore::V8Location::hashAccessorSetter):
2323         (WebCore::V8Location::hostAccessorSetter):
2324         (WebCore::V8Location::hostnameAccessorSetter):
2325         (WebCore::V8Location::hrefAccessorSetter):
2326         (WebCore::V8Location::pathnameAccessorSetter):
2327         (WebCore::V8Location::portAccessorSetter):
2328         (WebCore::V8Location::protocolAccessorSetter):
2329         (WebCore::V8Location::searchAccessorSetter):
2330         (WebCore::V8Location::reloadCallback):
2331         (WebCore::V8Location::replaceCallback):
2332         (WebCore::V8Location::assignCallback):
2333
2334 2010-12-31  Yi Shen  <yi.4.shen@nokia.com>
2335
2336         Reviewed by Eric Seidel.
2337
2338         Make retrieving extraMediaControlsStyleSheet be page dependent.
2339         https://bugs.webkit.org/show_bug.cgi?id=51752
2340
2341         Use themeForPage to retrieve extraMediaControlsStyleSheet for media
2342         controls.
2343
2344         No new tests because no platform-specific theme implementation uses
2345         the passed page pointer yet.
2346
2347         * css/CSSStyleSelector.cpp:
2348         (WebCore::CSSStyleSelector::styleForElement):
2349
2350 2010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>
2351
2352         Reviewed by Pavel Feldman.
2353
2354         Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=51709
2357
2358         * inspector/front-end/ResourcesPanel.js:
2359         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
2360
2361 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
2362
2363         Unreviewed build fix after r74800.
2364
2365         * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
2366         * bindings/js/JSLocationCustom.cpp: Ditto.
2367
2368 2010-12-31  Adam Barth  <abarth@webkit.org>
2369
2370         Rubber-stamped by Eric Seidel.
2371
2372         Move HTML and XML parser benchmarks into PerformanceTests/Parser
2373         https://bugs.webkit.org/show_bug.cgi?id=51772
2374
2375         Remove the benchmarks folder now that it's empty.  Future benchmarks
2376         should go in the PerformanceTests directory.
2377
2378         * benchmarks: Removed.
2379         * benchmarks/parser: Removed.
2380         * benchmarks/parser/html-parser.html: Removed.
2381         * benchmarks/parser/resources: Removed.
2382         * benchmarks/parser/resources/html5.html: Removed.
2383         * benchmarks/parser/resources/runner.js: Removed.
2384         * benchmarks/parser/xml-parser.html: Removed.
2385
2386 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
2387
2388         Reviewed by Adam Barth.
2389
2390         Add XML parser benchmark
2391         https://bugs.webkit.org/show_bug.cgi?id=51612
2392
2393         Move the JavaScript code of html parser into a separate file to share it with xml parser.
2394
2395         * benchmarks/parser/html-parser.html:
2396         * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
2397         (runFunction):
2398         (run):
2399         (start):
2400         * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
2401
2402 2010-12-29  Zhenyao Mo  <zmo@google.com>
2403
2404         Reviewed by Kenneth Russell.
2405
2406         Update validation of stencil mask and ref values
2407         https://bugs.webkit.org/show_bug.cgi?id=50716
2408
2409         * html/canvas/WebGLRenderingContext.cpp:
2410         (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
2411         (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
2412         (WebCore::WebGLRenderingContext::drawElements): Ditto.
2413         (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
2414         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
2415         (WebCore::WebGLRenderingContext::stencilMask): Ditto.
2416         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
2417         (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
2418         * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
2419
2420 2010-12-30  Martin Robinson  <mrobinson@igalia.com>
2421
2422         Reviewed by Xan Lopez.
2423
2424         [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
2425         https://bugs.webkit.org/show_bug.cgi?id=51755
2426
2427         Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
2428         if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
2429         step to landing support for the new GTK+ 3.x theming API.
2430
2431         No new tests. This should not change functionality.
2432
2433         * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
2434         * platform/gtk/RenderThemeGtk.cpp:
2435         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
2436         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
2437         (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
2438         (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
2439         * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
2440         it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
2441         * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
2442         that will eventually be platform-dependent.
2443         * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
2444
2445 2010-12-30  Justin Schuh  <jschuh@chromium.org>
2446
2447         Reviewed by James Robinson.
2448
2449         Reverting r74292 because it introduced a crash with ruby text.
2450         https://bugs.webkit.org/show_bug.cgi?id=51637
2451
2452         Test: fast/css/counters/counter-ruby-text-cleared.html
2453
2454         * rendering/RenderCounter.cpp:
2455         (WebCore::findPlaceForCounter):
2456         * rendering/RenderObject.cpp:
2457         (WebCore::RenderObject::addChild):
2458         * rendering/RenderObjectChildList.cpp:
2459         (WebCore::RenderObjectChildList::appendChildNode):
2460         (WebCore::RenderObjectChildList::insertChildNode):
2461
2462 2010-12-30  Darin Adler  <darin@apple.com>
2463
2464         Reviewed by David Kilzer.
2465
2466         Remove unused JSBinding source files
2467         https://bugs.webkit.org/show_bug.cgi?id=51762
2468
2469         * bindings/js/JSBinding.h: Removed.
2470         * bindings/js/specialization: Removed.
2471         * bindings/js/specialization/JSBindingState.cpp: Removed.
2472         * bindings/js/specialization/JSBindingState.h: Removed.
2473
2474         * CMakeLists.txt: Removed references to files.
2475         * GNUmakefile.am: Ditto.
2476         * WebCore.gypi: Ditto.
2477         * WebCore.pro: Ditto.
2478         * WebCore.vcproj/WebCore.vcproj: Ditto.
2479         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2480
2481 2010-12-30  Tony Gentilcore  <tonyg@chromium.org>
2482
2483         Reviewed by Darin Adler.
2484
2485         Remove Document.h include from some headers where it isn't necessary
2486         https://bugs.webkit.org/show_bug.cgi?id=51730
2487
2488         No new tests because no new functionality.
2489
2490         * editing/EditingStyle.cpp:
2491         * editing/EditingStyle.h:
2492         * editing/SelectionController.h:
2493         * editing/visible_units.h:
2494         * html/HTMLAudioElement.h:
2495         * html/HTMLBodyElement.h:
2496         * inspector/InspectorCSSAgent.h:
2497         * inspector/InspectorDOMAgent.h:
2498         * inspector/InspectorInstrumentation.h:
2499         * xml/DOMParser.cpp:
2500         * xml/DOMParser.h:
2501         (WebCore::DOMParser::create):
2502         (WebCore::DOMParser::DOMParser):
2503
2504 2010-12-30  Benjamin C Meyer  <bmeyer@rim.com>
2505
2506         Reviewed by Darin Adler.
2507
2508         bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
2509         which is required when NOTIFICATIONS is enabled.
2510
2511         https://bugs.webkit.org/show_bug.cgi?id=51761
2512
2513         * CMakeLists.txt:
2514
2515 2010-12-30  Antti Koivisto  <antti@apple.com>
2516
2517         Not reviewed.
2518
2519         Revert accidental project file change.
2520
2521         * WebCore.xcodeproj/project.pbxproj:
2522
2523 2010-12-30  Antti Koivisto  <antti@apple.com>
2524
2525         Reviewed by Darin Adler.
2526
2527         https://bugs.webkit.org/show_bug.cgi?id=51134
2528         Move loading related code from MemoryCache to CachedResourceLoader
2529
2530         - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
2531         - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
2532         - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
2533         - Add MemoryCache::add
2534         - Refactor the decision on whether to reload, revalidate or use the existing resource to 
2535           a single function, CachedResourceLoader::determineRevalidationPolicy
2536
2537         * css/CSSImageValue.cpp:
2538         (WebCore::CSSImageValue::cachedImage):
2539             
2540             Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
2541             if ever taken (since it passes null CachedResourceLoader pointer).
2542             
2543         * loader/ImageLoader.cpp:
2544         (WebCore::ImageLoader::updateFromElement):
2545         * loader/cache/CachedImage.cpp:
2546         * loader/cache/CachedResource.cpp:
2547         (WebCore::CachedResource::CachedResource):
2548         (WebCore::CachedResource::~CachedResource):
2549         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
2550         
2551             Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
2552         
2553         (WebCore::CachedResource::setLoadPriority):
2554         
2555             Check for Unresolved value before setting.
2556         
2557         * loader/cache/CachedResource.h:
2558         (WebCore::CachedResource::setOwningCachedResourceLoader):
2559         
2560             Rename to be bit less mysterious.
2561         
2562         * loader/cache/CachedResourceLoader.cpp:
2563         (WebCore::createResource):
2564         
2565             This was moved from MemoryCache.
2566         
2567         (WebCore::CachedResourceLoader::~CachedResourceLoader):
2568         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2569         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
2570         
2571             This was moved/merged from MemoryCache.
2572         
2573         (WebCore::CachedResourceLoader::canRequest):
2574         (WebCore::CachedResourceLoader::requestResource):
2575         
2576             This combines MemoryCache::requestResource and the existing method.
2577         
2578         (WebCore::CachedResourceLoader::revalidateResource):
2579         
2580             This was moved from MemoryCache.
2581         
2582         (WebCore::CachedResourceLoader::loadResource):
2583         
2584             New method for initiating loading.
2585         
2586         (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
2587         
2588             Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
2589         
2590         * loader/cache/CachedResourceLoader.h:
2591         * loader/cache/MemoryCache.cpp:
2592         (WebCore::MemoryCache::add):
2593         * loader/cache/MemoryCache.h:
2594         (WebCore::MemoryCache::remove):
2595
2596 2010-12-30  Steve Block  <steveblock@google.com>
2597
2598         Reviewed by Gavin Barraclough.
2599
2600         Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
2601         https://bugs.webkit.org/show_bug.cgi?id=51740
2602
2603         This is a policy decision for Android.
2604
2605         No new tests, simply enabling existing, tested code on Android.
2606
2607         * bindings/js/JSDOMWindowBase.cpp:
2608         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2609
2610 2010-12-30  Yael Aharon  <yael.aharon@nokia.com>
2611
2612         Reviewed by Adam Barth.
2613
2614         REGRESSION: fast/dom/cssTarget-crash.html fails
2615         https://bugs.webkit.org/show_bug.cgi?id=20342
2616
2617         Do not reload the page when submitting a form, using "GET" method, and the
2618         form action url matches the location url, except for the fragment.
2619       
2620         Test: fast/forms/submit-change-fragment.html
2621
2622         * loader/FrameLoader.cpp:
2623         (WebCore::FrameLoader::loadURL):
2624         (WebCore::FrameLoader::loadWithDocumentLoader):
2625         (WebCore::FrameLoader::shouldScrollToAnchor):
2626         * loader/FrameLoader.h:
2627
2628 2010-12-30  Darin Adler  <darin@apple.com>
2629
2630         Reviewed by Adam Barth.
2631
2632         Move security logic out of the JavaScript binding for location into the DOM class
2633         https://bugs.webkit.org/show_bug.cgi?id=51714
2634
2635         * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
2636         and JSBinding.h. Later, we'll remove them from other project files and delete
2637         the source files.
2638
2639         * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
2640
2641         * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
2642         function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
2643         function, unused toLexicalFrame function, unused completeURL function, unused
2644         getCachedDOMStructure and cacheDOMStructure overloads, and unused
2645         getCachedDOMConstructor and cacheDOMConstruction functions.
2646         (WebCore::activeDOMWindow): Added.
2647         (WebCore::firstDOMWindow): Added.
2648         (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
2649         JSBindingState, since the latter is an unneeded abstraction.
2650         (WebCore::processingUserGesture): Changed to call ScriptController's function
2651         rather than calling through JSBindingState, which is an unneeded abstraction
2652
2653         * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
2654         activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
2655         named allowsAccessFromFrame functions, which answer the question of whether
2656         script is allowed access *to* a frame.
2657
2658         * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
2659         (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
2660         activeDOMWindow and firstDOMWindow functions.
2661         (WebCore::JSDOMWindow::open): Ditto.
2662         (WebCore::JSDOMWindow::showModalDialog): Ditto.
2663         (WebCore::JSDOMWindow::postMessage): Ditto.
2664
2665         * bindings/js/JSLocationCustom.cpp:
2666         (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
2667         to the Location::setHref function, with it doing the rest of the work. This moves
2668         work out of the DOM binding that belongs in the DOM itself. Eventually such functions
2669         could even be automatically generated by the bindings script.
2670         (WebCore::JSLocation::setProtocol): Ditto.
2671         (WebCore::JSLocation::setHost): Ditto.
2672         (WebCore::JSLocation::setHostname): Ditto.
2673         (WebCore::JSLocation::setPort): Ditto.
2674         (WebCore::JSLocation::setPathname): Ditto.
2675         (WebCore::JSLocation::setSearch): Ditto.
2676         (WebCore::JSLocation::setHash): Ditto.
2677         (WebCore::JSLocation::replace): Ditto.
2678         (WebCore::JSLocation::reload): Ditto.
2679         (WebCore::JSLocation::assign): Ditto.
2680
2681         * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
2682         * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
2683
2684         * page/DOMWindow.cpp:
2685         (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
2686         to use this function for Location::replace, which is the same as setLocation except that
2687         it locks both history and the back/forward list.
2688         * page/DOMWindow.h: Ditto.
2689
2690         * page/Location.cpp:
2691         (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
2692         logic there does not have to be repeated or even refactored.
2693         (WebCore::Location::setProtocol): Ditto.
2694         (WebCore::Location::setHost): Ditto.
2695         (WebCore::Location::setHostname): Ditto.
2696         (WebCore::Location::setPort): Ditto.
2697         (WebCore::Location::setPathname): Ditto.
2698         (WebCore::Location::setSearch): Ditto.
2699         (WebCore::Location::setHash): Ditto.
2700         (WebCore::Location::assign): Ditto.
2701         (WebCore::Location::replace): Ditto.
2702         (WebCore::Location::reload): Added. Security logic was refactored from the code in
2703         JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
2704         possibly unneeded.
2705
2706         * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
2707         (WebCore::Location::create):
2708         (WebCore::Location::frame):
2709
2710 2010-12-30  Alexander Pavlov  <apavlov@chromium.org>
2711
2712         Reviewed by Pavel Feldman.
2713
2714         Web Inspector: Pasting a style property with value should automatically split it into prop/value
2715         https://bugs.webkit.org/show_bug.cgi?id=51581
2716
2717         The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
2718         of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
2719         and the edit focus is transferred to the value field.
2720
2721         * inspector/front-end/StylesSidebarPane.js:
2722         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
2723         (WebInspector.StylePropertyTreeElement.prototype):
2724         * inspector/front-end/inspector.js:
2725         (WebInspector.completeURL): Drive-by: return full URLs as-is.
2726         (WebInspector.startEditing.cleanUpAfterEditing):
2727         (WebInspector.startEditing):
2728         (WebInspector.startEditing.pasteEventListener):
2729         (WebInspector.startEditing.keyDownEventListener):
2730
2731 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
2732
2733         Reviewed by Pavel Feldman.
2734
2735         Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
2736         https://bugs.webkit.org/show_bug.cgi?id=51745
2737
2738         * inspector/front-end/Breakpoint.js:
2739         (WebInspector.Breakpoint.prototype.set enabled):
2740
2741 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
2742
2743         Reviewed by Pavel Feldman.
2744
2745         Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
2746         https://bugs.webkit.org/show_bug.cgi?id=51748
2747
2748         * inspector/front-end/CallStackSidebarPane.js:
2749         (WebInspector.CallStackSidebarPane.prototype.update):
2750         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
2751         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
2752         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
2753
2754 2010-12-30  Mikhail Naganov  <mnaganov@chromium.org>
2755
2756         Reviewed by Pavel Feldman.
2757
2758         Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=51713
2761
2762         * WebCore.gypi:
2763         * WebCore.pro:
2764         * bindings/v8/custom/V8ConsoleCustom.cpp:
2765         (WebCore::V8Console::memoryAccessorGetter):
2766         * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
2767         (WebCore::V8Performance::memoryAccessorGetter):
2768         * page/Console.idl:
2769         * page/Performance.idl:
2770
2771 2010-12-30  Steve Block  <steveblock@google.com>
2772
2773         Reviewed by Sam Weinig.
2774
2775         Visiting macnn.com often causes SQL spew via geolocation database
2776         https://bugs.webkit.org/show_bug.cgi?id=51557
2777
2778         If the Geolocation position cache database path has not been set, early-out
2779         rather than using an empty path and thus failing to open the database.
2780         This avoids SQL log spew.
2781
2782         Also, avoid starting the database thread until the path has been set, and
2783         shorten the thread name to avoid warnings due to exceeding 30 characters.
2784
2785         No new tests, implementation clean-up only.
2786
2787         * page/GeolocationPositionCache.cpp:
2788         (WebCore::GeolocationPositionCache::addUser):
2789         (WebCore::GeolocationPositionCache::removeUser):
2790         (WebCore::GeolocationPositionCache::setDatabasePath):
2791         (WebCore::GeolocationPositionCache::startBackgroundThread):
2792
2793 2010-12-29  Philippe Normand  <pnormand@igalia.com>
2794
2795         Reviewed by Martin Robinson.
2796
2797         [GTK] minimal build fails at link time due to missing sqlite3 symbols
2798         https://bugs.webkit.org/show_bug.cgi?id=51327
2799
2800         Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
2801
2802         No new tests, build fix only.
2803
2804         * platform/sql/SQLiteAuthorizer.cpp:
2805         * platform/sql/SQLiteDatabase.cpp:
2806         * platform/sql/SQLiteFileSystem.cpp:
2807         * platform/sql/SQLiteStatement.cpp:
2808         * platform/sql/SQLiteTransaction.cpp:
2809
2810 2010-12-30  Justin Schuh  <jschuh@chromium.org>
2811
2812         Reviewed by Dirk Schulze.
2813
2814         Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
2815         https://bugs.webkit.org/show_bug.cgi?id=51692
2816
2817         * svg/SVGLength.cpp:
2818         (WebCore::stringToLengthType):
2819         (WebCore::SVGLength::setValueAsString):
2820
2821 2010-12-30  Abhishek Arya  <inferno@chromium.org>
2822
2823         Reviewed by Eric Seidel.
2824
2825         Create a helper function for finding descendent video elements for a node.
2826         https://bugs.webkit.org/show_bug.cgi?id=51696
2827
2828         Test: media/video-element-other-namespace-crash.html
2829
2830         * html/MediaDocument.cpp:
2831         (WebCore::descendentVideoElement): helper function.
2832         (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
2833         (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
2834
2835 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
2836
2837         Reviewed by Yury Semikhatsky.
2838
2839         Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
2840         https://bugs.webkit.org/show_bug.cgi?id=51707
2841
2842         This change brushes up storage agents + removes redundant InspectorBackend class.
2843
2844         * CMakeLists.txt:
2845         * GNUmakefile.am:
2846         * WebCore.gypi:
2847         * WebCore.pro:
2848         * WebCore.vcproj/WebCore.vcproj:
2849         * WebCore.xcodeproj/project.pbxproj:
2850         * inspector/CodeGeneratorInspector.pm:
2851         * inspector/InjectedScriptHost.cpp:
2852         (WebCore::InjectedScriptHost::databaseForId):
2853         (WebCore::InjectedScriptHost::selectDatabase):
2854         (WebCore::InjectedScriptHost::selectDOMStorage):
2855         (WebCore::InjectedScriptHost::inspectorDOMAgent):
2856         * inspector/Inspector.idl:
2857         * inspector/InspectorBackend.cpp: Removed.
2858         * inspector/InspectorBackend.h: Removed.
2859         * inspector/InspectorController.cpp:
2860         (WebCore::InspectorController::InspectorController):
2861         (WebCore::InspectorController::~InspectorController):
2862         (WebCore::InspectorController::connectFrontend):
2863         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
2864         (WebCore::InspectorController::didUseDOMStorage):
2865         (WebCore::InspectorController::setInjectedScriptSource):
2866         (WebCore::InspectorController::dispatchOnInjectedScript):
2867         (WebCore::InspectorController::releaseWrapperObjectGroup):
2868         * inspector/InspectorController.h:
2869         * inspector/InspectorDOMStorageAgent.cpp: Added.
2870         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
2871         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
2872         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2873         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2874         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
2875         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2876         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
2877         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
2878         (WebCore::InspectorDOMStorageAgent::create):
2879         (WebCore::InspectorDOMStorageAgent::frontend):
2880         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
2881         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
2882         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2883         (WebCore::InspectorDatabaseAgent::executeSQL):
2884         (WebCore::InspectorDatabaseAgent::databaseForId):
2885         (WebCore::InspectorDatabaseAgent::selectDatabase):
2886         (WebCore::InspectorDatabaseAgent::clearFrontend):
2887         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2888         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
2889         (WebCore::InspectorDatabaseAgent::create):
2890         (WebCore::InspectorDatabaseAgent::frontend):
2891         * inspector/front-end/ScriptsPanel.js:
2892         (WebInspector.ScriptsPanel.prototype.show):
2893         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
2894         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2895
2896 2010-12-29  Dirk Schulze  <krit@webkit.org>
2897
2898         Reviewed by Darin Adler.
2899
2900         Cleanup SVG code according to the webkit style rules 3
2901         https://bugs.webkit.org/show_bug.cgi?id=51490
2902
2903         Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
2904         Just one file can't be fixed for check-webkit-style.
2905         * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
2906
2907         No changes of functionality, so no new tests. 
2908
2909         * svg/SVGAllInOne.cpp:
2910         * svg/SVGImage.cpp:
2911         * svg/SVGLength.cpp:
2912         (WebCore::SVGLength::setValue):
2913         * svg/SVGPolygonElement.h:
2914         * svg/SVGPolylineElement.h:
2915         * svg/SVGPreserveAspectRatio.cpp:
2916         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
2917         (WebCore::SVGPreserveAspectRatio::transformRect):
2918         * svg/SVGSVGElement.cpp:
2919         (WebCore::SVGSVGElement::viewport):
2920         * svg/SVGSetElement.h:
2921         * svg/SVGStylable.h:
2922         (WebCore::SVGStylable::~SVGStylable):
2923         * svg/SVGStyledLocatableElement.h:
2924         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
2925         (WebCore::SVGStyledLocatableElement::isStyledLocatable):
2926         * svg/SVGStyledTransformableElement.cpp:
2927         (WebCore::SVGStyledTransformableElement::isKnownAttribute):
2928         * svg/SVGSwitchElement.cpp:
2929         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
2930         * svg/SVGTests.cpp:
2931         (WebCore::SVGTests::parseMappedAttribute):
2932         * svg/SVGTextContentElement.cpp:
2933         (WebCore::SVGTextContentElement::isKnownAttribute):
2934         * svg/SVGTextPathElement.cpp:
2935         * svg/SVGTextPathElement.h:
2936         * svg/SVGTitleElement.h:
2937         (WebCore::SVGTitleElement::rendererIsNeeded):
2938         * svg/SVGTransformDistance.cpp:
2939         (WebCore::SVGTransformDistance::SVGTransformDistance):
2940         (WebCore::SVGTransformDistance::scaledDistance):
2941         (WebCore::SVGTransformDistance::addSVGTransforms):
2942         (WebCore::SVGTransformDistance::addSVGTransform):
2943         (WebCore::SVGTransformDistance::addToSVGTransform):
2944         (WebCore::SVGTransformDistance::isZero):
2945         * svg/SVGTransformList.cpp:
2946         * svg/SVGURIReference.cpp:
2947         (WebCore::SVGURIReference::getTarget):
2948         * svg/SVGVKernElement.h:
2949         * svg/SVGViewSpec.cpp:
2950         (WebCore::SVGViewSpec::parseViewSpec):
2951         * svg/SVGZoomAndPan.h:
2952         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
2953         (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
2954         (WebCore::SVGZoomAndPan::zoomAndPan):
2955         * svg/SVGZoomEvent.h:
2956         (WebCore::SVGZoomEvent::create):
2957         * svg/animation/SMILTime.cpp:
2958         (WebCore::operator*):
2959         * svg/animation/SMILTime.h:
2960         (WebCore::SMILTime::SMILTime):
2961         (WebCore::SMILTime::unresolved):
2962         (WebCore::SMILTime::indefinite):
2963         (WebCore::SMILTime::operator=):
2964         (WebCore::SMILTime::value):
2965         (WebCore::SMILTime::isFinite):
2966         (WebCore::SMILTime::isIndefinite):
2967         (WebCore::SMILTime::isUnresolved):
2968         (WebCore::operator==):
2969         (WebCore::operator!): new operator checks for 0 or infinite values.
2970         (WebCore::operator!=):
2971         (WebCore::operator>):
2972         (WebCore::operator<):
2973         (WebCore::operator>=):
2974         (WebCore::operator<=):
2975         * svg/animation/SMILTimeContainer.h:
2976         (WebCore::SMILTimeContainer::create):
2977         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
2978         * svg/animation/SVGSMILElement.cpp:
2979         (WebCore::ConditionEventListener::operator==):
2980         (WebCore::SVGSMILElement::repeatingDuration):
2981         (WebCore::SVGSMILElement::resolveInterval):
2982         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
2983         * svg/animation/SVGSMILElement.h:
2984         (WebCore::SVGSMILElement::timeContainer):
2985         (WebCore::SVGSMILElement::intervalBegin):
2986         (WebCore::SVGSMILElement::intervalEnd):
2987         (WebCore::SVGSMILElement::previousIntervalBegin):
2988         (WebCore::SVGSMILElement::documentOrderIndex):
2989         (WebCore::SVGSMILElement::setDocumentOrderIndex):
2990         * svg/graphics/SVGImage.h:
2991         (WebCore::SVGImage::create):
2992         (WebCore::SVGImage::destroyDecodedData):
2993         (WebCore::SVGImage::decodedSize):
2994         (WebCore::SVGImage::frameAtIndex):
2995         * svg/graphics/filters/SVGFilterBuilder.h:
2996         (WebCore::SVGFilterBuilder::create):
2997         (WebCore::SVGFilterBuilder::lastEffect):
2998         (WebCore::SVGFilterBuilder::getEffectReferences):
2999         (WebCore::SVGFilterBuilder::addBuiltinEffects):
3000
3001 2010-12-29  Abhishek Arya  <inferno@chromium.org>
3002
3003         Reviewed by Darin Adler.
3004
3005         ASSERT(oldchild->parent() == owner) fails.
3006         https://bugs.webkit.org/show_bug.cgi?id=50480
3007
3008         In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
3009         is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
3010         assertion failure when removeChildNode executes on the child(equal to prev or next).
3011         Fix a typo in canMergeContiguousAnonymousBlocks.
3012
3013         Test: fast/multicol/span/double-merge-anonymous-block-crash.html
3014
3015         * rendering/RenderBlock.cpp:
3016         (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
3017         (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
3018
3019 2010-12-29  Justin Schuh  <jschuh@chromium.org>
3020
3021         Reviewed by Darin Adler.
3022
3023         Check SVG element type in FrameView::scrollToAnchor
3024         https://bugs.webkit.org/show_bug.cgi?id=51718
3025
3026         Test: svg/custom/scroll-to-anchor-in-symbol.svg
3027
3028         * page/FrameView.cpp:
3029         (WebCore::FrameView::scrollToAnchor):
3030
3031 2010-12-29  Anton Muhin  <antonm@chromium.org>
3032
3033         Reviewed by Eric Seidel.
3034
3035         [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
3036         https://bugs.webkit.org/show_bug.cgi?id=51704
3037
3038         * bindings/v8/V8DOMWindowShell.cpp:
3039         * bindings/v8/V8DOMWindowShell.h:
3040
3041 2010-12-29  Kenichi Ishibashi  <bashi@google.com>
3042
3043         Reviewed by Darin Adler.
3044
3045         Use a HashMap for m_continuation to save memory
3046         https://bugs.webkit.org/show_bug.cgi?id=43716
3047
3048         Saving memory consumption by applying a HashMap convention to
3049         continuation pointers of RenderInline and RenderBlock classes.
3050
3051         * rendering/RenderBlock.cpp: Removed m_continuation.
3052         (WebCore::RenderBlock::RenderBlock):
3053         (WebCore::RenderBlock::destroy):
3054         (WebCore::RenderBlock::inlineElementContinuation):
3055         (WebCore::RenderBlock::blockElementContinuation):
3056         * rendering/RenderBlock.h: Removed m_continuation.
3057         * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
3058         (WebCore::RenderBoxModelObject::destroy): Added an assertion.
3059         (WebCore::RenderBoxModelObject::continuation): Added.
3060         (WebCore::RenderBoxModelObject::setContinuation): Added.
3061         * rendering/RenderBoxModelObject.h:
3062         * rendering/RenderInline.cpp: Removed m_continuation.
3063         (WebCore::RenderInline::RenderInline):
3064         (WebCore::RenderInline::destroy):
3065         (WebCore::RenderInline::inlineElementContinuation):
3066         * rendering/RenderInline.h: Removed m_continuation.
3067
3068 2010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
3069
3070         Reviewed by Martin Robinson.
3071
3072         [GTK] Enable building whatever already exists of WebKit2
3073         https://bugs.webkit.org/show_bug.cgi?id=37369
3074
3075         No new functionality added or deleted. Only makefile change. Hence, no tests added.
3076
3077         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
3078         added them to WebKit/gtk/GNUmakefile.am
3079         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
3080         and declare WEBKIT_API directly
3081
3082 2010-12-29  Eric Seidel  <eric@webkit.org>
3083
3084         Unreviewed.
3085
3086         Simplify make-hash-tools.pl
3087         https://bugs.webkit.org/show_bug.cgi?id=49922
3088
3089         Added HashTools.h to the project file now that its not autogenerated.
3090         I also sorted the project file using sort-xcode-project-file
3091
3092         * WebCore.xcodeproj/project.pbxproj:
3093
3094 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
3095
3096         Not reviewed: revert r74755 and 74757.
3097
3098 2010-12-29  Martin Robinson  <mrobinson@igalia.com>
3099
3100         Reviewed by Sam Weinig.
3101
3102         JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
3103         https://bugs.webkit.org/show_bug.cgi?id=51722
3104
3105         Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
3106         methods the fastcall calling convention, which leads to runtime errors when they are
3107         called from C++. Also remove a bit of unnecessary code duplication.
3108
3109         No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
3110
3111         * bindings/js/JSDataViewCustom.cpp:
3112         (WebCore::getDataViewMember): Remove duplicated code.
3113         (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
3114         (WebCore::JSDataView::getUint8): Ditto.
3115         (WebCore::JSDataView::getFloat32): Ditto.
3116         (WebCore::JSDataView::getFloat64): Ditto.
3117         (WebCore::setDataViewMember): Remove duplicated code.
3118         (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
3119         (WebCore::JSDataView::setUint8): Ditto.
3120
3121 2010-12-29  Dan Bernstein  <mitz@apple.com>
3122
3123         Reviewed by Kenneth Russel.
3124
3125         A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
3126
3127         * html/HTMLCanvasElement.cpp:
3128         (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
3129         CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
3130         attach-type style recalc.
3131         * html/HTMLCanvasElement.h:
3132         * html/canvas/CanvasRenderingContext2D.cpp:
3133         (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
3134         r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
3135         (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
3136         Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
3137         and update the font if it is invalid.
3138         * platform/graphics/Font.h:
3139         (WebCore::Font::loadingCustomFonts): Made this private.
3140
3141 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
3142
3143         Not reviewed: Qt build fix.
3144
3145         * inspector/InspectorController.cpp:
3146
3147 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
3148
3149         Reviewed by Yury Semikhatsky.
3150
3151         Web Inspector: extract Database & DOM Storage
3152         agents; remove InspectorBackend.
3153         https://bugs.webkit.org/show_bug.cgi?id=51707
3154
3155         This change brushes up storage agents + removes redundant
3156         InspectorBackend class.
3157
3158         * CMakeLists.txt:
3159         * GNUmakefile.am:
3160         * WebCore.gypi:
3161         * WebCore.pro:
3162         * WebCore.vcproj/WebCore.vcproj:
3163         * WebCore.xcodeproj/project.pbxproj:
3164         * inspector/CodeGeneratorInspector.pm:
3165         * inspector/InjectedScriptHost.cpp:
3166         (WebCore::InjectedScriptHost::databaseForId):
3167         (WebCore::InjectedScriptHost::selectDatabase):
3168         (WebCore::InjectedScriptHost::selectDOMStorage):
3169         (WebCore::InjectedScriptHost::inspectorDOMAgent):
3170         * inspector/Inspector.idl:
3171         * inspector/InspectorBackend.cpp: Removed.
3172         * inspector/InspectorBackend.h: Removed.
3173         * inspector/InspectorController.cpp:
3174         (WebCore::InspectorController::InspectorController):
3175         (WebCore::InspectorController::~InspectorController):
3176         (WebCore::InspectorController::connectFrontend):
3177         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
3178         (WebCore::InspectorController::didUseDOMStorage):
3179         (WebCore::InspectorController::setInjectedScriptSource):
3180         (WebCore::InspectorController::dispatchOnInjectedScript):
3181         (WebCore::InspectorController::releaseWrapperObjectGroup):
3182         * inspector/InspectorController.h:
3183         * inspector/InspectorDOMStorageAgent.cpp: Added.
3184         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
3185         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
3186         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
3187         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
3188         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
3189         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3190         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
3191         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
3192         (WebCore::InspectorDOMStorageAgent::create):
3193         (WebCore::InspectorDOMStorageAgent::frontend):
3194         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
3195         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
3196         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3197         (WebCore::InspectorDatabaseAgent::executeSQL):
3198         (WebCore::InspectorDatabaseAgent::databaseForId):
3199         (WebCore::InspectorDatabaseAgent::selectDatabase):
3200         (WebCore::InspectorDatabaseAgent::clearFrontend):
3201         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3202         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
3203         (WebCore::InspectorDatabaseAgent::create):
3204         (WebCore::InspectorDatabaseAgent::frontend):
3205         * inspector/InspectorFrontendClientLocal.cpp:
3206         * inspector/InspectorFrontendClientLocal.h:
3207         * inspector/front-end/ScriptsPanel.js:
3208         (WebInspector.ScriptsPanel.prototype.show):
3209
3210 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
3211
3212         Reviewed by Eric Seidel.
3213
3214         Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
3215         https://bugs.webkit.org/show_bug.cgi?id=51067
3216
3217         Typically when a script element is removed from the document, the cached script
3218         client is removed. However, during the before load event, the cached script client
3219         hasn't been created yet so it can't be removed.
3220
3221         This patch handles that case by explicitly checking if the script element was
3222         removed during the beforeload event. Also, it avoids caching the Document references
3223         over the arbitrary script execution in the before load event.
3224
3225         Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
3226               fast/dom/HTMLScriptElement/remove-in-beforeload.html
3227
3228         * dom/ScriptElement.cpp:
3229         (WebCore::ScriptElement::requestScript):
3230
3231 2010-12-29  Alexander Pavlov  <apavlov@chromium.org>
3232
3233         Reviewed by Yury Semikhatsky.
3234
3235         Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
3236         https://bugs.webkit.org/show_bug.cgi?id=51703
3237
3238         * inspector/InspectorController.cpp:
3239         (WebCore::InspectorController::drawElementTitle):
3240
3241 2010-12-29  Yael Aharon  <yael.aharon@nokia.com>
3242
3243         Reviewed by Kent Tamura.
3244
3245         [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
3246         https://bugs.webkit.org/show_bug.cgi?id=29071
3247
3248         Use InputType::rangeUnderflow() and InputType::rangeOverflow()
3249         to determine if a control is in-range or out-of-range.
3250
3251         Tests: fast/css/pseudo-in-range-invalid-value.html
3252                fast/css/pseudo-in-range.html
3253                fast/css/pseudo-out-of-range.html
3254
3255         * css/CSSSelector.cpp:
3256         (WebCore::CSSSelector::pseudoId):
3257         (WebCore::nameToPseudoTypeMap):
3258         (WebCore::CSSSelector::extractPseudoType):
3259         * css/CSSSelector.h:
3260         * css/CSSStyleSelector.cpp:
3261         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3262         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3263         * dom/Element.h:
3264         (WebCore::Element::isInRange):
3265         (WebCore::Element::isOutOfRange):
3266         * html/BaseDateAndTimeInputType.cpp:
3267         (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
3268         * html/BaseDateAndTimeInputType.h:
3269         * html/HTMLInputElement.cpp:
3270         (WebCore::HTMLInputElement::isInRange):
3271         (WebCore::HTMLInputElement::isOutOfRange):
3272         * html/HTMLInputElement.h:
3273         * html/InputType.cpp:
3274         (WebCore::InputType::supportsRangeLimitation):
3275         * html/InputType.h:
3276         * html/NumberInputType.cpp:
3277         (WebCore::NumberInputType::supportsRangeLimitation):
3278         * html/NumberInputType.h:
3279         * html/RangeInputType.cpp:
3280         (WebCore::RangeInputType::supportsRangeLimitation):
3281         * html/RangeInputType.h:
3282
3283 2010-12-29  Abhishek Arya  <inferno@chromium.org>
3284
3285         Reviewed by Eric Seidel.
3286
3287         When cloning an anonymous block, make sure to set the childrenInline flag based
3288         on the state of the block to be cloned.
3289         https://bugs.webkit.org/show_bug.cgi?id=51489
3290
3291         Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
3292
3293         * rendering/RenderBlock.cpp:
3294         (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
3295         (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
3296
3297 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
3298
3299         Unreviewed build fix for WinCE after r73802.
3300
3301         Reapply parts from r72585:
3302         Port ContextMenuWin.cpp to WinCE
3303         https://bugs.webkit.org/show_bug.cgi?id=48408
3304
3305         * CMakeLists.txt:
3306         * platform/ContextMenu.h:
3307         * platform/win/ContextMenuWin.cpp:
3308         (WebCore::ContextMenu::getContextMenuItems):
3309         (WebCore::ContextMenu::createNativeMenuFromItems):
3310
3311 2010-12-29  Kent Hansen  <kent.hansen@nokia.com>
3312
3313         Reviewed by Simon Hausmann.
3314
3315         [Qt] Fix compilation with Qt in namespace
3316         https://bugs.webkit.org/show_bug.cgi?id=51701
3317
3318         * platform/graphics/ContextShadow.h:
3319         * platform/graphics/GraphicsContext3D.h:
3320         * platform/network/NetworkingContext.h:
3321         * platform/network/qt/QtNAMThreadSafeProxy.h:
3322         * plugins/PluginView.h:
3323
3324 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
3325
3326         Reviewed by Pavel Feldman.
3327
3328         Web Inspector: A disabled style property should get enabled when edited
3329         https://bugs.webkit.org/show_bug.cgi?id=51679
3330
3331         Test: inspector/styles-disable-then-change.html
3332
3333         * inspector/front-end/CSSStyleModel.js:
3334         (WebInspector.CSSProperty.prototype.setText):
3335         (WebInspector.CSSProperty.prototype.setText.callback):
3336
3337 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
3338
3339         Reviewed by Andreas Kling.
3340
3341         [CMake] Remove WebKitGenerators
3342         https://bugs.webkit.org/show_bug.cgi?id=50445
3343
3344         * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
3345
3346 2010-12-28  Pratik Solanki  <psolanki@apple.com>
3347
3348         Reviewed by Eric Seidel.
3349
3350         https://bugs.webkit.org/show_bug.cgi?id=51522
3351         Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
3352
3353         * page/win/FrameCGWin.cpp:
3354         (WebCore::imageFromRect):
3355         * platform/graphics/cg/GradientCG.cpp:
3356         (WebCore::Gradient::platformGradient):
3357         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3358         (WebCore::GraphicsContext3D::paintToCanvas):
3359         * platform/graphics/cg/ImageCG.cpp:
3360         (WebCore::BitmapImage::checkForSolidColor):
3361         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
3362         (ImageGStreamer::ImageGStreamer):
3363         * platform/graphics/win/GraphicsContextCGWin.cpp:
3364         (WebCore::CGContextWithHDC):
3365         (WebCore::GraphicsContext::releaseWindowsContext):
3366         (WebCore::GraphicsContext::drawWindowsBitmap):
3367         * platform/graphics/win/ImageCGWin.cpp:
3368         (WebCore::BitmapImage::create):
3369         (WebCore::BitmapImage::getHBITMAPOfSize):
3370         * platform/image-decoders/cg/ImageDecoderCG.cpp:
3371         (WebCore::createColorSpace):
3372         * platform/win/DragImageCGWin.cpp:
3373         (WebCore::allocImage):
3374         (WebCore::createCgContextFromBitmap):
3375         * rendering/RenderThemeMac.mm:
3376         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3377         (WebCore::RenderThemeMac::paintSliderTrack):
3378         * rendering/RenderThemeSafari.cpp:
3379         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
3380         (WebCore::RenderThemeSafari::paintSliderTrack):
3381
3382 2010-12-28  Daniel Bates  <dbates@rim.com>
3383
3384         Reviewed by Sam Weinig.
3385
3386         Substitute // MARK: for compiler-specific #pragma mark
3387         https://bugs.webkit.org/show_bug.cgi?id=51657
3388
3389         Fix compilation warnings about "#pragma mark" on GTK+ bots by
3390         substituting  "// MARK:" for "#pragma mark", which provides
3391         analogous code-bookmarking functionality under Xcode.
3392
3393         * platform/graphics/cg/PathCG.cpp:
3394         * platform/graphics/mac/WebLayer.mm:
3395
3396 2010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>
3397
3398         Reviewed by Eric Seidel.
3399
3400         [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
3401         https://bugs.webkit.org/show_bug.cgi?id=51687
3402
3403         Use a const reference instead of a copy of QPainter::combinedTransform() 
3404         in GraphicsContext::getCTM()
3405
3406         * platform/graphics/qt/GraphicsContextQt.cpp:
3407         (WebCore::GraphicsContext::getCTM):
3408
3409 2010-12-28  Takashi Toyoshima  <toyoshim@google.com>
3410
3411         Reviewed by Eric Seidel.
3412
3413         gcc detected 'control reaches end of non-void function' with
3414         -finstrument-functions option.
3415         https://bugs.webkit.org/show_bug.cgi?id=51669
3416
3417         No new tests. These fixes are trivial.
3418
3419         * dom/Element.cpp:
3420         (WebCore::Element::childTypeAllowed):
3421         * inspector/InspectorResourceAgent.cpp:
3422         (WebCore::cachedResourceTypeString):
3423
3424 2010-12-28  Tony Gentilcore  <tonyg@chromium.org>
3425
3426         Reviewed by Eric Seidel.
3427
3428         Remove unused member of PendingScript
3429         https://bugs.webkit.org/show_bug.cgi?id=51684
3430
3431         This was used when HTMLScriptRunner::runScript created a PendingScript
3432         for inline scripts. But now it just calls executeScript() directly.
3433         External scripts always have the minimum starting line number.
3434
3435         No new tests because no changed functionality.
3436
3437         * dom/PendingScript.cpp:
3438         (WebCore::PendingScript::releaseElementAndClear):
3439         * dom/PendingScript.h:
3440         (WebCore::PendingScript::PendingScript):
3441         (WebCore::PendingScript::operator=):
3442         * html/parser/HTMLScriptRunner.cpp:
3443         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
3444
3445 2010-12-20  Antonio Gomes  <agomes@rim.com>
3446
3447         Reviewed by Daniel Bates.
3448
3449         Spatial Navigation: code clean up (Part VI)
3450         https://bugs.webkit.org/show_bug.cgi?id=50666
3451
3452         No new tests needed.
3453
3454         * page/FocusController.cpp:
3455         (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
3456         isElementNode() now that we are bailing out earlier in both the
3457         FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
3458         * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
3459         and virtualRectForAreaElementAndDirection functions.
3460         (WebCore::FocusController::findFocusCandidateInContainer):
3461         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
3462         of canScrollInDirection(), and added an early return if !isElementNode().
3463         (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
3464         virtualRectForAreaElementAndDirection();
3465         * page/SpatialNavigation.cpp:
3466         (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
3467         (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
3468         (WebCore::scrollInDirection): Adjusted callsite after function name change;
3469         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
3470         a documentNode.
3471         (WebCore::canScrollInDirection): Signature changed.
3472         (WebCore::canBeScrolledIntoView): Ditto.
3473         (WebCore::virtualRectForAreaElementAndDirection): Ditto.
3474
3475 2010-12-28  Adrienne Walker  <enne@google.com>
3476
3477         Reviewed by Kenneth Russell.
3478
3479         [chromium] Fix tiled compositor assertion after GPU process recovery.
3480         https://bugs.webkit.org/show_bug.cgi?id=51682
3481
3482         After the GPU process recovers, the layer size is set to IntSize(),
3483         but IntRect::unite() has a special case for empty rects.  This
3484         behavior was causing the layer size to be too small, causing an
3485         out-of-bounds array access elsewhere.
3486
3487         No new tests.
3488
3489         * platform/graphics/chromium/LayerTilerChromium.cpp:
3490         (WebCore::LayerTilerChromium::growLayerToContain):
3491
3492 2010-12-23  Zhenyao Mo  <zmo@google.com>
3493
3494         Reviewed by Kenneth Russell.
3495
3496         Initialize to 0 for undefined values in CopyTexImage2D
3497         https://bugs.webkit.org/show_bug.cgi?id=51421
3498
3499         * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
3500         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
3501         (WebCore::WebGLFramebuffer::setAttachment):
3502         (WebCore::WebGLFramebuffer::getWidth):
3503         (WebCore::WebGLFramebuffer::getHeight):
3504         (WebCore::WebGLFramebuffer::getColorBufferFormat):
3505         * html/canvas/WebGLFramebuffer.h:
3506         * html/canvas/WebGLRenderingContext.cpp:
3507         (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
3508         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
3509         (WebCore::WebGLRenderingContext::framebufferTexture2D):
3510         (WebCore::WebGLRenderingContext::renderbufferStorage):
3511         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
3512         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
3513         * html/canvas/WebGLRenderingContext.h:
3514         * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
3515         (WebCore::WebGLTexture::getInternalFormat):
3516         (WebCore::WebGLTexture::getWidth):
3517         (WebCore::WebGLTexture::getHeight):
3518         (WebCore::WebGLTexture::mapTargetToIndex):
3519         (WebCore::WebGLTexture::getLevelInfo):
3520         * html/canvas/WebGLTexture.h:
3521         (WebCore::WebGLTexture::isTexture):
3522         * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
3523         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3524         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
3525         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3526         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
3527
3528 2010-12-23  Zhenyao Mo  <zmo@google.com>
3529
3530         Reviewed by Kenneth Russell.
3531
3532         Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
3533         https://bugs.webkit.org/show_bug.cgi?id=39855
3534
3535         * html/canvas/WebGLRenderingContext.cpp:
3536         (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
3537         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3538         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
3539         (WebCore::WebGLRenderingContext::scissor): Ditto.
3540         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
3541         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
3542         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
3543         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
3544         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
3545         (WebCore::WebGLRenderingContext::viewport): Ditto.
3546         (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
3547         * html/canvas/WebGLRenderingContext.h:
3548         * html/canvas/WebGLRenderingContext.idl:
3549
3550 2010-12-28  Abhishek Arya  <inferno@chromium.org>
3551
3552         Reviewed by Kenneth Russell.
3553
3554         Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
3555         process of loading.
3556         https://bugs.webkit.org/show_bug.cgi?id=51681
3557
3558         Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
3559
3560         * html/canvas/CanvasRenderingContext2D.cpp:
3561         (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
3562         * platform/graphics/Font.cpp:
3563         (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
3564         (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
3565         (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
3566         * platform/graphics/Font.h:
3567         (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
3568
3569 2010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>
3570
3571         Reviewed by Eric Seidel.
3572
3573         Combine setShadowRoot and&nb